此前,攻击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 1001.可以看到域名与端口之间直接连接,且恶意软件的代码中也没有内置校验命令格式是否正确的功能。
格式错误的香港云服务器命令将会导致 Go 语言开发的二进制文件直接由于“索引越界”而崩溃,错误的格式产生参数数量的错误。使用受控环境也能够复现这一问题:

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

恶意软件崩溃
格式错误的命令会导致与 C&C 服务器通信的所有恶意软件都崩溃,导致整个僵尸网络终止运行。由于该僵尸网络并没有任何持久化功能,唯一的方法就是重新构建,无法直接恢复。
结论在网络安全领域很少听到此类情况,在这个被 0day 漏洞和各种告警折磨的精疲力竭的世界,如果由于攻击者的失误就能清除威胁也不失为一件好事。KmsdBot 僵尸网络一直在攻击大型的奢侈品公司与游戏公司,攻击者以后可能会更加小心和注意。
亿华云(责任编辑:数据库)