ハッカーがオープンソースAIエージェントを悪用、侵害したDockerサーバーの制御ツールに

正規のオープンソースフレームワーク「Hermes Agent」を、侵害後の対話型制御レイヤーとして転用するDocker狙いのボットネットが確認されました。

「CARBONATO」と呼ばれるこの攻撃キャンペーンは、TCPポート2375で認証なしに公開されているDockerデーモンを標的にします。ワームのような自己増殖、巧妙な永続化、リバースSSHアクセス、そしてTelegram経由のAIエージェント操作を組み合わせているのが特徴です。

調査のきっかけは2026年8月でした。研究者が、米国内のサーバーでホストされている一般公開状態のDockerレジストリを発見しました。

このレジストリは5月から公開状態にあったとみられ、認証なしでリクエストを受け付けていました。

研究者は1日間の受動的な収集で、59のリポジトリ、234のイメージタグ、SHA-256で検証済みの605個のブロブ、そして2024年10月から2026年8月にわたる約4.3GBのコンテナイメージデータを回収しました。

DownloadReference Apps

流出したアーカイブからは、関連があるとみられる2つの活動が明らかになりました。偽の暗号資産ウォレットを配布するネットワークと、Dockerボットネットの運用です。

レジストリのイメージメタデータ、環境変数、エントリポイント、コマンド履歴には、インフラの詳細が含まれていました。コマンド&コントロール(C2)サーバーのアドレス、Telegramボットのトークン、攻撃者が使うLLMゲートウェイの認証情報などです。

このレジストリは、フォレンジック調査の宝庫であると同時に、マルウェア群の更新手段としても機能していたことになります。

Dockerは、リモートデーモンへの安全でないアクセスを許すと、リモートのユーザーがホストのroot権限を取得できると警告しています。ポート2375での暗号化されていないTCPアクセスは、特に非推奨とされています。

マルウェアはこのデーモンを悪用し、ホストのファイルシステムをマウントした特権コンテナを作成します。このコンテナは、ホストのプロセスおよびネットワークの名前空間にもアクセスできます。

攻撃者はそのコンテナからホスト環境でコマンドを実行します。公開されたDockerサービスが、サーバー完全侵害への直接的な経路になってしまうのです。

初期アクセスの後、インプラントは攻撃者側のインフラへリバースSSHトンネルを確立し、継続的なアクセスのためにSSH鍵もインストールします。

さらに、systemd-resolvedやカーネルワーカー風のプロセス名など、正規のLinuxコンポーネントに似たコンテナ名やプロセス引数を使い、自身を隠そうとします。

Image

マルウェアはcronジョブ、systemdタイマー、rc.local、OpenRCの仕組みで永続化も図ります。加えて、一部のファイルにイミュータブル属性を設定し、削除を難しくしています。

​ThreatDownの研究者が発見したCARBONATOは、認証なしで接続を受け付けるDocker Remote API(通常はポート2375)を悪用します。

Dockerサーバーの乗っ取り

監視用のウォッチドッグコンポーネントがデプロイ状況を見張っています。ファイルやコンテナが削除されると、公開レジストリからインプラントを再び取得します。

このため、不審なコンテナを削除するだけでは駆除になりません。防御側は、永続化の仕掛けを洗い出し、リモートアクセスを無効化し、ホストへの変更を調査したうえで、攻撃者が管理するイメージの入手元も排除する必要があります。

最も注目すべきは、Hermes Agentのインストールです。Hermes Agentは、Nous Researchが開発したMITライセンスのオープンソースフレームワークです。

Hermes Agentは、永続的なコンテキストとターミナル操作機能を備えた、自己改善型のAIエージェントとして設計されています。

研究者によると、攻撃者はフレームワーク本体にはほとんど手を加えていません。起動前に、ペルソナファイルSOUL.mdを39行の悪意ある指示セットで上書きしています。

