核心观点与关键数据
- 攻击者背景与开发环境:Kroll Threat Intelligence (TI) 发现一个多操作系统恶意软件活动,通过一个 GitHub 账户(后被删除)进行,其中包含 Kali Linux 环境设置、印地语注释、印度古吉拉特邦的 IPv6 地址以及本地大型语言模型 (LLM) 使用的证据,表明攻击者很可能位于印度。
- 多平台感染链与持久化:攻击者使用统一的框架(“GARUDA C2”)进行操作,初始下载器从多个代码托管平台(GitHub、GitLab、Codeberg、Gitea、Bitbucket)获取第二阶段脚本。
- Windows:使用注册表 Run 键和计划任务(“SysCache_User_Update”)进行持久化。
- macOS:使用自定义 plist 配置文件的 LaunchAgent 进行持久化,并使用递归删除 quarantine 标志以绕过“Gatekeeper”和“Notarization”保护机制。
- Linux:使用 systemd 和守护进程进行持久化。
- 功能与有效载荷:第二阶段组件执行主机侦察,使用嵌入的 API 令牌将结果外发到攻击者控制的存储库,并根据版本指示符(例如 1.1/“garuda1”)获取并执行更新的命令。
- 原生有效载荷:
- Rust 二进制文件:第二阶段组件包含 Rust 编写的二进制文件,其功能与基于脚本的模型类似:从代码托管仓库检索任务、比较版本、执行和持久化。
- VLC DLL 侧加载:利用 VLC Media Player 的弱依赖性,通过加载
libvlccore.dll(恶意软件)来执行本地命令执行栈。该 DLL 使用 Rust 编写,在 DllMain 中创建线程以执行命令,并将组件(例如 sys_base2.exe, sys_helper.exe) dropped 到 %LOCALAPPDATA%\\Syscore1 下并建立持久化,同时尝试打开诱饵 PDF 文件。
- LLM 辅助开发:GitHub 存储库中的“测试”日志和脚本中的印地语注释表明攻击者位于印度,并可能使用本地 LLM(通过
ollama 用户和服务)来协助开发。
研究结论
- 随着大型语言模型 (LLM) 的兴起,恶意软件开发的速度和多样化呈指数级增长,使得非经验丰富的开发者也能实现以前被认为是高级的技术(如跨平台能力)。
- 为了应对不断增长的恶意软件威胁,蓝队团队迫切需要建立自己的 LLM 辅助分析框架,以保持与攻击者的同步。
IOCs
- URLs:提供了指向 GitHub、GitLab、Codeberg、Gitea 和 Bitbucket 上恶意软件组件(如 PowerShell 脚本、VBS 脚本)的链接。
- SHA256:列出了多个恶意软件文件(如 PowerShell 脚本、Rust 二进制文件、VLC DLL)的 SHA256 哈希值。
- Dropped Files:列出了恶意软件在目标系统上 dropped 的文件名称及其 SHA256 哈希值,包括 PowerShell 脚本、Rust 二进制文件、VLC DLL 和嵌入的 PE 文件。
- Tokens and Secrets:泄露了用于访问攻击者控制代码托管平台的 API 令牌和凭证,包括 GitHub、GitLab、Gitea、Codeberg 和 Bitbucket 的令牌、所有者、仓库名称等信息。
- Observed MITRE ATT&CK Techniques:提到了恶意软件使用的 MITRE ATT&CK 技术矩阵,覆盖了多个国家和地区。