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-9491_POC — Prueba de concepto del CVE-2025-9491 usando caracteres invisibles en los argumentos de un archivo de acceso directo de Windows (.lnk) | Kitploit
Herramientas/GitHubGitHub/amperclock/cve-2025-9491_poc
ExplotaciónPruebas de PenetraciónAnálisis de BinariosAprendizaje y EducaciónRed TeamingDesarrollo de Payloads
GitHubamperclock/cve-2025-9491_poc

CVE-2025-9491_POC

Prueba de concepto del CVE-2025-9491 usando caracteres invisibles en los argumentos de un archivo de acceso directo de Windows (.lnk)

Ver Repositorio
184hace 9 mesesAú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

CVE-2025-9491 PoC de Ofuscación LNK

Una herramienta de prueba de concepto para demostrar la vulnerabilidad de los archivos de acceso directo (LNK) de Windows (ZDI-CAN-25373/CVE-2025-9491). Esta herramienta muestra cómo se pueden ocultar argumentos de línea de comandos maliciosos dentro de archivos .lnk aprovechando el relleno de caracteres de espacio en blanco.

**Esta herramienta se proporciona solo con fines educativos y de pruebas de seguridad autorizadas. El acceso no autorizado a sistemas informáticos es ilegal. Use esta herramienta solo en sistemas que posea o tenga permiso explícito para probar.


Tabla de Contenidos

  • Descripción
  • Detalles de la Vulnerabilidad
  • Instalación
  • Uso
    • Modo Crear
    • Modo Ofuscar
    • Modo Analizar
  • Créditos

Descripción

Esta es una herramienta de prueba de concepto para crear y manipular archivos .lnk (accesos directos) de Windows con el fin de demostrar la vulnerabilidad CVE-2025-9491. La herramienta permite a los usuarios:

  1. Crear nuevos archivos LNK ofuscados desde cero
  2. Ofuscar archivos LNK existentes añadiendo relleno a sus argumentos
  3. Analizar archivos LNK para inspeccionar su contenido

La vulnerabilidad explota cómo Windows muestra las propiedades de los archivos de acceso directo, permitiendo a los atacantes ocultar argumentos de línea de comandos maliciosos de los usuarios que inspeccionan el acceso directo.


Detalles de la Vulnerabilidad

CVE-2025-9491 es una vulnerabilidad de tergiversación de la interfaz de usuario de Windows que afecta a los archivos .lnk (accesos directos). Fue descubierta por la Iniciativa Zero Day de Trend Micro (ZDI-CAN-25373) y ha sido explotada por grupos APT patrocinados por estados desde al menos 2017 (consulte Créditos para obtener detalles adicionales al respecto).

La vulnerabilidad explota el campo de "Destino" de tamaño fijo de la interfaz de usuario de acceso directo de Windows. Al rellenar los argumentos con caracteres de espacio en blanco (espacio, tabulación, salto de línea, retorno de carro), un actor malicioso puede: ocultar comandos maliciosos y ejecutar cargas útiles ocultas. Esto también se puede utilizar para evadir la detección, ya que los usuarios que inspeccionan el acceso directo ven solo el espacio en blanco rellenado, no el comando real; el EDR tendrá una línea de comandos extremadamente larga en la telemetría y, si es lo suficientemente larga, el EPP o AV común abandonará su lectura por completo.


Instalación

Se requiere Python 3.7 o superior.

  1. Clone o descargue el repositorio:

    root@kitploit:~
    git clone https://github.com/amperlcock/CVE-2025-9491_POC.git
    cd CVE-2025-9491_POC
    
  2. Instale las dependencias:

    root@kitploit:~
    Método rápido y sucio, se prefiere venv.
    pip install -r requirements.txt
    
  3. Ejecute la herramienta:

    root@kitploit:~
    python main.py --help
    

Uso

La herramienta tiene tres modos principales: create (crear), obfuscate (ofuscar) y parse (analizar).

Modo Crear (create)

Cree un nuevo archivo LNK ofuscado desde cero.

Sintaxis:

root@kitploit:~
python main.py create -t TARGET -a ARGUMENTS -o OUTPUT [options]

Argumentos requeridos:

  • -t, --target - Ruta al archivo ejecutable de destino
  • -a, --arguments - Argumentos a pasar al ejecutable de destino
  • -o, --output - Destino del archivo LNK de salida

