127c4f729e6303a99b6704a471c9310d spyeye bot

UPX脱掉第一层,
重点分析第二层(dump_greere.exe):
初始地址41DCA9,大小16C6的数据前后解密的比较,见 41DCA9_16C6_解密前 和 41DCA9_16C6_解密后,解密在004045D6地址处
解密后跳到003C111B(初始3C0000)处继续执行,即从解密后的 0041DCA9+111B=41EDC4处执行。

注意观察内存及函数的参数情况,得到 样本 00C2C7CF_16200.ex

继续跟的话,程序又会把该样本 00C2C7CF_16200.ex 写进本进程,跟到00450CE0到OEP,这也是个UPX加壳程序,脱壳到00402D43,到达真正的OEP,这是个用C写的程序。


分析00C2C7CF_16200.ex:
分两部分:
如果不为C:/Recycle.Bin/Recycle.Bin.exe,则注入代码到桌面进程,在00C2C7CF_16200_unpacked.idb_004031B1处,该注入代码的功能就是复制程序到C:/Recycle.Bin/Recycle.Bin.exe并执行(CreateProcess)。重点分析下面一种情况。

如果为C:/Recycle.Bin/Recycle.Bin.exe,则释放一个资源文件并执行。在00C2C7CF_16200_unpacked.idb_00402FA3处
把资源dump出来得到 dumped.dmp_00C2C7CF_16200.ex(我是直接从00C2C7CF_16200_unpacked中拿出来的,也可以在od调试时从内存中dump),还得改节表的虚拟大小和OEP,及“所有头+节表的大小”,得到 复件 dumped.dmp_00C2C7CF_16200_修改OEP.ex,之后再用IDA分析。

分析复件 dumped.dmp_00C2C7CF_16200_修改OEP.ex:
在00384482处向内存读入config.bin,
解密config.bin在0038FE4F处(sub_37D668)(实际上config.bin是一个加密的带密码的压缩包)。
密码:9358F8AA5B49CF195BFC0486525660A3(OD调试,在0038FE4F处解密完成后就可看到)

003715A8处解密为config.dat
0037160C处解密为explorer.exe.

注入自身代码到除System、smss.exe、csrss.exe、services.exe之外的所有本机进程(sub_38413B)。
sub_3843F5 打开config.bin

展开阅读全文

没有更多推荐了,返回首页