Agent Racoon 新型恶意软件攻击工具分析
2023-12-5 18:11:0 Author: paper.seebug.org(查看原文) 阅读量:19 收藏

原文链接:New Tool Set Found Used Against Organizations in the Middle East, Africa and the US
译者:知道创宇404实验室翻译组

安全研究人员观察到针对中东、非洲和美国组织的一系列明显相关的攻击。我们将讨论攻击过程中使用的一组工具,这些工具揭示了有关黑客活动的线索。这些工具用于执行以下活动:

  • 建立后门功能
  • 用于命令和控制 (C2)
  • 窃取用户凭据
  • 泄露机密信息

我们评估了风险中的置信度,由于受到损害的组织的性质、观察到的 TTP 以及工具集的定制,该威胁活动集群与民族国家相关的黑客一致。但是截止目前,我们尚未确认特定的民族国家或威胁组织。

该集群中使用的工具如下:

  • 我们称为Agent Racoon的新后门
    • 该恶意软件系列使用 .NET 框架编写,并利用域名服务 (DNS) 协议创建隐蔽通道并提供不同的后门功能。黑客在针对美国、中东和非洲组织的多次攻击中使用了该工具以及其他两种工具。其 C2 基础设施可以追溯到 2020 年。
  • 我们称为 Ntospy 的新工具
    • 该恶意软件是一个网络提供商 DLL 模块,旨在窃取用户凭据。
  • Mimikatz 的定制版本称为 Mimilite

受影响的组织属于以下行业:

  • 教育
  • 房地产
  • 零售
  • 非营利组织
  • 电信公司
  • 政府

基于工具以及策略、技术和程序 (TTP) 的独特相似性,我们正在跟踪这个威胁活动集群(编号为 CL-STA-0002)。

以下是我们观察到的活动以及工具集特征的详细描述。

背景信息

黑客使用C:\Windows\TempC:\Temp 等临时目录在不同受影响的组织中部署其工具集的特定组件。他们对批处理和 PowerShell 脚本使用了以下类似的文件名:

  • c:\windows\temp\crs.ps1
  • c:\windows\temp\ebat.bat
  • c:\windows\temp\install.bat
  • c:\windows\temp\mslb.ps1
  • c:\windows\temp\pb.ps1
  • c:\windows\temp\pb1.ps1
  • c:\windows\temp\pscan.ps1
  • c:\windows\temp\set_time.bat
  • c:\windows\temp\usr.ps1

虽然攻击者通常在受影响的组织中使用Ntospy ,但Mimilite工具和Agent Racoon恶意软件仅在非营利组织和政府相关组织的环境中发现。

每次攻击会话结束后,黑客都会利用cleanmgr.exe来清理会话期间使用的环境。

使用 Ntospy 获取凭证访问权限

为了执行凭证盗窃,黑客使用了实现Network Provider 的自定义 DLL 模块。网络提供程序模块是一个 DLL 组件,它实现 Microsoft 提供的接口,以在身份验证过程中支持其他类型的网络协议。

这项技术已经有相当详细的文档说明。Sergey Polak在2004年就在BlackHat的会议上发表了题为使用网络提供商 API 捕获 Windows 密码的演讲。2020 年,研究员Grzegorz Tworek将他的工具NPPSpy上传到 GitHub,GitHub 也实现了这一技术。

由于 DLL 模块的文件命名模式,以及对先前研究和工具的参考,安全研究人员将该恶意软件家族命名为 Ntospy。黑客将 Ntospy DLL 模块注册为网络提供程序模块来劫持身份验证过程,以便在受害者每次尝试向系统进行身份验证时访问用户凭据。

图1说明了在MS Exchange Server环境中,恶意软件在认证过程中使用的进程路径,加载恶意DLL模块的情况。

图 1 是 Microsoft Exchange Server 环境中加载 DLL 模块的进程的不同路径的屏幕截图。

图 1:MS Exchange 环境中加载恶意 DLL 组件的进程的映像路径

黑客采用了一些独特的技术实现此方法。在观察期间,他们创建了不同版本的 Ntospy 恶意软件。都具有以下共同点:

  • 使用带有 Microsoft 补丁模式的文件名
  • .msu扩展名伪装成 Microsoft 更新包文件,以明文形式存储收到的凭据
  • RichPE 标头哈希将不同样本关联到相同的编译环境

