
图6 “隐匿者”僵尸网络端口扫描模块代码片段
表2 “隐匿者”僵尸网络爆破模块概览
爆破模块
爆破目标(端口)
当前支持情况
Cracker:mssql
MSSQL(1433)
支持
Cracker:Telnet
Telnet(23)
支持
Cracker:RDP
RDP(3389)
支持未完善
Cracker:CCTV
CCTV(不定)
支持未完善
Cracker:MySQL
MySQL(3306)
已移除
Cracker:WMI
WMI(135)
已移除
Cracker:SSH
SSH(22)
已移除
高级内网渗透攻击开始出现在挖矿木马僵尸网络的扩张中。我们在“mateMiner”僵尸网络中发现了使用“pass the hash”攻击进行内网渗透的模块。僵尸网络释放了凭证窃取工具mimikatz获取保存在本计算机中的凭证,并用其进行“pass the hash”攻击。图7展示了“mateMiner”僵尸网络凭证获取模块的代码片段。

图7 “mateMiner”僵尸网络凭证获取模块代码片段
“mateMiner”僵尸网络会首先尝试使用这些凭证登录内网中的其他计算机,一旦登录成功就往这些计算机中植入挖矿木马和僵尸程序,只有尝试登录失败才会使用“永恒之蓝”漏洞攻击武器进行入侵。
可见,随着“永恒之蓝”漏洞攻击成功率的降低,诸如 mimikatz这类高级内网渗透工具已经开始被挖矿木马僵尸网络所使用。图8展示了“mateMiner”僵尸网络进行内网渗透的代码片段。

图8 “mateMiner”僵尸网络内网渗透模块代码片段
(3)僵尸程序的持续驻留
黑客是否能够持续控制傀儡机关键在于傀儡机中的僵尸程序能否持续驻留。而挖矿木马僵尸网络也是用尽了各种办法让僵尸程序持续驻留在傀儡机中。
将僵尸程序直接寄生在系统进程中是最好的选择。“yamMiner”僵尸网络在利用Java反序列化漏洞入侵计算机后直接在Java进程中执行命令。而“隐匿者”僵尸网络在通过爆破MSSQL服务入侵其他计算机后以SQLServer Job的形式运行挖矿机,并且在SQLServer中写入多段shellcode。图9展示了“隐匿者”在SQLServer中写入的一段shellcode。

图9 “隐匿者”僵尸网络在SQLServer中写入的shellcode
通过将僵尸程序寄生在系统进程中能够有效逃避杀毒软件的拦截,保证僵尸程序的持续驻留。
WMI, PowerShell都是持续驻留的好帮手。许多僵尸网络通过WMI实现僵尸程序在目标计算机中的持续驻留,并且使用PowerShell协助完成工作。
“隐匿者”僵尸网络在SQLServer中的shellcode就包含了使用WMI进行挖矿机配置文件定时更新的功能。图10展示了这段shellcode的内容。

图10 “隐匿者”僵尸网络使用WMI进行定期更新的shellcode片段
而“mateMiner”僵尸网络仅仅使用一个PowerShell脚本作为僵尸程序,这也是它最大的特点。这个PowerShell脚本完成了包括入侵、持续驻留、挖矿在内的所有功能。图11展示了“mateMiner”僵尸网络从黑客服务器下载执行PowerShell脚本的命令行。

图11 “mateMiner”僵尸网络执行PowerShell命令行片段
除了利用PowerShell脚本完成工作,“mateMiner”更是将WMI的灵活性发挥到了极致,不仅使用WMI的__EventFilter类实现持续驻留,还将shellcode保存为WMI下类属性的值,需要时载入内存执行,真正实现“无文件”攻击。图12展示“mateMiner”使用WMI下类属性存储shellcode的代码片段。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-54396-3.html
不懂就别装了
不是说美国是纸老虎吗
如果钱比较闲放招财宝一年有500多