DVRデバイスの脆弱性を突いてMiraiの亜種を送り込むIoTボットネット

文●フォーティネットジャパン 編集●ASCII

提供: フォーティネットジャパン

  • この記事をはてなブックマークに追加
  • 本文印刷

本記事はフォーティネットジャパンが提供する「FORTINETブログ」に掲載された「Miraiの亜種「Nexcorium」の追跡:脆弱性を悪用したIoTボットネットキャンペーン」を再編集したものです。

米国時間4月17日に掲載されたフォーティネットブログの抄訳です。
影響を受けるプラットフォーム:TBK DVR-4104、DVR-4216
影響を受けるユーザー    :あらゆる組織
影響            :リモートの攻撃者による脆弱なシステムの乗っ取り
深刻度           :高

IoTデバイスは、その普及率、パッチ適用の欠如、そして往々にして脆弱なセキュリティ設定が原因で、大規模攻撃の格好の標的になっています。脅威アクターは既知の脆弱性を悪用し続けることで初期アクセスを手に入れます。そして、永続化し、拡散し、分散型サービス拒否(DDoS)攻撃を引き起こすマルウェアを展開します。

FortiGuard Labsは、TBK製DVRデバイスの脆弱性CVE-2024-3721を悪用して、「Nexcorium」と呼ばれるマルチアーキテクチャ対応のMiraiの亜種を送り込む直近のキャンペーンを分析しました。本レポートでは、感染の連鎖、永続化のメカニズム、および攻撃能力を検証することで、関連する脅威アクターの振る舞いと、標的となった環境への潜在的影響についての知見を提供します。

インシデント

脅威アクターは、TBK製DVRデバイスに存在するOSコマンドインジェクションの脆弱性CVE-2024-3721を悪用し、mdb / mdc引数を操作することで、ダウンローダースクリプトを送り込みました。

図1:CVE-2024-3721を介したエクスプロイトトラフィック

このエクスプロイトには、「X-Hacked-By」というカスタムHTTPヘッダーが含まれており、その値は「Nexus Team – Exploited By Erratic」となっています。この痕跡に基づき、本活動は「Nexus Team」(フォーティネットはこの名称の使用を提案します)という脅威アクターに関連している可能性が高いと見られます。ただし、このアクターは広く知られているわけではありません。

dvrと呼ばれるダウンローダースクリプトは、ファイル名が「nexuscorp」で始まるマルウェアサンプルを取得し、ARM、MIPS R3000、およびx86-64(AMD64)を含む複数のLinuxアーキテクチャを標的にします。このスクリプトは、取得したマルウェアの権限を「777」に設定し、被害ホスト上の侵害されたデバイスを示す引数を用いて実行します。

図2:ダウンローダーシェルスクリプト「dvr」

マルウェア分析

本分析は、「nexuscorp.x86」というサンプルに基づいています。実行されると、このマルウェアは「nexuscorp has taken control」という文字列を表示します。

図3:実行後に表示される文字列

Nexcoriumは、XORエンコードされた構成テーブルの初期化、ウォッチドッグ(監視)モジュール、およびDDoS攻撃モジュールなど、Miraiの亜種に似たアーキテクチャを持っています。

このマルウェアはまず、XORデコードを実行して、埋め込まれた構成を抽出します。これには、C2サーバーのドメインとポート、永続化に関連するシェルコマンド、ハードコードされたブルートフォース攻撃用のワードリスト、C2サーバーから取得されるDDoS攻撃コマンド、および埋め込まれたエクスプロイトコードが含まれます。

図4:キー0x13でXORエンコードされた構成

図5:キー0xFDでXORエンコードされた構成

Nexcoriumは、他のMiraiの亜種と同様のアーキテクチャを共有しています。これを構成しているのは、ウォッチドッグ、スキャナー、アタッカーという3つのコアモジュールです。ウォッチドッグコンポーネントは、文字列「NXS_WD_CHILD」をサブプロセスのロールマーカーとして使用し、ウォッチドッグによって生成された子プロセスを区別します。

図6:ウォッチドッグのサブプロセスロールマーカー

Nexcoriumは、まず実行引数をグローバル変数に格納し、/proc/self/exeから現在の実行パスを取得することで、自己整合性チェックを行います。そして、FNV-1aアルゴリズムを使用して実行ファイルのハッシュを計算します。元のファイルが存在しない、読み取れない、またはハッシュが一致しない場合、マルウェアは別のファイル名で複製を作成し、ファイル権限を700に設定します。

図7:自己複製