Argumentos opcionales:

  • -c, --charset - Conjunto de caracteres personalizado para el relleno (formato HEX)

    • Predeterminado: 20,09,0A,0B,0C,0D (espacio, tabulación, LF, VT, FF, CR)
    • Formato: Valores HEX separados por comas (sin prefijo 0x)
  • -s, --padding_size - Número de caracteres de relleno

    • Predeterminado: 128 (sin límite conocido)
    • Tipo: Entero
  • -p, --pattern_type - Estilo de patrón de relleno

    • 1 (predeterminado): Patrón aleatorio - Usa selección aleatoria del conjunto de caracteres
    • 2: Patrón mono - Repite el primer elemento del conjunto de caracteres
    • 3: Patrón cíclico - Cicla a través de los elementos del conjunto de caracteres
  • -i, --icon - Ruta a un icono personalizado para el acceso directo

    • Predeterminado: Ninguno (usa el icono predeterminado)
  • -d, --description - Descripción visible para el acceso directo

    • Predeterminado: Ninguno
  • -v, --verbose - Habilitar salida detallada

Ejemplo:

root@kitploit:~
python main.py create -t C:\Windows\System32\cmd.exe -a "/c whoami" -o output.lnk -s 256 -v

Modo Ofuscar (obfuscate)

Agregue relleno a los argumentos de un archivo LNK existente.

Sintaxis:

root@kitploit:~
python main.py obfuscate -i INPUT -o OUTPUT [options]

Argumentos requeridos:

  • -i, --input - Ruta al archivo LNK existente a ofuscar
  • -o, --output - Destino del archivo LNK de salida

Argumentos opcionales:

  • -c, --charset - Conjunto de caracteres personalizado para el relleno (formato HEX)

    • Predeterminado: 20,09,0A,0B,0C,0D
    • Formato: Valores HEX separados por comas
  • -s, --padding_size - Número de caracteres de relleno

    • Predeterminado: 128
    • Tipo: Entero
  • -p, --pattern_type - Estilo de patrón de relleno

    • 1 (predeterminado): Patrón aleatorio
    • 2: Patrón mono
    • 3: Patrón cíclico
  • -v, --verbose - Habilitar salida detallada

    • Muestra operaciones de carga de archivos, generación de relleno y guardado

Ejemplo:

root@kitploit:~
python main.py obfuscate -i benign.lnk -o obfuscated.lnk -s 256 -p 3 -v

Modo Analizar (parse)

Muestre el contenido de un archivo LNK existente.

Sintaxis:

root@kitploit:~
python main.py parse -i INPUT

Argumentos requeridos:

  • -i, --input - Ruta al archivo LNK a analizar y mostrar

Ejemplo:

root@kitploit:~
python main.py parse -i output.lnk

Ejemplos

Ejemplo 1: Crear un Acceso Directo Ofuscado Simple

root@kitploit:~
python main.py create \
  -t "cmd.exe" \
  -a "/c powershell -Command Get-Process" \
  -o malicious.lnk \
  -s 200 \
  -p 1 \
  -v

Esto crea un acceso directo a cmd.exe con un comando de PowerShell oculto precedido por 200 caracteres de relleno aleatorios.

Ejemplo 2: Ofuscar un Acceso Directo Existente

root@kitploit:~
python main.py obfuscate \
  -i "legitimate.lnk" \
  -o "obfuscated.lnk" \
  -s 512 \
  -c "20,09,0A" \
  -p 2

Esto añade 512 caracteres de relleno de patrón mono (usando espacio y tabulación) a un acceso directo existente.

Ejemplo 3: Inspeccionar un Archivo LNK

root@kitploit:~
python main.py parse -i "suspicious.lnk"

La salida muestra todas las propiedades, incluidos los argumentos ocultos.

Ejemplo 4: Patrón de Conjunto de Caracteres Personalizado

root@kitploit:~
python main.py create \
  -t "powershell.exe" \
  -a "-NoProfile -ExecutionPolicy Bypass -Command 'Get-ChildItem'" \
  -o output.lnk \
  -c "20,09,0A,0B,0C,0D" \
  -s 1024 \
  -p 3 \
  -d "My Document"

Créditos

  • Descubrimiento de la vulnerabilidad: Iniciativa Zero Day de Trend Micro ZDI-CAN-25373
  • Librería pylnk3: Strayge y colaboradores
  • Librería pylnk original: tim-erwin
Descargar herramienta
  • Predeterminado: Deshabilitado