
Una prueba de concepto mejorada para CVE-2025-52691 (SmarterMail Arbitrary File Upload RCE) con características de nivel APT como ofuscación sigilosa, persistencia, exfiltración y modo interactivo. Solo para fines educativos y pruebas autorizadas. Créditos al PoC original de yt2w/CVE-2025-52691.
Este es un exploit de prueba de concepto (PoC) mejorado para CVE-2025-52691, una vulnerabilidad crítica en el software de servidor de correo SmarterTools SmarterMail que permite la carga arbitraria de archivos sin autenticación, lo que potencialmente conduce a la ejecución remota de código (RCE). Esta versión incorpora técnicas de nivel APT para mejorar el sigilo, la persistencia y las capacidades operativas, lo que la hace adecuada para pruebas de penetración avanzadas y escenarios de equipo rojo.
ADVERTENCIA: Esta herramienta es solo para fines educativos y de pruebas autorizadas. El uso no autorizado contra sistemas sin permiso explícito es ilegal y poco ético. El autor no asume ninguna responsabilidad por el uso indebido.
requests, uuid, base64, random, time, logging, re
pip install requestsNo se necesitan dependencias adicionales más allá de las librerías estándar.
Clone el repositorio y ejecute el script con Python.
python exploit.py <target_url> [options]
<target_url>: La URL base del servidor SmarterMail (por ejemplo, https://mail.example.com).--targets-file <file>: Ruta a un archivo que contiene una lista de URL de destino (una por línea).-c, --command <cmd>: Comando a ejecutar después de la carga del shell (por ejemplo, whoami).-t, --timeout <seconds>: Tiempo de espera de la solicitud (predeterminado: 30).--proxy <url>: URL del proxy (por ejemplo, http://127.0.0.1:8080).--no-verify: Deshabilitar la verificación del certificado SSL.--check-only: Solo comprobar si el objetivo está activo y parece ser SmarterMail.--persistence: Establecer persistencia mediante una tarea programada.--exfil <remote:local>: Exfiltrar un archivo (por ejemplo, C:\\path\\to\\file.txt:local_copy.txt).--interactive: Entrar en modo de ejecución de comandos interactivo.Exploit Básico:
python exploit.py https://mail.vulnerable.com
Ejecutar un Comando:
python exploit.py https://mail.vulnerable.com -c "systeminfo"
Con Proxy y Persistencia:
python exploit.py https://mail.vulnerable.com --proxy http://127.0.0.1:8080 --persistence
Modo Interactivo con Limpieza:
python exploit.py https://mail.vulnerable.com --interactive --cleanup
Exploit por Lotes desde un Archivo:
python exploit.py --targets-file targets.txt
La explotación exitosa mostrará la ruta del shell, la URL de acceso (con contraseña de autenticación) y cualquier salida de comandos. Los registros se imprimen en la consola; para el registro en archivo, modifique el setup_logging del script según sea necesario.
Esta versión mejorada se basa en el PoC original de yt2w. Las modificaciones significativas incluyen características de nivel APT, ofuscación y mejoras de usabilidad. Gracias al autor original por el trabajo fundamental.
Esta herramienta demuestra una vulnerabilidad con fines educativos. Úsela de manera responsable y solo en sistemas que posea o tenga permiso explícito para probar. Asegúrese de cumplir con todas las leyes y pautas éticas aplicables. Los desarrolladores renuncian a cualquier responsabilidad por uso indebido. Si encuentra problemas o tiene sugerencias, abra un problema en GitHub.
Licencia MIT. Consulte LICENSE para más detalles.
--cleanup: Eliminar el shell cargado después de su uso.--log-level <level>: Establecer nivel de registro (DEBUG, INFO, WARNING, ERROR; predeterminado: INFO).