首页
社区
课程
招聘
[原创]Win 7下定位kernel32.dll基址及shellcode编写
2010-10-14 22:19 47527

[原创]Win 7下定位kernel32.dll基址及shellcode编写

2010-10-14 22:19
47527
收藏
点赞6
打赏
分享
最新回复 (36)
雪    币: 125
活跃值: (161)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
zhangtaopy 1 2010-10-21 18:24
26
0
在我做某个注入PE文件的时候

曾经发现以前看到的SHELLCODE 不能用于win7 用google搜到过LZ所说的那个关于win7 shellcode的讨论。

但是为什么搜到的第一个长度与kernel32.dll长度相同的就一定是kernel32.dll?
雪    币: 133
活跃值: (546)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
njxxdx 2010-11-18 21:15
27
0
刚想看看有没这方面的代码的  顶!!
雪    币: 394
活跃值: (131)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
jgaoabc 1 2010-11-19 11:34
28
0
一开始一直没成功,后来幸好看清楚了,12*2(十进制)=18(十六进制)。
贴上汇编代码,调用之后eax就是kernel32.dll的基址:
00401000 KrnlB>  51                        push ecx
00401001         56                        push esi
00401002         57                        push edi
00401003         33C9                      xor ecx,ecx
00401005         64:8B71 30                mov esi,dword ptr fs:[ecx+30]
00401009         8B76 0C                   mov esi,dword ptr ds:[esi+C]
0040100C         8B76 1C                   mov esi,dword ptr ds:[esi+1C]
0040100F         8B46 08                   mov eax,dword ptr ds:[esi+8]
00401012         8B7E 20                   mov edi,dword ptr ds:[esi+20]
00401015         8B36                      mov esi,dword ptr ds:[esi]
00401017         66:394F 18                cmp word ptr ds:[edi+18],cx
0040101B       ^ 75 F2                     jnz short KrnlBase.0040100F
0040101D         5F                        pop edi
0040101E         5E                        pop esi
0040101F         59                        pop ecx
00401020         C3                        retn

