DarkHyDrus有“黑暗之蛇”的别称,疑似来自于亚洲网络间谍组织,至少从2016年起就开始针对中东的政府机构和教育机构,该组织大力利用开源工具和定制有效负载进行攻击。
组件分析
Powershell
执行xx.iqy格式文件,下载releasenotes.txt
执行cmd调用Powershell下载winupdate.ps1,如下所示:
Powershell是经过压缩后的base64,如下所示:
解密后powershell如下所示:
反虚拟机,WMI 接口查询BIOS/VBOX/Vm等
检测物理内存以及Wireshark/Sysinternals进程
释放.bat和ps1,利用.bat执行OneDriver.ps1,如下所示:
OneDriver.ps1相对于本体只是减去了启动执行代码,创建OneDriver快捷方式,持久化。
初始化网络配置,使用了自定义的DNS隧道,有效域名使用卡巴,微软等字符串,C2连接成功后,采集系统信息base64编码,通过DNS隧道发送服务器。
anyconnect[.]stream
bigip[.]stream
fortiweb[.]download
kaspersky[.]science
microtik[.]stream
owa365[.]bid
symanteclive[.]download
windowsdefender[.]win
功能模块梳理
指令 | 功能 |
---|---|
$fileDownload | 上传指定内容 |
$importModule | 将指定的PowerShell模块添加到当前脚本 |
$screenshot | 代码中iex $command,不能确定为截屏 |
$command | 运行powershell |
$slp:\d+ | 睡眠 |
$testmode | DNS解析模块 |
$showconfig | 载荷当前配置上传 |
$slpx:\d+ | DNS请求时长设置 |
$fileUpload | 下载payload写入本地 |
通过.lqy载荷投递,触发web远程下载,Powershell进行主机感染,自定义DNS隧道C2命令控制,完成目标主机入侵。
Exe
函数并不从入口点执行,main函数之前执行shellcode,如下所示:
Tmep下创建文件,WinExec执行
释放Aspack加壳程序
是否需要提权,根据系统版保存结构体偏移。
注册表设置
内存数据解密
为每一个非光驱,已知磁盘设备创建单独的线程,用于递归遍历感染。
分发的线程两个感染动作,分别针对exe和rar
Winrar.exe被重定向至temp目录下,重命名为{随机数}.exe,进行压缩包感染,解压后感染exe,重新打包,利用CreateProcess执行WinRar指令。
WinRar命令
%s X -ibck \"%s\" \"%s\\\
"%s M %s -r -o+ -ep1 \"%s\" \"%s\\*\"
exe感染,第一次写入shllcode,大小625字节,用于Api动态寻址,第二次写入样本本体,大小0x3A00,如下所示:
创建线程用于请求网络和文件下载,如下所示:
http://ddos.dnsnb8.net:799/cj//k1.rar
下载k1.rar到本地{随机数}.exe,FileMap将文件映射到内存,解密数据,WinExec执行文件。
Bat删除文件收尾工作
Exe组件属于杀伤链第五个环节安装植入,蠕虫传播类型下载器,对于单纯下载器来说更具有危害,造成大量文件被恶意感染。
.Net
Net组件和Powershell功能一样,自定义DNS隧道代理进行C2通信。
DNS隧道
刷新DNS解析缓存,主机从本地域查找dns缓存,如果查询不到,请根域等待最终解析结果。
构造Windows nslookup解析指令,如下所示:
参数-q=TXT请求域名文本信息,域名格式{固定字符}.List.
固定格式,676f6f646c75636b.gogle.co
解析请求返回状态,成功失败
通过正则来匹配返回域纪录,DNS回包C2指令和数据,TXT请求会包含很多信息,如下所示
Address:\\s+(\\d+.\\d+.\\d+.\\d+)
Address:\\s+(([a-fA-F0-9]{0,4}:{1,2}){1,8})
Address:\\s+(([a-fA-F0-9]{0,4}:{1,4}[\\w|:]+){1,8})
循环遍历List可用域名,Wmi获取本地域,主机名,给予管理员权限获取域列表。
DNS包解析和构建,如下所示:
magic函数使用正则解析DNS查询类型MZ/TXT等回包,如下所示:
客户端解析DNS回应包C2指令和数据,保存command命令执行C2功能。
总结
通过样本分析未发现加密传输,明文进行传输,DNS隧道流量检测根据上文分析细节取关键字符如List列表和C2检测,请求频率(睡眠)都可以流量检测。
2017年思科Talos团队发现一起名为DNSMessenger的攻击,该恶意软件的所有命令与控制通信都经过DNS TXT类型查询和响应,上述攻击手法类似,通过TXT查询和响应,通过回包来穿透内网。
IOC
0c6cbf288d94a85d0fb9e727db492300
6267BBC7BEC7BEB134A92F6F9E523B4F
bd764192e951b5afd56870d2084bccfd
953a753dd4944c9a2b9876b090bf7c00
B3432432B49EFCC4B5AB1C00C84827AC
A164A2341F4F54DBD0FA881E5C067C1A