为了安装 DLL 模块,黑客注册了一个名为credman的新网络提供程序。他们通过使用位于C:\Windows\Temp\install.bat 的安装脚本来实现此目的,该脚本使用reg.exe安装网络提供程序。然后,恶意软件通过指向恶意 DLL 模块c:\windows\system32\ntoskrnl.dll来设置 DLL 模块路径。

很多行代码。 攻击者注册为 credman。

图 2 显示了我们识别出的属于同一恶意软件系列的不同 DLL 模块之间的静态共性。该图还说明了样本的RichPE标头哈希以及PE部分存在重叠。

图 2 是跨样本相关的静态特征图。 从橙色顶级图标引出的深灰色箭头指向病毒形状的红色中级图标。 这些依次使用浅灰色箭头指向文件图标。

图 2:样本之间的静态特征关系

在具有相同RichPE标头哈希的样本组中,我们发现它们是在相同的环境中编译的,即Visual Studio 2019 v16.0.0 build 27508。该恶意软件家族的其他样本则是在不同环境中编译,甚至可能进行了调整以避免重叠。

并不共享相同构建环境的样本在行为上相似,但在实现上存在一些差异。例如,某些恶意软件样本包含用于存储纯文本硬编码凭据的文件路径。图 3 和图 4 显示了其他样本如何使用加密的文件路径和堆栈字符串。

图 3 是多行代码的屏幕截图。 它是显示硬编码文件路径的伪代码,如红色箭头所示。

图 3:以明文形式显示硬编码文件路径的伪代码

图 4 是多行代码的屏幕截图。 它是显示加密文件路径的伪代码,如红色箭头所示。

图 4:使用流密码加密的文件路径的伪代码

在运行时解密文件路径后,发现使用加密文件路径的版本也使用了相同的文件路径模式,如图5所示。

图5是运行时解密的文件路径的屏幕截图。 共有三列可见:地址、十六进制、ASCII。

图 5:运行时解密的文件路径

我们发现的所有 DLL 模块都使用相同的文件路径模式,滥用.msu文件扩展名来伪装成 Microsoft 更新包。恶意软件样本使用以下路径:

  • c:/programdata/microsoft/~ntuserdata.msu
  • c:/programdata/package cache/windows10.0-kb5000736-x64.msu
  • c:/programdata/package cache/windows10.0-kb5009543-x64.msu
  • c:/programdata/packag~1/windows 6.1-kb4537803.msu

此外,DLL 文件存储在以下文件路径中:

  • C:\Windows\System32\ntoskrnl.dll
  • C:\Windows\Temp\ntoskrnl.dll
  • C:\Windows\Temp\ntos.dll

虽然第一个文件路径是用于实际安装 Network Provider 模块的路径,但Temp目录是黑客用来临时存储 DLL 模块的工作目录。如上面的文件路径所示,黑客使用 Windows 二进制名称模式(基于名为ntoskrnl.exe的 Windows 系统文件)试图欺骗受害者和分析人员忽略恶意 DLL 组件。

第一个活动是通过文件哈希SHA256 bcd2bdea2bfecd09e258b8777e3825c4a1d98af220e7b045ee7b6c30bf19d6df的恶意软件样本来识别的。这与我们称为CL-STA-0043 的另一个威胁活动集群重叠,该集群最初于2023年6月发布。

通过 Mimilite 进行凭证获取

另一种用于收集凭证和敏感信息的工具是著名的 Mimikatz 工具的定制版本,根据样本中的参考,黑客将其称为 Mimilite。

该工具是Mimikatz的简化版本,需要通过命令行提供密码才能运行:

  • C:\temp\update.exe 1dsfjlosdf23dsfdfr

执行二进制文件时,它将命令行参数作为解密密钥,使用流密码解密实际的有效负载。在执行解密的有效负载之前,二进制文件会通过执行完整性检查来验证有效负载是否已使用正确的密钥成功解密。此检查是通过将解密的有效负载的 MD5 哈希值与硬编码值b855dfde7f778f99a3724802715a0baa进行比较来完成的,如图 6 中的代码段所示。

