Le chat sous le capot. Partie 1


Dans notre travail, nous utilisons activement le hashcat, mais nous avons commencé à manquer certaines fonctionnalités de ce produit. Par exemple: la possibilité d'envoyer des notifications, la présence d'une interface unifiée pour gérer les hachages de craquage, le stockage pratique des hachages "craqués" (après un certain temps, regarder hashcat.potfile fait mal aux yeux). Dans certaines situations, il est nécessaire d'effectuer un craquage parallèle des hachages, c'est-à-dire de répartir les tâches de craquage entre plusieurs hôtes.


Dans cette série d'articles, nous souhaitons partager nos "trouvailles" sur le thème des interfaces de gestion et / ou du lancement distribué du programme hashcat, en stockant des statistiques sur les hachages "crackés". Dans la première partie, nous examinerons certaines solutions existantes, puis nous examinerons de plus près Hashtopolis.


En général, si le sujet est proche de vous - nous vous demandons «sous la coupe» et dans les commentaires.


Parlons des chats


Un peu sur le hashcat lui-même (hashcat)


Hashcat est, selon les créateurs, l'outil de récupération de mot de passe le plus rapide au monde. Les versions sont disponibles pour Linux, macOS et Windows, et peuvent être présentées dans des versions basées sur CPU ou GPU.

Hashcat a gagné en popularité en raison des lacunes trouvées par son créateur dans d'autres programmes qui utilisent le cryptage des données. Actuellement, Hashcat est activement utilisé pour sélectionner les mots de passe WPA / WPA2, cracker les mots de passe des documents MS Office, PDF, 7-Zip, RAR, TrueCrypt.

Source
Quel genre de hachage est-ce?
Aujourd'hui, la méthode d'authentification la plus courante est «l'authentification par mot de passe». L'utilisateur (ou «processus») sous une forme ou une autre envoie le mot de passe pour vérification au système cible, où les données obtenues sont comparées avec la représentation qui est stockée dans le système. Par exemple, dans le cas de l'authentification Digest, le mot de passe n'est pas transmis et n'est pas stocké en clair, et à l'aide de la cryptographie, un certain identifiant de session est converti en appliquant un hachage de la valeur du mot de passe. Une procédure similaire est effectuée sur le système cible et si les résultats des deux opérations correspondent, l'authentification est considérée comme réussie, un cookie d'autorisation ou TGT, ou quelque chose d'autre est généré.

Le mécanisme d'authentification sur le Web est résumé ici: https://habr.com/en/post/28534/, et en détail ici: https://habr.com/ru/company/dataart/blog/262817/

Le chercheur en sécurité (ou l'auditeur) a une autre tâche: récupérer / deviner les mots de passe, intercepter ou contourner les mots de passe d'authentification.

En cas d'attaques sur les mots de passe, il est possible de diviser en deux catégories (et tout le reste dans la troisième, par exemple, l'attaque "espionner l'entrée utilisateur"):

  1. attaques en ligne: plusieurs tentatives d'authentification en devinant le mot de passe, ce qui peut "faire beaucoup de bruit" ou provoquer le verrouillage du compte. Ceci est similaire à la «cueillette» avec des clés maîtresses dans un trou de serrure - les propriétaires peuvent appeler la police, voire causer des blessures;
  2. Attaques hors ligne: l'attaquant a réussi à obtenir des hachages, et un système plus ciblé n'est pas nécessaire pour deviner les mots de passe, tout le processus va du côté de l'attaquant. Comme s'ils réussissaient à «jeter» la serrure et à «piocher» loin de la porte gardée.

Des situations peuvent survenir telles que la sélection de mots de passe pour les archives, les documents protégés ou les clés privées, mais en général, il s'agit d'une attaque par mot de passe, c'est-à-dire vous devez récupérer la clé / combinaison à la serrure.

La plupart des attaques contre les mots de passe et les hachages peuvent être divisées en:

  • "Dictionary" (anglais "dictionary", "wordlist")
  • «Forehead» (ou «bruteforce» de l'anglais «bruteforce», c'est-à-dire «brute force»)
  • "Hybride" (dictionnaire + un masque de force brute)

Après avoir recherché sur le réseau des «interfaces» prêtes à l'emploi pour travailler avec hashcat, nous sommes tombés sur les solutions suivantes:


Les noms commencent par le mot «hasch» - de l'anglais, ce mot est traduit par «hash», «confusion», «un plat de viande et de légumes finement hachés». Si vous traduisez littéralement ces noms en russe, les phrases résultantes créent un désordre dans le cerveau du lecteur. Le nom «Hashtopussy» est particulièrement bien perçu (sourire)

Commençons l'examen avec Hashpass . Il était intéressé par la richesse des fonctions (à première vue): la file d'attente de hachages pour le piratage, la visualisation des poignées de main WPA capturées sur la carte globale, C2C pour les framboises "spywares", le support pour l'information SMS, le beau fond d'écran, une interface intéressante avec la visualisation. La barre d'état du travail Hashpass ressemble à ceci:

image

Immergé dans la description du projet sur GitHub, il a été constaté que pour le craquage distribué des hachages, dj-zombie a développé un projet distinct, Hive. Nous n'avons pas pu trouver d'informations pertinentes sur ce projet. C'est-à-dire «Hors de la boîte», vous ne pouvez pas obtenir un «bâton de conducteur» pour le piratage parallèle sur plusieurs hôtes. En tant que solution autonome, Hashpass est très intéressant, et compte tenu du projet Rotten Pi qui lui est associé, Hashpass mérite certainement une attention particulière.

