🌙
  • đŸ‡ș🇾 English
  • đŸ‡«đŸ‡· Français
  • đŸ‡Ș🇩 Español

NOTE Post Réécriture : Cet article, et bien d’autres, fait parti de la sĂ©rie “Script kiddie”. Il a Ă©tĂ© Ă©crit il y a plusieurs annĂ©es. Son contenu n’est pas Ă  jour et il contient potentiellement des erreurs. Plus d’information sur la page de prĂ©sentation de la sĂ©rie.

La mĂ©thode BruteForce consiste Ă  tester toutes les possibilitĂ©s pour trouver un mot de passe. C’est une technique trĂšs simple qui peut demander beaucoup de temps, on prĂ©fĂ©rera donc l’utiliser en dernier recours ou en mĂȘme temps qu’une autre attaque (au cas oĂč). Pour plus d’informations sur le vocabulaire employĂ©, rĂ©fĂ©rez-vous au chapitre sur la cryptographie.

Pour faire nos expériences, on se basera sur un hash trÚs simple que vous pouvez obtenir avec la commande suivante :

echo "12345" | md5sum | tr -d “  -”
d577273ff885c3f84dadb8578bb41399

Collez-le Ă  l’intĂ©rieur d’un fichier nommĂ© pass.txt.

Accessoirement, vous aurez Ă©galement besoin de dictionnaires, c’est-Ă -dire de grandes listes de mots constituant un ensemble de possibilitĂ© de mot-de-passe. Vous en trouverez Ă  cette adresse.

John The Ripper, l’attaque sur CPU

John The Ripper est l’outil de cracking prĂ©fĂ©rĂ© des hackers. Il utilise les ressources du processeur (CPU) pour attaquer, ce qui en fait un outil facile Ă  installer par apport Ă  d’autre, et qui donne l’avantage d’avoir de bonnes performances sans carte graphique (dans la limite de la puissance de l’ordinateur).

Pour l’installer, soit vous passez par GitHub, soit par snap :

apt install john

John The Ripper, que l’on va appeler JtR maintenant, offre de nombreux avantages, comme la reconnaissance du hash, le fonctionnement sur de multiple types de hash et de multiple plateformes.

Il dispose Ă©galement de plusieurs mĂ©thodes d’attaque :

C’est trois techniques peuvent se mettre en commande, et s’exĂ©cuter trĂšs simplement :

john --single pass.txt
john pass.txt --wordlist=[chemin]
john --incremental pass.txt

Une fois le travail effectué, pour voir le résultat, tapez simplement :

john --show pass.txt

Afin de gagner un peu de temps, vous pouvez préciser le type de hash que vous allez donner à john :

john --single pass.txt --format=RAW-MD5

Vous pouvez obtenir la liste des formats supportés avec :

john --list=formats

Laissez-moi dĂšs Ă  prĂ©sent vous montrer un cas bien pratique d’utilisation de JtR. Avec ce logiciel, il devient trĂšs facile de contourner les mots de passe d’une archive zip.

Par exemple, créons une archive avec cette commande :

zip -e -r pass.zip pass.txt

Le programme vous demande alors de saisir un mot de passe, puis de le vérifier. Je vous encourage à en mettre un pas trÚs long afin de ne pas surcharger John lors de ce petit exercice.

On va Ă  prĂ©sent utiliser la commande zip2john pour crĂ©er un hash Ă  partir de cette archive. Sur certaines installations, la commande peut ĂȘtre john-the-ripper.zip2john :

zip2john pass.zip > hash.txt

Notre nouveau fichier contient Ă  prĂ©sent le hash de l’archive, il n’y a plus qu’à le cracker simplement avec cette commande :

john --format=zip hash.txt

Vous n’avez plus qu’à rĂ©cupĂ©rer le mot-de-passe avec la commande plus haute.

Hashcat, l’attaque au GPU

Hashcat est Ă©galement un logiciel de BruteForce trĂšs utilisĂ© par les communautĂ©s de Hackers. Sa grande diffĂ©rence avec john est que, bien qu’il soit possible de le faire fonctionner sur le CPU, il fonctionne majoritairement sur la carte graphique (GPU). Ainsi, il va nous falloir quelques instructions en plus pour le faire fonctionner parfaitement.