图 6 是多行代码的屏幕截图。 三个红色箭头表示执行逻辑。

图 6:执行逻辑

正确执行后,该工具会将凭据转储到文件路径C:\Windows\Temp\KB200812134.txt。这种文件名选择是黑客伪装成 Microsoft 更新的又一次尝试。

Mimilite 样本位于C:\temp\update.exe,文件哈希值为SHA2563490ba26a75b6fb295256d077e0dbc13e4e32f9fd4e91fb35692dbf64c923c98。它于2020年5月11日5时43分首次上传到 VirusTotal,并于2021年2月12日21时54分首次被在野识别。更有趣的是,根据 VirusTotal的信息,该样本已使用以下路径和文件名被发现:

  • C:\restrict\analysis\apt_sorted\attack_case[REDACTED_LOCATION][REDACTED_COUNTRY_ISO_CODE]-computers\blobloader\3490ba26a75b6fb295256d077e0dbc13e4e32f9fd4e91fb35692dbf64c923c98
  • update.exe

这个路径的元素可能表明相同的二进制文件曾参与某种研究,上传者认为这种研究与国家级行为者有关。

Agent Racoon 后门

Agent Racoon 恶意软件系列旨在提供后门功能。它使用.NET框架编写,并利用DNS与C2服务器建立隐蔽通道。由于在已识别样本的代码中发现了一些参考资料,安全研究人员将恶意软件家族命名为 Agent Racoon,如图 7 所示。

图 7 是 .NET 项目详细信息的屏幕截图。 其中有程序集名称的条目,即 raccoon; 默认命名空间,即agent; 目标框架,即.NET Framework 4; 输出类型,即Console Application; 和启动对象,即agent.Program。 未选择自动生成绑定重定向。

图 7:.NET 项目详细信息

执行时,威胁具有一些预定义的设置,例如:

  • 用于创建 DNS 隐蔽通道的基本域
  • 每个样本都有一个唯一的密钥,用作生成用于加密DNS通信的加密密码的种子
  • 如果无法从受感染的系统读取 DNS 服务器,则使用后备 DNS 服务器

识别出的所有 C2 域都满足相同的基本模式,不同样本中的四个字符标识符具有唯一值:

  • [4 characters].telemetry.[domain].com

对于找到的每个样本, Program.dns_ip的值都不同,这可能表明黑客正在使用从目标环境收集的特定设置构建二进制文件。

图 8 是多行代码的屏幕截图。 三个红色箭头表示恶意软件样本的主要功能。

图 8:恶意软件样本的主要功能

通过这种模式,黑客通过添加额外的子域来与C2服务器通信,构建DNS查询。它使用了国际化域名(IDN)和Punycode编码。此编码类型是 Internet 主机名的 ASCII 编码上的 Unicode 值的表示形式。

域名遵循以下模式:

  • [random_val].a.[4 characters].telemetry.[domain].com

图 9 中 Wireshark 的屏幕截图说明了完整的 DNS 查询:

图 9 是多行代码的屏幕截图。 红色括号表示的是示例 DNS 查询。

图 9:DNS 查询示例

为了管理与 C2 服务器的通信,恶意软件使用图 10 中所示的通信循环。

图 10 是多行代码的屏幕截图。 四个红色箭头表示通信回路。

图 10:通信循环

上述通信循环的主要特征如下:

  • 当从C2服务器收到应答xn--cc或者发生通信错误时,通信循环结束
  • 消息之间的随机延迟可能有多种原因:
    • 避免网络突发
    • 避免潜在的网络拥塞
    • 提供随机性以避免网络信标检测
  • 通过Program.Util.RC对所有通信消息进行加密

加密例程实现一个流密码,使用初始的唯一密钥Program.key(this.defaultkey)进行加密,如图11所示。然后它创建一个 1 字节加密密钥,以便使用 XOR 加密消息。

图 11 是多行代码的屏幕截图。 两个红色箭头指向 (this.defaultkey) 的实例,一个红色箭头指向括号内的“消息”行。

图 11:流密码例程

根据发送到 C2 服务器的消息长度,不同的子域将添加到查询中,如图 12 中的代码段所示。

图 12 是多行代码的屏幕截图。 红色括号表示的是部分请求的制作。

图 12:部分请求制作

