攻击者失手,自己杀死了僵尸网络 KmsdBot
2022-12-16 19:4:36 Author: FreeBuf(查看原文) 阅读量:9 收藏

此前,Akamai 的安全研究员披露了 KmsdBot 僵尸网络,该僵尸网络主要通过 SSH 爆破与弱口令进行传播。在对该僵尸网络的持续跟踪中,研究人员发现了一些有趣的事情。

 C&C 控制 

对恶意活动来说,最致命的就是夺取对 C&C 服务器的控制。研究人员修改了 KmsdBot 的样本文件,使其能够在受控环境下进行通信。

研究人员向恶意软件发送自己的命令来测试 KmsdBot 僵尸网络的功能与攻击特征。有一天,在攻击者发送一个格式不正确的命令后,恶意软件就彻底崩溃。这种自杀式的行为在网络安全界可不多见,研究人员进行了一番调查。

 按图索骥 

研究人员通过检查 sys.main.connect() 函数并输出反汇编代码,来确定存储 C&C 服务器的 IP 地址与端口的代码。

sys.main.connect() 函数的反汇编)

C&C 服务器的字符串存储在内存地址 0x00632f19,将其修改为受控环境的 IP 地址。就能够像 C&C 服务器一样发送攻击指令。

(改写 C&C 服务器地址)

改写后的 C&C 服务器是开放端口 57388 的 192.168.0.31。在这台主机上使用 Netcat 来模拟 C&C 服务器。

期间,发现僵尸网络在收到攻击者下发的格式错误的指令后就停止运行了。命令为:

!bigdata www.bitcoin.com443 / 30 3 3 100

可以看到域名与端口之间直接连接,且恶意软件的代码中也没有内置校验命令格式是否正确的功能。

格式错误的命令将会导致 Go 语言开发的二进制文件直接由于“索引越界”而崩溃,错误的格式产生参数数量的错误。使用受控环境也能够复现这一问题:

(复现重新发送格式错误的指令)

(恶意软件崩溃)

格式错误的命令会导致与 C&C 服务器通信的所有恶意软件都崩溃,导致整个僵尸网络终止运行。由于该僵尸网络并没有任何持久化功能,唯一的方法就是重新构建,无法直接恢复。

结论

在网络安全领域很少听到此类情况,在这个被 0day 漏洞和各种告警折磨的精疲力竭的世界,如果由于攻击者的失误就能清除威胁也不失为一件好事。KmsdBot 僵尸网络一直在攻击大型的奢侈品公司与游戏公司,攻击者以后可能会更加小心和注意。

参考来源:

https://www.akamai.com/blog/security-research/kmsdbot-part-two-crashing-a-botnet

精彩推荐


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651209833&idx=3&sn=cd7fa14bba2a4663e4a6e73fc48424d9&chksm=bd1dd2e28a6a5bf465833990105c4de177a84c37ba2c4861cd116c1aae0ff0ea5355f8129f99#rd
如有侵权请联系:admin#unsafe.sh