conducting-network-penetration-test

对授权目标环境执行全面网络渗透测试,通过主机发现、端口扫描、服务枚举、漏洞识别和受控漏洞利用,评估网络基础设施的安全态势。测试人员遵循 PTES 方法论,从侦察到后渗透和报告全流程执行。

9 stars

Best use case

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

对授权目标环境执行全面网络渗透测试,通过主机发现、端口扫描、服务枚举、漏洞识别和受控漏洞利用,评估网络基础设施的安全态势。测试人员遵循 PTES 方法论,从侦察到后渗透和报告全流程执行。

Teams using conducting-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/conducting-network-penetration-test/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/conducting-network-penetration-test/SKILL.md"

Manual Installation

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

How conducting-network-penetration-test Compares

Feature / Agentconducting-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

# 执行网络渗透测试

## 使用场景

- 在部署前后评估内部或外部网络基础设施的安全态势
- 在真实攻击条件下验证防火墙规则、网络分段和访问控制
- 识别网络服务、协议和配置中的可利用漏洞
- 满足要求定期渗透测试的 PCI-DSS、HIPAA、SOC 2 或 ISO 27001 合规要求
- 针对真实攻击流量评估 IDS/IPS、SIEM 和 SOC 检测能力的有效性

**不适用场景**:未经资产所有者明确书面授权的网络测试、未预先批准变更窗口和回滚计划的生产系统测试,或未明确划定范围和授权的拒绝服务测试。

## 前置条件

- 已签署的交战规则(RoE)文档,指定目标 IP 范围、排除的主机、测试时间窗口和紧急联系方式
- 来自网络所有者的书面授权书(免责信)
- 安装了最新工具的 Kali Linux 或同等发行版的专用测试笔记本
- 按 RoE 定义的 VPN 或直接网络访问目标范围
- 与客户事件响应团队的带外通信渠道
- 列出测试范围内 IP 范围、域名及明确排除系统(医疗设备、SCADA、关键基础设施)的范围文档

## 工作流程

### 步骤一:演练前准备和范围验证

通过与客户确认 IP 范围来验证范围。使用 ARIN/RIPE WHOIS 查询验证范围内的所有 IP 地址均属于客户。确认测试窗口、升级程序和任何敏感性约束。使用专用虚拟机、VPN 连接和所有工具启用日志记录来设置测试环境。创建带时间戳的活动日志,记录整个演练过程中执行的每条命令、发起的每次扫描和尝试的每次漏洞利用。

### 步骤二:主机发现和网络映射

使用分层发现技术识别授权范围内的存活主机:

- **ICMP 扫描**:`nmap -sn -PE -PP -PM 10.10.0.0/16 -oA discovery_icmp` 查找响应 ping 的主机
- **ARP 扫描**(内网):`nmap -sn -PR 10.10.0.0/24 -oA discovery_arp` 或 `arp-scan -l` 进行本地子网枚举
- **TCP SYN 发现**:`nmap -sn -PS21,22,25,80,443,445,3389,8080 10.10.0.0/16 -oA discovery_tcp` 查找 ICMP 被阻止的主机
- **UDP 发现**:`nmap -sn -PU53,161,500 10.10.0.0/16 -oA discovery_udp` 查找仅响应 UDP 的主机

将存活主机整合到目标列表中。通过识别网关、VLAN 边界和信任关系来映射网络拓扑,在授权范围内使用 traceroute 和 SNMP 社区字符串猜测。

### 步骤三:端口扫描和服务枚举

对发现的主机执行详细端口扫描:

- **全 TCP 扫描**:`nmap -sS -p- --min-rate 1000 -T4 -oA full_tcp <target>` 识别所有开放的 TCP 端口
- **主要 UDP 端口**:`nmap -sU --top-ports 200 -T4 -oA top_udp <target>` 针对常见可利用的 UDP 服务
- **服务版本检测**:`nmap -sV -sC -p <open_ports> -oA service_enum <target>` 对服务版本进行指纹识别并运行默认 NSE 脚本
- **操作系统指纹识别**:`nmap -O --osscan-guess -oA os_detection <target>` 识别操作系统

