首页
社区
课程
招聘
[原创]只用WriteProcessMemory进行远程注入执行
发表于: 2011-2-12 22:46 12968

[原创]只用WriteProcessMemory进行远程注入执行

2011-2-12 22:46
12968

今天突发奇想,不用CreateRemoteThread,只用WriteProcessMemory进行远程注入并执行!

原理是修改进程原始代码,但不是什么位置的代码都能利用,因为你不知道这个原始代码是否会被进程调用,所以我们要找一个循环的代码,这就不难了,窗口消息回调就是循环的,拿explorer.exe为例子:

用OD附加explorer进程,然后点W按钮显示窗口,看到许多窗口,应该选哪个呢?有不少回调地址都是DLL在处理,我们要选一个进程自己处理的,看下图红框框起来的那个!



然后点跟随classproc

01001B1D      8BFF          mov     edi, edi
01001B1F   .  55            push    ebp
01001B20   .  8BEC          mov     ebp, esp
01001B22   .  53            push    ebx
01001B23   .  56            push    esi
01001B24   .  57            push    edi
01001B25   .  8B7D 0C       mov     edi, dword ptr [ebp+C]
01001B28   .  BB 81000000   mov     ebx, 81
01001B2D   .  3BFB          cmp     edi, ebx
01001B2F   .  0F84 3A1F0100 je      01013A6F
01001B35   .  8B5D 08       mov     ebx, dword ptr [ebp+8]
01001B38   .  53            push    ebx
01001B39   .  E8 A8FFFFFF   call    01001AE6
01001B3E   .  8BF0          mov     esi, eax
01001B40   .  85F6          test    esi, esi
01001B42   .  0F84 ED2C0200 je      01024835
01001B48   .  8B06          mov     eax, dword ptr [esi]
01001B4A   .  56            push    esi
01001B4B   .  FF10          call    dword ptr [eax]
01001B4D   .  FF75 14       push    dword ptr [ebp+14]
01001B50   .  8B06          mov     eax, dword ptr [esi]
01001B52   .  FF75 10       push    dword ptr [ebp+10]
01001B55   .  8BCE          mov     ecx, esi
01001B57   .  57            push    edi
01001B58   .  53            push    ebx
01001B59   .  FF50 08       call    dword ptr [eax+8]
01001B5C   .  81FF 82000000 cmp     edi, 82
01001B62   .  8945 14       mov     dword ptr [ebp+14], eax
01001B65   .  0F84 B72C0200 je      01024822
01001B6B   >  8B06          mov     eax, dword ptr [esi]
01001B6D   .  56            push    esi
01001B6E   .  FF50 04       call    dword ptr [eax+4]
[COLOR=red]01001B71   >  8B45 14       mov     eax, dword ptr [ebp+14]
01001B74   >  5F            pop     edi
01001B75   .  5E            pop     esi
01001B76   .  5B            pop     ebx
01001B77   .  5D            pop     ebp
01001B78   .  C2 1000       retn    10[/COLOR]


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (8)
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
QQLogin.EXE启动瞬间会杀线程,随便找个地儿挂上,挂上即可。
这种方法很普片。
楼主你的思路还需要进化下,频繁调用的地方,如果你的hook代码有vm,可能会卡
巧不巧,多不多少不少。
2011-2-12 22:59
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
3
是吗..原来OUT了...乡下来的没见过...
2011-2-12 23:04
0
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
delphi写的程序,VCL线程过程,如果挂上DNF.EXE的线程,就可以pAsS检测
2011-2-12 23:09
0
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
利用线程执行间隙,照样ByPaSs QQLogine.EXE杀劫持型dll
线程中创建线程,它就杀不掉了~
2011-2-12 23:12
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
6
好多专业术语,听不懂~~~
2011-2-12 23:13
0
雪    币: 2323
活跃值: (4113)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
7
MASM学习一下,谢谢分享~~
2011-2-12 23:26
0
雪    币: 1602
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
ASM的?再弄个VC版的就好了。
2011-2-13 08:35
0
雪    币: 705
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
第一次见此方法,之前学习的时候注入这一块都是直接复制的,汗颜
2011-2-13 13:17
0
游客
登录 | 注册 方可回帖
返回
//