论坛首页 安全工具分享区 阅读主题

[原创]Claude 间接提示词注入恶意样本分析

67 浏览 2 回复
#1 楼主 2026-06-01 21:09:18
2026 年 5 月 6 日,X 上的安全研究员 Tuan Anh Nguyen 分享了一个 Claude 对话链接:b97K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8r3q4#2k6r3g2Q4x3X3g2S2K9g2)9J5c8Y4y4Z5j5i4u0W2i4K6u0r3y4o6V1^5z5o6p5^5k6o6W2Q4x3X3b7I4k6r3c8U0i4K6u0V1y4r3k6T1j5W2)9J5k6o6W2X3j5e0N6Q4x3X3b7#2y4X3c8X3j5U0R3@1z5o6b7H3j5U0l9`.这个对话里,攻击者利用间接提示词注入,在 Claude 的输出中嵌入伪装成 Apple 安全更新的恶意命令,诱导用户复制到终端执行。链接是博主朋友提供的,似乎是员工受到攻击的真实案例,目前恶意载荷已从服务器清除。手法与 macOS ClickFix 窃密活动十分相似,虽然最开始是通过提示词注入实现的,执行链仍是“诱导用户复制 Terminal 命令 → curl 拉脚本 → zsh/osascript 执行 → 落地窃密器”的 ClickFix 模式。该样本会窃取 iCloud、Keychain、浏览器和钱包数据,并木马化钱包应用,长期驻留 macOS 系统。很可惜的是看不到claude到底访问了哪些网页,不知道这次间接提示词注入是如何发生成的,只能看看样本从推文里的对话分享链接中提取到的恶意命令:攻击者的巧思/doge,这个命令里把base64编码后的代码放在后面,在claude的网页端只能看到前面正常的下载 apple 官网文件的链接,诱导用户直接复制到终端执行Base64 解码出来是:通过代理从 C2 把 loader.sh 拉了下来。文件很小,1349 字节,长这样:双层编码 dropper。 结构极其简洁——6 行代码,核心只有一步:base64 -D | gunzip | eval。Base64 解码 → Gzip 解压 → eval 执行。heredoc 分隔符 PAYLOAD_9d91ed76 带一个 8 位 hex 后缀,应该是自动化混淆工具搞出来的。Gzip 头里 MTIME 是 2026-05-06 14:41:22 UTC。还有个有意思的细节——OS 字段是 255。正常的 gzip 会自动填当前系统编号,作者专门修改了一下来隐藏自己的开发平台。把 Base64 解码、Gzip 解压后,得到一个 1918 字节的 Zsh 脚本。它读 macOS 的键盘偏好设置,如果发现有俄语键盘布局,标记 IS_CIS=true,然后发送一条 "cis_blocked" 遥测就直接退出了,猜测攻击者可能是俄语地区的(收集了键盘布局、主机名、macOS 版本、公网 IPbuild_hash 是 e743990506148cbbcc2675048e5b6f78,32 字符 hex,MD5 长度,这应该是标识这次攻击活动/版本的 ID,后面还会反复出现。几个关键点:C2 是 babulikinet.com。DNS 解析结果:这个域名仅注册了一天(2026 年 5 月 5 日)。AppleScript 载荷 payload.applescript,约 35KB、1086 行。内部自标识为 "SHub Stealer (DEBUG)",Build Tag 为 "eskalogs2"。常规且直接的反取证操作,没什么可说的这个攻击手法与 ClickFix 攻击活动的特征基本一致:弹窗钓鱼、伪装系统更新提示、要求密码验证、循环重试用的是 macOS 原生的 display dialog API,标题叫 "System Preferences",图标是系统的锁定图标 LockedIcon.icns。弹窗提示说"你需要更新设置才能启动应用",让用户输入密码。它会重试最多 10 次,每次给 150 秒超时,而且不管密码对不对,所有尝试过的密码都保存到本地文件,即使最后没骗到正确密码,也能收集受害者常用的密码组合。密码验证用的是 dscl . authonly,验证成功后直接尝试提取 Chrome 钥匙串里的主密码:支持 14 款 Chromium 内核浏览器 + Firefox: Chrome、Brave、Edge、Opera、OperaGX、Vivaldi、Orion、Sidekick、Chrome Canary、Chromium、Chrome Dev、Arc、Cốc Cốc、Chrome Beta + Firefox。窃取的目标文件包括:Cookies、保存的网站密码、表单填充数据、加密钱包扩展的本地存储、扩展的本地数据库对于 Firefox(Gecko 内核),窃取:浏览器模块还专门跑了两趟——第一趟 Chromium() 收集浏览器本身的数据,第二趟 ChromiumWallets() 专门针对加密钱包扩展,这说明攻击者很清楚什么数据值钱/doge。ChromiumWallets() 硬编码了 约 90 个 Chromium 扩展 ID,逐个去 Local Extension Settings/ 下面匹配。部分列表如下:每个扩展还有一个 3 元组配置 {extension_id, flag1, flag2, flag3},第三个值如果是 1 表示去 IndexedDB/ 下找(而不是 Local Extension Settings/)。这说明作者对每个钱包扩展的数据存储结构都做过逆向。剩下的 80 多个扩展 ID 我还没逐一比对,但覆盖范围显然涵盖了主流钱包生态。DesktopWallets() 模块硬编码了 25+ 款桌面钱包的默认路径:GrabFolderLimit() 方法设置了 100MB 的单个钱包窃取上限(硬编码 100 * 1024 * 1024),应该是怕钱包数据太大影响回传效率。排除列表里有 .DS_Store、Code Cache、Cache、journals、Previews——这是一种过滤策略,只拿有实际价值的数据,不搬运缓存和预览垃圾。专门针对 Telegram Desktop 的 tdata/ 目录,只拿了两个就能完整劫持 Telegram 会话的关键文件直接把整个 ~/Library/Keychains/ 目录拷走。 macOS 的钥匙串里存着所有的 Wi-Fi 密码、应用密码、Safari 保存的密码、邮件账户密码……iCloud 账户数据也打包带走。这个有点乱,让大模型总结了一下:还额外收集:木马从 C2 下载恶意 .asar 文件(Electron 应用的打包格式),注入到已安装的钱包应用中。目标应用有 5 个:以 Exodus 为例,注入流程为:步骤 2-4 的"移出再移回"操作很可能是为了绕过 macOS 的 TCC (Transparency, Consent, and Control) 保护——应用目录受 SIP 保护时直接替换文件会被拒绝,但删除后重新创建是可以的。xattr -cr 清除隔离标志,codesign 做 ad-hoc 自签名来绕过 Gatekeeper。有意思的是,Ledger Wa

...(已截断)

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-291126.htm
#2 2026-06-01 21:09:18
通过网盘分享的文件:malware_samples_0506.zip链接: e00K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4N6g2W2S2M7V1c8&6x3Y4A6w2i4K6u0V1N6#2R3%4N6q4N6r3K9h3c8E0k6o6y4c8i4K6t1$3L8X3u0K6M7q4)9K6b7W2!0q4y4W2)9^5c8W2)9&6x3q4!0q4y4g2)9^5c8W2)9&6y4W2!0q4y4#2!0m8x3q4)9^5x3g2)9K6b7g2)9J5y4X3&6T1M7%4m8Q4x3@1u0U0x3%4g2H3
#3 2026-06-01 21:09:18
tql

请登录后参与讨论

立即登录 注册账号