二进制:
51 56 57 33 C9 64 8B 71 30 8B 76 0C 8B 76 1C 8B 46 08 8B 7E 20 8B 36 66 39 4F 18 75 F2 5F 5E 59
C3
在2003、XP以及windows 7下测试通过。
以前我参照写的一个适用2003、XP以及windows 7的太烦琐了,贴上代码:
004024C4         55                        push ebp
004024C5         8BEC                      mov ebp,esp
004024C7         81EC 8C000000             sub esp,8C
004024CD         51                        push ecx
004024CE         52                        push edx
004024CF         53                        push ebx
004024D0         56                        push esi
004024D1         57                        push edi
004024D2         64:A1 30000000            mov eax,dword ptr fs:[30]
004024D8         8B40 0C                   mov eax,dword ptr ds:[eax+C]
004024DB         8B40 1C                   mov eax,dword ptr ds:[eax+1C]
004024DE         8B00                      mov eax,dword ptr ds:[eax]
004024E0         8B40 08                   mov eax,dword ptr ds:[eax+8]
004024E3         8945 F4                   mov dword ptr ss:[ebp-C],eax
004024E6         8B40 3C                   mov eax,dword ptr ds:[eax+3C]
004024E9         8B4D F4                   mov ecx,dword ptr ss:[ebp-C]
004024EC         8B55 F4                   mov edx,dword ptr ss:[ebp-C]
004024EF         035401 78                 add edx,dword ptr ds:[ecx+eax+78]
004024F3         8955 DC                   mov dword ptr ss:[ebp-24],edx
004024F6         8B45 DC                   mov eax,dword ptr ss:[ebp-24]
004024F9         0348 20                   add ecx,dword ptr ds:[eax+20]
004024FC         894D B0                   mov dword ptr ss:[ebp-50],ecx
004024FF         8B4D F4                   mov ecx,dword ptr ss:[ebp-C]
00402502         0348 24                   add ecx,dword ptr ds:[eax+24]
00402505         894D BC                   mov dword ptr ss:[ebp-44],ecx
00402508         8B4D F4                   mov ecx,dword ptr ss:[ebp-C]
0040250B         0348 1C                   add ecx,dword ptr ds:[eax+1C]
0040250E         894D B8                   mov dword ptr ss:[ebp-48],ecx
00402511         C745 8C 47657450          mov dword ptr ss:[ebp-74],50746547
00402518         C745 90 726F6341          mov dword ptr ss:[ebp-70],41636F72
0040251F         C745 94 64647265          mov dword ptr ss:[ebp-6C],65726464
00402526         C745 98 73730000          mov dword ptr ss:[ebp-68],7373
0040252D         8365 88 00                and dword ptr ss:[ebp-78],0
00402531         EB 07                     jmp short zuixin07.0040253A
00402533         8B45 88                   mov eax,dword ptr ss:[ebp-78]
00402536         40                        inc eax
00402537         8945 88                   mov dword ptr ss:[ebp-78],eax
0040253A         8B45 DC                   mov eax,dword ptr ss:[ebp-24]
0040253D         8B4D 88                   mov ecx,dword ptr ss:[ebp-78]
00402540         3B48 18                   cmp ecx,dword ptr ds:[eax+18]
00402543         0F83 8A000000             jnb zuixin07.004025D3
00402549         C785 7CFFFFFF 01000000    mov dword ptr ss:[ebp-84],1
00402553         8365 80 00                and dword ptr ss:[ebp-80],0
00402557         8365 84 00                and dword ptr ss:[ebp-7C],0
0040255B         8B45 88                   mov eax,dword ptr ss:[ebp-78]
0040255E         8B4D B0                   mov ecx,dword ptr ss:[ebp-50]
00402561         8B55 F4                   mov edx,dword ptr ss:[ebp-C]
00402564         031481                    add edx,dword ptr ds:[ecx+eax*4]
00402567         8955 80                   mov dword ptr ss:[ebp-80],edx
0040256A         8D45 8C                   lea eax,dword ptr ss:[ebp-74]
0040256D         8945 84                   mov dword ptr ss:[ebp-7C],eax
00402570         8B45 84                   mov eax,dword ptr ss:[ebp-7C]
00402573         0FBE00                    movsx eax,byte ptr ds:[eax]
00402576         85C0                      test eax,eax
00402578         74 29                     je short zuixin07.004025A3
0040257A         8B45 84                   mov eax,dword ptr ss:[ebp-7C]
0040257D         0FBE00                    movsx eax,byte ptr ds:[eax]
00402580         8B4D 80                   mov ecx,dword ptr ss:[ebp-80]
00402583         0FBE09                    movsx ecx,byte ptr ds:[ecx]
00402586         3BC1                      cmp eax,ecx
00402588         74 09                     je short zuixin07.00402593
0040258A         83A5 7CFFFFFF 00          and dword ptr ss:[ebp-84],0
00402591         EB 10                     jmp short zuixin07.004025A3
00402593         8B45 84                   mov eax,dword ptr ss:[ebp-7C]
00402596         40                        inc eax
00402597         8945 84                   mov dword ptr ss:[ebp-7C],eax
0040259A         8B45 80                   mov eax,dword ptr ss:[ebp-80]
0040259D         40                        inc eax
0040259E         8945 80                   mov dword ptr ss:[ebp-80],eax
004025A1       ^ EB CD                     jmp short zuixin07.00402570
004025A3         83BD 7CFFFFFF 01          cmp dword ptr ss:[ebp-84],1
004025AA         75 22                     jnz short zuixin07.004025CE
004025AC         8B45 80                   mov eax,dword ptr ss:[ebp-80]
004025AF         0FBE00                    movsx eax,byte ptr ds:[eax]
004025B2         85C0                      test eax,eax
004025B4         75 18                     jnz short zuixin07.004025CE
004025B6         8B45 88                   mov eax,dword ptr ss:[ebp-78]
004025B9         8B4D BC                   mov ecx,dword ptr ss:[ebp-44]
004025BC         0FB70441                  movzx eax,word ptr ds:[ecx+eax*2]
004025C0         8B4D B8                   mov ecx,dword ptr ss:[ebp-48]
004025C3         8B55 F4                   mov edx,dword ptr ss:[ebp-C]
004025C6         031481                    add edx,dword ptr ds:[ecx+eax*4]
004025C9         8955 B4                   mov dword ptr ss:[ebp-4C],edx
004025CC         EB 05                     jmp short zuixin07.004025D3
004025CE       ^ E9 60FFFFFF               jmp zuixin07.00402533
004025D3         C745 8C 4765744D          mov dword ptr ss:[ebp-74],4D746547
004025DA         C745 90 6F64756C          mov dword ptr ss:[ebp-70],6C75646F
004025E1         C745 94 6548616E          mov dword ptr ss:[ebp-6C],6E614865
004025E8         C745 98 646C6541          mov dword ptr ss:[ebp-68],41656C64
004025EF         8365 9C 00                and dword ptr ss:[ebp-64],0
004025F3         8D45 8C                   lea eax,dword ptr ss:[ebp-74]
004025F6         50                        push eax
004025F7         FF75 F4                   push dword ptr ss:[ebp-C]
004025FA         FF55 B4                   call dword ptr ss:[ebp-4C]
004025FD         8945 EC                   mov dword ptr ss:[ebp-14],eax
00402600         C745 8C 4B65726E          mov dword ptr ss:[ebp-74],6E72654B
00402607         C745 90 656C3332          mov dword ptr ss:[ebp-70],32336C65
0040260E         C745 94 2E646C6C          mov dword ptr ss:[ebp-6C],6C6C642E
00402615         8365 98 00                and dword ptr ss:[ebp-68],0
00402619         8D45 8C                   lea eax,dword ptr ss:[ebp-74]
0040261C         50                        push eax
0040261D         FF55 EC                   call dword ptr ss:[ebp-14]
00402620         5F                        pop edi
00402621         5E                        pop esi
00402622         5B                        pop ebx
00402623         5A                        pop edx
00402624         59                        pop ecx
00402625         81C4 8C000000             add esp,8C
0040262B         5D                        pop ebp
0040262C         C3                        retn