特筆すべき点として、このマルウェアにはHuawei HG532デバイスを標的としたCVE-2017-17215のエクスプロイトが含まれています。これは、Miraiの他の亜種でもよく見られる特徴です。

図8:XORエンコードされたCVE-2017-17215エクスプロイト

このエクスプロイトはテーブルID 23に格納され、スキャナーコンポーネントで使用されます。Nexcoriumが被害ホストに接続すると、モジュールがテーブルを参照してCVE-2017-17215のペイロードを取得し、悪意のあるパケットを送信します。

図9:ソケットが確立された場合にCVE-2017-17215エクスプロイトを送信

さらに、このマルウェアにはブルートフォース攻撃に使用される、ハードコードされたユーザー名とパスワードのリストが含まれています。大部分のエントリには、デフォルトの認証情報が含まれています。
 

ubuntu guest support default
12345 123456 changeme hikvision
operator 888888 Administrator meinsm
7ujMko0admin admin123 admin1234 admintest
comcomcom motorola password daemon
OxhlwSG8 S2fGqNFs tlJwpbo6 D-Link
netscreen 7ujMko0vizxv GM8182 Root1
Zte521 antslq cat1029 dreambox
grouter hg2x0 huigu309 ipcam_rt5350
jauntech solokey swsbzkgn taZz@23495859
tsgoingon vertex25ektks123 xc3511 xmhdipc
Zhongxing telnet telnetadmin

マルウェアのスキャンでは、被害ホストがTelnet接続を開きます。その後、前述のワードリストを使用してブルートフォース攻撃を開始します。Nexcoriumはログインに成功すると、system、shell、sh、cat /bin/busyboxなどのコマンドを実行し、シェルを取得できたか確認します。

図10:NexcoriumがTelnet経由でログインに成功した場合のシェルコマンドの実行

Nexcoriumはコマンドを実行すると、ハードコードされたリストを使用して被害ホストのアーキテクチャを解析および検証します。

図11:被害ホストからのアーキテクチャ情報に関する応答の解析

マルウェアは永続化目的で、再度/proc/self/exeから実際の実行パスを取得します。/usr/local/bin/から実行されていない場合には、自身を/usr/local/bin/sysdにコピーし、複数のメカニズムを通じて永続化を試みます。

1. Init構成

プロセスが停止した場合に再起動されるよう、/etc/inittabを更新します。

図12:/etc/inittabによる永続化手法

2. スタートアップスクリプト

システム起動時に確実に実行されるよう、/etc/rc.localを作成または更新します。

図13:/etc/rc.localによる永続化手法

3. Systemdサービス

次に、一般的なシステムパス(例:/bin/systemctl、/usr/bin/systemctl、/etc/system/system)を確認し、/etc/systemd/system/persist.serviceにサービスファイルを作成します。これにより、起動時に自動的に実行されるようになります。

図14:デーモン作成による永続化手法

4. cronジョブ

再起動後も確実に実行されるよう、crontabを使用してスケジュールされたタスクを作成します。

図15:crontabを使用した永続化手法

永続化の設定が完了した後、マルウェアは分析を回避するために現在の実行パスから元のバイナリを削除します。

図16:分析回避のための自己削除

XORデコードされた構成に基づいて判断すると、Nexcoriumは複数のDDoS攻撃手法(UDPフラッド、TCP ACKフラッド、TCP SYNフラッド、TCPジェネリックフラッド、SMTPフラッド、TCP PSHフラッド、TCP URGフラグフラッド、UDPブラストフラッド、VSEクエリフラッドなど)をサポートしています。また、進行中のDDoS攻撃を停止したり、自身のプロセスを終了したりすることも可能です。

コマンド 攻撃ID 説明
udp 0 UDPフラッド
ack 10 TCP ACKフラッド
syn 3 TCP SYNフラッド
std 4 TCPジェネリックフラッド
stmp 9 SMTPフラッド
psh 5 TCP PSHフラッド
synd 7 TCP SYNフラッドの亜種
urg 6 TCP URGフラグフラッド
udb 8 UDPブラストフラッド
vse 1 VSEクエリフラッド
tcpa 12 TCP ACK + PSHフラッド
killattk - 攻撃停止
botkill - ボットの強制終了

このマルウェアは、配列を確保し、そこに各攻撃モジュールのオフセットを追加することにより、攻撃モジュールを初期化します。その後、C2ドメインであるr3brqw3d[.]b0ats[.]topとの接続を確立し、C2サーバーから取得したコマンドを解析して、その後の攻撃を開始します。

図17:C2サーバーからのコマンドを解析する攻撃手法

結論

