Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-49144 — Prueba de concepto CVE-2025-49144 | Kitploit
Herramientas/GitHubGitHub/vr00mm/cve-2025-49144
Escalada de PrivilegiosMecanismos de PersistenciaExplotaciónComando y ControlIngeniería SocialAprendizaje y EducaciónRed TeamingDesarrollo de PayloadsExplotación de Binarios
GitHubvr00mm/cve-2025-49144

CVE-2025-49144

Prueba de concepto CVE-2025-49144

62hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

PoC de Plantación Binaria de Notepad++ (CVE-2025-49144)

⚠️ SOLO CON FINES EDUCATIVOS
Este código está diseñado para fines educativos y de investigación para comprender las vulnerabilidades de plantación binaria. Úselo solo en entornos controlados con la autorización adecuada.

📋 Resumen

Esta Prueba de Concepto demuestra la vulnerabilidad de plantación binaria en el instalador de Notepad++ (CVE-2025-49144) referenciada en GHSA-9vx8-v79m-6m24. La vulnerabilidad permite a un atacante obtener privilegios de nivel SYSTEM colocando un ejecutable malicioso llamado regsvr32.exe en el mismo directorio que el instalador de Notepad++.

🎯 Detalles de la Vulnerabilidad

  • Objetivo: Instalador de Notepad++ (todas las versiones anteriores a v8.8.2)
  • Método: Plantación binaria mediante regsvr32.exe malicioso
  • Causa raíz: Los instaladores de Notepad++ invocan binarios del sistema como regsvr32 sin especificar rutas absolutas
  • Impacto: Cuando un usuario ejecuta el instalador, el sistema carga automáticamente el archivo malicioso con privilegios SYSTEM, otorgando al atacante control total sobre la máquina objetivo
  • Vector de ataque: Ingeniería social o clickjacking para engañar a los usuarios para que descarguen tanto el instalador legítimo como un ejecutable malicioso en el mismo directorio (típicamente la carpeta Descargas)

🏗️ Arquitectura

El PoC consta de múltiples componentes que trabajan juntos:

root@kitploit:~
┌─────────────────────────┐    ┌────────────────────────┐    ┌────────────────────────────────┐
│ Instalador de Notepad++ │    │ regsvr32.exe malicioso │    │ Shell inversa (PowerShell)     │
│ (busca regsvr32.exe)    │───▶│ (binario CGO)          │───▶│ con privilegios SYSTEM         │
└─────────────────────────┘    └────────────────────────┘    └────────────────────────────────┘

Componentes Principales

🔧 Características Técnicas

🛡️ Técnicas de Evasión

  • Ofuscación de cadenas: La ruta de PowerShell está codificada con XOR para evitar la detección estática
  • Procesos separados: Crea procesos independientes que sobreviven a la terminación del padre
  • Suplantación de tokens: Escala privilegios robando tokens SYSTEM
  • Process Hollowing: Inyecta código en procesos legítimos de Windows

🌐 Capacidades de Red

  • TCP Keep-Alive: Mantiene conexiones persistentes a través de firewalls
  • Reintento de conexión: Reconexión automática con retardos configurables
  • Manejo de tiempos de espera: Operaciones de socket no bloqueantes con tiempos de espera adecuados
  • Limitación de velocidad: Evita el spam de conexiones y la detección

💻 Integración del Sistema

  • Integración CGO: Interoperabilidad fluida entre Go y C para llamadas al sistema
  • Suplantación de ejecutable: Imita el comportamiento legítimo de regsvr32.exe
  • Multihilo: Hilos separados para el manejo de stdin/stdout/stderr
  • Recuperación de errores: Manejo elegante de fallos de conexión y salidas de procesos
  • Gestión de recursos: Limpieza adecuada de manejadores, sockets y memoria

🚀 Instrucciones de Compilación

Requisitos Previos

root@kitploit:~
# Instalar Go (1.24+)
# Instalar MinGW-w64 para compilación CGO
# Instalar Git para control de versiones

Compilación

root@kitploit:~
# Clonar el repositorio
git clone https://github.com/Vr00mm/CVE-2025-49144
cd CVE-2025-49144

