C0XMO:クロスプラットフォーム拡散を持つ新しいGafgyt亜種
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
FortiGuard Labs は、DD-WRT ルーターのバッファオーバーフローの脆弱性を悪用して広範に感染を拡大させる C0XMO と呼ばれる新しい Gafgyt ボットネットの亜種を特定しました。この脆弱性は CVE-2021-27137 として追跡されています。このマルウェアは、異なる CPU アーキテクチャ間で感染を広げるために、別の Python ベースのスキャナーを使用し、弱い認証情報への攻撃、いくつかの DDoS 機能、および競合するマルウェアを排除するルーチンに依存しています。感染後は、コマンド&コントロールサーバーに接続する前に、隠しファイル、クロンジョブ、シェルのプロファイル変更を通じて永続性を確立します。このレポートには、公開された IoT デバイスを運用している組織向けのインジケーターと防御の指針も含まれています。
調査
この解析により、C0XMO が初期アクセスを得るために DD-WRT UPnP サービスの CVE-2021-27137 を悪用していることが示されました。このスキャナーは、 217.160.125.125:15527から Python スキャナーを取得し、Telnet および SSH のブルートフォース攻撃を実行し、複数の HTTP ベースのエクスプロイトリクエストを開始し、対象環境に応じてアーキテクチャ固有のバイナリを展開します。永続性は、隠しファイルを /tmp, /var/tmp, /dev/shm、ユーザーホームディレクトリなどに配置し、クロンジョブのエントリやシェルプロファイルの編集によって維持されます。その後、マルウェアは 85.215.131.70 の C2 インフラストラクチャとカスタムハンドシェイクシーケンスを使用して通信します。
緩和策
組織は DD-WRT ファームウェアをチェンジセット 45723 以降のリリースにアップグレードし、関連するすべての CVE に対処する修正を適用するべきです。可能な限り、UPnP、Telnet、および SSH などの不要なリモートサービスはインターネットに面したデバイスで無効にすることが推奨されます。すべてのエッジデバイスで強力で一意の資格情報を強制し、公開されているサービスは定期的に確認されるべきです。特定された IP アドレス、ポート、ならびにキャンペーンに関連する悪意のあるコマンドパターンに対するネットワークベースの検出も展開する必要があります。
対応
防御者は、既知の C2 インフラストラクチャおよびスキャナーのダウンロードポートへの接続のためのアウトバウンドトラフィックを監視するべきです。また、 .sysという名前の隠しファイル、15 分ごとに実行されるクロン変更、およびスキャナースクリプトの実行についてアラートを設定するべきです。特定された悪意のある IP およびドメインはファイアウォールでブロックされ、侵害されたデバイスは法医学調査および完全なクリーンアップのために隔離されるべきです。
攻撃フロー
検出
直接実行のためのクーロン使用の可能性(コマンドライン経由)
Proof of Value
標準ツールを使用したリモートファイルのアップロード/ダウンロード(コマンドライン経由)
Proof of Value
隠しファイルが Linux ホストに作成されました(ファイルイベント経由)
Proof of Value
検出する IOCs(HashSha256):新しい Gafgyt バリアント C0XMO のクロスプラットフォームの拡散内
Proof of Value
検出する IOCs(SourceIP):新しい Gafgyt バリアント C0XMO のクロスプラットフォームの拡散内
Proof of Value
検出する IOCs(DestinationIP):新しい Gafgyt バリアント C0XMO のクロスプラットフォームの拡散内
Proof of Value
C0XMO ボットネット C2 通信検出【ファイアウォール】
Proof of Value
C0XMO Gafgyt バリアントペイロードダウンロードの検出【Linux プロセス生成】
Proof of Value
C0XMO マルウェアファイル操作の検出【Linux ファイルイベント】
Proof of Value
C0XMO プロセスのスキャニングと永続性のチェック【Linux プロセス生成】
Proof of Value
シミュレーション実行
前提条件:テレメトリーとベースラインの事前飛行チェックが通過している必要があります。
根拠:このセクションでは、検出ルールをトリガーするために設計された攻撃者技術(TTP)の正確な実行を詳細に説明します。コマンドと物語は、TTP が特定され、それらによって期待される正確なテレメトリーを生成することを反映する必要があります。
-
攻撃の物語とコマンド:
攻撃者のボットは、サービスの実行(T1546.007)によって既に侵害されたホストにインストールされており、ハードコーディングされたサーバー 217.160.125.125 でポート 15527 を使用して C2 のハンドシェイクを開始します。接続はプレーンな TCP ソケットを使用してコマンドをプルし、規則の条件を正確に満たします。この活動は C0XMO ボットネットの「フェノム」行動の典型です。 -
回帰テストスクリプト:
# C0XMO C2 通信シミュレーション - Sigma ルールをトリガーします $c2Ip = "217.160.125.125" $c2Port = 15527 # TCP 接続を開き、最小限のペイロードを送信し、次に閉じる $client = New-Object System.Net.Sockets.TcpClient $client.Connect($c2Ip, $c2Port) $stream = $client.GetStream() $payload = [System.Text.Encoding]::ASCII.GetBytes("PING`n") $stream.Write($payload, 0, $payload.Length) # リアルな待機時間を模倣して一時停止 Start-Sleep -Seconds 2 $stream.Close() $client.Close() -
クリーンアップコマンド:
# 永続的な変更は行われていません; ただし、開いているソケットがあれば閉じることを確認 # (スクリプトは既にソケットを閉じています; これは安全網です。) Get-Process -Name "powershell" | Where-Object { $_.MainWindowTitle -eq "" } | Stop-Process -Force