ShadowV2ボットネットがAWS Dockerコンテナを感染させDDoS攻撃を展開

Darktraceの最新調査により、従来のマルウェアと最新のDevOps技術を組み合わせた新たなサイバー攻撃キャンペーンが明らかになりました。この作戦の中心にあるのは、GitHub CodeSpacesでホストされているPythonベースのコマンド&コントロール(C2)フレームワークです。

攻撃者は、Pythonスプレッダーによって開始される多段階のDockerデプロイメントを利用し、その後、RESTfulな登録およびポーリングメカニズムを実装するGoベースのリモートアクセス型トロイの木馬(RAT)を展開します。コンテナ化とクラウドネイティブなツールを高度なサービス拒否(DDoS)技術と組み合わせることで、ShadowV2はDDoSマルウェアを本格的な「ボットネット・アズ・ア・サービス」プラットフォームへと進化させています。

ShadowV2を際立たせているのは、そのツールの洗練度と規模です。このキャンペーンは、HTTP/2ラピッドリセット攻撃、CloudflareのUnder Attack Mode(UAM)バイパス、大規模なHTTPフラッドを組み合わせており、ボリューム型DDoSとクラウドインフラの標的型悪用を融合させたハイブリッドなアプローチを示しています。FastAPIとPydanticを介して実装されたOpenAPI仕様、洗練されたログインパネル、およびオペレーターインターフェースの組み込みは、マルチテナント利用を想定したサービスであることを示唆しています。このレベルの洗練度は、この作戦を従来のボットネットではなく、「DDoS-as-a-Service」プラットフォームとして再定義しており、現代のマルウェアがアーキテクチャと使いやすさの両面で、いかに正当なクラウドネイティブアプリケーションを模倣しているかを反映しています。

HTTP/2ラピッドリセット方式は、プロトコルの多重化機能を悪用します。単一の接続内で数千のリクエストストリームを作成し、すぐにキャンセルして新しいストリームのために容量を解放することで、クライアントあたりのリクエストレートを劇的に増加させ、被害サーバーのリソース枯渇を最大化し、従来のフラッド軽減策を回避します。UAMバイパスのため、マルウェアはヘッドレスChromeバイナリをChromeDP経由でバンドルし、JavaScriptチャレンジを解決してクリアランスCookieを取得します。ただし、Cloudflareのヘッドレスブラウザ検出メカニズムにより、その有効性は限定的です。追加のフラグは、ランダムなクエリ文字列、ランダム化されたIPを持つ偽装された転送ヘッダー、および未実装のWordPressバイパスルーチンをサポートしています。

### ShadowV2攻撃の分析

**初期アクセス**
ShadowV2の初期侵害ベクトルは、AWS EC2インスタンス上の露出したDockerデーモンを標的としています。Darktraceのハニーポットは、User-Agent: docker-sdk-python/7.1.0ヘッダーとGitHubが注入したX-Meta-Source-Client: github/codespacesを含むPython Docker SDKリクエストを記録しました。接続試行は、GitHub CodeSpacesホスティングと一致するシンガポールのMicrosoft IPから発信されていました。攻撃者はUbuntuイメージから空のコンテナを作成します。Ubuntu環境でRATとDDoSバイナリをインストールする汎用的な「セットアップ」コンテナを生成し、そのコンテナをデプロイ用にイメージ化することで、攻撃者は外部のフォレンジック痕跡を最小限に抑えることを目的としていると考えられます。

**マルウェアの挙動**
デプロイされると、DockerコンテナはGoで書かれたELFバイナリを`/app/deployment`にドロップします。このストリップされていないバイナリは、環境から供給される`MASTER_ADDR`と`VPS_NAME`識別子を使用してC2に接続し、VPS名とUnixタイムスタンプを連結して一意の`VPS_ID`を生成します。登録は、JSON構造を持つPOSTリクエストをC2 APIに送信することで行われます。2つの永続的なループがインプラントを駆動します。1秒ごとの`/api/vps/heartbeat`へのハートビートPOSTと、新しいコマンドのための`/api/vps/poll/`への5秒ごとのGETポーリングです。VirusTotalに提出された2つの古いマルウェアバージョン(6月と7月)の逆アセンブルでは、以前の検出は確認されず、偶発的な被害者からの提出か、攻撃者によるテストのいずれかを示唆しています。コマンドペイロードは、HTTPメソッド、攻撃ID、ターゲットURLとポート、スレッド数、期間、およびオプションのプロキシを指定します。マルウェアはその後、ValyalaのfasthttpベースのHTTPフラッドまたはHTTP/2ラピッドリセット攻撃を、指定されたターゲットに対して複数のスレッドで実行します。あるケースでは、研究者はアムステルダムのVPSを標的とした120スレッドのHTTP/2ラピッドリセット攻撃を傍受しました。

**APIとC2インフラストラクチャ**
Cloudflareの背後にホストされ、GitHub CodeSpaces上で動作しているとみられるマルウェアのRESTful C2は、OpenAPI仕様を通じて広範なAPIを公開していましたが、現在は公開から撤回されています。`/login`にあるログインUI、ユーザー認証、権限の区別、攻撃の開始、ゾンビホストの管理をサポートする利用可能なエンドポイントがあります。管理者のみのユーザー作成エンドポイント、明示的なゾンビリストを必要とする攻撃開始エンドポイント、およびブラックリスト管理機能の存在は、純粋な犯罪地下ボットネットではなく、マルチテナントの商業化されたDDoS-for-hireモデルを強調しています。

ShadowV2は、コンテナ化、クラウドDevOpsプラットフォーム、そして完全に開発されたAPIとユーザーインターフェースを活用して、オンデマンドのDDoS機能を提供する「サイバー犯罪アズ・ア・サービス」の進化を象徴しています。これらのキャンペーンを、孤立したマルウェアの系統ではなく、モジュール式のサービスベースの脅威として認識することが、ShadowV2および同様のボットネットプラットフォームの将来の反復を先取りするために不可欠となるでしょう。

元記事: [ShadowV2 Botnet Infects AWS Docker Containers to Launch DDoS Campaign](https://gbhackers.com/shadowv2-botnet-infects-aws-docker-containers-to-launch-ddos-campaign/)