Académique Documents
Professionnel Documents
Culture Documents
Objectifs du module
Le choix d'un mot de passe faible est la principale vulnérabilité à laquelle les organisations et les
particuliers sont confrontés actuellement en matière de sécurité. Les attaquants utilisent de
nombreuses techniques et outils sophistiqués pour craquer les mots de passe et accéder aux
systèmes et réseaux critiques. Une compréhension approfondie des techniques de craquage de
mots de passe et des mesures défensives correspondantes peut aider les individus et les
organisations à mettre en place des politiques de mots de passe forts et à protéger les
informations personnelles et celles de l'entreprise.
Ce module commence par une présentation générale du craquage des mots de passe et de la
complexité des mots de passe. Il donne un aperçu des différentes techniques, ainsi que des
différents outils et se termine par une brève introduction aux contre-mesures en matière de
craquage de mots de passe.
À la fin de ce module, vous serez en mesure de :
▪ Comprendre le craquage de mots de passe et la notion de complexité des mots de
passe.
▪ Décrire les mécanismes d'authentification de Microsoft.
▪ Expliquer les différents types d'attaques par mot de passe.
▪ Utiliser différents outils de craquage de mots de passe.
▪ Adopter des contre-mesures contre les attaques sur les mots de passe.
Module Flow
Password cracking techniques Attackers use password Most of the password cracking
are used to recover cracking techniques to techniques are successful
passwords from computer gain unauthorized access because of weak or easily
systems to vulnerable systems guessable passwords
2 6
Passwords that contain Passwords that contain only
only numbers 23698217 letters and special characters
bob@&ba
3 4 7
Passwords that contain Passwords that contain Passwords that contain only
only special characters letters and numbers special characters and
&*#@!(%) meet123 numbers 123@$45
Copyright © by EC-Council. All Rights Reserved. Reproduction is Strictly Prohibited.
NTLM Authentication
N
❑ The NTLM authentication protocol types are as follows: NTLM
authentication protocol and LM authentication protocol
❑ These protocols store the user’s password in the SAM
database using different hashing methods
Kerberos Authentication
K
❑ Microsoft has upgraded its default authentication protocol to
Kerberos which provides a stronger authentication for client/server
applications than NTLM
Authentification Microsoft
Lorsqu'un utilisateur se connecte à un ordinateur sous Windows, son authentification se fait en
plusieurs étapes. Le système d'exploitation Windows authentifie ses utilisateurs à l'aide de trois
mécanismes (protocoles) fournis par Microsoft.
▪ La base de données SAM (Security Accounts Manager)
Windows utilise la base de données SAM (Security Accounts Manager) ou la base de
données Active Directory (AD) pour gérer les comptes et les mots de passe des
utilisateurs dans un format haché (un hachage à sens unique). Le système ne stocke pas
les mots de passe en clair mais leur empreinte numérique, afin de les protéger des
attaques. Le système implémente la base de données SAM comme un fichier du registre
et le noyau Windows a un verrou exclusif sur la base de données SAM. Comme ce fichier
est verrouillé par le système de fichiers, il offre un certain degré de sécurité pour le
stockage des mots de passe.
Dans le cas d'attaques en ligne, il n'est pas possible de copier le fichier SAM vers un
autre emplacement. Comme le système verrouille le fichier SAM avec un verrou exclusif
du système de fichiers, un utilisateur ne peut pas le copier ou le déplacer lorsque
Windows est en cours d'exécution. Le verrou ne se libère pas tant que le système ne
s'est pas arrêté. Mais pour que les empreintes des mots de passe soient disponibles
pour des attaques hors ligne, les attaquants peuvent faire un dump du contenu du
fichier SAM présent sur disque en utilisant diverses techniques.
Même si les pirates utilisent des techniques pour les découvrir, les clefs chiffrées avec
un hachage à sens unique restent difficiles à pirater. En outre, certaines versions
disposent d'une clef secondaire, ce qui rend le chiffrement spécifique à cette seule
installation du système d'exploitation.
▪ Authentification NTLM
Le gestionnaire de réseau local NT (NTLM) est un schéma d'authentification par défaut
qui effectue l'authentification en utilisant une stratégie défi/réponse. Comme il ne
repose sur aucune spécification officielle de protocole, il n'y a aucune garantie qu'il
fonctionne efficacement dans toutes les situations. Il a cependant été utilisé dans
certaines versions de Windows pour lesquelles il a fonctionné avec succès.
L'authentification NTLM se compose de deux protocoles : Le protocole
d'authentification NTLM et le protocole d'authentification LAN Manager (LM). Ces
protocoles utilisent différentes méthodes de hachage pour stocker les mots de passe
des utilisateurs dans la base de données SAM.
▪ Authentification Kerberos
Kerberos est un protocole d'authentification réseau qui fournit une authentification
forte pour les applications client/serveur par le biais de la cryptographie à clef secrète. Il
fournit une authentification mutuelle, c'est-à-dire que le serveur et l'utilisateur vérifient
l'identité de l'autre. Les messages envoyés par le protocole Kerberos sont protégés
contre les attaques par relecture et les écoutes indiscrètes.
Kerberos utilise le centre de distribution de clefs (Key Distribution Center ou KDC), qui
est un tiers de confiance. Il se compose de deux parties distinctes sur le plan logique : un
serveur d'authentification (AS) et un serveur d'attribution de tickets (TGS). Kerberos
utilise des tickets pour prouver l'identité d'un utilisateur.
Microsoft a fait évoluer son protocole d'authentification par défaut vers Kerberos, qui
fournit une authentification plus forte que NTLM pour les applications client/serveur.
Offline Attacks
The attacker copies the target’s password file
and then tries to crack passwords on his own
04 system at a different location
▪ Rainbow Table Attack (Pre-Computed Hashes)
▪ Distributed Network Attack
per year
A dictionary file is loaded The program tries every This attack is used when the
into the cracking application combination of characters attacker gets some
that runs against user until the password is broken information about the
accounts password
Attaque par dictionnaire, par force brute et basée sur des règles
▪ Attaque par dictionnaire
Dans ce type d'attaque, un fichier dictionnaire est chargé dans l'application de craquage
qui est lancée contre les comptes d'utilisateurs. Ce dictionnaire est un fichier texte qui
contient plusieurs mots du dictionnaire couramment utilisés comme mots de passe. Le
programme utilise chaque mot présent dans le dictionnaire dans le but de trouver le
mot de passe. En plus d'un dictionnaire standard, les dictionnaires des attaquants
contiennent des entrées avec des chiffres et des symboles ajoutés aux mots (par
exemple, "3Décembre!962"). Des frappes simples au clavier (comme "azer0987"), dont
beaucoup pensent qu'elles produisent des mots de passe aléatoires efficaces et sûrs,
sont donc incluses dans un dictionnaire de ce type. Les attaques par dictionnaire sont
plus efficaces que les attaques par force brute, mais elles ne peuvent pas être utilisées
sur des systèmes utilisant des phrases de passe.
L'attaque par dictionnaire est adaptée à deux situations :
o En cryptanalyse, pour découvrir la clef de déchiffrement permettant d'obtenir le
texte en clair à partir d'un texte chiffré.
o En sécurité informatique, pour contourner l'authentification et accéder au
mécanisme de contrôle de l'ordinateur en devinant les mots de passe.
Méthodes permettant d'améliorer les chances de réussite d'une attaque par
dictionnaire :
o Utilisation de plusieurs dictionnaires différents, tels que des dictionnaires
techniques et étrangers, ce qui augmente le nombre de possibilités.
o Utilisation de techniques de transformation des chaînes de caractères en même
temps que le dictionnaire (par exemple, si le dictionnaire contient le mot "systeme",
des anagrammes comme "emetsys" seront créés).
▪ Attaque par force brute
Dans une attaque par force brute ou attaque par recherche exhaustive, les attaquants
essaient toutes les combinaisons de caractères jusqu'à ce que le mot de passe soit
découvert. Les algorithmes cryptographiques doivent être suffisamment robustes pour
empêcher une attaque par force brute, qui est définie par le RSA comme : "La recherche
exhaustive de clefs, ou recherche par force brute, est la technique de base pour essayer
toutes les clefs possibles à tour de rôle jusqu'à ce que la clef correcte soit identifiée."
Une attaque par force brute consiste à essayer de générer toutes les clefs de
chiffrement des données pour trouver la bonne. Aujourd'hui encore, seules les
personnes disposant d'une puissance de traitement suffisante peuvent mener à bien ce
type d'attaque.
La cryptanalyse est une attaque par force brute sur le chiffrement qui a recours à une
recherche dans l'espace des clefs. En d'autres termes, le test de toutes les clefs possibles
est une des façons de tenter de récupérer le texte en clair à partir duquel un texte
chiffré donné a été produit. La méthode de détection d'une clef ou d'un texte en clair
plus rapide qu'une attaque par force brute est une solution pour casser le chiffrement.
Un chiffrement est sûr s'il n'existe aucune méthode pour le craquer autre qu'une
attaque par force brute. En général, tous les chiffrements présentent des lacunes en
matière de preuve mathématique de sécurité. Si l'utilisateur choisit les clefs au hasard
ou effectue des recherches au hasard, le texte en clair sera découvert en moyenne après
que le système ait essayé la moitié de toutes les clefs possibles.
Voici quelques-unes des caractéristiques des attaques par force brute :
o C'est un processus qui prend du temps.
o Tous les mots de passe finiront par être trouvés.
▪ Attaque basée sur des règles
Les pirates informatiques utilisent ce type d'attaque lorsqu'ils obtiennent certaines
informations sur le mot de passe. Il s'agit d'une attaque plus puissante que l'attaque par
dictionnaire et que l'attaque par recherche exhaustive car le pirate connaît le type de
mot de passe. Si par exemple, l'attaquant sait que le mot de passe contient un nombre à
deux ou trois chiffres, il peut utiliser certaines techniques bien précises pour extraire le
mot de passe rapidement.
En obtenant des informations utiles, telles que la politique d'utilisation des chiffres
et/ou des caractères spéciaux et la longueur du mot de passe, les attaquants peuvent
minimiser le temps nécessaire pour craquer le mot de passe et donc améliorer l'outil de
craquage. Cette technique fait appel à la force brute, à un dictionnaire et à des attaques
par syllabes.
Pour les attaques en ligne, un attaquant utilisera parfois une combinaison de force brute
et de dictionnaire. Cette combinaison entre dans les catégories des attaques hybrides et
des attaques par syllabes.
o Attaque hybride
Ce type d'attaque est basé sur l'attaque par dictionnaire. En effet, les gens changent
souvent leurs mots de passe en ajoutant simplement quelques chiffres à leurs
anciens mots de passe. Dans ce cas, le programme ajoutera des chiffres et des
symboles aux mots du dictionnaire pour essayer de craquer le mot de passe. Par
exemple, si l'ancien mot de passe est "système", il y a des chances que l'utilisateur le
change en "système1" ou "système2".
o Attaque par syllabes
Les pirates utilisent cette technique de craquage lorsque les mots de passe ne sont
pas des mots connus. Les attaquants utilisent le dictionnaire et d'autres méthodes
pour les craquer, ainsi que toutes les combinaisons possibles de ceux-ci.
Password Guessing
1 2 3 4
Find a valid user Create a list of Rank passwords Key in each
possible from high to low password, until the
passwords probability correct password is
discovered
✓ https://www.fortypoundhead.com
✓ https://cirt.net
✓ http://www.defaultpassword.us
✓ https://www.routerpasswords.com
https://open-sez.me
✓ https://default-password.info
Trojan/spyware/keylogger
sends login credentials to
attacker Victim
Attacker Domain Server
The attacker finds and extracts a logged-on domain admin account hash
The attacker uses the extracted hash to log on to the domain controller
Compromises server
Logged-on hashes are using a local/remote exploit
stored in the SAM file
User logs on
Extracts a logged-on domain
User Server admin account hash
(Domain Controller)
User performs
LLMNR/NBT-NS
broadcast
to find out if
Host 1
anyone knows
User sends incorrect \\DtaServr
host name – \\DtaServr
Host 2
Empoisonnement LLMNR/NBT-NS
LLMNR (Link Local Multicast Name Resolution) et NBT-NS (NetBIOS Name Service) sont deux
composants importants des systèmes d'exploitation Windows utilisés pour assurer la résolution
des noms des hôtes présents sur le même réseau. Ces services sont activés par défaut dans les
systèmes d'exploitation Windows.
Lorsque le serveur DNS ne parvient pas à résoudre les requêtes de nom, l'hôte effectue une
diffusion UDP non authentifiée demandant à tous les autres systèmes si l'un d'eux connait le
nom qu'il recherche. Comme l'hôte qui tente de se connecter suit un processus de diffusion
non authentifié, il devient facile pour un attaquant d'écouter de manière passive sur un réseau
les diffusions LLMNR (port UDP 5355) et NBT-NS (port UDP 137) et de répondre à la demande
en se faisant passer pour un hôte ciblé. Après avoir accepté une connexion avec un hôte,
l'attaquant peut utiliser des outils tels que Responder.py ou Metasploit pour transmettre la
demande à un serveur fictif malveillant (par exemple, TCP : 137) afin d'effectuer un processus
d'authentification.
Au cours du processus d'authentification, l'attaquant envoie une empreinte NTLMv2 au serveur
malveillant, obtenue à partir de l'hôte qui tente de s'authentifier. Cette empreinte est stockée
sur un disque et peut être craquée à l'aide d'outils de craquage d'empreinte hors ligne tels que
hashcat ou John the Ripper. Une fois craquées, ces informations d'identification peuvent être
utilisées pour se connecter et accéder au système hôte légitime.
Étapes de l'empoisonnement LLMNR/NBT-NS :
1. L'utilisateur envoie une demande de connexion au serveur de partage de données,
\\DataServer, qu'il a tapé par erreur comme \\DtaServr
2. Le serveur \\DataServer répond à l'utilisateur en indiquant qu'il ne connaît pas l'hôte
nommé \\DtaServr
3. L'utilisateur effectue alors une diffusion LLMNR/NBT-NS pour savoir si quelqu'un dans le
réseau connaît le nom d'hôte \\DtaServr
4. L'attaquant répond à l'utilisateur en disant qu'il est \\DataServer, accepte le hachage
NTLMv2 de l'utilisateur et répond à l'utilisateur par une erreur.
Tools such as Mimikatz, Rubeus, and Windows Credentials Editor are used
by attackers to launch such attacks
Sniffed credentials are used to gain unauthorized access to the target system
Victim Victim
Attacker
Comme les analyseurs recueillent les paquets au niveau de la couche de liaison de données, ils
peuvent capturer tous les paquets sur le réseau local de la machine qui exécute l'analyseur.
Cette méthode est relativement difficile à mettre en œuvre et compliquée sur le plan
informatique. En effet, un réseau doté d'un hub met en œuvre un support de diffusion que tous
les systèmes partagent sur le LAN. Le réseau local envoie les données à toutes les machines qui
y sont connectées. Si un attaquant exécute un analyseur réseau sur un ordinateur du réseau
local, il peut recueillir les données envoyées vers et depuis n'importe quel autre ordinateur du
réseau local. La majorité des outils d'analyse réseau sont parfaitement adaptés à l'analyse des
données dans un environnement équipé de hub. Ce sont des analyseurs passifs, car ils
attendent passivement le transfert de données avant de les récupérer. Ils sont efficaces pour
collecter de manière très discrète les données du réseau local. Les données capturées peuvent
inclure des mots de passe envoyés à des systèmes distants lors de sessions FTP, de sessions
rlogin et des serveurs de courrier électronique. L'attaquant utilise ces informations
d'identification pour obtenir un accès non autorisé au système cible. Il existe une variété
d'outils disponibles sur Internet pour le l'écoute électronique passive.
Man-in-the-Middle and
Replay Attacks Considerations
▪ Relatively hard to
❑ In an MITM attack, the attacker acquires access to the perpetrate
communication channels between the victim and the server to
▪ Must be trusted by one or
extract the information needed
both sides
❑ In a replay attack, packets and authentication tokens are captured ▪ Can sometimes be broken
using a sniffer. After the relevant information is extracted, the by invalidating traffic
tokens are placed back on the network to gain access
Original Connection
Sniff MITM/Replay
Victim Web Server
Traffic
Attacker
Dans une attaque par relecture, les paquets et les jetons d'authentification sont capturés à
l'aide d'un analyseur réseau. Après avoir extrait les informations utiles, les jetons sont replacés
sur le réseau pour obtenir un accès. L'attaquant utilise ce type d'attaque pour rejouer des
transactions bancaires ou des transferts de données similaires, dans l'espoir de reproduire
et/ou de modifier des activités, telles que des dépôts bancaires ou des transferts financiers.
Rainbow Table Attack
Rainbow A precomputed table that contains word lists like dictionary files, brute force
1 Table lists, and their hash values
Compare the The hash of passwords is captured and compared with the precomputed hash
2 Hashes table. If a match is found, then the password gets cracked
Precomputed Hashes
1qazwed 4259cc34599c530b28a6a8f225d668590
hh021da c744b1716cbf8d4dd0ff4ce31a177151
9da8dasf 3cd696a8571a843cda453a229d741843
sodifo8sf c744b1716cbf8d4dd0ff4ce31a177151
https://www.l0phtcrack.com https://ophcrack.sourceforge.io
Copyright © by EC-Council. All Rights Reserved. Reproduction is Strictly Prohibited.
Password-Cracking Tools
RainbowCrack
RainbowCrack cracks hashes with rainbow tables. It uses a time-memory tradeoff algorithm to crack hashes
hashcat
https://hashcat.net
THC-Hydra
https://github.com
Medusa
http://foofus.net
http://project-rainbowcrack.com
▪ ophcrack
Source : https://ophcrack.sourceforge.io
ophcrack est un outil de craquage de mots de passe Windows qui utilise des tables arc-
en-ciel pour craquer les mots de passe. Il est livré avec une interface utilisateur
graphique (GUI) et fonctionne sur différents OS tels que Windows, Linux/UNIX, etc.
Comme le montre la capture d'écran ci-dessous, les attaquants utilisent ophcrack pour
effectuer des attaques par force brute et craquer les mots de passe du système cible.
Figure 4.10 : ophcrack
▪ RainbowCrack
Source : http://project-rainbowcrack.com
RainbowCrack craque les empreintes avec des tables arc-en-ciel, en utilisant un
algorithme de compromis temps-mémoire. Un outil traditionnel de force brute craque
les mots de passe d'une manière différente de celle utilisée par un outil de craquage de
mots de passe à compromis temps-mémoire. La méthode par force brute essaie tous les
textes en clair possibles l'un après l'autre. Par contre, RainbowCrack pré-calcule toutes
les paires empreintes/texte en clair possibles en fonction de l'algorithme de hachage, du
jeu de caractères et de la longueur du texte en clair sélectionnés à l'avance et les stocke
dans un fichier "rainbow table". Le précalcul des tables peut prendre beaucoup de
temps, mais une fois ce travail terminé, il est possible de craquer facilement et
rapidement le texte chiffré dans les tables arc-en-ciel.
Comme le montre la capture d'écran ci-dessous, les attaquants utilisent RainbowCrack
pour craquer les mots de passe du système cible.
Figure 4.11 : RainbowCrack
Voici une liste de quelques autres outils permettant de craquer des mots de passe :
▪ John the Ripper (https://www.openwall.com)
▪ hashcat (https://hashcat.net)
▪ THC-Hydra (https://github.com)
▪ Medusa (http://foofus.net)
Module Flow
Set the password change policy Do not use any system default
5 6
to 30 days passwords
Résumé du module
Ce module a traité du craquage des mots de passe et de leur complexité. Il a également abordé
les mécanismes d'authentification de Microsoft ainsi que les différents types d'attaques par
mot de passe et montré comment utiliser les outils de craquage. Enfin, le module s'est terminé
par une présentation des différentes contre-mesures contre les attaques de mots de passe.
Dans le prochain module, nous aborderons en détail les différentes techniques d'ingénierie
sociale et les contre-mesures.