Comment utiliser les meilleurs outils de piratage de Linux

Les systèmes d'exploitation basés sur Linux et Unix ont été au cœur des domaines de la sécurité de l'information, de la sécurité des réseaux, de la cryptographie, etc. Ils sont livrés avec une grande variété d'outils destinés à des fins de cybersécurité.

Jetons un coup d'œil à trois de ces outils : Aircrack-ng, Jack The Ripper et Radare2.

Suite Aircrack-ng

La suite Aircrack-ng est peut-être l'ensemble d'outils de détection de réseau WiFi et de capture de mot de passe le plus largement utilisé. Il est destiné à déchiffrer les mots de passe de réseau sans fil du protocole IEEE 802.11, qui sont principalement protégés par les normes Wifi Protected Access (WPA) ou Wifi Protected Access 2 (WPA2) et authentifiés par la méthode d'authentification à clé pré-partagée (PSK).

Il propose des programmes séparés pour surveiller l'état des périphériques réseau, capturer des paquets et transférer des fichiers, déchiffrer des mots de passe, etc.

Notez que le craquage de WPA/WPA2 à l'aide d'algorithmes cryptographiques s'est avéré presque impossible par les chercheurs. Par conséquent, le moyen de cracker WPA/WPA2 par des programmes comme aircrack-ng est Brute Force et nécessite un dictionnaire de mots de passe pour le cracker. Cela signifie qu'il ne peut déchiffrer le mot de passe que s'il s'agit d'un mot du dictionnaire.

Vous pouvez facilement installer Aircrack-ng sur votre système à l'aide du script d'installation fourni par packagecloud.io. Ouvrez le terminal et exécutez les commandes suivantes en fonction de votre type de système d'exploitation Linux.

Sur les distributions basées sur Debian, exécutez la commande suivante :

curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.deb.sh | coup de sudo

Pour Red-hat Package Manager (RPM), exécutez la commande suivante :

curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.rpm.sh | coup de sudo

Essayons maintenant de déchiffrer le mot de passe d'un réseau Wi-Fi local à l'aide d'Aircrack-ng.

Tout d'abord, exécutez la commande iwconfig pour trouver le nom de votre interface réseau sans fil.

iwconfig

Ici, wlp2s0 est le nom de mon interface sans fil. ESSID, c'est-à-dire que le nom du réseau est « tmp », qui est le nom du réseau Wifi auquel je suis connecté.

Nous utiliserons le airmon-ng commande pour démarrer une interface de moniteur réseau sur wlp2s0.

sudo airmon-ng démarrer wlp2s0

Recherchez la ligne à la fin pour trouver l'interface du mode moniteur. Dans l'exemple ci-dessus, il s'agit lun0. Nous allons maintenant commencer à capturer les paquets réseau en exécutant le airodump-ng au lun0.

sudo airodump-ng mon0 -w journal

Il affiche un moniteur de paquets réseau capturés à partir de différents réseaux. le -w journal une partie sert à enregistrer les paquets réseau dans des fichiers journaux. Le préfixe des fichiers journaux sera la partie spécifiée après -w, dans ce cas « journal ».

Pour que le programme capte la clé de hachage de la phrase secrète, une poignée de main WPA doit avoir lieu sur le réseau, c'est-à-dire qu'un utilisateur doit essayer de s'y connecter. L'utilisateur peut lui-même déconnecter son Wifi, et s'y reconnecter. Dans le coin supérieur droit maintenant, il notifie qu'une poignée de main WPA a été capturée.

Maintenant, appuyez sur Ctrl + C pour terminer le vidage. Vous pouvez voir les fichiers journaux générés dans le dossier actuel.

La prochaine et dernière étape consiste à exécuter aircrack-ng avec un dictionnaire pour voir quel mot correspond à la clé de hachage interceptée à partir de la poignée de main.

aircrack-ng log-01.cap -w tmpdict.txt 

Ici log-01.cap est le fichier journal généré par airodump-ng commande et tmpdict.txt est le fichier dictionnaire. Plusieurs grands dictionnaires sont disponibles en ligne et peuvent être téléchargés et utilisés ici.

Pour sélectionner un réseau cible, entrez le numéro d'index du réseau dans la liste des réseaux affichée à l'écran.

Si une clé est trouvée dans le dictionnaire, elle s'arrêtera et affichera le message suivant.

Il est évident qu'en cas de fichiers de dictionnaire plus volumineux, le programme prendra plus de temps à s'exécuter, car il vérifie chaque entrée du dictionnaire.

Comme mentionné précédemment, le mot de passe ne peut être craqué que s'il est présent dans le fichier de dictionnaire. La sécurité WPA est suffisamment forte pour que l'utilisation d'un algorithme de chiffrement ne permette pas de déchiffrer le mot de passe. Par conséquent, il est recommandé d'avoir un mot de passe long et fort avec plusieurs caractères spéciaux sur votre appareil Wifi, de sorte que tout type d'activité de craquage de mot de passe ne réussisse jamais.

