在渗透测试中,Windows 靶机通常会运行多种服务,每种服务都有其默认端口和常见的枚举工具及方法。以下是 Windows 靶机常见的服务、端口、枚举工具和方法的详细说明:
1. SMB(Server Message Block)
端口
- 445/TCP:SMB over TCP(主要端口)。
- 139/TCP:NetBIOS Session Service(旧版 SMB)。
常见用途
- 文件共享。
- 打印机共享。
- 远程命令执行。
枚举工具与方法
-
enum4linux:
-
用于枚举 SMB 服务的基本信息(用户、组、共享、密码策略等)。
-
示例:
bashenum4linux -a <目标IP>
-
-
nxc(NetExec,原名 CrackMapExec):
-
支持 SMB 枚举、密码爆破、命令执行等。
-
示例:
bashnxc smb <目标IP> -u <用户名> -p <密码> --shares
-
-
smbclient:
-
用于与 SMB 共享交互。
-
示例:
bashsmbclient -L //<目标IP> -U <用户名>
-
-
rpcclient:
-
用于与 Windows RPC 服务交互。
-
示例:
bashrpcclient -U "" <目标IP>
-
-
常见枚举方法:
-
列出共享:
bashsmbclient -L //<目标IP>
-
枚举用户:
bashrpcclient -U "" <目标IP> -c "enumdomusers"
-
枚举组:
bashrpcclient -U "" <目标IP> -c "enumdomgroups"
-
2. LDAP(Lightweight Directory Access Protocol)
端口
- 389/TCP:LDAP(默认端口)。
- 636/TCP:LDAPS(LDAP over SSL)。
常见用途
- 目录服务(如 Active Directory)。
- 用户和组管理。
枚举工具与方法
-
ldapsearch:
-
用于查询 LDAP 目录。
-
示例:
bashldapsearch -x -h <目标IP> -b "dc=example,dc=com"
-
-
windapsearch:
-
专门用于枚举 Active Directory。
-
示例:
bashpython3 windapsearch.py -d example.com -u <用户名> -p <密码> --users
-
-
nxc(NetExec):
-
支持 LDAP 枚举。
-
示例:
bashnxc ldap <目标IP> -u <用户名> -p <密码> --users
-
-
常见枚举方法:
-
枚举用户:
bashldapsearch -x -h <目标IP> -b "dc=example,dc=com" "(objectClass=user)"
-
枚举组:
bashldapsearch -x -h <目标IP> -b "dc=example,dc=com" "(objectClass=group)"
-
3. NFS(Network File System)
端口
- 2049/TCP:NFS(默认端口)。
常见用途
- 文件共享(通常在 Unix/Linux 系统中使用,但 Windows 也可能通过第三方软件支持)。
枚举工具与方法
-
showmount:
-
用于列出 NFS 共享。
-
示例:
bashshowmount -e <目标IP>
-
-
nmap:
-
用于扫描和枚举 NFS 服务。
-
示例:
bashnmap -p 2049 --script=nfs-showmount <目标IP>
-
4. RDP(Remote Desktop Protocol)
端口
- 3389/TCP:RDP(默认端口)。
常见用途
- 远程桌面连接。
枚举工具与方法
-
nmap:
-
用于检测 RDP 服务是否开放。
-
示例:
bashnmap -p 3389 <目标IP>
-
-
xfreerdp:
-
用于连接 RDP 服务。
-
示例:
bashxfreerdp /v:<目标IP> /u:<用户名> /p:<密码>
-
-
枚举方法:
-
检测 RDP 服务:
bashnmap -p 3389 <目标IP>
-
5. WinRM(Windows Remote Management)
端口
- 5985/TCP:WinRM over HTTP。
- 5986/TCP:WinRM over HTTPS。
常见用途
- 远程管理 Windows 系统。
枚举工具与方法
-
nxc(NetExec):
-
支持 WinRM 枚举和命令执行。
-
示例:
bashnxc winrm <目标IP> -u <用户名> -p <密码> -x "whoami"
-
-
evil-winrm:
-
用于通过 WinRM 连接目标系统。
-
示例:
bashevil-winrm -i <目标IP> -u <用户名> -p <密码>
-
-
枚举方法:
-
检测 WinRM 服务:
bashnmap -p 5985,5986 <目标IP>
-
6. DNS(Domain Name System)
端口
- 53/UDP:DNS(默认端口)。
常见用途
- 域名解析。
枚举工具与方法
-
nslookup:
-
用于查询 DNS 记录。
-
示例:
bashnslookup <域名> <目标IP>
-
-
dig:
-
用于查询 DNS 记录。
-
示例:
bashdig @<目标IP> <域名>
-
-
常见枚举方法:
-
查询域信息:
bashnslookup -type=SRV _ldap._tcp.<域名>
-
总结
以下是 Windows 靶机常见服务、端口、工具和方法的总结:
服务 | 端口 | 工具 | 枚举方法 |
---|---|---|---|
SMB | 445/TCP, 139/TCP | enum4linux, nxc, smbclient | 枚举用户、组、共享、密码策略等 |
LDAP | 389/TCP, 636/TCP | ldapsearch, windapsearch, nxc | 枚举用户、组、域信息等 |
NFS | 2049/TCP | showmount, nmap | 列出 NFS 共享 |
RDP | 3389/TCP | nmap, xfreerdp | 检测 RDP 服务 |
WinRM | 5985/TCP, 5986/TCP | nxc, evil-winrm | 枚举和命令执行 |
DNS | 53/UDP | nslookup, dig | 查询 DNS 记录 |
根据目标系统的服务情况,选择合适的工具和方法进行枚举和渗透测试。