近期发现了一种复杂的恶意软件活动,该活动利用人工智能创建具有欺骗性的 GitHub 仓库,并分发 SmartLoader 负载,最终部署名为 Lumma Stealer 的危险信息窃取恶意软件。
该操作利用 GitHub 的信任声誉绕过安全防御,通过 AI 生成的文档和精心混淆的脚本,针对寻求游戏模组、破解软件和加密货币工具的用户。
GitHub 恶意软件活动利用 AI 和混淆技术
根据 Trend Micro 的报告,此次活动的幕后黑手被称为 "Water Kurita",他们从在 GitHub 附件中托管恶意文件转变为创建完整的仓库,并使用 AI 生成的 README 文件。
这些仓库通过精美的文档、带有表情符号的结构化内容以及超链接的标志模仿合法项目,所有这些都是生成式 AI 输出的特征,旨在绕过人工审查。
这些仓库的主分支中仅包含一个 README 文件,而恶意 ZIP 存档(例如 Release.zip)则隐藏在 Releases 部分中,以逃避自动代码扫描。
当用户下载并解压这些存档时,会看到四个组件:
- lua51.dll —— 合法的 LUAJIT 运行时解释器
- luajit.exe —— Lua 加载器可执行文件
- userdata.txt —— 混淆的恶意 Lua 脚本
- Launcher.bat —— 执行 luajit.exe userdata.txt 的批处理文件
攻击链
批处理文件启动了一个多阶段的攻击链,其中 Lua 脚本连接到命令与控制(C&C)服务器,下载附加负载,并通过计划任务建立持久性。
该技术使恶意软件能够在系统重启后继续存在,同时使用以下命令进行系统侦察:
这些命令会探测 Avast、Bitdefender 和 ESET 等安全软件的存在。
Lumma Stealer 的战术
SmartLoader 采用多层混淆技术,包括 Prometheus Obfuscator 和 Lua 的外部函数接口(FFI),以阻碍分析。
加载器从 GitHub 检索两个关键文件 —— lmd.txt 和 l.txt —— 并将它们重命名为 search.exe(Lumma Stealer)和 debug.lua(辅助脚本)。
SmartLoader 和 Lumma Stealer 的恶意数据包
攻击的最终阶段是执行名为 Research.com 的武器化 AutoIt 解释器,该解释器解密并运行隐藏在假 Excel 文件中的恶意代码:
此连接过程从分布式片段中重新组装加密的 Lumma Stealer 负载。
恶意软件随后启动浏览器调试会话以绕过安全控制:
该技术使攻击者能够未经授权访问浏览器数据和扩展程序,特别是针对 MetaMask 等加密货币钱包和 Authy 等双因素身份验证工具。
数据泄露与运作影响
Lumma Stealer 与 pasteflawded[.]world 的 C&C 服务器建立通信,泄露以下信息:
- 浏览器凭证和会话 cookies
- 加密货币钱包种子和私钥
- 双因素身份验证扩展数据
- 截图和剪贴板内容
- 用于针对性后续攻击的系统元数据
该恶意软件的模块化架构使操作者能够动态更新负载,最新版本中加入了检测虚拟机和沙箱环境的反分析检查。
这种适应性使 Lumma Stealer 成为网络犯罪论坛中的首选工具,被盗数据的售价从 500 美元(浏览器凭证)到 5000 美元(完整的数字身份包)不等。
缓解策略与防御措施
为了应对这些不断演变的威胁,网络安全公司 Trend Micro 建议:
- 实施应用程序白名单以阻止未经授权的脚本
- 部署基于行为的检测机制,识别 Lua 脚本执行模式
- 限制 GitHub API 访问,防止自动克隆仓库
- 配置电子邮件安全网关,拦截宣传虚假仓库的钓鱼诱饵
- 强制执行第三方依赖项的代码审查流程
此次活动展示了 AI 辅助网络威胁的日益复杂化,攻击者将生成式 AI 与合法的开发工具结合起来,创建极具说服力的攻击途径。
随着 Water Kurita 继续完善其战术,组织必须对第三方代码采用零信任原则,并加强对脚本语言活动的监控。
从简单的文件托管转向完整的仓库克隆,标志着供应链攻击进入了一个新时代,这需要同样创新的防御策略。