Análisis de un ataque a la cadena de suministro de Notepad++
(securelist.com)- La infraestructura de actualización de Notepad++ fue comprometida y se distribuyeron actualizaciones maliciosas en un ataque a la cadena de suministro que se mantuvo desde mediados de 2025 hasta octubre
- Los atacantes operaron tres cadenas de infección distintas utilizando Cobalt Strike Beacon y un downloader de Metasploit
- Entre los objetivos infectados se identificaron usuarios particulares de Vietnam, El Salvador y Australia, una institución gubernamental de Filipinas, una entidad financiera de El Salvador y una empresa de servicios de TI de Vietnam
- Los métodos de ataque fueron cambiando de forma diversa, incluyendo abuso del instalador NSIS, explotación de una vulnerabilidad de ProShow, ejecución de scripts Lua y DLL sideloading
- Kaspersky detectó el ataque con Kaspersky Next EDR Expert y señaló como principales indicadores de detección la comunicación con temp.sh, rastros de ejecución de comandos y el registro de autoejecución en el registro
Resumen del incidente
- El 2 de febrero de 2026, el equipo de desarrollo de Notepad++ anunció que el servidor de actualizaciones había sido comprometido a nivel del proveedor de hosting
- El periodo de compromiso fue de junio a septiembre de 2025, y el acceso a servicios internos continuó hasta diciembre
- Kaspersky confirmó que entre julio y octubre de 2025 los atacantes sustituyeron continuamente la dirección del servidor C2, el downloader y la carga útil para mantener el ataque
- Las víctimas fueron un pequeño número de sistemas objetivo, y se estima que un total de unas 10 computadoras resultaron infectadas
Cadena de infección #1 (finales de julio~principios de agosto de 2025)
- Archivo de actualización malicioso:
http://45.76.155[.]202/update/update.exe- SHA1: 8e6e505438c21f3d281e1cc257abdbf7223b7f5a
- El proceso legítimo
GUP.exese ejecuta y recopila información del sistema para subirla a temp.sh- Envía mediante
curllos resultados de los comandoswhoamiytasklist
- Envía mediante
- Después deja varios archivos en la carpeta
%appdata%\ProShowy ejecutaProShow.exe- Aprovecha una vulnerabilidad de ProShow de la década de 2010 para ejecutar el downloader de Metasploit dentro del archivo
load - El downloader descarga y ejecuta Cobalt Strike Beacon desde
https://45.77.31[.]210/users/admin
- Aprovecha una vulnerabilidad de ProShow de la década de 2010 para ejecutar el downloader de Metasploit dentro del archivo
- A inicios de agosto se observó una variante con la misma cadena que utilizaba el dominio
cdncheck.it[.]com
Cadena de infección #2 (mediados y fines de septiembre de 2025)
update.exedistribuido desde la misma URL (SHA1: 573549869e84544e3ef253bdba79851dcde4963a)- Usa la carpeta
%APPDATA%\Adobe\Scripts - Recopila información detallada del sistema con los comandos
whoami,tasklist,systeminfoynetstat -ano
- Usa la carpeta
- Archivos soltados:
alien.dll,lua5.1.dll,script.exe,alien.ini- Ejecuta shellcode dentro de
alien.iniusando el intérprete de Lua - El downloader de Metasploit descarga Cobalt Strike Beacon desde
cdncheck.it[.]com/users/admin
- Ejecuta shellcode dentro de
- A finales de septiembre apareció una variante en la que la URL de subida cambió a
https://self-dns.it[.]com/listy el servidor C2 asafe-dns.it[.]com
Cadena de infección #3 (octubre de 2025)
- Nuevo servidor de actualizaciones:
http://45.32.144[.]255/update/update.exe- SHA1: d7ffd7b588880cf61b603346a3557e7cce648c93
- Suelta archivos en la carpeta
%appdata%\Bluetooth\BluetoothService.exe(legítimo),log.dll(malicioso),BluetoothService(shellcode cifrado)
- Mediante DLL sideloading,
log.dllejecuta el shellcode deBluetoothService- Tiene una estructura similar al backdoor Chrysalis, y según el análisis de Rapid7 también hubo casos en los que se distribuyó junto con Cobalt Strike Beacon
Reaparición de la cadena #2 y cambio de URL (mediados~fines de octubre de 2025)
- Nueva URL:
http://95.179.213[.]0/update/update.exe- Reutiliza los dominios
self-dns.it[.]comysafe-dns.it[.]com
- Reutiliza los dominios
- A finales de octubre se modificó con nombres de archivo como
install.exeyAutoUpdater.exe- No se observaron infecciones adicionales después de noviembre
Conclusión y recomendaciones de detección
- Los atacantes tomaron control del servidor de actualizaciones de Notepad++ para intentar infiltrarse en organizaciones de alto riesgo
- Cambiaron la cadena de infección mes a mes para mantener acceso persistente
- Recomendaciones de detección y respuesta
- Revisar los logs de creación del instalador NSIS (
%localappdata%\Temp\ns.tmp) - Detectar comunicación con el dominio temp.sh y solicitudes cuyo User-Agent incluya una URL
- Verificar rastros de ejecución de los comandos whoami, tasklist, systeminfo, netstat -ano
- Buscar dominios maliciosos y hashes de archivos con base en la lista de IoC
- Revisar los logs de creación del instalador NSIS (
Detección de Kaspersky
- Kaspersky Next EDR Expert detectó la actividad maliciosa
- La regla lolc2_connection_activity_network detectó la comunicación con temp.sh
- Reglas como system_owner_user_discovery y system_information_discovery_win detectaron comandos de reconocimiento local
- La regla temporary_folder_in_registry_autorun detectó el registro de autoejecución en el registro
Resumen de los principales IoC
- URL de actualización maliciosa:
- URL relacionadas con Cobalt Strike:
- Rutas de archivos maliciosos:
%appdata%\ProShow\load,%appdata%\Adobe\Scripts\alien.ini,%appdata%\Bluetooth\BluetoothService
- Hashes principales:
8e6e505438c21f3d281e1cc257abdbf7223b7f5a,573549869e84544e3ef253bdba79851dcde4963a,d7ffd7b588880cf61b603346a3557e7cce648c93etc.
Este incidente muestra el refinamiento de los ataques a la cadena de suministro y la evolución de cadenas de infección en múltiples etapas, y subraya la necesidad de reforzar la verificación de integridad de las actualizaciones por parte de desarrolladores y operadores de infraestructura de TI.
1 comentarios
Comentarios en Hacker News
El caso en que el actualizador WinGUp fue aprovechado en el ataque es un ejemplo típico de ataque a la cadena de suministro
El atacante obtuvo permiso para ejecutar código en sistemas que confiaban en el canal de actualización
Preocupa especialmente que no se haya detectado durante 6 meses
Las organizaciones deberían considerar despliegues graduales y monitoreo de tráfico de red anómalo, y los usuarios individuales deberían considerar usar gestores de paquetes con verificación criptográfica
Muchos programas se descargan desde sitios web llenos de publicidad y cada uno se actualiza de forma distinta
Microsoft Store tuvo la oportunidad de cambiar eso, pero fracasó tanto en diseño como en reputación
WinGet es mucho mejor, pero todavía está al nivel de una herramienta centrada en desarrolladores
Yo uso Notepad++ como reemplazo del Bloc de notas por defecto
Nunca entendí por qué la conexión de red venía activada de forma predeterminada
Lo primero que hice fue desactivarla, y ahora sigo usando satisfecho la versión de 2020
Si algún día lo necesito, pienso actualizar manualmente por mi cuenta
Notepad++ era uno de mis editores favoritos, pero después de este ataque quedó prohibido en el departamento de IT
Incluso verifican si está instalado durante las revisiones de seguridad
La respuesta en el blog oficial también generó inquietud, y parece que tomará mucho tiempo recuperar la confianza
Las dos funciones clave eran las pestañas y el corrector ortográfico, pero ahora el Bloc de notas básico también las soporta
Eso sí, apareció un botón de CoPilot, aunque se puede desactivar en la configuración
Por eso ejecuto muchas herramientas en un entorno sandbox
Así el daño queda limitado a ese directorio
No hay razón para que una herramienta acceda a mi unidad en la nube o a las cookies del navegador
La comunidad Linux se resiste a este enfoque, pero al final las apps sandbox al estilo iOS son el futuro
Porque los usuarios quieren controlar el comportamiento de las apps
Si el mundo FOSS ignora esto, al final todo se centralizará alrededor de las grandes tecnológicas
La app no debería poder salir de la raíz, y el acceso externo debería permitirse explícitamente
Las solicitudes de acceso en MacOS son muchas, pero creo que hace falta un control de permisos más detallado
Un editor de texto no necesita conexión de red, y puede filtrar al exterior el texto que se está editando
El atacante envía información del sistema, sube archivos a servicios como temp.sh y luego se comunica con el servidor C2
Como ejemplo, hay código donde Cobalt Strike Beacon se comunica con cdncheck.it[.]com
Este ataque muestra cómo desarrolladores y usuarios cada vez confían más en código que no han verificado por sí mismos
El mismo problema se repite en la instalación de paquetes npm/pip, en código generado por IA y en tendencias como el “vibe coding”
Notepad++ es un caso relativamente mejor porque es un solo binario, pero en los entornos modernos de desarrollo hay cientos de dependencias y código de IA mezclados
El sandboxing también es importante, pero el verdadero problema es la brecha entre lo que el código puede hacer y lo que esperamos que haga
Hacen falta herramientas para entender mejor el código que se está ejecutando
Hace 15 años nadie se preocupaba por la cadena de suministro, y los usuarios de Unix compilaban tarballs sin verificar nada
El sandboxing ayuda, pero no es una solución perfecta
Utilidades como Notepad++, que tienen permiso para editar archivos del sistema, siguen siendo riesgosas
Me pregunto si existe alguna herramienta oficial para detectar y limpiar una infección
El malware puede esconderse por todo el sistema, y las alertas de UAC por sí solas no lo detienen
Si ya estás infectado, me pregunto si Malwarebytes puede detectarlo
En el análisis de Rapid7 aparece lo mismo
Sorprende que ese enlace no estuviera en el aviso original
Me pregunto cómo lograron saltarse la firma digital de Notepad++
Lo descargué directamente y tenía una firma de código válida
Ahora estamos en una situación contradictoria: para bloquear vulnerabilidades de seguridad hay que actualizar con frecuencia, pero para evitar ataques a la cadena de suministro hay que ser más cauteloso con las actualizaciones
No sé cómo equilibrarlo
Últimamente las actualizaciones de Microsoft también han perdido confiabilidad, y cada vez más gente desactiva las actualizaciones automáticas por problemas como sistemas que dejan de arrancar
Documentación relacionada: Opciones de GitHub Dependabot
Las apps con mucha conexión a Internet deberían actualizarse con frecuencia, y en herramientas locales simples no pasa nada si se desactiva la actualización automática
Si manejas contenido de Internet, actualizar es indispensable, pero si es solo para uso local, basta con actualizar cuando haga falta
La mayoría de los casos están en algún punto intermedio
Como referencia, se compartió el análisis de Rapid7