Voilà mon petit tutoriel simple sur l'exploitation de la vulnérabilité Shellshock.
Ce tutoriel étant un test en condition réelle, je ne masquerai pas les URL et les IP, par conséquent restez sérieux et respectueux tel un digne Hackadémicien.
Attention tout de même : je précise encore que ce tutoriel est seulement à but éducatif, vous seul êtes responsable de vos actes.
I - Qu'est-ce que la vulnérabilité shellshock exactement ?
Le plus simple pour en comprendre le fonctionnement reste quand même Wikipédia :
http://fr.wikipedia.org/wiki/Shellsh..._informatique)
En résumé, cette faille permet l'injection de commandes Bash dans un environnement non sécurisé.
Pour vous familiariser au Bash, voici un petit tutoriel vraiment complet :
http://abs.traduc.org/abs-fr/
II - Recherche d'information sur la cible
Pour ce tutoriel je vais prendre ce site :
http://www.site.com
Comment allons-nous procéder ?
Par habitude j'aime découvrir les répertoires et fichiers d'un site, ce qui me donne une idée des types de vulnérabilités que je pourrai trouver : pour ce faire je vais utiliser DIRB.
DIRB- URL Bruteforcer est un scanner de contenu Web. Il cherche des objets cachés sur le Web. Il travaille essentiellement en lançant des attaques basées sur des dictionnaires pour analyser les réponses de serveur Web. Le but principal est d’aider à l’audit d’application web.
Il peut aussi être utilisé à des fins moins louables pour faire un inventaire du répertoire caché afin de les télécharger, par exemple avec Httrack, permettant une analyse approfondie du site web hors ligne.
En lançant Dirb, on peut apercevoir le répertoire cgi-bin
Bon sans vraiment y croire j'utilise Google pour lister le répertoire et voir ce qu'il me trouve.
Google ne me sort qu'un seul lien lié au répertoire cgi-bin.
Dork:
Fichier trouvé : http://www.site.com/cgi-bin/puntsch.sh?customer=cag
Passons au test, c'est rapide, car ce n'est qu'un lien. À noter qu'à ce niveau je ne pensais pas trouver de vulnérabilité.
III - Découverte de la faille
Pour vérifier, je vais injecté un code bash avec Firefox pour lire le fichier /etc/passwd :
Il me demande de télécharger, puis je l'ouvre avec gedit :
Voilà le résultat :
Sans le vouloir, je viens de trouver une vulnérabilité de type Shellshock.
IV - Exploitation
Passons à l'exploitation.
Récapitulons un peu ce que l'on a trouvé en terme d'informations :
- Un site :http://www.site.com/
- Un Path vulnérable au shellshock : /cgi-bin/puntsch.sh?customer=cag
Ce qui nous manque c'est l'exploit metasploit.
Je vais utiliser l'exploit CVE-2014-627
http://www.rapid7.com/db/modules/exp..._bash_env_exec
En regardant d'un peu plus près l'exploit, il requiert une IP et non pas une URL.
On pourrait par exemple lancer un ping sur le serveur pour retrouver son IP, mais moi je préfère Whatweb, car il me donnera aussi des informations sympa, comme la version du PHP, le cms utilisé (si possible), etc.
Grâce à WhatWeb l'IP est ***.90.**.66.
Lançons metasploit :
Ajoutons notre exploit et utilisons le PAYLOAD linux/x86/meterpreter/reverse_tcp pour obtenir un shell :
Ajoutons le RHOST (IP victime), le Targeturi (path), le Lhost ( votre IP) :
Et lançons la commande exploit :
Voilà, nous obtenons un shell.
J'ai masqué l'URL et l'IP du site, et si j'ai le temps je posterai un tutoriel sur le shellshock par injection de code manuellement, et shellshock via le protocole smtp (Qmail).
Fin de ce tutoriel, j'espère que vous l'avez apprécié.
Ce tutoriel étant un test en condition réelle, je ne masquerai pas les URL et les IP, par conséquent restez sérieux et respectueux tel un digne Hackadémicien.
Attention tout de même : je précise encore que ce tutoriel est seulement à but éducatif, vous seul êtes responsable de vos actes.
I - Qu'est-ce que la vulnérabilité shellshock exactement ?
Le plus simple pour en comprendre le fonctionnement reste quand même Wikipédia :
http://fr.wikipedia.org/wiki/Shellsh..._informatique)
En résumé, cette faille permet l'injection de commandes Bash dans un environnement non sécurisé.
Pour vous familiariser au Bash, voici un petit tutoriel vraiment complet :
http://abs.traduc.org/abs-fr/
II - Recherche d'information sur la cible
Pour ce tutoriel je vais prendre ce site :
http://www.site.com
Comment allons-nous procéder ?
Par habitude j'aime découvrir les répertoires et fichiers d'un site, ce qui me donne une idée des types de vulnérabilités que je pourrai trouver : pour ce faire je vais utiliser DIRB.
DIRB- URL Bruteforcer est un scanner de contenu Web. Il cherche des objets cachés sur le Web. Il travaille essentiellement en lançant des attaques basées sur des dictionnaires pour analyser les réponses de serveur Web. Le but principal est d’aider à l’audit d’application web.
Il peut aussi être utilisé à des fins moins louables pour faire un inventaire du répertoire caché afin de les télécharger, par exemple avec Httrack, permettant une analyse approfondie du site web hors ligne.
En lançant Dirb, on peut apercevoir le répertoire cgi-bin
Bon sans vraiment y croire j'utilise Google pour lister le répertoire et voir ce qu'il me trouve.
Google ne me sort qu'un seul lien lié au répertoire cgi-bin.
Dork:
Code:
site:http://www.site.com/cgi-bin
Passons au test, c'est rapide, car ce n'est qu'un lien. À noter qu'à ce niveau je ne pensais pas trouver de vulnérabilité.
III - Découverte de la faille
Pour vérifier, je vais injecté un code bash avec Firefox pour lire le fichier /etc/passwd :
Il me demande de télécharger, puis je l'ouvre avec gedit :
Voilà le résultat :
Sans le vouloir, je viens de trouver une vulnérabilité de type Shellshock.
IV - Exploitation
Passons à l'exploitation.
Récapitulons un peu ce que l'on a trouvé en terme d'informations :
- Un site :http://www.site.com/
- Un Path vulnérable au shellshock : /cgi-bin/puntsch.sh?customer=cag
Ce qui nous manque c'est l'exploit metasploit.
Je vais utiliser l'exploit CVE-2014-627
http://www.rapid7.com/db/modules/exp..._bash_env_exec
En regardant d'un peu plus près l'exploit, il requiert une IP et non pas une URL.
On pourrait par exemple lancer un ping sur le serveur pour retrouver son IP, mais moi je préfère Whatweb, car il me donnera aussi des informations sympa, comme la version du PHP, le cms utilisé (si possible), etc.
Grâce à WhatWeb l'IP est ***.90.**.66.
Lançons metasploit :
Ajoutons notre exploit et utilisons le PAYLOAD linux/x86/meterpreter/reverse_tcp pour obtenir un shell :
Ajoutons le RHOST (IP victime), le Targeturi (path), le Lhost ( votre IP) :
Et lançons la commande exploit :
Voilà, nous obtenons un shell.
J'ai masqué l'URL et l'IP du site, et si j'ai le temps je posterai un tutoriel sur le shellshock par injection de code manuellement, et shellshock via le protocole smtp (Qmail).
Fin de ce tutoriel, j'espère que vous l'avez apprécié.
Commentaire