Cling IoTマルウェア、Googleの STUN トラフィックに偽装してC2通信を隠蔽

新たに確認されたIoTボットネット「Cling」は、インターネットに公開された脆弱なデバイスを悪用し、コマンド&コントロール(C2)通信を正規のSTUNトラフィックに偽装します。その中には、Googleの公開STUNインフラから送信されたように見えるパケットも含まれています。

この手法により、攻撃者はコラボレーションプラットフォームやブラウザ、リアルタイム通信アプリケーションで広く使われるNAT越えの通信に紛れて、不正な命令を隠せます。

Nozomi Networks Labsは、Realtek Jungle SDKの診断コンポーネント(通常はUDPServerとしてコンパイルされる)に存在する重大なリモートコード実行の脆弱性「CVE-2021-35394」への攻撃を追跡する中で、この活動を特定しました。

この脆弱性は、SDKのバージョン2.0から3.4.14Bまでに影響します。認証を受けていないリモートの攻撃者が、公開状態のデバイス上で任意のコマンドを実行できます。

Realtek SDKのコンポーネントは、ルーター、アクセスポイント、リピーター、カメラ、DVRなど多くのIoT機器に組み込まれており、何年もパッチが適用されないまま放置されがちです。このため、この脆弱性はボットネットの運営者にとって特に魅力的な標的であり続けています。

確認されたCling感染では、攻撃者がorf;で始まる細工したUDPデータグラムを送信していました。その後ろにはシェルコマンドが続き、BusyBoxのwgetでマルウェアを取得し、実行権限を付与して起動します。

Clingは、最初に侵入した足がかりにとどまらず、拡散のために複数の既知のコマンドインジェクション脆弱性を突くエクスプロイトを内蔵しています。対象は、Realtekデバイス、LB-LINKルーター、TBK DVR、Linksys製品、Eirルーター、FiberHome製ハードウェア、MVPower CCTV DVRなどです。

これにより、侵害されたシステムはインターネットに接続された他の脆弱なデバイスをスキャンし、新たに見つけた標的へマルウェアを展開できます。

永続化のため、マルウェアは自身を/root/.clingと/usr/local/bin/.clingにコピーします。さらに、/etc/inittab、/etc/init.d/rcS、/etc/rc.d/rc.bootといったSysVおよびBusyBoxの初期化ファイルに、実行用のエントリを追加します。

また、wgetのハイジャックも行います。正規のバイナリをwget.rに移動し、その場所をwget.pに記録したうえで、元の実行ファイルを自身のバイナリに置き換えます。以降wgetが呼び出されるたびに、Clingは自らを再起動してから、引数を元のユーティリティに引き渡します。

最大の特徴は、STUNを利用したC2の設計です。Clingは、ドメイン名をハードコードしたり、不審なVPSのエンドポイントを使ったりする従来の方式を取りません。代わりに、約5秒ごとに13台の公開STUNサーバーへSTUN Binding Requestを繰り返し送信します。

このマルウェアは、すべてゼロのトランザクションIDを使います。識別子はランダムであるべきとするRFC 8489の要件に反しています。続いて、STUNレスポンスで返された外部向けポートを記録し、リストにあるサーバーへ独自の登録データを送信します。

Nozomi Networksの調査によると、サーバーの1台である145.249.115[.]184:3478は、運営者と結託している疑いがあります。登録のテストを制御した環境で行ったところ、このサーバーだけに通知したポートに、後からCling C2インフラのコマンドが届きました。

運営者のコマンドは、STUNの12バイトのトランザクションIDフィールドにエンコードされています。ボットに対し、ペイロードのダウンロード、デバイスのスキャンと攻撃、TCPトンネルの確立、プロキシトラフィックの中継、サービス拒否(DoS)攻撃の実行などを指示できます。

一部のコマンドパケットは、stun.l.google.comに関連する74.125.250[.]129から送信されたように見えました。ただし、正規のGoogleインフラからではなく、UDPの送信元アドレスを偽装した可能性が高いとみられます。

防御側は、CVE-2021-35394の影響を受ける公開デバイスへのパッチ適用または隔離を優先すべきです。あわせて、ゼロのトランザクションIDを持つSTUNリクエストが繰り返されていないか監視し、組み込みLinuxシステムで.cling、wget.r、wget.pの痕跡を探す必要があります。

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

1万6,000以上のSOCチームがANY.RUNを活用し、脅威調査を効率化して手作業を削減しています。チームで試してみる

翻訳元: https://cyberpress.org/cling-iot-malware-masquerades-as-google-stun/

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