malware · cryptojacking · crypto-stealer · rust · docker · worm · honeypot · monero

godhive:新種の Rust 製暗号資産スティーラー兼マイナー・フレームワーク

Kinryū Labs は、我々のハニーポットネットワーク上で露出した Docker API を悪用しているところを捕捉した、新種かつ未報告の Rust 製攻撃フレームワーク godhive を分析した。これはモネロを採掘し、主要取引所と八つを超えるブロックチェーンをまたいで暗号資産ウォレットを空にし、ワームとして拡散し、テイクダウンを生き延びるよう作られたコマンドチャネルの背後に潜む。我々は高い確度で、これが目的特化型の犯罪ツールであり、単独の開発者が消費者向けモバイル回線から自作ツールを実地テストしていたものだと評価する。

著者 Davis Zheng·

TLP:CLEAR。一般公開を承認済み。出所は Kinryū Labs ハニーポット・センサーネットワーク。以下の指標は無害化(defang)済み。

エグゼクティブサマリー

  • 6,946一度の自動バーストで観測した Docker-API イベント
  • 946バイナリ内の Rust ソースモジュール
  • 8+ウォレット・ドレイナーが標的とするブロックチェーン
  • 9コマンドチャネルの種類

godhive は Rust でコンパイルされたワーム、暗号資産スティーラー、そしてマイナーのフレームワークであり、露出した Docker Remote API を通じて我々のハニーポットネットワークに到達した。単独の操作者が Docker ハニーポットに対して大量かつ自動化されたキャンペーンを走らせ、そのツール群は端から端までの侵害成功を 21 回にわたり自己報告した。Kinryū Labs は高い確度で、godhive はコモディティのマイナーではなく目的特化型の犯罪ツールであると評価する。すなわち、独自のブランドを掲げ、その名は公開の脅威インテリジェンスに存在せず、回収したバイナリには 946 の異なる Rust ソースモジュールと数か月分の開発が含まれている。

操作者はフレームワークを URL から取得することは一切なかった。彼らは ELF を base64 化して printf で、チャンクごとにインラインでコンテナ内へ流し込んだ。ハニーポットが全チャンクを記録していたため、我々は自前の捕獲から完全なバイナリを再構築した。215 のチャンクが再結合され、6.2 MB の x86-64 ELF(SHA-256 4194f2337c2b261ed6e1fd0b6d18f0ba75388bdc91a2658eb827a154ed784f36)となったが、これは VirusTotal には存在しない。

際立った所見は、godhive が主にマイナーではないという点だ。マイニングはそのフォールバックにすぎない。その本業は窃取である。六つの主要取引所をまたいだ自動出金と、八つを超えるブロックチェーンにわたる資金の掃き集めであり、モネロのマイニングはウォレットが一切見つからない場合にのみ行われる。

主要な判断
  • godhive は新種の、目的特化型 Rust 犯罪ツールだ。 独自にブランド化され、公開報告には存在せず、18 を超えるクレート依存を伴う 946 の Rust モジュールから作られている。回収したバイナリは単純なドロッパーではなく、広範な攻撃ツールキットだ。
  • その目的は収益化であり、窃取が最優先だ。 バイナリは取引所からの出金(Binance、Coinbase、Kraken、Bybit、OKX、KuCoin)と、Ethereum、BSC、Polygon、Arbitrum、Optimism、Base、Avalanche、Cronos、Solana にまたがる DeFi のドレインを自動化し、ステーブルコインを優先する。XMRig によるモネロのマイニングは、ウォレットのないホスト向けのフォールバックだ。
  • 我々が端から端まで観測したもの。 観測されたチェーンは、露出した Docker API、ホストのファイルシステムを読み書き可能でマウントした特権コンテナ、ホスト脱出、/etc/shadow と SSH 鍵の窃取、XMRig の展開、帯域外アクセス用の ngrok トンネル、Telegram ボットへの持ち出し、それに続くクラウドメタデータへの SSRF と Kubernetes・Elasticsearch のスキャンだった。
  • コマンドチャネルはテイクダウンを生き延びるよう作られている。 godhive は、ピアツーピアの Kademlia メッシュ、ブロックチェーン上でホストされる C2(EtherHiding)、稼働中の Cloudflare Workers リレー、アルゴリズムで生成するバックアップドメイン、そして Telegram を積み重ね、あるチャネルが沈黙すると自動的に移行する。
  • 操作者の手口はツールとは正反対だ。 製品級の犯罪ツールが消費者向けモバイル回線から展開され、ハードコードされた平文の Telegram トークンと公開ファイルホストを伴い、アンチハニーポットのモジュールを積んでいながらまっすぐハニーポットへ突っ込んだ。我々は、これが単独の開発者が自作のフレームワークを実地テストしていたものである可能性が最も高いと評価する。

