最新APT组织ChamelGang及其攻击示例分析(上)
2021-11-05 12:55:00 Author: www.4hou.com(查看原文) 阅读量:57 收藏

ChamelGang于今年3月首次被发现是一个全新的APT组织,该组织利用微软Exchange Server的ProxyShell等已知漏洞,于3月下旬,通过供应链获得了对一家俄罗斯能源公司网络的访问权限,从而破坏了 JBoss 应用服务器上子公司 Web 应用程序的易受攻击版本。 8 月 16 日,ChamelGang攻击了俄罗斯航空生产部门的一个组织。除了俄罗斯,包括美国、日本、土耳其、台湾、越南、印度、阿富汗、立陶宛和尼泊尔等国家也出现了ChamelGang的受害者。为了逃避检测,ChamelGang将其恶意软件和网络基础设施隐藏在微软、TrendMicro、McAfee、IBM和谷歌等知名公司的合法服务之下。

2021 年第二季度,PT Expert Security Center 对一家能源公司进行了调查。调查显示,该公司的网络已被一个未知团体以窃取数据为目的进行了攻击。研究人员给该组织命名为 ChamelGang(来自“chameleon变色龙”一词),因为该组织在 Microsoft、TrendMicro、McAfee、IBM 和 Google 的合法服务下伪装了其恶意软件和网络基础设施,且攻击者采用了两种方法。他们获得了模仿合法域名的域名(newtrendmicro.com、centralgoogle.com、microsoft-support.net、cdn-chrome.com、mcafee-upgrade.com)。此外,APT 组织还在其服务器上放置了模仿合法证书(github.com、www.ibm.com、jquery.com、update.microsoft-support.net)的 SSL 证书。为了实现他们的目标,攻击者使用了供应链攻击。该集团破坏了一家子公司,并通过它渗透了目标公司的网络。

在调查了2021年8月16日的第一起事件后,作为新发现组织的威胁情报的一部分,PT ESC 专家检测到另一次成功攻击(服务器攻击)。这一次,攻击者袭击了一家来自航空生产部门的俄罗斯公司,并利用一系列ProxyShell漏洞进行渗透。

攻击者使用了著名的恶意程序,如 FRP、Cobalt Strike Beacon 和 Tiny shell。他们还使用了新的、以前未知的恶意软件(例如,ProxyT、BeaconLoader 和 DoorMe 后门)。

尽管研究人员设法进行了两次成功的调查,但他们还不能明确地将攻击者归因于任何已知的 APT 组织。这也是将其命名为 ChamelGang(来自“变色龙”一词),因为在上述两个示例中,攻击者都在 Microsoft、TrendMicro、McAfee、IBM 和 Google 等公司的合法服务下伪装其恶意软件和网络基础设施。

示例1

初始攻击载体

2021 年 3 月下旬,攻击者利用 JBoss 应用服务器平台上的 Web 应用程序的易受攻击版本攻击了一家子公司,以访问能源公司的网络。调查显示,攻击者利用漏洞 CVE-2017-12149,能够在主机上远程执行命令。

在分析服务器日志时,在受攻击主机上发现了vuln6581362514513155613jboss记录,表明使用了公共漏洞jboss-_CVE-2017-12149。

1.png

漏洞利用工作原理示例

2.png

受攻击主机上的工件

此外,server.log 日志包含所有命令执行结果。请注意,这些命令通常用于在主机上进行侦察。以下是最值得注意的:

3.png

dnslog.cn 服务生成一个随机的三级域,稍后将用于获取有关受攻击主机可用性的信息。受攻击的设备尝试允许此域。如果成功,计算机将获得 Internet 访问权限,否则,它位于受限访问网络中。以下是该服务运行过程:

4.png

dnslog.cn 服务运行过程

横向转移

为了控制受攻击的主机并对其进行侦察,攻击者使用了以下工具:

Single-line反向shell:

5.png

Tiny SHell(公共 UNIX 后门)

它能够:

◼收到受攻击主机的shell;

◼执行一个命令;

◼传输文件;

为了以提升后的权限启动恶意软件,攻击者使用了他们自己的实用程序,研究人员称之为 LinuxPrivilegeElevator。

6.png

LinuxPrivilegeElevator 主要函数

然后攻击者设法访问了子公司的 Windows 基础设施。作为工作目录,攻击者使用:

◼C:\Windows\Web;

◼C:\Windows\System32\wbem;

◼C:\Windows\System32\inetsrv;

◼C:\Windows\Temp;