Nexcoriumマルウェアは、脆弱性の悪用、マルチアーキテクチャへの対応、および感染システムへの長期的アクセスを維持するためのさまざまな永続化手法を組み合わせるという、最新のIoT特化型ボットネットの典型的な特徴を示しています。CVE-2017-17215などの既知の脆弱性を悪用し、さらに強力なブルートフォース攻撃機能を備えていることは、感染範囲を拡大する上での適応力と有効性の高さを浮き彫りにしています。

さらに、その多様なDDoS攻撃ベクトルと一元化されたコマンド&コントロール通信は、組織化された攻撃キャンペーンで主要な役割を果たしていることを示唆しています。「X-Hacked-By」ヘッダーのようなカスタマイズされたエクスプロイトの使用も、この活動を関与が疑われる脅威アクターに紐づける貴重な手がかりとなります。

IoTやネットワーク接続システムを標的とする同様の脅威を軽減するためには、脆弱性悪用のトレンドを継続的に監視することに加え、悪意のあるトラフィックや振る舞いパターンをプロアクティブに検知することが依然として不可欠です。

フォーティネットのソリューション

本レポートで説明したマルウェアは、FortiGuardアンチウイルスによって以下の名称で検知されブロックされます。

BASH/Mirai.AEH!tr.dldr
ELF.Mirai.ATL!tr
ELF/Nexcorium.A!tr
ELF/Mirai.EGX!tr

FortiGuardアンチウイルスサービスエンジンは、FortiGateFortiMailFortiClientFortiEDRに統合されています。これらの製品を最新のシグネチャで使用しているお客様は、本レポートに記載されているマルウェアコンポーネントから保護されます。

FortiGuard Webフィルタリングサービスは、C2サーバーをブロックします。

FortiGuard Labsは、以下の脆弱性を悪用する攻撃に対するIPSシグネチャを提供しています。

CVE-2024-3721: 55717 TBK.DVR.SOSTREAMAX.Command.Injection

基礎的なセキュリティ意識の強化を目指すお客様は、サイバーセキュリティに関するフォーティネット認定ファンダメンタルズ(FCF)トレーニングの実施もご検討ください。  このモジュールでは、エンドユーザーはさまざまなフィッシング攻撃を識別して自らを保護する方法を学習できます。

FortiGuard IPレピュテーションおよびアンチボットネットセキュリティサービスは、フォーティネットが全世界に展開するセンサーネットワーク、CERTの連携、MITRE、信頼できる業界パートナー、その他のインテリジェンスソースから収集した悪意のあるIPインテリジェンスを相関させることで、このキャンペーンに関連するインフラストラクチャをプロアクティブにブロックします。

このようなサイバーセキュリティの脅威の影響を受けていることが疑われる場合は、グローバルのFortiGuardインシデントレスポンスチームにお問い合わせください。

IOC(Indicators of Compromise:侵害指標)

ホスト
84[.]200[.]87[.]36
176[.]65[.]148[.]186
r3brqw3d[.]b0ats[.]top

ファイル

ダウンローダー

696aeb6321313919f0a41a520e6fa715450bbfb271a9add1e54efe16484a9c35

Nexcorium
37132e804ccb3fc4ba1f72205da70c3d7a6e66b43178707a9d8ee1156d815c21
e4789416c35b345e75c023a8c07c207c79937c6a5444e1c29d85d18d2f660d8c
0b510f93f47590791626d2fa74ddd62ba6eb8a5a5bb7b8476c0ceffc7be94ebe
9b805585c457811d2c5c5664ede9ee869b53e3c9999100505d7ee8de7f855fdf
95d1eb12d58206319c514c7240d058c512bb22b31f6ea22ed8be3ae44305c9f7
7c01d5b53861cd34e10a79fdea16dcf08bce9c78ed72abd6d6f3e9ce75a24734
838e35b62a6b38675e467301166cdcc54f98d528fe43d56936caeffec88ac696
2ccf23b8165e8c05899aa7ba4755b896ebf1d20d3b701cffdc768482486b0a74
29404df12a7723ce46c8b199c88a808aa315dd8ff8fd1e06a34ccd3d16f4553b
b1274de00a7f3d7ab9792ec3456e9d5bf057738666f34183f1d72060e2d4f678
721c7cb2109ec97c14413cb8b58ddce0ecf0c1f13f22ee4f72eed79b57592cf5
89dae116c77b0035277d39dfe01043624427c119ddee8883a3ba54a42a6ae400
 

■関連サイト

本記事はアフィリエイトプログラムによる収益を得ている場合があります