配送:露出した Docker API

侵入口はコンテナ界で最も古いものだ。TCP/2375 上の認証なしの Docker Remote API である。そこから先のチェーンは、捕獲した docker_* イベントから読み取れる教科書どおりのホスト乗っ取りだ。

操作者は alpine:latest から privileged: true で、network_mode: host を用い、ホストのファイルシステム全体を読み書き可能でバインドマウント(/:/host:rw)したコンテナを作成する。その単一のコンテナ設定こそが脱出だ。ホストのルートを特権コンテナへマウントすることは、マシンに対する root 相当の制御にほかならない。次に競合するマイナーを一掃し(pkill -9 xmrig; pkill -9 lolMiner; pkill -9 minerd; pkill -9 godhive_c2)、永続化ディレクトリを /etc/godhive としてホスト内に書き込み、マウント越しにそのままホストの秘密情報を読み出し、/etc/shadow/root/.ssh/authorized_keys をダンプする。

そこでようやく、見覚えのあるクリプトジャッキングが現れる。godhive は匿名のファイルホストから XMRig ビルドを取得し、それを展開し、帯域外アクセス用の ngrok トンネルを開き、結果を Telegram ボットへ投稿する。仕上げに、認証情報を狙ってクラウドメタデータサービス(169.254.169.254)に問い合わせ、到達範囲を広げるために Kubernetes、Elasticsearch、Kibana を探る。操作者自身のツールは、我々のセンサーに対して docker_attack_chain_complete を 21 回記録した。

マイニングは最も些末な部分

回収したバイナリは、我々が実際に走るのを観測したチェーンよりもはるかに大きい。その 946 の Rust モジュールとビルド文字列は、広範な攻撃ツールキットを描き出す。その一部はコンパイル済みコードに裏打ちされているが(Rust の単相化による重複リテラル、エラー処理経路、クレートのビルドディレクトリ)、他の部分はモジュール名と設定スタブがあるだけだ。したがって下記の一覧は、実証された機能というより意図として読んでほしい。

収益化のパイプラインが核心だ。harvester はファイルシステムを歩いて wallet.dat.env、SSH 鍵、wp-config.php を探し、scorer は BTC、XMR、ETH、Ravencoin を CoinGecko と照らして値付けし、被害者を価値で順位づけする。認証情報の段階は、ログインチャレンジを突破するために 2CAPTCHA 統合を用いて盗んだログインをスタッフィングし、ドレイナーは CCXT 取引所ライブラリとオンチェーンの DeFi 掃き集めを通じて資金を引き出し、盗んだシードフレーズから鍵を導出し、出金ごとに最も安価なチェーンを選ぶ。バイナリに残された開発者コメントは、Ethereum のガス代を避けるためにステーブルコインの出金を最適化しており、それは動作するドレイナーを概念実証から分ける水準の入念さだ。

その核心の周りに、キットの残りが取り巻く。Masscan と Nuclei でスキャンし、Docker、Redis、Kubernetes、Elasticsearch、WordPress、そして Log4Shell を含む一連の Windows と Java の脆弱性を突くワーム。プロセス名でエンドポイント九ベンダーを標的とする EDR キラー。TPM 操作を伴う UEFI ブートキットに至るまでの五層の永続化。C2 に触れずに新機能を機群へ配布する WASM プラグインシステム。1,000 米ドルの価値しきい値を超えたときにのみ発火するようゲートされたランサムウェア。クリップボードのハイジャッカー。DDoS モジュール。そして wtmpbtmp、ジャーナルログを削除し、アナリストの時間を浪費させるために偽の syslog ノイズを植える反フォレンジック。あらゆるモジュールを偽の sysd プロセス名の下に偽装し、実在する googlevideo.com の SNI ホスト名を借りて自らのトラフィックを YouTube ストリーミングに見せかける。

二つの細部が全体像を和らげる。フレームワークは 15 のハニーポット・プラットフォームと、ずらりと並ぶサンドボックスやハイパーバイザーを検知するのに、我々のものは見落とした。そしていくつかの設定は未完成だ。既定のマイニングプールは 2022 年に閉鎖され、クリップボードの ENS 名は一度も登録されず、暗号鍵はいまだ CHANGE_ME のプレースホルダーのままだ。その能力はコンパイルされ実在するが、その一部はまだ配線されていない。

