闷声发大财年度之星:2017挖矿木马的疯狂敛财暗流(2)
“yamMiner”僵尸网络 2016 年底出现,并在 2017 年呈现增长趋势,目前仍处在活跃状态。该僵尸网络建立之初,通过Java Commons Collections反序列化漏洞入侵服务器,漏洞如下所示: (更多细节见:http://www.freebuf.com/articles/system/129459.html) 使用Nday漏洞进行入侵攻击对于未打补丁的计算机而言效果立竿见影。而国内未能及时打补丁的计算机数量并不少,这也是这类挖矿木马僵尸网络持续保持活跃的重要原因之一。 (2)僵尸网络的扩张 当僵尸网络初具雏形后,黑客需要通过现有的傀儡机攻击更多的计算机,通过量的积累转化为可见的利益。因此,僵尸网络中的每一台傀儡机都是攻击的发起者,而他们的目标是互联网中的所有计算机。 “永恒之蓝”漏洞攻击武器在僵尸网络的扩张中起到重要的作用。在上文中展示了“永恒之蓝”漏洞攻击武器在僵尸网络建立时发挥的重要作用,这些同样作用于僵尸网络的扩张,在此不再赘述。 端口扫描和爆破也是僵尸网络扩张的帮手。“隐匿者”挖矿木马僵尸网络中带有全网扫描模块,僵尸程序会不断地对随机ip进行指定端口扫描,若端口开放则尝试进行爆破,爆破成功后则登录目标计算机植入挖矿木马和僵尸程序,继续进一步的扩张。图 6 展示了“隐匿者”挖矿木马僵尸网络端口扫描模块代码片段。表 2 展示了“隐匿者”僵尸网络爆破模块、爆破对象以及当前支持情况。 图6 “隐匿者”僵尸网络端口扫描模块代码片段 表2 “隐匿者”僵尸网络爆破模块概览 高级内网渗透攻击开始出现在挖矿木马僵尸网络的扩张中。我们在“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的代码片段。 图12 “mateMiner”使用WMI存储shellcode代码片段 由于PowerShell和WMI有极高的灵活性,僵尸网络能够通过两者有效管理傀儡机,并且减少恶意文件的释放,躲避杀毒软件的查杀。 先进的控制与命令方式是持续驻留的关键。每个僵尸网络都有一个最终的控制端,这个控制端负责向僵尸网络中的每个节点下发控制指令。由于控制端的存活时间并不长,其ip地址会频繁进行更换,因此挖矿木马僵尸网络需要一套完备的控制体系以保证随时与控制端联系。 (编辑:ASP站长网) |