专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
目录
相关文章推荐
Hacking黑白红  ·  DeepSeek,紧急声明 ·  12 小时前  
Hacking黑白红  ·  DeepSeek,紧急声明 ·  12 小时前  
连州点点网  ·  假的! ·  昨天  
连州点点网  ·  假的! ·  昨天  
平安芜湖  ·  热搜第一!微信又上新功能 ·  2 天前  
天津日报  ·  微信朋友圈更新!网友:年度最有效功能 ·  2 天前  
天津日报  ·  微信朋友圈更新!网友:年度最有效功能 ·  2 天前  
东方财富网  ·  突发逆转!暴力拉升超30% ·  3 天前  
东方财富网  ·  突发逆转!暴力拉升超30% ·  3 天前  
51好读  ›  专栏  ›  看雪学苑

好心群友给的外挂大礼包——记一次远控马分析

看雪学苑  · 公众号  · 互联网安全  · 2024-09-01 17:59

正文

最近玩MC的3c3u服务器,是一个类似2b2t的无政府服务器,加了官方群,一个好心大哥给我发了一个挂。


如此好心,我当然要开心地收下。


UPX -d 脱掉。


IDA32启动。

主程序



WinMain就一个函数,跟进。


逻辑如图,跟踪一下函数,函数名和变量名都是我恢复的。一开始以为是SMC,后来发现是反射加载dll。加载函数如下。


解密函数如下,一眼xxtea。


至此程序逻辑已经较为清晰:反射加载dll,具体为从密文以标准xxtea算法解密数据,然后把数据地址传入加载dll函数,最后调用dll中的函数,函数名为前面传进来的StudyHard。

dll


dump dll的过程可谓艰辛,由于打CTF打多了,最开始写了一个c脚本,结果发现0x15000个u_int32似乎不好打印,后来又尝试保存到文本,效果也一般。(可能是IDA哪里分析出问题了)后来又尝试了下断点让他自己解密,因为他这个dll想执行最后肯定得以无加密方式执行,但是似乎有反调试,运行会卡住,跑不到解密的地方。(复盘时考虑可能是那些抛出异常的地方写了专门的处理,结合下图一堆函数猜测可能是自调反调试)


最后采取的方案:虚拟机直接运行,转储运行文件。这个程序应该是写入计划任务了,重启发现虚拟机里面还有这个样本,那只能说是正合我意了。


直接IDA分析这个内核转储文件。这里直接用windbg打开,显示:


吓了我一跳,还以为是天堂之门,后来群里大哥说是调用了64位dll就会这样,而且这样必须用IDA64分析了。

IDA64打开转储文件,直接按G jump到那个加密dll的地址。


MZ开头,舒服了。

dump下来,32位IDA打开。

StartAddress



获取路径,写注册表,写开机启动,持久化。

DllMain



查找explorer.exe


查找父进程


都没找到就退出。


获取win版本。


从URL下载文件,写入构造的地址(就是前面获取的)。


查找rundll32.exe,找到就taskkill了。


注册成服务。



等待服务器发送指令(域名不贴了,就是server_domin),控完while(1) sleep。


根据系统版本写启动项,驻留。其中win10就用前面分析的StartAdress。

StudyAdress


本来以为这才是正餐,分析了一下,大部分跟dllmain一样。

剩余部分有意思的函数





查找这161个杀软是否存在,看到这玩意我第一反应是真牛逼。


scvh0st.exe,6.

至此已经拆的差不多了,控制方发送字符组成的指令序列,在被控机执行。

另外有意思的是作者把网站的80端口伪装成了一个没备案被拦截的页面,nmap扫了只有22 443 80开着,微步沙箱测到是在3xxxx上通信的,后面有空在研究了。

感谢这位群友送的大礼物。




看雪ID:0xA1pha

https://bbs.kanxue.com/user-home-1004111.htm

*本文为看雪论坛优秀文章,由 0xA1pha 原创,转载请注明来自看雪社区









请到「今天看啥」查看全文


推荐文章
Hacking黑白红  ·  DeepSeek,紧急声明
12 小时前
Hacking黑白红  ·  DeepSeek,紧急声明
12 小时前
连州点点网  ·  假的!
昨天
连州点点网  ·  假的!
昨天
平安芜湖  ·  热搜第一!微信又上新功能
2 天前
东方财富网  ·  突发逆转!暴力拉升超30%
3 天前
东方财富网  ·  突发逆转!暴力拉升超30%
3 天前
彬彬有理  ·  别跟男人要,我们自己来
7 年前