Jean l'éventreur

John the Ripper est un outil utilisé pour déchiffrer les mots de passe Unix faibles. C'est un outil très facile à utiliser invoqué sur les fichiers de mots de passe. Il fonctionne en trois modes.

Mode unique

Vérifie le mot de passe dans tous les champs GECOS, c'est-à-dire, vérifie le mot de passe dans les informations du compte utilisateur ; nom d'utilisateur, prénom, nom, etc.

sudo john --single /etc/shadow

Mode liste de mots

Vérifie le mot de passe avec chaque entrée d'un fichier de liste de mots (dictionnaire).

sudo john --wordlist=passlist.txt /etc/shadow

Ici, le mot de passe de l'utilisateur « user3 » est « admin ». John a pu le déchiffrer car la phrase « admin » était présente dans le fichier passlist.txt.

Mode incrémentiel

Vérifiez toutes les combinaisons possibles pour une plage configurée. Par défaut, il considère tous les caractères du jeu de caractères ASCII et toutes les longueurs de 0 à 13. Inutile de dire que, selon la plage configurée, ce mode peut prendre énormément de temps à s'exécuter.

La configuration pour cela peut être modifiée dans /etc/john/john.conf déposer.

sudo john --incremental /etc/shadow

Radare2

Radare2 (alias r2) est un outil de rétro-ingénierie pour Linux. Il peut désassembler, déboguer un fichier binaire exécutable, avec une énorme liste d'options pour manipuler les données lors de l'exécution.

Voyons comment désassembler un très petit programme C en utilisant r2. Notez qu'une compréhension de base du langage assembleur est requise pour utiliser l'outil.

Tout d'abord, créez un petit programme C dans vim ou dans n'importe quel éditeur de votre choix.

/*test.c*/ #include int main() { int i = 0; printf("%d\n", i); renvoie 0 ; }

Comme vous pouvez le voir, tout ce que fait ce programme est de stocker le chiffre 0 dans une variable et d'accéder à la variable pour l'imprimer.

Nous allons maintenant compiler le programme.

gcc test.c -o test

Un fichier exécutable est créé dans le répertoire courant avec le nom « test ». Exécutez-le pour voir la sortie « 0 ».

./test

Installons r2 maintenant. Le nom du package dans Ubuntu et les distributions similaires est radare2.

sudo apt installer radare2

Noter: Pour les anciennes versions d'Ubuntu (version 14.04 et inférieure), vous devez utiliser apt-get doit être utilisé à la place de apte.

Nous allons maintenant lancer l'invite de commande r2 avec notre fichier exécutable, « test ».

essai r2

Pour obtenir la liste des sous-commandes, entrez ?. Par exemple. pour obtenir la liste des sous-commandes pour la commande une, Entrer une?

une?

Nous exécuterons la sous-commande aa, qui analysera le fichier binaire complet. Il ne sortira rien. Mais après avoir analysé le binaire, nous pouvons utiliser le p? sous-commandes pour désassembler le code.

Ensuite, nous passons au principale fonction du programme. Chaque programme C exécutable a le principale fonctionner comme point de départ.

s principal

Vous pouvez voir que le préfixe de prompt a changé l'adresse mémoire actuelle, c'est-à-dire que le programme est maintenant recherché à l'adresse de fonction principale.

Ensuite, nous utilisons la sous-commande pdf, qui imprimera le désassemblage d'une fonction. Nous l'appelons avec sym.main, qui est le nom de la fonction principale en langage assembleur.

pdf sym.main

Comme nous pouvons le voir dans la capture d'écran ci-dessus, nous avons le démontage complet de notre programme C. Nous pouvons maintenant analyser ce que fait le programme en lisant l'assembly.

Par example, mov dword [rbp-0x4], 0x0 est l'affectation d'une valeur (0) à un emplacement mémoire rbp - pointeur de base, 0x4 - Taille de la mémoire requise pour un entier.

On a appelez sym.imp.printf, qui imprimera le contenu du registre eax, c'est-à-dire la valeur 0.

Il existe de nombreuses autres options pour manipuler et déboguer le flux d'un programme dans r2. Vous pouvez essayer d'autres options qui sont affichées avec le ? commander. Pour enregistrer une sortie de journal ou de désassemblage dans un fichier, vous pouvez diriger la sortie comme ci-dessous :

pdf principal > principal.s

C'était l'aperçu de certains des outils de piratage les plus largement utilisés sous Linux. Si vous avez trouvé cette page utile, assurez-vous de la partager sur vos communautés en ligne préférées.