使用协议专属工具深度枚举已发现的服务:
- SMB:`enum4linux -a <target>`、`crackmapexec smb <target> --shares`
- SNMP:`snmpwalk -v2c -c public <target>`
- DNS:`dig axfr @<dns_server> <domain>` 尝试区域传输
- LDAP:`ldapsearch -x -H ldap://<target> -b "dc=example,dc=com"`

### 步骤四:漏洞识别

将发现的服务版本与已知漏洞数据库关联:

- 运行 `nmap --script vuln -p <ports> <target>` 执行 NSE 漏洞脚本
- 使用 `searchsploit <service> <version>` 查询 Exploit-DB 离线数据库
- 与 NVD(国家漏洞数据库)和 CVE 记录交叉验证已确认的漏洞
- 检查管理界面的默认凭据(Tomcat Manager、Jenkins、phpMyAdmin、数据库控制台)
- 测试常见错误配置:匿名 FTP、开放 SMTP 中继、不受限制的 SNMP 社区、无需认证的 NFS 导出

按 CVSS 评分、可利用性和业务影响对漏洞进行优先级排序。记录每个发现,包含 CVE 标识符、受影响主机、服务和版本。

### 步骤五:漏洞利用

遵循最小必要访问权限原则,尝试对已验证漏洞进行受控利用:

- **Metasploit 框架**:使用 `msfconsole` 配合与已确认漏洞匹配的适当利用模块。设置 RHOSTS、RPORT 和载荷选项。优先使用绑定/反向 TCP Meterpreter 以实现后渗透灵活性
- **手动漏洞利用**:代码审查后使用来自 Exploit-DB 的公开概念验证漏洞利用。根据目标环境需要编译和修改
- **凭据攻击**:使用 `hydra` 或 `crackmapexec` 对已发现的服务(SSH、RDP、SMB、HTTP 基本认证)进行密码喷洒,使用常见凭据列表。遵守账户锁定策略
- **哈希传递/中继**:如果获取到 NTLM 哈希,在 SMB 签名被禁用的情况下,使用 `impacket-psexec` 尝试哈希传递或使用 `impacket-ntlmrelayx` 尝试中继攻击

记录每次漏洞利用尝试(包括失败的尝试)。截取显示主机名、IP、当前用户和权限级别的成功入侵截图。

### 步骤六:后渗透和横向移动

获得主机访问权限后,演示业务影响:

- **权限提升**:使用 `linpeas.sh`(Linux)或 `winPEAS.exe`(Windows)检查本地权限提升路径。查找错误配置的服务、SUID 二进制文件、未加引号的服务路径或内核漏洞
- **凭据收割**:从内存(`mimikatz`)、文件(配置文件、浏览器存储)或缓存哈希(`hashdump`)提取存储的凭据
- **横向移动**:使用获取的凭据横向移动到其他系统。通过尝试从已控制主机访问范围外的网络来测试网络分段
- **数据访问演示**:识别从已控制系统可访问的敏感数据(PII 数据库、文件共享、备份文件),并在不实际窃取数据的情况下记录访问

维护关于每个横向移动点、获得的凭据和访问的系统的详细笔记,以构建攻击链叙述。

### 步骤七:清理和报告

从已控制系统中删除所有测试工件:

- 删除上传的工具、Shell 和临时文件
- 删除测试期间创建的任何账户
- 恢复漏洞利用期间所做的配置更改
- 通过重新扫描受影响的主机验证清理结果

准备渗透测试报告,包括执行摘要、方法论说明、带 CVSS 评分的发现详情、概念验证证据和优先级修复建议。

## 核心概念