D’abord installons-le avec :

apt install hashcat

Nous allons Ă©galement recourir Ă  un deuxiĂšme paquet qui sera trĂšs utile pour beaucoup d’opĂ©rations : https://github.com/hashcat/hashcat-utils.git

Vérifiez ensuite si hashcat est pris en charge par votre carte graphique avec cette commande :

hashcat -I

Si elle renvoie ceci :

hashcat (v5.1.0) starting...

No devices found/left.

C’est qu’il va falloir installer les drivers de votre carte graphique. Quelques instructions sont prĂ©sentes ici : https://hashcat.net/hashcat/

Je possùde un intel i915, si c’est aussi votre cas, vous trouverez votre bonheur ci-dessous


https://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/15532/l_opencl_p_18.1.0.015.tgz

Pour avoir un peu plus d’informations sur hashcat, le mieux reste encore de jeter un Ɠil à sa documentation :

hashcat -h

On remarquera que les paramÚtres les plus imortants sont en haut du tableau. En effet, -a et -m respectivement utilisé pour rentrer en mode attaque et pour spécifier le type de hash seront souvent présents dans vos instructions.

Vous avez ensuite la liste des algorithmes pris en charge. Le nombre prĂ©sent sur la colonne de gauche correspond au nom de l’algorithme que vous allez essayer de cracker. Vous avez les formats de hash, les modes d’attaques, le branchement de l’attaque sur le GPU ou le CPU, les performances de la machine allouĂ©es Ă  l’exĂ©cution et enfin quelques exemples d’utilisation.

Je n’ai presque rien Ă  ajouter, Ă  part appliquer Ă  hashcat notre exemple de tout Ă  l’heure. Si l’on reprend notre fichier pass.txt, la commande pour cracker le mot-de-passe prĂ©sent Ă  l’intĂ©rieur sera alors :

hashcat -m 0 -a 0 -o resultat.txt pass.txt richelieu.txt

Ici j’utilise l’algorithme MD5, en mode d’attaque par dictionnaire. Le rĂ©sultat sera placĂ© dans le fichier resultat.txt, aprĂšs avoir dĂ©cryptĂ© le fichier pass.txt grĂące Ă  la liste de mots (dictionnaire) richeulieu.txt.

Comme pour John The Ripper, je vais vous présenter une utilisation un peu plus pratique de Hashcat.

Vous vous rappelez du chapitre sur les rĂ©seaux wifis ? Eh bien il est temps de passer Ă  l’étape supĂ©rieure avec hashcat en augmentant la rapiditĂ© du crack. Pour ce faire, nous avons besoin du fichier contenant le handhake et nous allons le passer dans un des programmes de hashcat-utils. En effet, le handshake sera dans le fichier avec l’extension .cap. Hashcat ne comprenant pas ce genre de fichier, il va falloir le convertir avec hcat-utils en hccapx. Allez dans le dossier /src du dĂ©pĂŽt hashcat-utils, puis tapez :

./cap2hccapx [fichierCap] [sortieHccapx]

Le premier chemin est celui vers votre fichier .cap, le deuxiÚme sera pour le nom du fichier dans lequel écrire.

Il va falloir ensuite trouver le mode que hashcat va utiliser :

hashcat --help 

Ici, on cherche le protocole WPA, vous pouvez ajuster la sortie du manuel avec grep.

Ça devrait s’afficher comme ceci :

2500 | WPA-EAPOL-PBKDF2                           Network Protocols

Une fois choisi, tapez :

crunch [min] [max] [chaĂźne] (options) | hashcat -m 2500 [fichierHccapx]

Avec Hashcat, la rapidité de votre ordinateur devrait accrue. Elle dépendra cette fois-ci de la puissance de votre carte graphique.

Hydra, l’attaque de services

Passons à présent à un logiciel de BruteForce un peu moins utilisé que les deux autres, Hydra. Hydra sert majoritairement à attaquer des services pour trouver un mot de passe, là ou les deux autres sont utilisés pour le crack sur des hash présents sur la machine.

Pour installer Hydra :

apt install hydra

Je vous conseille de faire comme avec hashcat et de jeter directement un Ɠil à l’aide qui est plutît bien remplie :

hydra -h