为了在受攻击主机上获得持久性和提升权限,攻击者使用了一种与 MSDTC 服务相关的相当古老的 DLL 劫持技术。 MSDTC 是一种 Windows 服务,负责协调数据库(SQL 服务器)和 Web 服务器之间的事务。

将恶意 BeaconLoader 库和加密的 Cobalt Strike Beacon dlang.dat 上传到适合 DLL 劫持的工作目录后,攻击者重新启动了 MSDTC 服务。由于他们对主机的操作,Windows 日志中记录了事件 4111。启动时,该服务会尝试从 C:\Windows\System32 加载以下三个 DLL 文件:oci.dll、SQLLib80.dll 和 xa80.dll。

7.png

带有库路径的注册表项 (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI))

在特定情况下,BeaconLoader 角色由 oci.dll 库执行。

在另一台受攻击的主机上,攻击者采用了 DLL 劫持技术,但使用了不同的服务。在这种情况下,攻击者将恶意库 wlbsctrl.dll 上传到主机的以下文件夹:C:\Windows\System32。然后他们使用“sc stop ikeext”和“sc start ikeext”命令重新启动了IKEEXT服务。重新启动的服务调用 LoadLibraryExW 并尝试加载位于 C:\Windows\System32\wlbsctrl.dll 的库。

8.png

调用 LoadLibraryExW

库 wlbsctrl.dll 也是 BeaconLoader,并且为它加密的 Cobalt Strike Beacon 存储在 C:\Windows\Temp\MpCmdRun.log.1 的文件中。

在调查过程中,检测到了不同的有效载荷配置。HTTPS信标用于直接访问Internet的主机,SMB信标用于与隔离网段的主机通信。

大约两周后,由于母公司的网络连接到子公司的基础设施,攻击者开始设法攻击母公司。攻击者在隔离网段的其中一台服务器上获取了本地管理员的字典密码,并通过 RDP 获得了网络访问权限。

之后,他们使用内置的系统实用程序在网络中进行了侦察:

◼regsvr32.exe,

◼cmd.exe,

◼ipconfig.exe,

◼taskmgr.exe,

◼ping.exe,

◼nltest.exe,

◼netstat.exe,

◼tasklist.exe,

◼quser.exe,

◼nslookup.exe.

为了检查控制服务器的可访问性,攻击者使用了 Windows 操作系统中内置的 Curl 实用程序或他们自己的 ProxyTest 实用程序。此实用程序旨在检查来自远程计算机的资源的 HTTP 可访问性。

命令示例:

◼curl -i http://42.99.116.14

◼curl -i https://jumper.funding-exchange.org

◼proxyT.exe http://45.99.116.14

受攻击的主机由攻击者使用 Golang 编写的公共实用程序 FRP(快速反向代理)控制。此实用程序允许连接到反向代理服务器。攻击者的请求是通过socks5插件通过配置数据获得的服务器地址(45.91.24.73:8996)进行路由的。

下面是在分析一个受攻击主机的RAM转储时恢复的配置文件示例:

9.png

正如 Avast 的研究人员在文章中所报道的那样,FRP 还被用于攻击东亚的政府机构。

在对公司网络进行了大约两个月的研究并控制了大部分网络(包括不同网段的关键服务器和主机)后,攻击者在其中一个IIS服务器(在本例中是Exchange服务器)上安装了一个恶意模块,结果发现这是一个DoorMe后门并在 Web 服务器进程 w3wp.exe 的上下文中工作。研究人员假设这样做是为了保留受攻击基础设施的管理通道。这种技术早在 IIS Raid(使用本机模块后门 IIS )一文中有所描述,并由 APT 组 OilRig 使用。 2021 年 8 月上旬,在 Black Hat 会议上,ESET 提供了有关恶意 IIS 模块系列的详细信息,这表明该技术在攻击者中越来越受欢迎。

在攻击中,DoorMe 是使用控制台命令安装的:

10.png

如果命令执行成功,模块参数会保存在配置文件applicationhost.config中。

为恶意模块选择名称 FastCgiModule_64bit 也是一种反取证的方法。攻击者通过在名称中添加 x64 位容量将新模块伪装成现有的合法模块。

11.png

配置文件 applicationhost.config

同时,微软官方网站建议对Exchange服务器上的一些文件夹进行病毒扫描,以确保服务器运行稳定。包含IIS服务器web组件的文件夹%SystemRoot% System32\Inetsrv (DoorMe所在位置)也属于这一类别。该文件夹被目标公司使用的防病毒软件排除在扫描之外。

数据收集和泄漏

攻击者使用某些掩码收集受攻击主机上的数据:

12.png

