smbmap1
Smb enumeration tool
Usage
smbmap {[-h]
(-H
HOST | --host-file
FILE)
[-u
USERNAME]
[{-p
PASSWORD | --prompt}]
[-s
SHARE]
[-d
DOMAIN]
[-P
PORT]
[-v]
[--admin]
[--no-banner]
[--no-color]
[--no-update]
[-x
COMMAND]
[--mode
CMDMODE]
[{-L | -r
[PATH]}]
[{-A
PATTERN | -g
FILE | --csv
FILE}]
[--dir-only]
[--no-write-check]
[-q]
[--depth
DEPTH]
[--exclude
SHARE
[SHARE ...]]
[-F
PATTERN]
[--search-path
PATH]
[--search-timeout
TIMEOUT]
[--download
PATH]
[--upload
SRC
DST]
[--delete
PATH
TO
FILE]
[--skip]}
Overview
SMBMap allows users to enumerate samba share drives across an entire domain. List share drives, drive permissions, share contents, upload/download functionality, file name auto-download pattern matching, and even execute remote commands. This tool was designed with pen testing in mind, and is intended to simplify searching for potentially sensitive data across large networks.
Options
Main arguments:
-
-H HOST -
IP of host
-
--host-file FILE -
File containing a list of hosts
-
-u USERNAME, --username USERNAME -
Username, if omitted null session assumed
-
-p PASSWORD, --password PASSWORD -
Password or NTLM hash
-
--prompt -
Prompt for a password
-
-s SHARE -
Specify a share (default C$), ex 'C$'
-
-d DOMAIN -
Domain name (default WORKGROUP)
-
-P PORT -
SMB port (default 445)
-
-v, --version -
Return the OS version of the remote host
-
--signing -
Check if host has SMB signing disabled, enabled, or required
-
--admin -
Just report if the user is an admin
-
--no-banner -
Removes the banner from the top of the output
-
--no-color -
Removes the color from output
-
--no-update -
Removes the "Working on it" message
-
--timeout SCAN_TIMEOUT -
Set port scan socket timeout. Default is .5 seconds
Kerberos settings:
-
-k, --kerberos -
Use Kerberos authentication
-
--no-pass -
Use CCache file (export KRB5CCNAME='~/current.ccache')
--dc-ipIP orHost-
IP or FQDN of DC
Command Execution:
-
Options for executing commands on the specified host
-
-x COMMAND -
Execute a command ex. 'ipconfig /all'
-
--mode CMDMODE -
Set the execution method, wmi or psexec, default wmi
Shard drive Search:
-
Options for searching/enumerating the filesystem of the specified host
-
-L -
List all drives on the specified host, requires ADMIN rights.
-
-r [PATH] -
Recursively list dirs and files (no shareath lists the root of ALL shares), ex. 'email/backup'
-
-g FILE -
Output to a file in a grep friendly format, used with -r (otherwise it outputs nothing), ex -g grep_out.txt
-
-A PATTERN -
Define a file name pattern (regex) that auto downloads a file on a match (requires
-r), not case sensitive, ex '(web|global).(asax|config)'
-
--csv FILE -
Output to a CSV file, ex --csv shares.csv
-
--dir-only -
List only directories, omit files
-
--no-write-check -
Skip check to see if drive grants WRITE access
-
-q -
Quiet verbose output. Only shows shares you have READ or WRITE on, and suppresses file listing when performing a search (
-A).
-
--depth DEPTH -
Traverse a directory tree to a specific depth. Default is 1 (root node).
--excludeSHARE [SHARE ...]-
Exclude share(s) from searching and listing, ex. --exclude ADMIN$ C$'
File Content Search:
-
Options for searching the content of files (must run as root), kind of experimental
-
-F PATTERN -
File content search,
-F'[Pp]assword' (requries admin access to execute commands, and powershell on victim host)
-
--search-path PATH -
Specify drive/path to search (used with
-F, default C:\Users), ex 'D:\HR\'
-
--search-timeout TIMEOUT -
Specifcy a timeout (in seconds) before the file search job gets killed. Default is 300 seconds
Filesystem interaction:
-
Options for interacting with the specified host's filesystem
-
--download PATH -
Download a file from the remote system, ex.'C$\temp\passwords.txt'
--uploadSRC DST-
Upload a file to the remote system ex. '/tmp/payload.exe C$\temp\payload.exe'
-
--delete PATH_TO_FILE -
Delete a remote file, ex. 'C$\temp\msf.exe'
-
--skip -
Skip delete file confirmation prompt
Examples:
$ python smbmap.py -u jsmith -p password1 -d workgroup -H 192.168.0.1
$ python smbmap.py -u jsmith -p 'aad3b435b51404eeaad3b435b51404ee:da76f2c4c96028b7a6111aef4a50a94d' -H 172.16.0.20
$ python smbmap.py -u 'apadmin' -p 'asdf1234!' -d ACME -H 10.1.3.30 -x 'net group "Domain Admins" /domain'
History
- Debian 13 (Trixie): the text shown here
- Debian 12 (Bookworm) to Debian 10 (Buster)
--admin since Debian 13 (Trixie);
--csv since Debian 13 (Trixie);
--delete since Debian 13 (Trixie);
--dir-only since Debian 13 (Trixie);
--kerberos since Debian 13 (Trixie);
--mode since Debian 13 (Trixie);
--no-banner since Debian 13 (Trixie);
--no-color since Debian 13 (Trixie);
--no-pass since Debian 13 (Trixie);
--no-update since Debian 13 (Trixie);
--no-write-check since Debian 13 (Trixie);
--password since Debian 13 (Trixie);
--prompt since Debian 13 (Trixie);
--search-timeout since Debian 13 (Trixie);
--signing since Debian 13 (Trixie);
--timeout since Debian 13 (Trixie);
--username since Debian 13 (Trixie);
--version since Debian 13 (Trixie);
-g since Debian 13 (Trixie);
-k since Debian 13 (Trixie);
-v since Debian 13 (Trixie).
--help until Debian 12 (Bookworm);
-R until Debian 12 (Bookworm);
-h until Debian 12 (Bookworm).