Vous avez la liste des services pouvant ĂȘtre attaquĂ©s par hydra en dessous de supported services, ainsi que quelques exemples d’utilisation Ă  la fin. On en dĂ©duira qu’une des syntaxes les plus couramment utilisĂ©es est la suivante :

hydra -l [nomUtilisateur] -P [dictionnaire] [IP] [service]

Un rapide exemple pour la route. Si je veux trouver le mot de passe du super-utilisateur sur la machine 80.74.144.93 :

hydra -l root -P 1millionProbable.txt -s 2121 80.74.144.93 ssh

Il me faut tout de mĂȘme faire un petit apartĂ© sur les services Web puisque ceux-ci ont une syntaxe un peu particuliĂšre :

hydra -l [nom] -P [dictionnaire] [IP] http-post-form “[chemin]:[var1]=[val1]&[var2]=[val2](&[plus2parametres]):[Echec]”

Expliquons cette commande qui est assez grosse pour le coup :

Si certains mots ne vous paraissent pas clairs, tous ces termes ainsi que de plus amples explications sont prĂ©sents dans la partie sur les requĂȘtes HTTP modĂ©fiĂ©es.

Comme un exemple vaut mieux qu’un long discours, voici ce que cette commande peut donner :

hydra -l Administrateur -p richelieu.txt 172.17.200.30 http-post-form "/login:user=^USER^&password=^PASS^:Échec de la connexion (nom d’utilisateur ou mot de passe non valide)"

Ainsi, ^USER^ prendra la valeur de -l (ou -L) et ^pass^ la valeur de -p (ou -P).

Vous voilĂ  maintenant prĂȘts Ă  pouvoir contourner n’importe quel mĂ©canisme de sĂ©curitĂ©. Cependant, gardez bien Ă  l’esprit que cette mĂ©thode doit constituer le dernier recours de l’exploitation et non pas la stratĂ©gie de base. Elle s’avĂšre pratique pour rĂ©cupĂ©rer un maximum de mot-de-passe hashĂ© dans une base de donnĂ©es, mais inutile pour rĂ©cupĂ©rer les identifiants du super-utilisateur sur le service SSH quand d’autres mĂ©thodes sont disponibles sur la machine.

Bonus : DĂ©couvrir les rĂ©pertoires cachĂ©s d’un site

Un service web est un dossier comportant plusieurs ressources que le client peut consulter. Bien souvent, il s’agit de document HTML, XML, PHP ou de simples textes, mais il peut s’agir d’autres types de fichier (CSS, JavaScript, Musique, Images, VidĂ©os, etc.).

Il demeure cependant un problĂšme, nous ne pouvons pas nous promener librement sur le site sans avoir l’URL exacte pour consulter une ressource. Cela ne pose pas de soucis quand elles sont indexĂ©es (mises en lien sur une page), mais lorsque l’administrateur cache volontairement des informations, il est plus difficile de les retrouver.

Ainsi, le logiciel DirBuster rĂ©pond Ă  ce problĂšme en essayant chaque possibilitĂ© d’URL que vous lui donnerez. Autrement dit, il va vĂ©rifier si tels ou tels pages existent selon le dictionnaire que vous lui avez donnĂ©.

Vous le trouverez ici : https://sourceforge.net/projects/dirbuster/

Une fois dĂ©compressĂ©, le dossier comporte plusieurs listes ainsi que le logiciel sous le format .jar, il faut avoir Java d’installer pour le lancer, vous trouverez suffisamment d’informations sur Internet pour savoir comment faire.

Lancer DirBuster :

java -jar DirBuster-0.12.jar

Ici, nous nous pencherons uniquement sur une utilisation classique de DirBuster, libre à vous d’approfondir derriùre. Pour se faire :

Une fois tout cela rempli, appuyez sur Start, le programme fait le reste du boulot.

D’autres logiciels, un peu plus modernes, existent et peuvent constituer de bonnes alternatives à DirBuster si l’installation de java vous effraie. Par exemple : https://github.com/stefanoj3/dirstalk.

Par apport aux autres méthodes de BruteForce, la recherche de dossiers cachés sur un site web est indispensable. Elle peut vous donner accÚs à des panels secrets et à des interfaces de connexion bien gardées.