FortiGuard Labsは、パッチ未適用のデバイスを悪用し、公開STUNサーバーを使って秘匿通信を行うLinuxバックドア「ClingSTUN」を確認しました。
このマルウェアは、感染したシステムを遠隔操作可能なプロキシノードに変えます。その際、正規のネットワークサービスを利用することで、通信を通常の活動に紛れ込ませます。
STUN(Session Traversal Utilities for NAT)は、外部IPアドレスとポートのマッピングを調べるための仕組みです。ClingSTUNはこの情報を使ってネットワークアドレス変換(NAT)越しの接続を確立し、感染デバイスに攻撃者が遠隔からアクセスしやすい状態をつくります。
研究者らが最初に確認したのは、攻撃者が124[.]163[.]212[.]119からClingSTUNを配布していた活動です。攻撃には、Hytec Inter製ルーター「HWL-2511-SS」のコマンドインジェクションの脆弱性CVE-2022-36553が使われました。この初期の配布フェーズは、わずか2日間で終わっています。
その後、攻撃は222[.]223[.]152[.]97へ移り、悪用する手法も広がりました。
標的には、CVE-2025-34035を突くEnGeniusのサービスや、CVE-2024-23625を突くD-LinkのUPnPインターフェースが含まれます。さらに後の攻撃では、Realtek、TP-Link、AVTECH、Linearなどのデバイスも狙われました。
確認された最新のダウンロード元は118[.]145[.]196[.]225です。ダウンロード用スクリプトは、ARM、Intel 80386、MIPS、PowerPC、AMD x86-64向けのマルウェアをそれぞれ取得します。
新しいダウンローダーは、マウントされているディレクトリを調べ、プロセスIDに関連する特定のエントリをアンマウントし、関連プロセスを強制終了します。実行ファイルのパスが/tmpにあるプロセスも終了させます。
ClingSTUNは、/dev/watchdogと/dev/misc/watchdogを通じてウォッチドッグタイマーを無効化します。/procを走査して競合するプロセスを探し、実行ファイルの場所を確認します。コマンドラインが実行ファイル名と異なるプロセスは終了させます。
永続化のため、自身を/root/.clingと/usr/local/bin/.clingにコピーします。さらに/etc/inittab、/etc/init.d/rcS、/etc/rc.d/rc.bootを書き換え、起動時にこれらのコピーを実行させます。
マルウェアはコマンドライン引数を消去し、発見されにくくします。root権限で動作している場合は、/proc/1/の一部の情報を/tmpにコピーし、そのディレクトリを自身のプロセスディレクトリに重ねてマウントします。これによりメタデータを偽装します。
ClingSTUNは、ランダムなローカルポートでUDPソケットを開き、標準的な20バイトのSTUNバインディングリクエストを送信します。分析されたあるバージョンは24の公開エンドポイントに接続し、少なくとも半数から正常な応答を得ることを条件としていました。後のバージョンでは13のエンドポイントを使い、すべてから正常な応答を得ることが条件となっています。
こうしたやり取りの後、マルウェアは自身のグループ識別子とマッピング済みポートの一覧を、同じエンドポイントに定期的に送信します。
ただし研究者らは、この通信経路には独立した調整サーバーへの登録メカニズムを確認できませんでした。攻撃者がどのようにマッピング情報を入手し、NAT越しに制御トラフィックを送り込むのかは、いまだ検証されていません。
攻撃者が20バイトのパケットを送ると、追加の機能を起動できます。リモート実行では、コマンド1が指定されたエンドポイントへのアウトバウンドTCP接続を開き、コマンドを受け取って実行します。また、7つのエクスプロイトが組み込まれており、自己増殖にも対応していると、Fortinetは述べています。
注: IPアドレスとドメインは、誤って名前解決されたりハイパーリンク化されたりするのを防ぐため、意図的に無害化([.]など)しています。元に戻すのは、MISP、VirusTotal、SIEMなど、管理された脅威インテリジェンス基盤の中だけにしてください。
16,000以上のSOCチームがANY.RUNを活用し、脅威調査を効率化して手作業を減らしています。チームで試してみる
翻訳元: https://cyberpress.org/clingstun-abuses-stun-servers/