# Compilar como ejecutable (suplantando como regsvr32.exe)

# Para máximo sigilo (eliminar información de depuración)
go build -ldflags="-s -w" -o regsvr32.exe

# Para desarrollo (con símbolos de depuración)
go build -o regsvr32_debug.exe

📖 Uso

Plantación Binaria (Vector de Ataque Principal)

root@kitploit:~
# 1. Colocar regsvr32.exe malicioso en el mismo directorio que el instalador de Notepad++
# Generalmente la carpeta Descargas donde los usuarios descargan el instalador
copy regsvr32.exe "C:\Users\%USERNAME%\Downloads\"

# 2. El usuario descarga el instalador oficial de Notepad++ en la carpeta Descargas
# 3. Cuando el usuario ejecuta el instalador, primero busca regsvr32.exe en el directorio actual
# 4. El instalador encuentra y ejecuta nuestro regsvr32.exe malicioso con privilegios SYSTEM

# 5. Escuchar la conexión entrante de la shell inversa
ncat -tlnp 4445

🔍 Flujo del Ataque

root@kitploit:~
sequenceDiagram
    participant Usuario
    participant Atacante
    participant Descargas
    participant InstaladorNotepad
    participant Regsvr32Malicioso
    participant ProcesoSYSTEM

    Usuario->>Descargas: Descargar instalador de Notepad++
    Atacante->>Descargas: Colocar regsvr32.exe malicioso (ingeniería social)
    Usuario->>InstaladorNotepad: Ejecutar instalador desde la carpeta Descargas
    InstaladorNotepad->>Descargas: Buscar regsvr32.exe en el directorio actual
    Descargas->>Regsvr32Malicioso: Encontrar regsvr32.exe malicioso primero
    InstaladorNotepad->>Regsvr32Malicioso: Ejecutar con privilegios SYSTEM
    Regsvr32Malicioso->>Regsvr32Malicioso: Crear proceso separado
    Regsvr32Malicioso->>ProcesoSYSTEM: Enumerar procesos SYSTEM
    ProcesoSYSTEM->>Regsvr32Malicioso: Robar token de winlogon/servicios
    Regsvr32Malicioso->>Regsvr32Malicioso: Crear PowerShell con token SYSTEM
    Regsvr32Malicioso->>Atacante: Establecer conexión inversa
    Regsvr32Malicioso->>InstaladorNotepad: Continuar con funcionalidad legítima de regsvr32
    Atacante->>ProcesoSYSTEM: Ejecutar comandos como SYSTEM

🎓 Aspectos Educativos

Conceptos de Seguridad Demostrados

  1. Plantación Binaria

    • Comportamiento inseguro de búsqueda de rutas de ejecutables
    • Escalada de privilegios mediante vulnerabilidades de instaladores
    • Vectores de ataque de ingeniería social
  2. Escalada de Privilegios

    • Métodos de suplantación de tokens
    • Robo de tokens de procesos
    • Adquisición de acceso a nivel SYSTEM
  3. Mecanismos de Persistencia

    • Creación de procesos separados
    • Imitación de procesos de servicio
    • Lógica de reintento de conexión
  4. Programación de Redes

    • Implementación de shell inversa
    • Programación de sockets en C
    • Redes multiplataforma
  5. Programación CGO

    • Interoperabilidad Go a C
    • Programación a nivel de sistema en Go
    • Integración entre lenguajes

Objetivos de Aprendizaje

  • Comprender cómo funcionan las vulnerabilidades de plantación binaria
  • Aprender sobre rutas de búsqueda inseguras de ejecutables en instaladores
  • Explorar la escalada de privilegios en Windows mediante fallos de instaladores
  • Estudiar vectores de ataque de ingeniería social
  • Practicar programación CGO e integración entre lenguajes
  • Practicar codificación segura y análisis de vulnerabilidades

🛡️ Detección y Mitigación

Métodos de Detección

root@kitploit:~
# Monitorear uso sospechoso de regsvr32
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-PowerShell/Operational'; ID=4104}

# Verificar conexiones de red inusuales
netstat -ano | findstr ":4445"