完全限定域名(FQDN)构建的this.Rand ()组件旨在避免缓存并确保请求到达 C2 服务器。

Agent Racoon 提供以下后门功能:

  • 命令执行
  • 文件上传
  • 文件下载

尽管Agent Racoon 本身不提供任何类型的持久性机制,但在我们观察到的活动期间,黑客是通过使用计划任务执行的。

安全研究人员使用telemetry.geoinfocdn[.]com的不同子域发现了以下样本,如图 13 所示。域名geoinfocdn[.]com于2022年08月19日UTC注册,有效期为一年。

图 13 是链接到文件 Bath 以及基本命令和控制域的恶意软件样本的层次结构图。

图 13:与文件路径和基本 C2 域链接的示例

安全研究人员能够追溯Agent Racoon恶意软件家族至2022年7月。该恶意软件家族的两个样本分别于 2022 年 9 月和 2022 年 7 月从埃及和泰国上传到 VirusTotal,其 SHA256 哈希值如下:

  • 3a2d0e5e4bfd6db9c45f094a638d1f1b9d07110b9f6eb8874b75d968401ad69c
  • dee7321085737da53646b1f2d58838ece97c81e3f2319a29f7629d62395dbfd1

这两个样本使用相同的子域模式,但这次用于 C2 的域名是telemetry.geostatcdn[.]com。黑客在所示日期针对该域执行了以下活动:

  • 注册时间:2020/08/27 UTC
  • 首次在野发现日期:2021/06/17 23:10:58 UTC
  • 更新时间:2021/08/18 UTC
  • 已过期: 2022/08/27 UTC

图 14 显示,利用此信息,可以识别自 2020 年以来使用不同 C2 域名和文件路径的两组恶意软件样本。

图 14 是链接到文件路径以及基本命令和控制域的恶意软件样本的层次结构图。

图 14:识别出的恶意软件样本

试图将 Agent Racoon 二进制文件伪装成 Google Update 和 MS OneDrive Updater 二进制文件。

恶意软件开发人员对源代码进行了小幅修改,试图逃避检测。一些样本使用明文硬编码的域来建立DNS隐蔽通道(如图15所示),而其他样本则使用了Base64编码的字符串。

图 15 是多行代码的屏幕截图。 红色箭头表示命令和控制域字符串。

图 15:Base64 编码的 C2 域

除了 Base64 功能之外,区别在于设置而非实际源代码,除了 SHA256 哈希值为354048e6006ec9625e3e5e3056790afe018e70da916c2c1a9cb4499f83888a47的示例。

该样本的编译时间戳已经被修改,超出了活动时间范围:2075/02/23 08:12:59 UTC。

如图 16 所示,黑客还尝试通过使用cmd.exe的等效Base64编码值并添加常量399来混淆,以避免基于签名的检测。这样做是为了使等效的Base64编码字符串无法通过签名进行检测。

图 16 是并排的两个屏幕截图。 红色箭头指向示例中发现的混淆的 cmd.exe 模式。

图 16:混淆的cmd.exe模式

数据泄露

安全研究人员还确定了使用PowerShell插件收集和成功外泄机密信息的行为,例如利用PowerShell插件转储MS Exchange环境中的电子邮件。

用于转储电子邮件的 PowerShell 管理单元代码

在上述命令的搜索条件中,黑客使用类似的命令来搜索不同的文件夹、邮箱和日期以转储这些电子邮件。

转储电子邮件后,黑客尝试使用命令行 RAR 工具压缩.pst文件,然后再进行泄露:

用于压缩 .pst 文件的命令行 RAR 工具。

然而,大约八分钟后,取消了使用工具taskkill.exe压缩.pst文件的尝试。

用于转储电子邮件的 PowerShell 管理单元代码

最终,黑客放弃了raren.exe的使用,只是将.pst文件重命名,将其移动到IIS根目录,并模仿压缩文件中的错误日志,通过Web服务器下载它。

用于压缩 .pst 文件的命令行 RAR 工具。

最后,删除ai.pst文件。

使用工具taskkill 取消压缩尝试。

对于具有不同搜索条件的多个邮箱重复此过程。