ngrok、そしてなぜそれがハックツールなのか

このキャンペーンを最初に検知させた検体は、正規かつ署名済みの ngrok バイナリであり、ngrok 自身の CDN から取得されたものだ。これはマルウェアではない。商用のリバーストンネリングツールであり、アンチウイルスエンジンがこれをハックツールと分類するのは、まさに侵害後にきわめて有用だからだ。godhive が特権コンテナ内でコード実行を得ると、ngrok は ngrok のクラウドへ発信し、選んだローカルサービスを公開 URL 経由で露出させる。インバウンドのポートは一切開かず、境界ファイアウォールや出口専用の NAT が止められるものは何もない。操作者は ngrok のローカルエージェント API(127.0.0.1:4040/api/tunnels)をポーリングしてトンネルを確認し、得られた公開 URL を Telegram ボットへ送り、乗っ取ったばかりの各ホストをクリック一つで接続できるハンドルへ変えた。

テイクダウンを生き延びるよう作られたコマンドチャネル

godhive は単一の C2 に依存しない。各チャネルを、除去の難しさの順に積み重ねる。最下層には、参加時のプルーフ・オブ・ワーク・チャレンジと NAT トラバーサルを備えたピアツーピアの Kademlia メッシュがあり、これには押さえるべき中心点がない。その上には EtherHiding があり、現行のバックエンドアドレスは失効させられないブロックチェーンのスマートコントラクトに保存され、稼働中の Cloudflare Workers リレー(c2-proxy.operator.workers[.]dev)を通じて実行時に解決され、そのリレーがバックエンドを防御側から隠す。その上には、なりすました SNI を伴う DNS-over-HTTPS 経由で取得される、アルゴリズムで生成されたバックアップドメイン、Tor 秘匿サービス、GitHub gist のデッドドロップ、八つの SaaS チャネル、そして主要な操作者チャネルとしての Telegram がある。バーン検知は空のコマンドポーリングが続くのを監視し、暗号化された設定バックアップとともに操作者を新鮮なインフラへ自動的に移行させ、フェデレーション機能が複数のボットにまたがる連携を支える。

我々は Cloudflare Workers リレーを外部から指紋採取し、それが稼働中でリクエストを処理していることを確認した。登録、タスク配布、ダッシュボードのエンドポイントはバックエンドへ経路づけられる一方、認証のない入力は拒否され、これはバイナリが C2 認証に用いる AEAD 暗号化トークンと整合する。操作者はその背後で堅牢化された管理ダッシュボードも運用しており、Argon2 のパスワードハッシュ、多要素認証、ロールベースのアクセス、さらには TLS 設定にポスト量子オプションまで備えている。これはボットネットを本番インフラとして扱う者の仕業であり、そのために Prometheus メトリクスをエクスポートするところまで徹底している。

もう半分:素人じみた運用

これだけのエンジニアリングをもってしても、その展開は肝心なところで不注意だ。キャンペーンは単一の米国 Verizon Wireless の消費者向けモバイル回線(174.230.35[.]232、逆引き DNS 232.sub-174-230-35.myvzw.com、フロリダ州ゲインズビル)から来たものであり、防弾ホストでも VPS でもなく、インフラの再利用を伴わない密な自動バーストだった。Telegram のボットトークンは平文でハードコードされており、単一のテイクダウン地点だ。XMRig のペイロードは公開の匿名ファイルホストから配信された。そしてフレームワークは、まさにハニーポットの検知を任務とするモジュールを積みながら、ハニーポットに対してチェーン全体を走らせた。

バイナリは macOS 上で、dev という名のユーザーの下で、research/godhive というディレクトリで作られていた。操作者の Telegram 上の身元を意図的に匿名化していること、未完成の設定、そして自らを名指しする展開と併せて読むと、最も無理のない解釈は、マルウェア・アズ・ア・サービス基盤の顧客ではなく、熟練の単独開発者が自作のフレームワークをテストし運用していたというものだ。ブランドは洗練されており、独自の黄金の蜂の巣ロゴと「one mind, one purpose, one hive」のタグラインを備える。運用のほうはそうではない。

godhive's crest: a gold hexagonal bee-and-crown emblem over the wordmark GODHIVE and the tagline one mind, one purpose, one hive
操作者のチャネルから回収した godhive 自身の紋章。ブランドは運用のうち完成した側の半分だ。

帰属

