Warzone RAT分析 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

Warzone RAT分析

ang010ela 恶意软件 2020-03-24 10:50:00
1030399
收藏

导语:​本文对Warzone远程访问木马进行分析。

恶意软件即服务是网络犯罪分子获利的一种可靠方式。近期,不同的RAT变得非常流行。虽然这些RAT都被标记为恶意攻击,但其开发者就像销售合法软件一样,提供不同的订阅方案和客户支持,甚至有些还有license和使用选项。这些工具的开发者一直在持续改进这些工具,不断地加入新的特征。本文分析Warzone RAT,其开发者提供了一系列不同的特征。

2018年秋,第一个Warzone RAT广告出现在warzone[.]io网站上。当前,该销售服务位于warzone[.]pw。恶意软件运营者在warzonedns[.]com上运营了一个动态DNS服务。根据该网站的描述,恶意软件具有以下能力和特征:

· 不需要.net

· 通过VNC实现远程桌面

· 通过RDPWrap隐藏远程桌面

· 权限提升(在最新Windows 10系统中也可以)

· 远程web摄像头控制

· 浏览器和主流有用密码窃取

· 下载和执行任意文件

· 远程shell

· 文件管理

· 进程管理

· 逆向代理

 

图  1 – warzone[.]io上的广告

图  2 – warzone[.]pw上最近的广告

技术细节

Warzone是一个用C++编写的RAT,适配所有的Windows发布版本。

该恶意软件开发者在warzonedns[.]com上有动态DNS服务,也就是说购买者并不会受到IP地址变化的影响。

Warzone会绕过UAC (User Account Control用户访问控制)来绕过Windows defender,并将自己放置在开始菜单程序列表中。最后,运行路径来处理C2命令。

研究人员发现了多个不同版本的Warzone,而且恶意软件在不断地改善。在不同版本中,有些特征是不同的。

绕过UAC

如果Warzone RAT以更高权限运行,就会添加整个C:\ 路径到Windows Defender的白名单中,使用的PowerShell命令为:

powershell Add-MpPreference -ExclusionPath C:\

此外,恶意软件会绕过UAC,并使用两种方法来进行提权,一种用于Windows 10,一种用于其他老版本的Windows系统:

对低于Windows 10的版本,使用保存在资源中的UAC绕过方法。

对于Windows 10,滥用sd clt.exe的自动提升特征,该可执行文件是适用于Windows备份和恢复环境下的。

图  7 –Warzone工作流

 

图  8 – UAC绕过策略

Windows 10 UAC绕过

当sdclt.exe被中等完整性进程(比如,标准用户权限的进程),会发生以下事件:

· 它会以更高权限运行另一个进程sdclt.exe。

· 高权限的sdclt进程会调用C:\Windows\System32\control.exe。

· control.exe进程会以更高权限运行,并尝试打开HKCU\Software\Classes\Folder\shell\open\command 注册表值。

恶意软件会通过设置路径为含有DelegateExecute参数的HKCU\Software\Classes\Folder\shell\open\command key来执行COM劫持。

这些动作都可以通过以下命令替换:

reg add "HKCU\Software\Classes\Folder\shell\open\command" /d "" /f
 
reg add HKCU\Software\Classes\Folder\shell\open\command /v "DelegateExecute" /f

最后,恶意软件会中止自己。并通过sdclt.exe以提升的权限运行。

图  9 – Windows 10 UAC绕过

Windows 10之前版本的操作系统中的UAC绕过

对低于Windows 10版本的Windows系统,恶意软件会执行IFileOperation漏洞滥用。

首先,在HKCU\SOFTWARE中创建一个注册表hive _rptls。其中包含一个路径为自己的值Install:

图  10 – HKCU\SOFTWARE\Install

然后,恶意软件会从WM_DSP resource中加载一个可执行文件,并运行一个含有大约1500字节的shellcode。

Shellcode会解析一些函数,运行暂停状态的cmd.exe的实例,并执行一个进程替换(ZwUnmapViewOfSection – VirtualAllocEx – GetThreadContext – WriteProcessMemory – SetThreadContext)。

图  11 –shellcode中的解析函数

负责UAC绕过的代码来源于AVE_MARIA恶意软件。

下面代码段表明权限提升是如何在cmd.exe环境下执行的。

图  12 – 进程替换后的cmd.exe的新入口点

恶意软件会从WM_DISM资源中提取出dismcore.dll,并释放xml文件ellocnak.xml到%TEMP%目录。