除了电子邮件泄露之外,安全研究人员还发现受害者的漫游个人资料也被泄露。漫游配置文件用于在从同一 Active Directory 环境的不同计算机登录时为用户提供相同的配置文件。

为了渗透这一点,黑客使用独立版本的 7-Zip 工具(他们使用certutil.exe将其放入系统中)压缩目录,并将压缩文件分割成 100 MB 的块。

删除 ai 点 pst 文件。

压缩目录。 将文件分割成 100 MB 的片段。

随后,黑客按照相同的程序窃取了内容。

内容渗漏。

结论

在本文的分析中,我们发现该工具集尚未与特定黑客相关联,也不完全限于单一的集群或活动。

正如本文开始提到的,我们发现了一个与先前识别的威胁活动集群CL-STA-0043有重叠的Ntospy样本,其SHA256哈希值为bcd2bdea2bfecd09e258b8777e3825c4a1d98af220e7b045ee7b6c30bf19d6df。但重叠不限于该样本。

还发现了两个活动集群中共有的两个受感染组织。某些 TTP 在两个群集上都匹配,比如MS Exchange PowerShell扩展以及其中一个网络提供者DLL模块。

安全研究人员认为,该威胁活动集群对威胁行为者的可信度为中等,原因如下:

  • 使用的检测和防御规避技术
  • 观察到的渗漏活动
  • 受害者群体
  • 所使用工具的定制级别
  • 观察到的TTPs

MITRE ATT&CK Mapping

在与本博客中发现的工具集相关的研究活动中,安全研究人员确定了一组 TTP,我们已将其映射到下表中的 MITRE ATT&CK 矩阵。

ID Name
T1003 OS Credential Dumping
T1018 Remote System Discovery
T1021.006 Remote Services: Windows Remote Management
T1027.009 Obfuscated Files or Information: Embedded Payloads
T1030 Data Transfer Size Limits
T1036.005 Masquerading: Match Legitimate Name or Location
T1036.008 Masquerading: Masquerade File Type
T1041 Exfiltration Over C2 Channel
T1046 Network Service Discovery
T1047 Windows Management Instrumentation
T1053.005 Scheduled Task/Job: Scheduled Task
T1059.001 Command and Scripting Interpreter: PowerShell
T1059.003 Command and Scripting Interpreter: Windows Command Shell
T1070.004 Indicator Removal: File Deletion
T1070.006 Indicator Removal: Timestomp
T1071.004 Application Layer Protocol: DNS
T1074 Data Staged
T1078.002 Valid Accounts: Domain Accounts
T1087.002 Account Discovery: Domain Account
T1112 Modify Registry
T1114 Email Collection
T1132.001 Data Encoding: Standard Encoding
T1136.002 Create Account: Domain Account
T1140 Deobfuscate/Decode Files or Information
T1505.003 Server Software Component: Web Shell
T1556.008 Modify Authentication Process: Network Provider DLL
T1560.001 Archive Collected Data: Archive via Utility
T1564.002 Hide Artifacts: Hidden Users
T1570 Lateral Tool Transfer
T1573.001 Encrypted Channel: Symmetric Cryptography
T1583.001 Acquire Infrastructure: Domains
T1583.002 Acquire Infrastructure: DNS Server
T1587.001 Develop Capabilities: Malware

IoCs