二进制:
55 8B EC 81 EC 8C 00 00 00 51 52 53 56 57 64 A1 30 00 00 00 8B 40 0C 8B 40 1C 8B 00 8B 40 08 89
45 F4 8B 40 3C 8B 4D F4 8B 55 F4 03 54 01 78 89 55 DC 8B 45 DC 03 48 20 89 4D B0 8B 4D F4 03 48
24 89 4D BC 8B 4D F4 03 48 1C 89 4D B8 C7 45 8C 47 65 74 50 C7 45 90 72 6F 63 41 C7 45 94 64 64
72 65 C7 45 98 73 73 00 00 83 65 88 00 EB 07 8B 45 88 40 89 45 88 8B 45 DC 8B 4D 88 3B 48 18 0F
83 8A 00 00 00 C7 85 7C FF FF FF 01 00 00 00 83 65 80 00 83 65 84 00 8B 45 88 8B 4D B0 8B 55 F4
03 14 81 89 55 80 8D 45 8C 89 45 84 8B 45 84 0F BE 00 85 C0 74 29 8B 45 84 0F BE 00 8B 4D 80 0F
BE 09 3B C1 74 09 83 A5 7C FF FF FF 00 EB 10 8B 45 84 40 89 45 84 8B 45 80 40 89 45 80 EB CD 83
BD 7C FF FF FF 01 75 22 8B 45 80 0F BE 00 85 C0 75 18 8B 45 88 8B 4D BC 0F B7 04 41 8B 4D B8 8B
55 F4 03 14 81 89 55 B4 EB 05 E9 60 FF FF FF C7 45 8C 47 65 74 4D C7 45 90 6F 64 75 6C C7 45 94
65 48 61 6E C7 45 98 64 6C 65 41 83 65 9C 00 8D 45 8C 50 FF 75 F4 FF 55 B4 89 45 EC C7 45 8C 4B
65 72 6E C7 45 90 65 6C 33 32 C7 45 94 2E 64 6C 6C 83 65 98 00 8D 45 8C 50 FF 55 EC 5F 5E 5B 5A
59 81 C4 8C 00 00 00 5D C3
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
leeonegor 2010-12-29 14:19
29
0
mlgb,感谢分享
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hzactivex 2011-1-12 12:11
30
0
跟进!!!强烈学习中
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
在此基础 2011-10-18 23:44
31
0
vc6.0环境下测试发生   illegal segment override in 'second operand'  神马情况.请大牛指点
雪    币: 8021
活跃值: (1688)
能力值: ( LV8,RANK:122 )
在线值:
发帖
回帖
粉丝
SnowFox 2011-10-19 11:51
32
0
应该是这样的

((void (*)())&shellcode)();
雪    币: 1751
活跃值: (640)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
cmdxhz 1 2011-10-19 20:08
33
0
mov eax, [fs:eax+0x30]
貌似应该是   mov eax, fs:[eax+0x30]
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
在此基础 2011-10-20 14:39
34
0
楼上.Debug/Release编译成功,但是运行出错.
雪    币: 241
活跃值: (235)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
Cryin 4 2011-10-23 13:51
35
0
[QUOTE=在此基础;1011572]楼上.Debug/Release编译成功,但是运行出错.[/QUOTE]

你可以点调试看代码问题出现在哪里!
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
regnem 2012-3-21 14:53
36
0
受益匪浅,谢谢大牛~
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yqhzh 2012-7-26 13:42
37
0
收藏了,谢谢
游客
登录 | 注册 方可回帖
返回