Webadmin 1.580 RCE PoC (CVE-2012-2982)
Este repositorio contiene un exploit de prueba de concepto (PoC) en Python para Webmin versión 1.580, que es vulnerable a ejecución remota de comandos (RCE) debido a una sanitización inadecuada de entradas. La vulnerabilidad existe en el componente file/show.cgi y permite a un usuario Webmin autenticado con acceso al módulo de administración de archivos ejecutar comandos arbitrarios del sistema operativo como root.
Este PoC fue desarrollado con fines educativos y de investigación y probado en un entorno de laboratorio controlado (TryHackMe).
⚠️ Este proyecto está destinado estrictamente a fines educativos y pruebas de seguridad autorizadas únicamente.
🛡️ Detalles de la Vulnerabilidad
- Producto: Webmin
- Versión: 1.580
- CVE: CVE-2012-2982
- Tipo de vulnerabilidad: Ejecución remota de comandos autenticada
- Impacto: Permite a usuarios autenticados ejecutar comandos arbitrarios del sistema en el servidor
🛡️ Cómo se Explota la Vulnerabilidad
- La vulnerabilidad existe debido a una validación insuficiente de entradas en el componente
file/show.cgi de Webmin 1.580
- La entrada controlada por el usuario se maneja incorrectamente mediante comandos de shell del backend
- Caracteres especiales como el carácter de tubería (
|) no se sanitizan
- Un atacante autenticado puede inyectar comandos de shell arbitrarios
- Los comandos inyectados se ejecutan con los privilegios del proceso Webmin (root)
En este PoC:
- Se envía una URL manipulada a
show.cgi
- Se utilizan caracteres de tubería para evadir la lógica prevista de manejo de archivos
- Se ejecutan comandos arbitrarios del sistema en el servidor
Ejecutar el Exploit
Uso
# Usage:
# python3 webmin.py <target> -u <username> -p <password> -c "<command>"
# Example:
python3 webmin.py https://10.10.10.10:10000 -u admin -p admin123 -c "id"
🛡️ Créditos
- Descubrimiento de la vulnerabilidad: CVE-2012-2982 fue descubierto originalmente por Weston Wagner de American InfoSec Group
- Este repositorio proporciona una implementación independiente de prueba de concepto con fines educativos