Usage Tips:
- Click on a keyword to enable inline editing.
- Click inside a code block to copy (excludes comments).
- Use the button to view examples.
- Click outside to collapse all examples.
SMB Share Enum
sudo nmap --script=smb-enum-shares -p 445 <TARGET>
Sample Output:
$ sudo nmap --script=smb-enum-shares -p 445 10.10.11.207
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-25 04:53 GMT
Nmap scan report for 10.10.11.207
Host is up (0.26s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
Nmap done: 1 IP address (1 host up) scanned in 7.96 seconds
Anonymous Login
smbmap -H <TARGET> --no-banner
Sample Output:
TO-DO
smbmap -H <TARGET> -u null --no-banner
Sample Output:
TO-DO
# List known share
smbmap -H <TARGET> -r <SHARE>
Sample Output:
TO-DO
smbclient -N -L \\\\<TARGET>\\
Sample Output:
$ smbclient -N -L \\\\10.10.11.207\\
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Remote Admin
C$ Disk Default share
Development Disk
IPC$ IPC Remote IPC
NETLOGON Disk Logon server share
SYSVOL Disk Logon server share
Users Disk
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 10.10.11.207 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Unable to connect with SMB1 -- no workgroup available
# After found an accessible share
smbclient -N \\\\<TARGET>\\<SHARE>\\
Sample Output:
$ smbclient -N \\\\10.10.11.207\\Development\\
Try "help" to get a list of possible commands.
smb: \>
# Fix: Unable to initialize messaging context. protocol negotiation failed: NT_STATUS_CONNECTION_DISCONNECTED
smbclient -N -L \\\\<TARGET>\\ --option='client min protocol=NT1'
Sample Output:
TO-DO
# SID brute, if null auth allowed
impacket-lookupsid test@<DOMAIN> -no-pass
Sample Output:
$ impacket-lookupsid test@coder.htb -no-pass
Impacket v0.12.0.dev1+20240730.164349.ae8b81d7 - Copyright 2023 Fortra
[*] Brute forcing SIDs at coder.htb
[*] StringBinding ncacn_np:coder.htb[\pipe\lsarpc]
[*] Domain SID is: S-1-5-21-2608251805-3526430372-1546376444
498: CODER\Enterprise Read-only Domain Controllers (SidTypeGroup)
500: CODER\Administrator (SidTypeUser)
...[SNIP]...
1000: CODER\DC01$ (SidTypeUser)
1101: CODER\DnsAdmins (SidTypeAlias)
1102: CODER\DnsUpdateProxy (SidTypeGroup)
1106: CODER\e.black (SidTypeUser)
1107: CODER\c.cage (SidTypeUser)
1108: CODER\j.briggs (SidTypeUser)
1109: CODER\l.kang (SidTypeUser)
1110: CODER\s.blade (SidTypeUser)
2101: CODER\PKI Admins (SidTypeGroup)
3601: CODER\Software Developers (SidTypeGroup)
Authenticated
smbmap -H <TARGET> -u '<USER>' -p '<PASSWORD>' --no-banner
Sample Output:
$ smbmap -H 10.10.11.102 -u 'localadmin' -p 'Secret123' --no-banner
[*] Detected 1 hosts serving SMB
[*] Established 1 SMB connections(s) and 1 authenticated session(s)
[+] IP: 10.10.11.102:445 Name: 10.10.11.102 Status: Authenticated
Disk Permissions Comment
---- ----------- -------
ADMIN$ NO ACCESS Remote Admin
C$ NO ACCESS Default share
CertEnroll READ ONLY Active Directory Certificate Services share
IPC$ READ ONLY Remote IPC
NETLOGON READ ONLY Logon server share
Shared READ, WRITE
SYSVOL READ ONLY Logon server share
[*] Closed 1 connections
# List known share
smbmap -H <TARGET> -u '<USER>' -p '<PASSWORD>' -r <SHARE> --depth 2 --no-banner
Sample Output:
$ smbmap -H 10.10.11.102 -u 'localadmin' -p 'Secret123' -r Shared --depth 2 --no-banner
[*] Detected 1 hosts serving SMB
[*] Established 1 SMB connections(s) and 1 authenticated session(s)
[+] IP: 10.10.11.102:445 Name: 10.10.11.102 Status: Authenticated
Disk Permissions Comment
---- ----------- -------
ADMIN$ NO ACCESS Remote Admin
C$ NO ACCESS Default share
CertEnroll READ ONLY Active Directory Certificate Services share
IPC$ READ ONLY Remote IPC
NETLOGON READ ONLY Logon server share
Shared READ, WRITE
./Shared
dr--r--r-- 0 Tue Sep 24 22:04:23 2024 .
dr--r--r-- 0 Tue Sep 24 22:04:23 2024 ..
dr--r--r-- 0 Tue Apr 27 12:09:24 2021 Documents
dr--r--r-- 0 Fri Jul 23 02:14:16 2021 Software
./Shared//Documents
dr--r--r-- 0 Tue Apr 27 12:09:24 2021 .
dr--r--r-- 0 Tue Apr 27 12:09:24 2021 ..
dr--r--r-- 0 Thu Apr 29 22:50:33 2021 Analytics
./Shared//Documents/Analytics
dr--r--r-- 0 Thu Apr 29 22:50:33 2021 .
dr--r--r-- 0 Thu Apr 29 22:50:33 2021 ..
fr--r--r-- 6455 Thu Apr 29 22:50:33 2021 Big 5.omv
fr--r--r-- 2897 Thu Apr 29 22:50:33 2021 Bugs.omv
fr--r--r-- 2142 Thu Apr 29 22:50:33 2021 Tooth Growth.omv
fr--r--r-- 2841 Tue Sep 24 22:03:16 2024 Whatif.omv
./Shared//Software
dr--r--r-- 0 Fri Jul 23 02:14:16 2021 .
dr--r--r-- 0 Fri Jul 23 02:14:16 2021 ..
fr--r--r-- 1447178 Tue Apr 27 05:10:10 2021 7z1900-x64.exe
fr--r--r-- 247215343 Tue Apr 27 05:03:52 2021 jamovi-1.6.16.0-win64.exe
fr--r--r-- 10559784 Tue Apr 27 05:10:08 2021 VNC-Viewer-6.20.529-Windows.exe
SYSVOL READ ONLY Logon server share
[*] Closed 1 connections
# Download file
smbmap -H <TARGET> -u '<USER>' -p '<PASSWORD>' --download '<PATH_TO_FILE>' --no-banner
Sample Output:
$ smbmap -H 10.10.11.102 -u 'localadmin' -p 'Secret123' --download 'Shared\Documents\Analytics\Whatif.omv' --no-banner
[*] Detected 1 hosts serving SMB
[*] Established 1 SMB connections(s) and 1 authenticated session(s)
[+] Starting download: Shared\Documents\Analytics\Whatif.omv (2841 bytes)
[+] File output to: /home/kali/10.10.11.102-Shared_Documents_Analytics_Whatif.omv
[*] Closed 1 connections
# List files with regex pattern
smbmap -H <TARGET> -u '<USER>' -p '<PASSWORD>' -r <SHARE> --depth 2 -A <FILE_PATTERN> --no-banner
Sample Output:
$ smbmap -H 10.10.11.102 -u 'localadmin' -p 'Secret123' -r Shared --depth 2 -A '.omv' --no-banner
[*] Detected 1 hosts serving SMB
[*] Established 1 SMB connections(s) and 1 authenticated session(s)
[*] Performing file name pattern match!
[+] Match found! Downloading: Shared/Documents/Analytics/Big 5.omv
[+] Starting download: Shared\Documents\Analytics\Big 5.omv (6455 bytes)
[+] File output to: /home/kali/10.10.11.102-Shared_Documents_Analytics_Big 5.omv
[+] Match found! Downloading: Shared/Documents/Analytics/Bugs.omv
[+] Starting download: Shared\Documents\Analytics\Bugs.omv (2897 bytes)
[+] File output to: /home/kali/10.10.11.102-Shared_Documents_Analytics_Bugs.omv
[+] Match found! Downloading: Shared/Documents/Analytics/Tooth Growth.omv
[+] Starting download: Shared\Documents\Analytics\Tooth Growth.omv (2142 bytes)
[+] File output to: /home/kali/10.10.11.102-Shared_Documents_Analytics_Tooth Growth.omv
[+] Match found! Downloading: Shared/Documents/Analytics/Whatif.omv
[+] Starting download: Shared\Documents\Analytics\Whatif.omv (2841 bytes)
[+] File output to: /home/kali/10.10.11.102-Shared_Documents_Analytics_Whatif.omv
[*] Closed 1 connections
smbclient -L \\\\<TARGET>\\ -U '<DOMAIN>/<USER>%<PASSWORD>'
Sample Output:
$ smbclient -L \\\\10.10.11.102\\ -U 'windcorp.htb/localadmin%Secret123'
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Remote Admin
C$ Disk Default share
CertEnroll Disk Active Directory Certificate Services share
IPC$ IPC Remote IPC
NETLOGON Disk Logon server share
Shared Disk
SYSVOL Disk Logon server share
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 10.10.11.102 failed (Error NT_STATUS_IO_TIMEOUT)
Unable to connect with SMB1 -- no workgroup available
# After found an accessible share
smbclient \\\\<TARGET>\\<SHARE>\\ -U '<DOMAIN>/<USER>%<PASSWORD>'
Sample Output:
$ smbclient \\\\10.10.11.102\\Shared\\ -U 'windcorp.htb/localadmin%Secret123'
Try "help" to get a list of possible commands.
smb: \>
# Spidering Shares
nxc smb <TARGET> -u '<USER>' -p '<PASSWORD>' -d <DOMAIN> -M spider_plus
Sample Output:
TO-DO
# Send a File to the Remote Target
nxc smb <TARGET> -u '<USER>' -p '<PASSWORD>' -d <DOMAIN> --share <SHARE> --put-file <FILE> \\<FILE>
Sample Output:
TO-DO
# Get a File From the Remote Target
nxc smb <TARGET> -u '<USER>' -p '<PASSWORD>' -d <DOMAIN> --share <SHARE> --get-file \\<FILE> <FILE>
Sample Output:
TO-DO
Authenticated with Kerberos
impacket-smbclient '<DOMAIN>/<USER>:<PASSWORD>@<TARGET_DOMAIN>' -k -no-pass
Sample Output:
TO-DO
Basic commands
# List all files in a share
recurse ON
Sample Output:
TO-DO
ls
Sample Output:
TO-DO
# Download all files
mask ""
Sample Output:
TO-DO
recurse ON
Sample Output:
TO-DO
prompt OFF
Sample Output:
TO-DO
mget *
Sample Output:
TO-DO
List Alternate Data Streams (ADS)
allinfo <FILE>
Sample Output:
TO-DO
# Example Response
>>>stream: [:Password:$DATA], 15 bytes
Sample Output:
TO-DO
# Download specific data stream
get "<FILE>:Password"
Sample Output:
TO-DO
Mount SMB Share
sudo mount -t cifs //<TARGET>/<SHARE> /mnt
Sample Output:
TO-DO
sudo mount -t cifs -o ro,user='<USER>',password='<PASSWORD>' //<TARGET>/<SHARE> /mnt
Sample Output:
$ sudo mount -t cifs -o ro,user='localadmin',password='Secret123' //10.10.11.102/Shared /mnt
$ ls /mnt
Documents Software
Check write permission
sudo find . -type d | while read directory; do touch ${directory}/test 2>/dev/null && echo "${directory} - write file" && rm ${directory}/test; mkdir ${directory}/test 2>/dev/null && echo "${directory} - write directory" && rmdir ${directory}/test; done
Sample Output:
TO-DO
#Check file type you can write
sudo touch {/mnt/,./}test.{dll,exe,ini,lnk}
Sample Output:
TO-DO
Change SMB password (With old password)
smbpasswd -r <TARGET> -U <USER>
Sample Output:
TO-DO