Notepad++サプライチェーン攻撃の分析
(securelist.com)- Notepad++のアップデートインフラが侵害され、悪性アップデートが配布されたサプライチェーン攻撃が2025年半ばから10月まで継続
- 攻撃者は Cobalt Strike Beacon と Metasploitダウンローダー を活用し、3回にわたる 異なる感染チェーン を運用
- 感染対象は ベトナム・エルサルバドル・オーストラリアの個人ユーザー、フィリピンの政府機関、エルサルバドルの金融機関、ベトナムのITサービス企業 などと確認
- 攻撃手法は NSISインストーラーの悪用、ProShow脆弱性の利用、Luaスクリプト実行、DLLサイドローディング などへと多様に変化
- カスペルスキーは Kaspersky Next EDR Expert で当該攻撃を検知し、temp.shとの通信・コマンド実行痕跡・レジストリ自動実行登録 などを主要な検知指標として提示
事件概要
- 2026年2月2日、Notepad++開発チームは アップデートサーバーがホスティング事業者レベルで侵害された と発表
- 侵害期間は2025年6月〜9月で、内部サービスへのアクセスは12月まで継続
- カスペルスキーは2025年7月〜10月の間、攻撃者が C2サーバーアドレス、ダウンローダー、ペイロードを継続的に入れ替え ながら攻撃を続けていたことを確認
- 被害者は少数の標的システムで、合計10台余りのコンピューター が感染したと分析
感染チェーン #1(2025年7月末〜8月初旬)
- 悪性アップデートファイル:
http://45.76.155[.]202/update/update.exe- SHA1: 8e6e505438c21f3d281e1cc257abdbf7223b7f5a
- 正規プロセス
GUP.exeが実行され、システム情報を収集後にtemp.shへアップロードwhoami,tasklistコマンドの実行結果をcurlで送信
- その後
%appdata%\\ProShowフォルダーに複数のファイルをドロップし、ProShow.exeを実行- ProShowの2010年代の脆弱性 を悪用して
loadファイル内の Metasploitダウンローダー を実行 - ダウンローダーは Cobalt Strike Beacon を
https://45.77.31[.]210/users/adminから取得して実行
- ProShowの2010年代の脆弱性 を悪用して
- 8月初旬には、同一チェーンで
cdncheck.it[.]comドメインを利用した亜種が観測
感染チェーン #2(2025年9月中旬〜下旬)
- 同一URLから配布された
update.exe(SHA1: 573549869e84544e3ef253bdba79851dcde4963a)%APPDATA%\\Adobe\\Scriptsフォルダーを使用whoami,tasklist,systeminfo,netstat -anoコマンドで 詳細なシステム情報を収集
- ドロップファイル:
alien.dll,lua5.1.dll,script.exe,alien.ini- Luaインタープリターを利用して
alien.ini内のシェルコードを実行 - Metasploitダウンローダーが
cdncheck.it[.]com/users/adminから Cobalt Strike Beacon をダウンロード
- Luaインタープリターを利用して
- 9月末には、アップロードURLが
https://self-dns.it[.]com/list、C2サーバーがsafe-dns.it[.]comに変更された亜種が登場
感染チェーン #3(2025年10月)
- 新たなアップデートサーバー:
http://45.32.144[.]255/update/update.exe- SHA1: d7ffd7b588880cf61b603346a3557e7cce648c93
%appdata%\\Bluetooth\\フォルダーにファイルをドロップBluetoothService.exe(正常)、log.dll(悪性)、BluetoothService(暗号化されたシェルコード)
- DLLサイドローディング により
log.dllがBluetoothServiceシェルコードを実行- Chrysalisバックドア に類似した構造で、Rapid7の分析では Cobalt Strike Beacon も併せて配布された事例が存在
チェーン #2 の再登場とURL変更(2025年10月中旬〜下旬)
- 新URL:
http://95.179.213[.]0/update/update.exe- 既存の
self-dns.it[.]com,safe-dns.it[.]comドメインを再利用
- 既存の
- 10月末には
install.exe,AutoUpdater.exeなどのファイル名に変化- 11月以降、追加感染は観測されず
結論と検知推奨
- 攻撃者は Notepad++アップデートサーバーを掌握 し、高リスク組織への侵入を試行
- 感染チェーンを月単位で変更しながら継続的なアクセスを維持
- 検知および対応の推奨事項
- NSISインストーラー生成ログ(
%localappdata%\\Temp\\ns.tmp)を確認 - temp.shドメイン通信およびUser-Agent内にURLを含むリクエスト を検知
- whoami, tasklist, systeminfo, netstat -ano コマンド実行痕跡を点検
- IoC一覧 に基づく悪性ドメインとファイルハッシュの探索
- NSISインストーラー生成ログ(
Kasperskyによる検知
- Kaspersky Next EDR Expert が攻撃挙動を検知
- lolc2_connection_activity_network ルールでtemp.sh通信を検知
- system_owner_user_discovery, system_information_discovery_win などのルールでローカル偵察コマンドを検知
- temporary_folder_in_registry_autorun ルールで レジストリ自動実行登録 を検知
主要IoC要約
- 悪性アップデートURL:
- Cobalt Strike関連URL:
- 悪性ファイルパス:
%appdata%\\ProShow\\load,%appdata%\\Adobe\\Scripts\\alien.ini,%appdata%\\Bluetooth\\BluetoothService
- 主要ハッシュ:
8e6e505438c21f3d281e1cc257abdbf7223b7f5a,573549869e84544e3ef253bdba79851dcde4963a,d7ffd7b588880cf61b603346a3557e7cce648c93など
この事件は サプライチェーン攻撃の高度化と多段階感染チェーンの進化 を示しており、開発者およびITインフラ運用者に対し アップデート完全性検証の強化の必要性 を浮き彫りにしている。
1件のコメント
Hacker Newsのコメント
WinGUpアップデータが攻撃に悪用された事例は、サプライチェーン攻撃の典型例だと思う
攻撃者は、更新チャネルを信頼しているシステム上でコード実行権限を得た
とくに6か月間検知されなかった点が懸念される
組織は段階的ロールアウトと異常なネットワークトラフィックの監視を、個人は暗号学的検証のあるパッケージマネージャーの利用を検討すべき
多くのプログラムは広告だらけのWebサイトからダウンロードされ、それぞれ異なる方法で更新される
Microsoft Storeにはこれを変えるチャンスがあったが、設計も評判も失敗した
WinGetはかなり良くなっているが、まだ開発者向けツールの域を出ていない
私はNotepad++を標準メモ帳の代替として使っている
ネットワーク接続がデフォルトで有効になっている理由が理解できなかった
最初にしたことはそれを無効にすることで、今は2020年版を問題なく使っている
いつか必要になったら、自分で手動更新するつもりだ
Notepad++は私のお気に入りのエディタの1つだったが、今回の攻撃以降、IT部門で使用禁止になった
セキュリティ監査ではインストールの有無まで確認される
公式ブログの対応も不安を感じさせるもので、信頼回復には長い時間がかかりそうだ
タブとスペルチェックの2機能が中核だったが、今では標準のNotepadもそれをサポートしている
ただしCoPilotボタンが追加されたが、設定で無効にできる
私はこうした理由で多くのツールをsandbox環境で実行している
そうすれば被害をそのディレクトリに限定できる
ツールが私のクラウドドライブやブラウザCookieにアクセスする理由はない
Linuxコミュニティはこうした方向性に抵抗しているが、結局はiOSスタイルのサンドボックスアプリが未来だ
ユーザーはアプリの挙動を自分で制御したいからだ
FOSS陣営がこれを無視すれば、最終的には巨大テック企業中心に集約されるだろう
アプリがルートの外へ出られないようにし、外部アクセスは明示的に許可すべきだ
MacOSのアクセス要求は多いが、より細かな権限制御が必要だと思う
テキストエディタにネットワーク接続は不要で、編集中のテキストを外部へ流出させる可能性がある
攻撃者はシステム情報を送信し、temp.shのようなサービスにファイルをアップロードしたうえでC2サーバーと通信する
例として、Cobalt Strike Beaconがcdncheck.it[.]comと通信するコードがある
今回の攻撃は、開発者やユーザーが自分で検証していないコードをますます信頼するようになっている現象を示している
npm/pipパッケージのインストール、AI生成コード、「vibe coding」のトレンドなどでも同じ問題が繰り返されている
Notepad++は単一バイナリなのでまだましな例だが、現代の開発環境では数百の依存関係とAIコードが絡み合っている
サンドボックス化も重要だが、本当の問題はコードが実際にできることと期待されることの乖離にある
実行中のコードをもっとよく理解できるツールが必要だ
15年前には誰もサプライチェーンを気にしておらず、Unixユーザーは検証なしでtarballをビルドしていた
サンドボックス化は助けになるが、完全な解決策ではない
Notepad++のようにシステムファイルを編集する権限を持つユーティリティは依然として危険だ
ひょっとして感染を検知してクリーンアップできる公式ツールがあるのだろうか
マルウェアはシステムの至る所に潜めるし、UAC警告だけでは防げない
今感染している状態なら、Malwarebytesで検知できるのか気になる
Rapid7の分析記事にも同じ内容がある
元の告知にこのリンクがなかったのは意外だった
Notepad++のデジタル署名をどうやって回避したのか気になる
実際にダウンロードしてみると有効なコード署名が付いていた
今ではセキュリティ脆弱性を防ぐために頻繁に更新すべきなのに、サプライチェーン攻撃を避けるには更新を控えるべきという矛盾した状況になっている
どうバランスを取ればいいのかわからない
最近のMicrosoftの更新も信頼性が低く、起動不能のような問題のせいで自動更新を切る人が増えている
関連ドキュメント: GitHub Dependabot options
インターネット接続の多いアプリは頻繁に更新し、単純なローカルツールなら自動更新を切っても構わない
インターネット上のコンテンツを扱うなら更新は必須だが、ローカル専用なら必要なときだけ更新すればいい
たいていはその中間のどこかにある
参考として Rapid7の分析記事 が共有されていた