C'est là que la connaissance de Hashpass s'est terminée, nous reviendrons peut-être à son examen détaillé dans une série d'articles.

Le projet Hashview n'est pas inférieur à son frère Hashpass en termes de fonctionnalités riches, et l'approche du "composant visuel" de l'interface, à notre avis, est mieux mise en œuvre.

Exemples de statistiques d'écran:

image

Voici ce que Hashview a à offrir:

  • Collaboration - l'application prend en charge la création de comptes séparés et la répartition des rôles
  • Prise en charge OTP (One Time Password) pour l'authentification des utilisateurs
  • Accès direct à l'interface de ligne de commande de l'instance hashcat
  • Créer des files d'attente de tâches de hachage
  • Notifications par e-mail de l'événement
  • Recherche dans la base de données de hachage interne, le nom d'utilisateur, le mot de passe
  • Système de visualisation et de reporting des métriques

Pour installer le serveur Hashview, vous avez besoin d'un hashcat en cours d'exécution sur l'hôte, un environnement RVM, MySQL, Redis valide. Prise en charge officiellement déclarée des versions 14.04 et 16.04 d'Ubuntu, dans d'autres distributions Linux, le travail de Hashview a été confirmé par la communauté.

Et maintenant sur les "inconvénients":

  • Le projet prend officiellement en charge hashcat 4.x, le support de la 5ème version n'est pas connu (il existe un ticket https://github.com/hashview/hashview/issues/448)
  • La prise en charge des agents est toujours officiellement dans la version "Alpha", et dans notre cas, la prise en charge des agents Windows est importante (https://github.com/hashview/hashview/wiki/04-Distributed-Cracking)

Les deux projets, Hashpass et Hashview, donnent l'impression d'abandon, les validations dans le référentiel étaient il y a longtemps et la documentation n'est pas mise à jour.

Nous avons décidé de mettre Hashview sur une étagère avec Hashpass et de passer au projet suivant.

Hashtopolis a été lancé en 2016 en tant que développement d'un «wrapper» pour hashcat - Hashtopus (https://github.com/curlyboi/hashtopus). Au début, il s'appelait «Hashtopussy», mais pour des raisons de «politiquement correct», il a été rebaptisé «Hashtopolis». Page officielle du projet: https://hashtopolis.org. En fait, c'est un forum où vous pouvez récupérer des informations utiles sur le produit. Une chaîne a également été trouvée sur Discord: https://discord.gg/S2NTxbz

Caractéristiques et fonctionnalités de Hashtopolis:

  • Facile et pratique à installer et à utiliser serveur / agents
  • Accès depuis n'importe où via l'interface Web
  • Réactivité côté serveur avec des configurations d'hébergement Web courantes
  • Agents autonomes dans des stations de craquage contrôlées
  • Gérer les dictionnaires et les fichiers de règles
  • Mise à jour automatique de Hashtopolis et Hashcat
  • Piratage de plusieurs listes de hachage du même type que s'il s'agissait d'une seule liste
  • Un seul fichier pour exécuter l'agent sous Windows, Linux et OS X
  • Les fichiers et les hachages marqués comme «secrets» sont distribués uniquement aux agents marqués comme «de confiance»
  • De nombreuses options pour importer et exporter des données
  • Statistiques riches sur les hachages et les tâches en cours d'exécution
  • Représentation visuelle de la distribution des "portions de hachages" (distribution de morceaux)
  • Application multi-utilisateurs
  • Prise en charge des niveaux d'accès utilisateur
  • Différents types de notifications
  • Possibilité de créer des mini-tâches pour craquer les hachages par CPU
  • Répartition granulaire de l'accès grâce à l'utilisation de groupes dans la nomination des agents et des utilisateurs

La fonctionnalité Hashtopolis la plus «captivante» pour nous était la prise en charge des notifications dans Telegram directement hors de la boîte. Nous utilisons ce messager tous les jours. Il semblait extrêmement intéressant de recevoir des notifications en temps opportun de hachages «fissurés». Bien sûr, cette fonctionnalité peut être implémentée avec des scripts, mais cette fonctionnalité n'était pas la seule à attirer Hashtopolis.

Hashtopolis peut gérer les instances de hashcat à partir de la version 4.0.0. Prise en charge également des «crackers génériques» (une interface de ligne de commande commune au logiciel pour «cracker les hachages»). En savoir plus sur les crackers génériques ici.

L'apparence de l'interface Hashtopolis est agréable, et la navigation devient claire après quelques minutes de connaissance.

Liste des tâches:



Belles statistiques sur le travail de l'agent:



Sources d'informations supplémentaires que nous avons abordées sur le sujet de Hashtopolis:

  • Référentiel de projet sur GitHub: https://github.com/s3inlc/hashtopolis
  • Page wiki du projet GitHub: https://github.com/s3inlc/hashtopolis/wiki
  • Blog d'un des développeurs du projet (s3inlc): https://s3inlc.wordpress.com
  • La documentation de l'API Hashtopolis est fournie dans un document PDF: https://github.com/s3inlc/hashtopolis/blob/master/doc/protocol.pdf

Ceci conclut la partie introductive, nous avons partagé notre «première impression». Malheureusement, les projets examinés n'ont pas la meilleure documentation de qualité, les informations sont dispersées et présentées de manière très concise.

Nous espérons avoir suscité l’intérêt du lecteur pour les produits considérés, car plus il y aura d’utilisateurs, meilleurs seront les projets et, par conséquent, plus d’informations sur l’utilisation apparaîtront.

Dans la partie suivante, nous analyserons l'installation et la configuration du produit Hashtopolis.

Source: https://habr.com/ru/post/fr445740/


All Articles