このキャンペーンは、その Telegram インフラを通じて単独の操作者に結びつく。godhive は盗んだ認証情報、トンネル URL、感染確認を、ハードコードされたボット @godhive_bot(ボット id 8836117161)へ送る。捕獲された chat_id は個人アカウント @godhive77(ユーザー id 7659611777)に解決され、表示名がアンダースコアでプロフィール写真がないという、匿名化の試みだが、godhive77 というハンドル自体がそれを台無しにしている。同じ操作者は一致する予約チャネル @godhive(購読者一人、公開投稿なし、転送無効)を保持しており、連番の Telegram ユーザー id はそのアカウントを 2024 年後半のものと位置づける。godhive77 のハンドルは、さらなる帰属のための最も強い足がかりだ。

侵害指標

攻撃者インフラは無害化済み。マルウェアが悪用する正規の第三者サービスは、検知のためにそのまま残してある。

ネットワークとホスト

指標説明
c2-proxy.operator.workers[.]dev稼働中の Cloudflare Workers C2 リレー(Cloudflare へ通報のこと)
hxxps://files.catbox.moe/p46h39.gz匿名ファイルホスト上の XMRig ペイロード(SHA-256 cb49ae0793b2…
bin.equinox.io/c/.../ngrok-v3-stable-linux-amd64.tgzngrok のダウンロード(正規 CDN)。サーバーから bin.equinox.io への出口通信がシグナル
127.0.0.1:4040/api/tunnelsngrok ローカルエージェントのポーリング(割り当てられた公開トンネル URL を読み取る)
169.254.169.254/latest/meta-data/認証情報窃取のためのクラウドメタデータ SSRF
api.telegram.orgTelegram ボット C2 と持ち出し。サーバーワークロードからの出口通信が探索シグナル
gitlab.com/nzyme/静的ツールのステージング(sshpass、redis-cli、wget、tor、proxychains)
2captcha.comhashes.orgnitrxgen.net認証情報パイプラインで悪用される CAPTCHA 解決およびハッシュクラッキングのサービス
r[1-20]---sn-*.googlevideo.commanifest.googlevideo.comTLS SNI なりすましに使われる実在の YouTube CDN ホスト名。非 Google の IP に解決される場合は警報を上げること

攻撃者、C2 の身元、そして受取先