「GH0ST」と名付けられた改変後のペルソナは、エージェントに対し、永続性の維持、Telegram経由でのタスク受信、侵害したシステム上でのオペレーター指示の実行を命じます。

このペルソナは、SSH認証情報、アクセストークン、データベースよりも、AIのAPIキーの窃取を優先します。対象には、OpenAIをはじめとするAnthropic、Google、OpenRouter、Together、Groq、Mistral、Cohereなどのプロバイダーが名指しされています。

TrackTech Trends

AIの認証情報は、運用上の価値が高まっています。高額な推論の不正利用、非公開モデルやデータセットへのアクセス、さらなる自動化された侵入活動に悪用される恐れがあるためです。

Image

感染拡大にAIコンポーネントは関与していません。CARBONATOの周辺にあるシェルスクリプトが、5分ごとに接続先ホストとDockerブリッジネットワークをスキャンします。そして、ポート2375を公開している他のエンドポイントを探し、到達可能なDockerサービスを検証したうえで、新たに見つけたシステムにインプラントを展開します。

Hermes Agentが担うのは、侵害後のオペレーター向けインターフェースです。Telegramで届いた指示は、悪意あるペルソナとともにLLMゲートウェイへ渡されます。ゲートウェイはコマンドを生成し、出力を評価して、被害ホスト上でタスクのループを続けます。

研究者の観測では、9月3日時点で、既知の7つのレジストリのうち6つ、フィッシングインフラ、コンテンツ配信ネットワーク、LLMゲートウェイが稼働を続けていました。

展開時のメッセージの言語的な手がかり、タイムゾーン設定、Telegramのハンドル名、リバーストンネルのインフラからは、コスタリカとの関連が疑われます。ただし、断定できるだけの証拠はありません。

各組織は、認証なしのDocker APIへの公開アクセスをただちに遮断してください。Dockerはローカルの Unixソケットか保護されたインターフェースにのみバインドし、リモート管理が必要な場合はクライアント認証付きのTLSを使う必要があります。

DockerのRegistry V2認証モデルは、レジストリが適切に保護されている場合、401 Unauthorizedのチャレンジとベアラートークンの要求を返す認可ワークフローに対応しています。

防御側は、次の痕跡を探してください。GH0STへの言及を含む/root/.hermes/SOUL.md、サーバーからの不審なTelegram向け通信、イミュータブル属性の付いたcronファイルやsystemdファイル、想定外の特権コンテナ、/usr/local/bin/.docker-network-monitor、[kworker/u2:0]を装うプロセスです。

AIのAPIキーは棚卸しを行い、漏えいの可能性がある場合はローテーションし、異常な利用がないか監視してください。

​侵害指標(IOC)​

種別​ ​指標​ ​備考​
​ネットワーク​ ​45[.]79[.]183[.]61​ ​C2ハブ(Linode)​
​ネットワーク​ ​91[.]99[.]195[.]164​ ​fsociety時代のC2(Hetzner)​
​ネットワーク​ ​213[.]136[.]79[.]115​ ​ビーコン/リバースシェル(Contabo、​​:8080および:4444)​
​ネットワーク​ ​213[.]136[.]83[.]197​ ​LLMゲートウェイ(Contabo)、稼働中​
​ネットワーク​ ​190[.]211[.]124[.]187​ ​リバーストンネルの終端(AS262145、​​コスタリカ)​

注: IPアドレスとドメインは、誤って名前解決されたりハイパーリンク化されたりするのを防ぐため、意図的に無害化([.]など)しています。無害化の解除は、MISP、VirusTotal、SIEMなど、管理された脅威インテリジェンスプラットフォーム内でのみ行ってください。

SOCのアラート調査を1件あたり21分短縮。即座のIOCコンテキストでSOCの初動対応を強化します: SOCにTI Lookupを導入する

翻訳元: https://gbhackers.com/docker-servers-hijacking/

本記事は gbhackers.com の記事を翻訳・要約したものです。