标题:
【shineastdh 修改】玩玩微点之二:利用远程线程Ring3杀微点(严重)
[打印本页]
作者:
点饭的百度空间
时间:
2008-10-24 21:24
标题:
【shineastdh 修改】玩玩微点之二:利用远程线程Ring3杀微点(严重)
男, 24岁
西安市交通大学 张东辉
shineastdh
个人简介:
计算机专业,网络安全方向
漏洞挖掘进行到底! 处处留心皆学问!
我的理想就是做中国最好的杀毒软件,现在正在学习微点,虽然微点在技术上有很多问题,但是思想上已经是创新了。另外微点实现这个思想的时候方法、细节还是有点问题,绕过就是很头疼的问题。没办法,搞事业就要不断的遇到问题,能做好技术,解决好问题才是王道!
2008年10月24日 星期五 上午 11:15
近日一直在测试各大杀软,测试微点的时候发现微点一个严重问题,事实上微点是inline hook NtCreateThread函数的,如下:
kd> u 805c6ad0
nt!NtCreateThread:
805c6ad0 e929714079 jmp mp110003!f0042+0x642 (f99cdbfe)
805c6ad5 90 nop
805c6ad6 90 nop
805c6ad7 e80416f7ff call nt!_SEH_prolog (805380e0)
805c6adc 8365fc00 and dword ptr [ebp-4],0
805c6ae0 64a124010000 mov eax,dword ptr fs:[00000124h]
805c6ae6 8945e0 mov dword ptr [ebp-20h],eax
805c6ae9 80b84001000000 cmp byte ptr [eax+140h],0
另外,结束进程的函数也是被多处inline hook的,如下:
kd> u 805c8694
nt!PspTerminateProcess+0x52:
805c8694 e80f654079 call mp110003!f0045+0xaa8 (f99ceba8)
805c8699 57 push edi
805c869a 56 push esi
805c869b e85e4f0000 call nt!PsGetNextProcessThread (805cd5fe)
805c86a0 8bf8 mov edi,eax
805c86a2 85ff test edi,edi
805c86a4 75ea jne nt!PspTerminateProcess+0x4e (805c8690)
805c86a6 3986bc000000 cmp dword ptr [esi+0BCh],eax
kd> u 805c85c8
nt!NtTerminateProcess+0x100:
805c85c8 e8db654079 call mp110003!f0045+0xaa8 (f99ceba8)
805c85cd eb11 jmp nt!NtTerminateProcess+0x118 (805c85e0)
805c85cf 817d0c04000140 cmp dword ptr [ebp+0Ch],40010004h
805c85d6 7508 jne nt!NtTerminateProcess+0x118 (805c85e0)
805c85d8 6a00 push 0
805c85da 53 push ebx
805c85db e8d4010700 call nt!DbgkClearProcessDebugObject (806387b4)
805c85e0 817d0822010000 cmp dword ptr [ebp+8],122h
kd> u 805c8598
nt!NtTerminateProcess+0xd0:
805c8598 e80b664079 call mp110003!f0045+0xaa8 (f99ceba8)
805c859d 56 push esi
805c859e 53 push ebx
805c859f e85a500000 call nt!PsGetNextProcessThread (805cd5fe)
805c85a4 8bf0 mov esi,eax
805c85a6 85f6 test esi,esi
805c85a8 75e6 jne nt!NtTerminateProcess+0xc8 (805c8590)
805c85aa 8b4df4 mov ecx,dword ptr [ebp-0Ch]
kd> u 805c8512
nt!NtTerminateProcess+0x4a:
805c8512 e8a95f4079 call mp110003!f0045+0x3c0 (f99ce4c0)
805c8517 85c0 test eax,eax
805c8519 8b75f8 mov esi,dword ptr [ebp-8]
805c851c 8bde mov ebx,esi
805c851e 0f8ce8000000 jl nt!NtTerminateProcess+0x144 (805c860c)
805c8524 8d8648020000 lea eax,[esi+248h]
805c852a f6400120 test byte ptr [eax+1],20h
805c852e 894508 mov dword ptr [ebp+8],eax
结束线程的就不罗列了,被hook的惨不忍睹,其实有必要这样么?!感叹。。。
这个问题暂且不说,问题是hook了这么一大堆,还是
可以用最基本的方法在Ring3层干掉微点,方法如下
:
CreateRemoteThread+ExitProcess
代码如下:
结果演示
:
【shineastdh原创】玩玩微点之一:利用CreateEvent函数不让微点启动
http://hi.baidu.com/shineastdh/b ... 465209d9f9fd4c.html
[
Last edited by 点饭的百度空间 on 2008-10-25 at 19:33
]
作者:
mj0011_decoder
时间:
2008-10-24 22:50
ZwCreateRemoteThread...
太搞笑了。。。
微点居然被这么挫的人玩了 真可怜
作者:
blackspiral
时间:
2008-10-25 17:16
2楼到处煽风点火
作者:
ccfish
时间:
2008-10-25 18:50
直接给你加到行为库里,
作者:
gudan
时间:
2008-11-1 02:14
二楼打错字了
欢迎光临 微点交流论坛 (http://bbs.micropoint.com.cn/)
bbs.micropoint.com.cn