| 术语 | 定义 |
|------|------------|
| **交战规则(RoE)** | 正式文档,定义渗透测试的范围、边界、测试时间、授权行动和升级程序 |
| **横向移动** | 将已控制主机用作中继点,访问测试人员位置无法直接到达的其他网络段 |
| **服务枚举** | 识别已发现主机上运行的服务、版本和配置,以映射攻击面的过程 |
| **凭据喷洒** | 对多个账户同时测试少量常用密码,以避免触发账户锁定阈值 |
| **CVSS** | 通用漏洞评分系统;用于以 0-10 评分评级漏洞严重性的行业标准框架 |
| **横向移动** | 在网络内从一个已控制系统移动到另一个系统的技术,扩大访问范围 |
| **后渗透** | 初始入侵后的活动,包括权限提升、持久化、凭据收割和数据访问 |

## 工具与系统

- **Nmap**:通过 Nmap 脚本引擎(NSE)进行网络发现、端口扫描、服务枚举和漏洞检测
- **Metasploit 框架**:提供漏洞利用模块、载荷、编码器和后渗透工具的漏洞利用框架,用于已验证漏洞的利用
- **CrackMapExec**:Windows/活动目录环境的瑞士军刀,支持 SMB、WinRM、LDAP 和 MSSQL 枚举与利用
- **Impacket**:提供网络协议(SMB、MSRPC、Kerberos)低级编程访问的 Python 库,用于中继攻击和远程执行
- **Burp Suite**:当网络服务暴露基于 HTTP 的管理界面时使用的 Web 应用代理

## 常见场景

### 场景:金融机构内部网络渗透测试

**背景**:客户是一家中型银行,需要 PCI-DSS 合规。范围包括内部企业网络(10.10.0.0/16),不包括独立 VLAN 中的支付处理系统。测试窗口为周一至周五 20:00-06:00,以最小化对运营的影响。

**方法**:
1. 对可访问的子网执行基于 ARP 的主机发现,对禁用 ICMP 的主机执行 TCP SYN 发现
2. 对所有已发现主机执行全端口扫描,优先处理 Windows 服务器和域控制器
3. 枚举 SMB 共享、SNMP 社区和 Web 管理界面,快速获取初始立足点
4. 识别并利用具有默认凭据的未修补 Apache Tomcat 实例获取初始立足点
5. 通过本地 Windows 内核漏洞提升权限,然后用 Mimikatz 提取缓存的域凭据
6. 演示横向移动至包含客户记录的数据库服务器,证明网络分段不足
7. 记录从初始访问到敏感数据的完整攻击路径,以及每个漏洞的修复步骤

**常见陷阱**:
- 在业务时间内过于激进地扫描,触发 IDS 告警或服务中断
- 扫描前未验证所有目标 IP 实际上由客户所有
- 未记录失败的漏洞利用尝试,错过报告有效控制措施的机会
- 测试后忘记清理 Meterpreter 会话和上传的工具

## 输出格式

```
## 发现:Apache Tomcat 未修补且使用默认凭据

**ID**: NET-001
**严重性**: 严重(CVSS 9.8)
**受影响主机**: 10.10.5.23(tomcat-prod.internal.corp)
**服务**: Apache Tomcat 8.5.31,端口 8080
**CVE**: CVE-2019-0232

**描述**:
10.10.5.23:8080 上的 Apache Tomcat 实例运行版本 8.5.31,
易受 CVE-2019-0232(通过 CGI Servlet 远程执行代码)攻击。
此外,Tomcat Manager 界面可使用默认凭据(tomcat:tomcat)访问,
允许部署任意 WAR 文件。

**概念验证**:
1. 使用凭据 tomcat:tomcat 访问 http://10.10.5.23:8080/manager/html
2. 部署包含反向 Shell 载荷的恶意 WAR 文件
3. 获得以 NT AUTHORITY\SYSTEM 身份的命令执行权限

**影响**:
Tomcat 服务器完全入侵。从该主机,测试人员
使用收割的凭据横向移动到同一子网的 3 个其他系统,
最终访问包含 50,000+ 条记录的客户数据库。

**修复建议**:
1. 立即更改默认 Tomcat Manager 凭据
2. 将 Apache Tomcat 升级到最新稳定版本(当前为 10.1.x)
3. 限制 Tomcat Manager 界面只允许授权管理 IP 访问
4. 在 Web 服务器层和数据库层之间实施网络分段
```

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 以及虚拟主机路由操控风险。