图  13 –  释放含有配置的ellocnak.xml

然后伪装成PEB (Process Environment Block)来以更高完整性级别调用IFileOperation。

图  14 – 伪装成PEB

下一步,使用pkgmgr.exe来以提升的权限加载dismcore.dll。

图  15 – 权限提升

加载的DLL会从HKCU\SOFTWARE\_rptls\Install提取出路径到Warzone恶意文件,循环运行进程,如果已经存在Warzone进程就杀掉。然后再次运行Warzone可执行文件,此次运行的权限为Admin。

驻留

恶意软件会复制自己到C:\Users\User\AppData\Roaming\

恶意软件也会常见一个注册表记录HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UIF2IS2OVK,并设置inst value为256字节的伪随机生成序列。

如果恶意软件以Admin权限运行,并且没有以更高权限的实例中止,就复制自己到C:\ProgramData\

网络通信

恶意软件会通过TCP 在5200端口与C2服务器进行通信。包的payload是用RC4算法和口令“warzone160\x00”加密的。

解密后的包的布局如下:

图  16 – 解密的包结构

实例:解密的响应包

图  17 –  来自Warzone服务器的响应

表1 – 响应包域

image.png

虽然Warzone可能加密了TCP包,其中一些版本会使用非加密的通信。

图  18 – 加密和非加密的Warzone TCP流

包payload中的字符串以以下格式存储:

图  19 – BSTR结构布局

恶意软件会解密C2服务器域名,并尝试连接到C2服务器。服务器在接受连接后,会发送一个message ID = 0和payload为空的包到客户端。恶意软件会收集被入侵计算机的信息,并在响应包中发回给服务器。响应包中包含如下数据:

· MachineGUID的SHA-1值

· 攻击活动ID.

· OS操作系统版本

· Admin状态

· 是否WOW64进程

· PC名

· 恶意软件存储路径

· 恶意文件的MurmurHash3值

· RAM值

· CPU信息

· 视频控制器信息

Bot ID是HKLM\Software\Microsoft\Cryptography中MachineGUID注册表值的SHA-1哈希值。

然后,主机会等待来自服务器的命令。服务器消息ID是从0x00到0x3C的偶数。僵尸主机包是添加0x01到0x3B的ID。一些命令在响应中并没有答案或含有空的payload。

僵尸主机还能通过远程shell、RDP、VNC console等提供给攻击者控制受感染PC的能力。提供的功能包括远程任务和文件管理、允许使用web摄像头等。

网络通信消息如下:

下表中含有客户端和服务器交换的大多数消息代码。消息代码在不同的Warzone版本中有所不同。

image.png

管理panel

研究人员分析了其中一个泄露的Warzone panels/builders,发现Warzone 版本是1.84。是用.NET编写的,并使用定制的混淆器进行了混淆。

图  20 – Warzone panel.

代码的混淆使用了大量的数学计算和switch结构,可以在不影响控制流的情况下隐藏有用的指令。比如,图21中有365行代码,但是只有一个目的:就是分配constructor参数给class成员。

图  21 –反编译的panel代码

通过对应僵尸主机的内容菜单,购买者可以使用远程命令行、进程和文件控制器以及其他特征来完全控制受感染的机器。

图  22 – bot记录的内容菜单

panel bundle中含有以下内容:

· Warzone RAT*.exe和Warzone RAT*.exe.config .NET assembly和panel配置文件。

· 合法的库license.dll 和 PETools.dll。

· License文件license.dat。

· Builder的客户端存根(Client Stub) cratclient.bin (cb6d6f17c102a8288704fe38dd9e2cf9)。

· Directory Clients含有每个客户端的特定数据:下载的文件、日志、RDP口令等。

· Directory Datas含有合法的软件,如RDPWrap库、SQLite库、VNC 客户端 (TightVNC和TigerVNC 客户端)。当对应特征触发时,这些文件都会传输到客户端。

图  23 – panel bundle内容

结论

Warzone与其他RAT类似,看似是一个合法工具,功能与其他RAT类似。可以由其他恶意软件或通过垃圾邮件进行传播。另一方面,与其他使用.NET语言开发的RAT类似,Warzone是用面向对象语言C++开发的。Warzone使用tcp上的网络协议,而非使用HTTP通信。除了定制的网络协议和网络基础设施外,Warzone含有2个不同的UAC绕过方法,适用于Windows 10和之前版本的Windows系统。

本文翻译自:https://research.checkpoint.com/2020/warzone-behind-the-enemy-lines/如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务