收集数据后,他们将其放置在受攻击网络上的 Web 服务器上,以便使用 Wget 实用程序进一步下载。

13.png

示例2

2021 年 8 月 16 日,在 ChamelGang 组织的威胁情报中,PT ESC 专家在另一家成为该组织受害者的公司中发现了服务器攻击的新迹象。这一次,攻击者袭击了俄罗斯航空生产部门的一个组织。研究人员及时通知了受影响的公司,在服务器遭到攻击四天后,并与其员工合作,迅速消除了威胁。攻击者总共在受害者的网络中停留了八天,从接到通知到完成事件响应和调查,两周时间过去了。根据研究人员的数据,APT组织没想到它的后门会这么快被发现,所以没有时间进一步开展攻击。

初始攻击载体

为了对受害者的基础设施渗透,攻击者利用了 Microsoft Exchange 中的一系列相关漏洞(CVE-2021-34473、CVE-2021-34523、CVE-2021-31207),称为 ProxyShell。它最初是从 2021 年 8 月 5 日在Black Hat会议上发表的一份报告中得知的(第二天研究人员发表了详细的文章),之后各个 APT 组织开始积极利用这一漏洞链。第一个 POC 脚本于 2021 年 8 月 13 日出现在 GitHub 上。

ChamelGang 对 ProxyShell 的利用阶段如下:

CVE-2021-34473:绕过 ACL。该漏洞允许攻击者通过 EwsAutodiscoverProxyRequestHandler 处理程序中的请求字符串指定邮箱地址。这反过来又授予他们对具有 NT AUTHORITY\SYSTEM 权限的任意 URL 的访问权限。

14.png

CVE-2021-34523:权限降低。由于用户 NT AUTHORITY\SYSTEM 没有邮箱,在此阶段,攻击者获取本地管理员的有效域 SID。将来,SID 将用于 X-Rps-CAT 参数。

15.png

在此阶段,攻击者通过 Exchange Web 服务 (EWS) 创建一封草稿信,POST 请求传递带有草稿消息的 SOAP 元素。

16.png

在邮箱里有有效载荷的草稿

CVE-2021-31207:能够通过随后的远程代码执行写入文件。攻击者使用 PowerShell cmdlet:New-ManagementRoleAssignment 获取导入和导出邮箱的角色,以及 New-MailboxExportRequest 将邮箱导出到 Web 服务器目录。

17.png

接下来,将带有签名(魔术)!BDN(0x21、0x42、0x44、0x4E)和 .aspx 扩展名的邮件 PST 文件上传到文件系统。

18.png

在目标文件的内容中,应用排列编码 NDB_CRYPT_PERMUTE 后,你可以注意到单行 web shell。

19.png

PST 文件的内容

20.png

攻击者向 Web Shell 发送 GET 请求

21.png

在成功安装 web shell 后,攻击者下载功能 web shell 并开始对受攻击节点进行侦察。要检测IIS服务器日志中的漏洞链,你可以使用公开可用的 YARA 签名(有关这些漏洞的有用信息可以在这些材料中找到)。

横向转移

攻击者使用ASPX web shell控制受攻击的节点:

◼Tunnel.aspx;

◼Fileupload.aspx;

◼Errors.aspx;

◼Test.aspx;

攻击者在攻击节点上站稳脚跟后,会在受害者网络上的两个邮件服务器(Microsoft Exchange Server)上安装第二版后门DoorMe。选择恶意库的名称(modrpflt.dll, protsdown.dll)和IIS服务器模块的名称(modrpflt, protsdown)是试图将恶意软件伪装成合法库。为了隐藏恶意文件,攻击者还更改了时间戳(Timestomp),并将合法文件的值分配给它们。

22.png

配置文件 applicationhost.config

23.png

恶意库的时间戳

攻击者使用了改良版的DoorMe后门。据推测,他们在样本上传到VirusTotal后修改了后门。由于新的混淆,大多数防病毒引擎停止检测这个恶意软件。

24.png

旧文件的防病毒引擎检测

25.png

新文件的防病毒引擎检测

在IIS日志中通过DoorMe后门执行命令的示例:

26.png

为了在网络内部移动并攻击用户节点,攻击者使用了 BeaconLoader,为了启动它,攻击者通过 MSDTC 服务使用了前面描述的启动技术。启动后,该服务加载库 oci.dll,该库启动 Cobalt Strike Beacon (dlang.dat)。

下文我们接着介绍第二个示例中,攻击者所使用的恶意软件和工具。

本文翻译自:https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/new-apt-group-chamelgang/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/xLlq
如有侵权请联系:admin#unsafe.sh