记录某项目中一次较为顺利的溯源反制过程
朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把“亿人安全“设为星标”,否则可能就看不到了啦
原文链接:奇安信攻防社区
https://forum.butian.net/share/2982
从发现攻击IP到反制拿到system权限,再到分析傀儡机上的扫描工具(有球球号),最后还原攻击路径。主打一个分享思路和技巧。
时间
202X年7月19日下午,刚睡醒就发现上午好像漏了一条攻击告警(简陋的图,体谅一下),还好为时不晚,先上报再溯源反制一下。
起因
此番攻击时间上相对连续,可以初步判断为扫描器,然后受害ip数量较多,猜测可能是一次针对性的攻击,攻击者将收集到的资产统一进行扫描。所以还是有溯源的必要。
反制
威胁情报平台上跑一下发现并未被标记恶意IP:
无所谓,礼尚往来,你扫我我扫你,上dirsearch!很快就发现了突破口:
是的,朴实无华的phpmyadmin,朴实无华的弱口令,朴实无华的拿shell。初步判断,该机器为傀儡机,攻击者通过phpmyadmin日志写入shell拿下了这台机器。这里还疑惑什么马子26MB这么大,后面才反应过来这是日志,感情这26MB也有我贡献的。
弱口令root/root:
在数据库中找到了我方的资产,再一次确定了这个就是攻击资源。
日志拿shell:
随后上线CS,获取账号密码:
信息收集一波,发现开放了23389端口:
随即远程桌面过去,但是未在傀儡机上发现其他账号和服务,也没发现有异常连接,只有一个程序一直再运行:
这个应该就是扫描器了,像是python写的,第一感觉就是。看运行界面,应该是一直在扫备份文件的,先下载到本地再分析。
分析扫描工具
解压工具,全部文件如下:
看工具介绍主要就是扫描和爬虫的功能,那就反编译一下试试。
这里需要一个工具,pyinstxtractor.py。用它来进行解包操作,这个文件复制到待解包exe 同级目录下,运行如下命令(python3):python pyinstxtractor.py xx.exe
两个exe反编译后就是这样:
进入main.exe_extracted文件下如下:
需要注意的是 1.exe.mainifest 和 1.pyc 网上的教程上来说 1.pyc是没有后缀的 但是后面也需要改成pyc后缀,这里直接就有后缀,如果没有的话就加上。这两个文件是源文件本身的名字,不管后面exe叫什么,它打包之前就是这个名字。1.py是我解包后的文件,这里可以忽略它。
还是这个文件夹往下看有一个struct.pyc的文件:
经过测试,这个pyc文件可以直接反编译出来,安装uncompyle 来反编译文件,命令如下:pip install uncompyle
如果电脑安装多个python版本,建议再执行一下pip3 install uncompyle
反编译命令如下:uncompyle6 struct.pyc > output.py #将struct.pyc反编译为output.py
但是直接反编译前面的主程序会报错:
打开这两个文件进行比较:
前16个字节是不一样的,后面的能编译,前面的不能,按网上教程给它改成一样的,将后面的前一段复制到另一个pyc文件里,就可以反编译了,还是用上面那个命令。
这里给浪子哥的球球号打个马赛克:
追踪url_check来源:
还是先读取了输入的一个txt文档,也就是程序中的test.txt,将这里面的url当作初始url,去访问他们顺便进行扫描,然后在这些url网页中爬取新的url,再存入check中,新数据来源就是网页中爬取到的链接。这里也解答了为什么受害IP数量众多的原因,并不是针对性攻击,而是因为友情链接带的有!
这里的扫描后缀除了常规的一些备份名字之外,还会使用域名作为名字去扫描,挺不错的。然后除了扫描备份还有一些其他的敏感信息,好像还看见了struts2的一些漏洞利用扫描,但是在攻击中没看见。浪子哥还是有实力的。
总结
这是一个不针对任何行业仅仅为了扫描网站备份的程序,通过网页上的友情链接达成无限扫描的目的。
- 点赞
- 收藏
- 关注作者
评论(0)