首页
论坛
专栏
课程

[原创]一个.net的样本分析[STMP]

5天前 362

[原创]一个.net的样本分析[STMP]

5天前
362

0x0 前言

 

Pony Fareit木马.net分析--通过STMP协议的.net样本挺多的,写下来当样本记录下

 

0x1 样本信息(截图自Virus total)

 

 

0x2 分析过程

 

1.第一段解密:对资源字符串进行异或解密,解密方式为每个双字减去0x58D1(22737)然后与0x8E异或

 

 

2.第二段解密:将异或获得的XorCode进行Base64解码,得到一个PE文件(dump1,也是.net)

 

 

 

3.dump1内有检测虚拟机的函数IsVM(但是并未执行这一函数体,我们待会进去仔细分析一下)

 

 

4.异或解密资源,并加载其运行(异或Key为:CnajNowpjKsL)。由此可以发现dump1依旧是一个外壳程序,解密出真正的病毒本体(dump2,也是.net)

 

 

 

5.dump2开始干活,先是常规三连:拷贝,隐藏,自启动

 

 

 

 

6.进入木马的特色部分:窃取各个浏览器Cookie,以及mail的内容等等

 

 

 

7.将获取的Cookie打包成zip,绑定STMP邮箱后发送(zip在发送成功后会删除,从而清理痕迹)

 

 

0x3 总结

 

1..net调试一般选择从入口点开始调试,在调试之前最好在静态分析,找到关键处代码(不然跟不进去)

 

2.dump2是一个常见的通过STMP窃密的邮件木马,这里我参考了前辈的分析:https://blog.csdn.net/chr8230401/article/details/100664775

 

3.dump1其实有反虚拟机检测,但是作者并未开启,我们又想进去一探究竟,怎么办呢,只能强改跳转看了(dnSpy的使用感不太好):

 

先尝试右键改下逻辑跳转,发现只能改到当前的那一行(改了也无效,想直接改到函数内部也不行,不知道啥原理)

 

 

然后只能强行改内存了,这种方法也不太友好(只对当前调试程序一次有效,重新F5都要重新改):

 

先右键->查看到反汇编,然后通过汇编定位(Crtl+F搜索函数名快速定位)到关键跳转,内存窗口中crtl+G跳转至该地址,查找对应OPCode修改即可(比如这里是0x74 je->0x75 jne).

 


反虚拟机的操作基本上是查询注册表来比对返回值有无vmware之类的关键字符串
附:md格式上传的图都挂了要重新贴,有没有铁子教一教小伙



[公告]安全测试和项目外包请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最后于 4天前 被剁辣椒炒肉编辑 ,原因:
最新回复 (1)
niuzuoquan 5天前
2
0
mark
游客
登录 | 注册 方可回帖
返回