指標説明
174.230.35[.]232キャンペーンの発信元(Verizon Wireless モバイル、232.sub-174-230-35.myvzw.com、フロリダ州ゲインズビル)。遮断価値の低い動的なキャリアアドレス
@godhive_bot(Telegram ボット id 8836117161マルウェアの C2 兼持ち出しボット。トークンはバイナリにハードコード(ここでは秘密は伏せ、テイクダウンのため Telegram へ通報済み)
@godhive77(Telegram ユーザー id 7659611777操作者の持ち出しアカウントであり、最も強い帰属の足がかり
@godhive(Telegram チャネル id -1002105830453操作者の予約チャネル
49aXwwgXBKRKTUVgYuLy3fZkTeLP3PWgMhwiyK55Ur7WhgYXJ33N8JZG87vzUV1UyVdZzPGLvx1w9YQHk7faWPn1UzJte2R確認済みのモネロ受取ウォレット(稼働中の XMRig 設定と対応)
pool.minexmr.com:4444XMRig 設定のプール。ただし minexmr は 2022 年に閉鎖されており、この既定は失敗する

ファイルとアーティファクト

  • godhive バイナリ(再構築): SHA-256 4194f2337c2b261ed6e1fd0b6d18f0ba75388bdc91a2658eb827a154ed784f36(6.2 MB x86-64 ELF、VirusTotal 未収録)。その ELF ヘッダーは意図的に破損させられ、約 106 MB を主張しつつコードをファイル終端の先へ向け、標準的なツールを破る。
  • ホストの永続化: /etc/godhive/host/usr/local/bin/sysd(偽 systemd バイナリ)、/host/tmp/godhive_deployed.txt、プロセス godhive_c2、コンテナ内カスタムイメージ godhive:latest
  • コンテナ脱出のシグネチャ: Privileged:truenetwork_mode:host、そして /:/host:rw バインドで作成されたコンテナ。
  • ビルドのアーティファクト: /Users/dev/.cargo/registry/src/ 配下の cargo パスと research/godhive ビルドディレクトリ(macOS の開発者)。
  • ホスト堅牢化の手掛かり: Redis パスワードが CHANGED_BY_GODHIVE に設定されている。WordPress のブルートフォースが見られたホストには b374k.php ウェブシェル。

挙動

  • pkill -9 xmrig|lolMiner|minerd|godhive_c2 の直後に mkdir /host/etc/godhive
  • コンテナのマウントからの /host/etc/shadow/host/root/.ssh/authorized_keys の読み取り。
  • 本物の systemd ではない sysd プロセス。「System Core」とラベル付けされた EFI ブートエントリを作成する efibootmgr の書き込み。
  • Nuclei の作業ディレクトリ /tmp/.nuclei_assault-t*

検知

  • サーバーからの外向き bin.equinox.io と任意の *.ngrok* ホスト、そして ngrok エージェント API のポーリング 127.0.0.1:4040/api/tunnels に警報を上げること。
  • Privileged:true かつ /:/host バインドで作成された任意のコンテナに警報を上げること。その組み合わせはほぼ確実に脱出の試みだ。
  • サーバーワークロードからの api.telegram.orgc2-proxy.operator.workers[.]devgitlab.com/nzyme/2captcha.com、そしてハッシュクラッキングサービスへの出口通信に警報を上げること。
  • sysd プロセス、EDR エージェントが kill または停止されること(falcon-sensorSentinelOnecbdefensesophos-edrcylancesvc)、そして CONFIG SET requirepass CHANGED_BY_GODHIVE に警報を上げること。
  • 非 Google の IP に解決される googlevideo.com SNI の TLS、および非ブラウザプロセスからの manifest.googlevideo.com は、トラフィック整形として扱うこと。

緩和策

  • Docker API を 2375 で認証なしに露出しないこと。 TLS クライアント認証とともに localhost にバインドすること。これが根本原因だ。
  • no-new-privileges を強制し、--privileged を落とし、ホストのバインドマウントを制限すること。あるいは rootless Docker か gVisor で動かすこと。
  • クラウドメタデータサービス(169.254.169.254)をコンテナから遮断し、IMDSv2 を必須にすること。
  • 出口をフィルタすること。サーバーワークロードは、匿名ファイルホスト、ngrok、Telegram、CAPTCHA 解決業者、上記の静的ツール・ステージングパスに到達すべきではない。
  • UEFI 永続化を鈍らせるために Secure Boot を有効にし、godhive が kill を試みるエンドポイントエージェントの改ざん保護を有効にすること。
  • いずれかのホストが侵害された可能性があるなら、直ちに取引所の API キーをローテートすること。godhive は出金を自動化する。

MITRE ATT&CK マッピング

戦術技術
初期アクセスT1190 Exploit Public-Facing Application(Docker API。武器庫には Redis、Kubernetes、WordPress、Log4Shell)
実行T1610 Deploy Container;T1059.004 Unix Shell
権限昇格T1611 Escape to Host(特権コンテナ、ホストマウント)
永続化T1543 Create or Modify System Process(sysd);T1542.003 Bootkit(UEFI);T1014 Rootkit
防御回避T1562.001 Impair Defenses(EDR キラー);T1070 Indicator Removal(ログ削除);T1497 Virtualization/Sandbox Evasion(ハニーポット/VM 検知);T1036 Masquerading(sysd、YouTube SNI);T1027 Obfuscated Files(破損 ELF)
認証情報アクセスT1003.008 /etc/passwd and /etc/shadow;T1552.004 Private Keys;T1552.005 Cloud Instance Metadata API
探索T1046 Network Service Scanning(Masscan、Nuclei)
コマンド&コントロールT1572 Protocol Tunneling(ngrok);T1090 Proxy;T1071.001 Web Protocols(Telegram、Cloudflare Workers);T1102 Web Service(GitHub gists、SaaS チャネル)
影響T1496 Resource Hijacking(XMRig);T1486 Data Encrypted for Impact(ランサムウェア);T1657 Financial Theft(取引所と DeFi のドレイン);T1498 Network Denial of Service

手法とノート

  • 分析は ELF の静的バイナリ解析であり、その ELF はハニーポットが捕獲した操作者自身のインラインな base64 チャンクから完全に再構築されたもので、捕獲した Docker-API トラフィックのレビューと、操作者の稼働中の Cloudflare Workers リレーに対する承認済みの外部偵察を併せて行った。マルウェアは実行しておらず、C2 認証も一切試みていない。
  • 指標は無害化済みであり、マルウェアが悪用する正規の第三者サービスは、検知のためにそのまま残してある。
  • 検体は他の研究者や防御側の求めに応じて提供可能。[email protected] まで、あなたが誰で何のために必要かを短く添えてメールを。
Sample
godhive · 4194f2337c2b261e…
How to cite
Kinryū Labs (2026). godhive:新種の Rust 製暗号資産スティーラー兼マイナー・フレームワーク. https://kinryu.sh/ja/reports/godhive-rust-crypto-stealer/