CVE-2018-1000861
Script simple para explotar CVE-2018-1000861, escrito en Python 3
Uso:
usage: exploit.py [-h] -u URL [-c CMD] [-r] [-i IP] [-p PORT] [-v]
options:
-h, --help show this help message and exit
-u URL, --url URL Target Jenkins server
-c CMD, --cmd CMD Command to execute
-r, --revshell Execute reverse shell
-i IP, --ip IP IP address for reverse shell callback
-p PORT, --port PORT Port for reverse shell callback
-v, --verbose Verbose output
Ej.:
python exploit.py -u http://192.168.1.20 -c 'ping 192.168.1.10'
Notas:
- Esta herramienta no intenta verificar si el objetivo es vulnerable. Todo lo que hace es insertar un comando de shell en una clase Java.
- Los comandos de shell ejecutados no devolverán salida. Necesitarás tener un método para verificar que el comando se ejecuta (por ejemplo, ping + tcpdump) o usar una reverse shell
- Esta vulnerabilidad afecta tanto a instalaciones de Jenkins en Linux como en Windows donde el . Deberías intentar verificar el sistema operativo del objetivo antes de ejecutar esto (por ejemplo, a través del TTL de ICMP o de los servicios disponibles)
- El script debería funcionar tanto en Linux como en Windows
- Módulo de reverse shell (opciones
-r, -i, p) no está implementado
- Usa responsablemente
Pendientes:
Referencias: