SMBMap
Énumérateur de partages SMB. Liste les partages, permissions, et fichiers accessibles en lecture/écriture sur plusieurs hôtes. Supporte l'exécution de commandes et l'upload/download de fichiers. SMB share enumerator. Lists shares, permissions, and readable/writable files across hosts. Supports command execution and file upload/download.
↗ https://github.com/ShawnDEvans/smbmapOverview
SMBMap allows you to enumerate SMB shares across a domain, checking which shares are accessible and with what permissions. It can search file contents, download/upload files, and execute commands on accessible shares.
Basic Enumeration
Null session (unauthenticated)
smbmap -H 10.10.10.1
With credentials
smbmap -H 10.10.10.1 -u 'user' -p 'password'
Domain user
smbmap -H 10.10.10.1 -d domain.local -u 'user' -p 'password'
Pass-the-hash
smbmap -H 10.10.10.1 -u 'administrator' -p 'aad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c'
Enumerate all hosts in a subnet
smbmap -H 10.10.10.0/24 -u 'user' -p 'password'
From file of targets
smbmap -H targets.txt -u 'user' -p 'password'
Listing Content
List contents of a specific share
smbmap -H 10.10.10.1 -u user -p pass -r 'SHARENAME'
List recursively (depth N)
smbmap -H 10.10.10.1 -u user -p pass -R 'SHARENAME'
List with depth limit
smbmap -H 10.10.10.1 -u user -p pass -R 'SHARENAME' --depth 3
Searching Files
Search for files matching a pattern
smbmap -H 10.10.10.1 -u user -p pass -r 'SHARENAME' -A '*.txt'
Search for sensitive files
smbmap -H 10.10.10.1 -u user -p pass -R -A '(passw|cred|secret|config).*\.(txt|xml|ini|conf)'
Case-insensitive file pattern
smbmap -H 10.10.10.1 -u user -p pass -R -A 'web.config'
File Operations
Download a file
smbmap -H 10.10.10.1 -u user -p pass --download 'SHARE\path\to\file.txt'
Upload a file
smbmap -H 10.10.10.1 -u user -p pass --upload '/local/file.txt' 'SHARE\remote\path\file.txt'
Command Execution
# Execute a command (requires writable share and specific conditions)
smbmap -H 10.10.10.1 -u administrator -p pass -x 'net user'
smbmap -H 10.10.10.1 -u administrator -p pass -x 'ipconfig'
Tips
READ ONLYvsREAD, WRITE— writable shares may allow planting files (e.g., SCF, URL, LNK) for hash capture- Combine with Responder: drop a malicious file in a writable share to capture NTLMv2 hashes
- Use
-A '.*'with-Rto recursively find all readable files smbmapoutput marks[+]for accessible and distinguishes READ/WRITE permissions
Help / Man page
smbmap [options]
-H host Target host or CIDR
-u user Username (default: '')
-p pass Password or hash (LM:NT format)
-d domain Domain name
-P port SMB port (default: 445)
-s share Specify share (default: C$)
-r path Recursively list directory
-R path Recursively list with file info
-A pattern Search files matching pattern (regex)
--depth N Recursion depth
--download path Download file from share
--upload src dst Upload local file to share
--delete path Delete a file
-x command Execute a command
-q Quiet (no banner)
--no-write-check Skip write access check
Vue d’ensemble
SMBMap permet d’énumérer les partages SMB à travers un domaine, en vérifiant quels partages sont accessibles et avec quelles permissions. Il peut rechercher dans le contenu des fichiers, télécharger/uploader des fichiers, et exécuter des commandes sur les partages accessibles.
Énumération de base
# Session null (non authentifiée)
smbmap -H 10.10.10.1
# Avec identifiants
smbmap -H 10.10.10.1 -u 'user' -p 'password'
# Utilisateur de domaine
smbmap -H 10.10.10.1 -d domain.local -u 'user' -p 'password'
# Pass-the-hash
smbmap -H 10.10.10.1 -u 'administrator' -p 'aad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c'
# Énumérer tous les hôtes d'un sous-réseau
smbmap -H 10.10.10.0/24 -u 'user' -p 'password'
# Depuis un fichier de cibles
smbmap -H targets.txt -u 'user' -p 'password'
Lister le contenu
# Lister le contenu d'un partage spécifique
smbmap -H 10.10.10.1 -u user -p pass -r 'SHARENAME'
# Lister récursivement (profondeur N)
smbmap -H 10.10.10.1 -u user -p pass -R 'SHARENAME'
# Lister avec une limite de profondeur
smbmap -H 10.10.10.1 -u user -p pass -R 'SHARENAME' --depth 3
Recherche de fichiers
# Rechercher des fichiers correspondant à un motif
smbmap -H 10.10.10.1 -u user -p pass -r 'SHARENAME' -A '*.txt'
# Rechercher des fichiers sensibles
smbmap -H 10.10.10.1 -u user -p pass -R -A '(passw|cred|secret|config).*\.(txt|xml|ini|conf)'
# Motif de fichier insensible à la casse
smbmap -H 10.10.10.1 -u user -p pass -R -A 'web.config'
Opérations sur les fichiers
# Télécharger un fichier
smbmap -H 10.10.10.1 -u user -p pass --download 'SHARE\path\to\file.txt'
# Uploader un fichier
smbmap -H 10.10.10.1 -u user -p pass --upload '/local/file.txt' 'SHARE\remote\path\file.txt'
Exécution de commandes
# Exécuter une commande (nécessite un partage accessible en écriture et des conditions spécifiques)
smbmap -H 10.10.10.1 -u administrator -p pass -x 'net user'
smbmap -H 10.10.10.1 -u administrator -p pass -x 'ipconfig'
Conseils
READ ONLYvsREAD, WRITE: les partages accessibles en écriture peuvent permettre de déposer des fichiers (SCF, URL, LNK) pour capturer des hashs- Combiner avec Responder : déposer un fichier malveillant dans un partage accessible en écriture pour capturer des hashs NTLMv2
- Utiliser
-A '.*'avec-Rpour trouver récursivement tous les fichiers lisibles - La sortie de
smbmapmarque[+]pour les partages accessibles et distingue les permissions READ/WRITE
Aide / Page de manuel
smbmap [options]
-H host Target host or CIDR
-u user Username (default: '')
-p pass Password or hash (LM:NT format)
-d domain Domain name
-P port SMB port (default: 445)
-s share Specify share (default: C$)
-r path Recursively list directory
-R path Recursively list with file info
-A pattern Search files matching pattern (regex)
--depth N Recursion depth
--download path Download file from share
--upload src dst Upload local file to share
--delete path Delete a file
-x command Execute a command
-q Quiet (no banner)
--no-write-check Skip write access check