# Monitorear creación de procesos
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4688}

Estrategias de Mitigación

  • Acción Inmediata: Actualizar a Notepad++ v8.8.2 o posterior, que establece explícitamente rutas absolutas al invocar ejecutables como regsvr32
  • Lista blanca de aplicaciones: Usar herramientas como AppLocker o Windows Defender Application Control
  • Verificación de ejecutables: Implementar verificación de firma digital para todos los ejecutables
  • Validación de rutas: Asegurar que las aplicaciones usen rutas completas para utilidades del sistema
  • Mínimo privilegio: Ejecutar aplicaciones con los permisos mínimos necesarios
  • Monitoreo de red: Monitorear conexiones salientes inusuales
  • Detección de endpoints: Implementar soluciones EDR para detectar process hollowing
  • Verificación de configuración: Evitar ejecutar instaladores desde ubicaciones escribibles por el usuario, como la carpeta Descargas

⚖️ Consideraciones Legales y Éticas

⚠️ Avisos Importantes

  • Autorización Requerida: Usar solo en entornos que posea o tenga permiso explícito para probar
  • Propósito Educativo: Este código está diseñado para aprendizaje e investigación de seguridad
  • Sin Intención Maliciosa: No está destinado a acceso no autorizado o actividades ilegales
  • Divulgación Responsable: Reportar cualquier vulnerabilidad encontrada a través de los canales adecuados

Directrices Éticas

  1. Uso Responsable: Usar solo para pruebas de seguridad y educación legítimas
  2. Sin Acceso No Autorizado: Nunca implementar contra sistemas sin permiso
  3. Atribución Adecuada: Acreditar a los investigadores originales y descubridores de vulnerabilidades
  4. Intercambio de Conocimiento: Compartir hallazgos de manera responsable con la comunidad de seguridad

🔧 Solución de Problemas

Problemas Comunes

Fallos de Conexión

root@kitploit:~
# Verificar si el puerto está disponible
netstat -ano | findstr ":4445"

# Verificar configuraciones de firewall
netsh advfirewall firewall show rule name=all | findstr "4445"

Errores de Compilación

root@kitploit:~
# Asegurar que CGO esté habilitado
set CGO_ENABLED=1

# Verificar instalación de MinGW
gcc --version

# Verificar que la instalación de Go soporte CGO
go env CGO_ENABLED

Fallos de Adquisición de Tokens

  • Asegurar que el programa se ejecute con privilegios suficientes
  • Verificar si hay procesos SYSTEM disponibles para robar tokens
  • Verificar la compatibilidad con la versión de Windows
  • Nota: Esta vulnerabilidad afecta a todas las versiones de Notepad++ anteriores a v8.8.2, por lo que el PoC debería funcionar en una amplia gama de instalaciones

📚 Referencias

  • Repositorio CVE-2025-49144
  • Aviso de Seguridad de Notepad++ GHSA-9vx8-v79m-6m24
  • NVD CVE-2025-49144
  • MITRE ATT&CK T1574.007 - Intercepción de ruta mediante variable de entorno PATH
  • MITRE ATT&CK T1134 - Manipulación de tokens de acceso
  • Documentación de Microsoft - Carga segura de binarios

📄 Licencia

Este proyecto se publica bajo la Licencia MIT con fines educativos. Consulte el archivo LICENSE para obtener más detalles.


Recuerde: Esta herramienta es solo para fines educativos y pruebas autorizadas. Siga siempre las prácticas de divulgación responsable y respete los límites legales.

Descargar herramienta
ArchivoPropósitoLíneas
main.goPunto de entrada, maneja la ejecución de regsvr32~80
winbind.hEncabezado principal con declaraciones de funciones~45
main.cLanzador principal de shell inversa y creación de procesos separados~75
shell.cManejador de shell con ejecución ofuscada de PowerShell~120
process.cAdquisición de tokens y creación de procesos SYSTEM~195
socket.cConexión de red con TCP keep-alive~85
threads.cHilos de E/S entre socket y pipes~60
utils.cValidación de entrada y limitación de velocidad~35
obfuscate.cTécnicas de ofuscación de ruta de PowerShell~70