工作中分析木马的一些心得,初来乍到,请大家多多指教。
常用断点
bp GetModuleFileNameA
bp GetModuleHandleA
对于UPX壳可以,可以直接脱壳,对于一般压缩壳,分析木马dll的时候,使用这两个函数做断点,就可以进去木马模块了,因为一般木马会取文件路径。
bp CreateFileA
这个函数可以帮助看看木马有没有生成其他文件。
bp LoadLibraryA
有些木马常常会动态加载函数,所以这个函数也可以看看
bp CreateThread
木马常常要创建新的函数做其他事情
bc VirtualFree
这个函数常常用来patch游戏的时候需要用到
hr esp 用于脱些的加密壳
-----------------------------------------------------------------------------------
常见的安全软件进程,查找字符串的时候可以帮助分析
360tray.exe奇虎
bdagent.exe罗马尼亚的一款杀毒软件
ras.exe瑞星卡卡安全助手程序
avp.exe卡巴斯基杀毒软件进程
rav.exe瑞星杀毒软件主程序
-----------------------------------------------------------------------------------
在分析过称中可以看到很多游戏进程名:
木马会使用进程名来判断游戏,或者计算游戏文件的MD5来判断游戏,或者动态解密。
游戏名MD5
征途--------zhengtu.dat
巨人--------HugemanClient.exe
完美--------elementclient.exe
问道--------asktao.mod
永恒之塔----Aion client,Aion.bin
热血江湖----ybclient.exe,client.exe
冒险岛------maplestory.exe
魔域--------soul.exe,TQAT.exe
星尘传说----luvinia.exe
R2----------launcher.exe,r2client.exe
传奇世界----woool.exe,woool.dat,woool88.dat
星辰--------ZodiacOnline
刀剑--------Bo.exe
彩虹岛------LaTaleClient.exe
地下城勇士--dnf.exe
天堂--------lin.bin
天堂二------L2.bin
精灵二------pt2.exe
奇迹世界----sun.exe,sungame.exe
传奇--------mir.exe,mir1.exe,mir2.exe
传奇三------Mir3Game.exe
仙剑--------pol.exe,仙剑OL-------palonline.exe
传奇世界----woool.exe
惊天动地----cabalmain.exe
丝路传说----sro_client.exe
骑士--------knightonline.exe
新天翼之链--InphaseNXD.EXE
十二天之二--TwelveSky2.exe
神鬼传奇----game.exe关键字:狮鹫崖,斯巴达 魔神坛
天龙八部----game.exe
希望在线----so3d.exe
黄易群侠传--hyo.exe
洛汗--------fairyclient.exe
挑战--------dekaron.exe
梦幻西游----xypqlayer.exe,my.exe
大话西游----xymain.bin
惊天动地----cabalmain.exe
卓越之剑----ge.exe
----------------------------------------------
跑跑卡丁车--KartRider.exe
反恐精英----online:cstrike-online.exe
地下城与勇士DNFchina.exe
QQ幻想------qqfo.exe
QQ堂--------Client.exe
QQ三国------QQSG.exe
QQ炫舞------QQxu.exe
QQ华夏2----HX2Game.exe
英雄岛XYD---Game.exe,client.exe
QQ飞车------GameApp.exe
穿越火线----crossfire.exe
数码宝贝OL--digimon.exe
未知游戏进程----------------------------------
wsm.exe
engine.exe
----------------------------------------------
游戏保护gameguard.des
------------------------------------------------------------------------------------------------
F2837A89338BE0F7861E7AF21B06EE6C========loaddll.exe
5AC71A9F4372CA7377C7E0C543FBFFFA========safeboxtray.exe
04D1C083134C2EBECA57A9724B0855D4========360tray.exe
AE33A1F2459A12A09EC75D71D14B5E89========360safebox.exe
3ABD7CD8928FE1F3EB563F43B913CA4B========360safe.exe
B9E9786EAC82378D3A6E05FCC1E15D2C========Not found
D7DB952BB0FA044F2B9A22FEADB37973========tqat.exe
1C085B8E02B137AA4EAFBE38CCF3D199========Not found
------------------------------------------------------------------------------------------------
F2837A89338BE0F7861E7AF21B06EE6C========loaddll.exe
CDE09BCDF5FDE1E2EAC52C0F93362B79========explorer.exe
创建两个线程:
1.4E5CFE74-700B-4A8B-B0BF-A6B47D896C18
ABC3ECB8E3FE08B66454442851BE5E66===[system process]枚举系统进程和杀软比较,关闭杀软
2.CDE09BCDF5FDE1E2EAC52C0F93362B79=explorer.exe
Setwindowshook
------------------------------------------------------------------------------------------------
F2837A89338BE0F7861E7AF21B06EE6C========loaddll.exe
游戏进程名:
AC39133BFEEEEC33B932CF938AA9A2DE========wow.exe
9E02BEFC9F117547E449CBC08DDE0C0A========client.exe
FCA7562F45462123A8BAF1F499D8A31C========mir1.dat(传奇外传)
816AD017AA1A7FDD7507CC2DC63DCD26========elementclient.exe
15F0E0D0F48017840F58516F75D8F7A4========asktao.mod(问道)
AF9C0104867ED2841389167E775B8332========game.exe
A5032950CF71DA305A46391355EF616C========qqlogin.exe
C4E9E796FC402FCBE055523147BAB476========hugemanclient.exe
0A1C9E3768A8914B26893B726BA80169========thewarlords.exe
2152948CF3E07E0A12C268F6B7C628A9========dnf.exe
42215D27EC04E98274AEA7B372D71856========woool.dat
10DA11531D7F98EC80AAD86C9F0060F5========woool88.dat
快速定位对游戏进行patch盗号
可以使用ctrl+F,然后搜索mov byte [r32], 0E9,一般木马hook代码需要用到,然后在这个call的附近能够找到搜索游戏特征码的部门,搜索特征码主要是用来定位需要盗取的游戏信息
10001718 |. C606 E9 mov byte ptr [esi], 0E9 //mov byte [r32], 0E9
10001729 |. C607 E8 mov byte ptr [edi], 0E8
1000172C |. 2BC7 sub eax, edi
1000172E |. 83E8 05 sub eax, 5 //sub r32,5
如何提取特征码,可以多提取几组。
第一组特征码:确定什么游戏
7E 77 C0 81 65 8D 41 D9 AD C0 3A 2E F7 6B EC 2F =========mir2.dat
f975e0997d3c2c997ebc48f169e5a12d =====================zhengtu.dat
第二组特征码:确定是木马
04D1C083134C2EBECA57A9724B0855D4=========360tray.exe
CDE09BCDF5FDE1E2EAC52C0F93362B79========explorer.exe
SeDebugPrivilege
Software\microsoft\windows\currentversion\Explorer\shellexecutehooks
第三组特征码:可以提取木马特有结构代码,多提几组避免误杀
89 7E ?? 89 7E ?? 89 7E ?? 89 7E
代码特征:
10005022 |> /8A4437 FF /mov al, byte ptr [edi+esi-1]
10005026 |. |3C 5C |cmp al, 5C
10005028 |. |74 04 |je short 1000502E
1000502A |. |3C 2F |cmp al, 2F
8A 44 37 FF 3C 5C 74 ?? 3C 2F
1000158B /EB 04 jmp short 10001591 加花指令
1000158D |EB 00 jmp short 1000158F
1000158F |EB 02 jmp short 10001593
10001591 ^\EB FA jmp short 1000158D
EB 04 EB 00 EB 02 EB FA 8B
10004363 |. 897E 34 mov dword ptr [esi+34], edi 清零语句
10004366 |. 897E 38 mov dword ptr [esi+38], edi
10004369 |. 897E 3C mov dword ptr [esi+3C], edi
1000436C |. 897E 40 mov dword ptr [esi+40], edi
1000436F |. 897E 04 mov dword ptr [esi+4], edi
89 7E 34 89 7E 38 89 7E 3C 89 7E
89 7E ?? 89 7E ?? 89 7E ?? 89 7E
100036AC |. C645 F7 D9 mov byte ptr [ebp-9], 0D9赋值语句
100036B0 |. C645 F8 AD mov byte ptr [ebp-8], 0AD
100036B4 |. C645 F9 C0 mov byte ptr [ebp-7], 0C0
100036B8 |. C645 FA 3A mov byte ptr [ebp-6], 3A
100036BC |. C645 FB 2E mov byte ptr [ebp-5], 2E
C645 F7 D9 C645 F8 AD C645 F9 C0 C645 FA 3A C645 FB 2E
C645 ?? D9 C645 ?? AD C645 ?? C0 C645 ?? 3A C645 ?? 2E
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)