web-dev-qa-db-fra.com

Quel préjudice y a-t-il dans l'obtention de mot de passe dans un environnement Windows?

Arstechnica a publié cet article récemment en train de parler de la manière dont la grille de puissance a été pénétré:

Les pirates sont attendus après la pénétration des réseaux de grille de puissance américaine et d'Europe

Extrait:

Une tactique impliquée à l'aide de la boîte à outils de Phishery disponible publiquement pour envoyer des objectifs un document Microsoft Word programmé pour télécharger un modèle à partir d'un serveur prédéterminé contrôlé par les attaquants.

Le serveur interrogerait ensuite l'ordinateur de téléchargement pour SMB des informations d'identification que de nombreux réseaux d'entreprise utilisent pour restreindre l'accès aux utilisateurs vérifiés.

Dans de nombreux cas, les ordinateurs de téléchargement réagiraient et dans le processus, fournissent les attaquants avec le nom d'utilisateur et un hachage cryptographique au réseau ciblé.

Mais obtenir les hachages n'est pas la même chose que l'obtention de mots de passe réels.

Donc, ma question est la suivante: quel préjudice est-il là dans l'obtention des hachages de mot de passe dans un environnement Windows?


Pour référence à propos de ces courriels: Toolkit Phishery

9
SDsolar

TL; DR : En raison de la manière dont Windows authentifie les utilisateurs du réseau dans des scénarios non-Kerberos (non Active Directory), le travail de mot de passe fonctionne comme des mots de passe aussi bien que des mots de passe pour authentifier les utilisateurs du réseau.

Version longue : Il existe deux moyens traditionnels d'utiliser un mot de passe pour authentifier quelqu'un:

  • Le client envoie le mot de passe au serveur (traditionnellement, en clairtext, bien que les nouveaux protocoles utilisent le cryptage). Le serveur prend le mot de passe, le hachait et la compare au mot de passe hachage qu'il a stocké. Si les hachages correspondent, le client est supposé avoir le mot de passe correct et est traité comme authentifié.
  • Challenge-Réponse: Le serveur génère un défi (une séquence d'octets aléatoire) et l'envoie au client. Le client fait le défi, le combine avec le mot de passe du client, le résultat du client et envoie le hachage au serveur. Pendant ce temps, le serveur représente le défi, le combine avec le mot de passe qu'il a stocké et a atteint le résultat. Si les deux hachages correspondent, le client est traité comme authentifié.

Notez que, selon un schéma de défi-réponse, le mot de passe n'est jamais réellement envoyé au serveur (qui est bon), mais le serveur doit connaître le mot de passe (qui est mauvais). La première approche est l'approche unix traditionnelle; La seconde est l'approche de Windows traditionnelle.

Pour atténuer le désavantage du "serveur doit connaître le mot de passe" du défi-réponse, de nombreuses implémentations de défi-réponse utilisent un hachage du mot de passe. En d'autres termes, au lieu de comparer le hachage de (challenge + password), les implémentations comparent le hachage de (challenge + hashed password). Cependant, dans ce cas, Le mot de passe haché est toujours tout ce dont vous avez besoin pour accéder au service (car un client malveillant peut envoyer le hachage de (challenge + hashed password) Même si cela ne connaît pas le mot de passe ClearText). Les mots de passe de hachage de hachage sous un schéma de réponses de défi rendent plus difficile d'obtenir un mot de passe ClearText pouvant vraisemblablement être utilisé pour attaquer d'autres services, mais cela ne fait aucune différence en termes de sécurité du service lui-même.

En outre de lecture et de références:

  • https://www.toshellandback.com/2017/02/11/PSExec/

    Une fois que les hachages sont obtenus, les craquer pour découvrir que le mot de passe en plainte peut être une tâche longue et ardue (en supposant que les mots de passe ne succombent pas aux listes de mots ou aux attaques de table arc-en-ciel). Heureusement pour nous, Windows acceptera volontiers les valeurs de hachage NTLM dans de nombreuses situations, telles que l'accès à une ressource réseau par son adresse IP (contre un nom d'hôte) ou la connexion à un périphérique qui n'est pas joint au domaine. La seule seule fois que les hauts de temps ne seraient pas échangés seraient lors de la demande de ressources réseau dans un environnement exclusif de Kerberos, mais que le type de mise en œuvre est rare et peut être problématique pour de nombreuses organisations à mettre en œuvre.

  • https://fr.wikipedia.org/wiki/challenge%E2%80%93Response_authentication

    Beaucoup (mais pas tous) algorithmes de réponse au défi ... exigent à la fois le client et le serveur d'avoir un secret partagé. Étant donné que le mot de passe lui-même n'est pas stocké, un algorithme de réponse au défi devra généralement utiliser le hachage du mot de passe comme secret au lieu du mot de passe lui-même. Dans ce cas, un intrus peut utiliser le hachage réel, plutôt que le mot de passe, ce qui rend les hachage stockés aussi sensibles que les mots de passe réels.

  • https://www.samba.org/samba/docs/man/samba-howto-collection/passdb.html#id2588057 [.____]

    Le schéma Unix envoie typiquement des mots de passe de texte clairs sur le réseau lors de la connexion. C'est mauvais. Le SMB Schéma de cryptage n'envoie jamais le mot de passe de texte clair sur le réseau, mais il stocke les valeurs hachées de 16 octets sur le disque. C'est aussi mauvais. Pourquoi? Parce que les valeurs hachées de 16 octets sont un "équivalent de mot de passe". Vous ne pouvez pas obtenir le mot de passe de l'utilisateur à partir d'eux, mais ils pourraient potentiellement être utilisés dans un client modifié pour accéder à un serveur. Cela nécessiterait des connaissances techniques considérables pour le compte de l'attaquant, mais est parfaitement possible. Vous Il devrait donc traiter les données stockées dans tout le backend PASSDB que vous utilisez (fichier SMBPasswD, LDAP), comme s'il contenait les mots de passe Clear-text de tous vos utilisateurs.

4
Josh Kelley

obtenir des hachages n'est pas la même chose que l'obtention de mots de passe réels

Cela peut être tout aussi bon que d'obtenir les mots de passe réels, cependant, pour les utilisateurs typiques. Cet article concerne les travailleurs des compagnies de pouvoir. Pensez-vous que votre technicien moyen de compagnie d'alimentation dispose d'une phrase DICWare entièrement aléatoire de 9 mots pour leur mot de passe de connexion au travail? Plus probablement ce sera "mydogfido! 7" (parce qu'ils ont eu ce mot de passe pour 7 modifications de mot de passe) au mieux. Ils n'ont vraiment besoin que de casser un hasch pour obtenir une tête de plage établie dans le système; Avec assez d'employés, s'ils peuvent obtenir le hachage de tous les employés, je suis sûr qu'ils en obtiendront au moins un.

3
Ben