IoC Type Description
2632bcd0715a7223bda1779e107087964037039e1576d2175acaf61d3759360f SHA256 C:\Windows\Temp\install.bat
ae989e25a50a6faa3c5c487083cdb250dde5f0ecc0c57b554ab77761bdaed996 SHA256 C:\Windows\Temp\install.bat
C:\Windows\Temp\install.bat File path Script to install the Network Provider module
c:/programdata/microsoft/~ntuserdata.msu File path File to store the stolen user credentials
c:/programdata/packag~1/windows 6.1-kb4537803.msu File path File to store the stolen user credentials
c:/programdata/package cache/windows10.0-kb5009543-x64.msu File path File to store stolen user credentials
c:/programdata/package cache/windows10.0-kb5000736-x64.msu File path File to store stolen user credentials
credman Network provider name Network Provider name
HKLM\SYSTEM\CurrentControlSet\Services\credman Registry key path Registry path of the Network Provider
c:\windows\system32\ntoskrnl.dll File path Network Provider module file path
C:\Windows\Temp\ntos.dll File path File path used to temporarily store the DLL module
C:\Windows\Temp\ntoskrnl.dll File path File path used to temporarily store the DLL module
e30f8596f1beda8254cbe1ac7a75839f5fe6c332f45ebabff88aadbce3938a19 SHA256 Ntospy DLL Module
1a4301019bdf42e7b2df801e04066a738d184deb22afcad9542127b0a31d5cfa SHA256 Ntospy DLL Module
e7682a61b6c5b0487593f880a09d6123f18f8c6da9c13ed43b43866960b7aa8e SHA256 Ntospy DLL Module
58e87c0d9c9b190d1e6e44eae64e9a66de93d8de6cbd005e2562798462d05b45 SHA256 Ntospy DLL Module
7eb901a6dbf41bcb2e0cdcbb67c53ab722604d6c985317cb2b479f4c4de7cf90 SHA256 Ntospy DLL Module
f45ea12579f636026d29009190221864f432dbc3e26e73d8f3ab7835fa595b86 SHA256 Ntospy DLL Module
bcd2bdea2bfecd09e258b8777e3825c4a1d98af220e7b045ee7b6c30bf19d6df SHA256 Ntospy DLL Module
C:\temp\update.exe File path Mimilite
1dsfjlosdf23dsfdfr Encryption key Mimilite decryption key
b855dfde7f778f99a3724802715a0baa MD5 Mimilite payload hash
4351911f266eea8e62da380151a54d5c3fbbc7b08502f28d3224f689f55bffba SHA256 Agent Racoon
e0748ce315037253f278f7f8f2820c7dd8827a93b6d22d37dafc287c934083c4 SHA256 Agent Racoon
baed169ce874f6fe721e0d32128484b3048e9bf58b2c75db88d1a8b7d6bb938d SHA256 Agent Racoon
3a2d0e5e4bfd6db9c45f094a638d1f1b9d07110b9f6eb8874b75d968401ad69c SHA256 Agent Racoon
4351911f266eea8e62da380151a54d5c3fbbc7b08502f28d3224f689f55bffba SHA256 Agent Racoon
354048e6006ec9625e3e5e3056790afe018e70da916c2c1a9cb4499f83888a47 SHA256 Agent Racoon
dee7321085737da53646b1f2d58838ece97c81e3f2319a29f7629d62395dbfd1 SHA256 Agent Racoon
geostatcdn[.]com Domain C2
telemetry.geostatcdn[.]com Domain C2
fdsb.telemetry.geostatcdn[.]com Domain C2
dlbh.telemetry.geostatcdn[.]com Domain C2
lc3w.telemetry.geostatcdn[.]com Domain C2
hfhs.telemetry.geostatcdn[.]com Domain C2
geoinfocdn[.]com Domain C2
telemetry.geoinfocdn[.]com Domain C2
g1sw.telemetry.geoinfocdn[.]com Domain C2
c:/windows/temp/onedriveupdater.exe File path Agent Racoon path
c:/windows/system32/msmdlb.exe File path Agent Racoon path
c:/windows/temp/onedriveupdater.exe File path Agent Racoon path
c:/program files (x86)/google/update/googleupdate.exe File path Agent Racoon path
c:\windows\temp\mslb.ps1 File path Script used to deploy the Agent Racoon
c:\windows\temp\set_time.bat File path Script used to perform timestomping against additional tools
c:\windows\temp\pscan.ps1 File path Script to scan the network
c:\windows\temp\crs.ps1 File path Helper script
c:\windows\temp\usr.ps1 File path Helper script
c:\windows\temp\pb.ps1 File path Helper script
c:\windows\temp\ebat.bat File path Helper script
c:\windows\temp\pb1.ps1 File path Helper script
c:\windows\temp\raren.exe File path Command line RAR
aabbcc123 Password Password used to create the email archive
086a6618705223a8873448465717e288cf7cc6a3af4d9bf18ddd44df6f400488 SHA256 raren.exe file hash
P@ssw0rd1 Password Password used to compress the user profile directory
Assistance$ Username User created for persistence
Zaqwsx123 Password User created for persistence

Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/3084/


文章来源: https://paper.seebug.org/3084/
如有侵权请联系:admin#unsafe.sh