SecurityPreview
Open in TheBrain

Smbmap

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.

$ smbmap \-husage: smbmap [\-h] (\-H HOST | -\-host-file FILE) [\-u USERNAME] [\-p PASSWORD]              [\-s SHARE] [\-d DOMAIN] [\-P PORT] [\-v] [-\-admin] [\-x COMMAND]              [-\-mode CMDMODE] [\-L | \-R [PATH] | \-r [PATH]] [\-A PATTERN | \-g]              [-\-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]SMBMap - Samba Share Enumerator | Shawn Evans - ShawnDEvans@gmail.comoptions:  \-h, -\-help            show this help message and exitMain arguments:  \-H HOST               IP of host  -\-host-file FILE      File containing a list of hosts  \-u USERNAME           Username, if omitted null session assumed  \-p PASSWORD           Password or NTLM hash  \-s SHARE              Specify a share (default C$), ex 'C$'  \-d DOMAIN             Domain name (default WORKGROUP)  \-P PORT               SMB port (default 445)  \-v                    Return the OS version of the remote host  -\-admin               Just report if the user is an adminCommand 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 wmiShard drive Search:  Options for searching/enumerating the share of the specified host(s)  \-L                    List all drives on the specified host  \-R [PATH]             Recursively list dirs, and files (no share\path lists                        ALL shares), ex. 'C$\Finance'  \-r [PATH]             List contents of directory, default is to list root of                        all shares, ex. \-r 'C$\Documents and                        Settings\Administrator\Documents'  \-A PATTERN            Define a file name pattern (regex) that auto downloads                        a file on a match (requires \-R or \-r), not case                        sensitive, ex '(web|global).(asax|config)'  \-g                    Make the output grep friendly, used with \-r or \-R                        (otherwise it outputs nothing)  -\-dir-only            List only directories, ommit 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 5.  -\-exclude SHARE [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)  \-F PATTERN            File content search, \-F '[Pp]assword' (requires 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'  -\-upload SRC 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 promptExamples:$ smbmap \-u jsmith \-p password1 \-d workgroup \-H 192.168.0.1$ smbmap \-u jsmith \-p 'aad3b435b51404eeaad3b435b51404ee:da76f2c4c96028b7a6111aef4a50a94d' \-H 172.16.0.20$ smbmap \-u 'apadmin' \-p 'asdf1234!' \-d ACME \-h 10.1.3.30 \-x 'net group "Domain Admins" /domain'