capetron/penetration-testing-checklist

GitHub: capetron/penetration-testing-checklist

一份结构化的渗透测试检查清单,解决评估过程不一致与遗漏攻击面的问题。

Stars: 0 | Forks: 0

# 渗透测试检查清单 一份面向安全专业人士和 IT 团队的结构化渗透测试清单。该清单覆盖从范围界定和规则约定到侦察、攻击、后利用以及报告的全生命周期。与 PTES(渗透测试执行标准)、OWASP 测试指南以及 NIST SP 800-115 保持一致,为网络、Web 应用、无线、云和社会工程评估提供可操作的检查项。 ## 为何使用渗透测试检查清单 缺乏结构化方法的渗透测试会导致结果不一致、遗漏攻击面,并产生无法推动修复的报告。无论你是内部红队、咨询公司,还是负责管理第三方渗透测试的 IT 团队,可重复的检查清单都能确保全面覆盖并交付专业质量的成果。 本清单按评估类型和攻击阶段组织。可将其作为起始框架,并根据你的环境与参与范围进行调整。 ## 目录 1. [预交互](#1-pre-engagement) 2. [侦察](#2-reconnaissance) 3. [网络渗透测试](#3-network-penetration-testing) 4. [Web 应用测试](#4-web-application-testing) 5. [无线网络测试](#5-wireless-network-testing) 6. [云安全测试](#6-cloud-security-testing) 7. [社会工程测试](#7-social-engineering-testing) 8. [Active Directory / 身份测试](#8-active-directory--identity-testing) 9. [后利用](#9-post-exploitation) 10. [报告](#10-reporting) 11. [工具参考](#11-tool-reference) 12. [合规要求](#12-compliance-requirements) ## 1. 预交互 ### 范围界定 - [ ] 定义测试类型:黑盒、灰盒或白盒 - [ ] 定义范围:IP 范围、域名、应用、云账户 - [ ] 记录明确排除在范围之外的系统 - [ ] 识别测试类型:外部、内部、Web 应用、无线、社会工程、物理 - [ ] 确定测试窗口(日期、时间、维护窗口) - [ ] 识别需要特殊处理的敏感/脆弱系统 - [ ] 确认是否允许拒绝服务测试 - [ ] 确认社会工程是否在范围内 ### 规则约定(ROE) - [ ] 获取系统所有者的书面授权(签署的参与函) - [ ] 定义可接受的测试技术与工具 - [ ] 建立应急联系程序(若测试引发问题) - [ ] 定义数据处理要求(发现如何存储、传输、销毁) - [ ] 约定通信渠道(加密邮件、安全门户) - [ ] 定义第三方托管系统的规则(云提供商可能需要通知) - [ ] 确认 AWS/Azure/GCP 渗透测试通知要求(如适用) ### 凭证与访问(灰盒/白盒) - [ ] 获取测试账户(标准用户、特权用户(如适用)) - [ ] 获取 VPN 访问或跳转盒凭证(用于内部测试) - [ ] 获取网络拓扑与架构文档(白盒) - [ ] 获取应用源代码或 API 文档(白盒) - [ ] 验证所有提供的凭证在测试窗口开启前均有效 ## 2. 侦察 ### 被动侦察(OSINT) - [ ] DNS 枚举(A、AAAA、MX、TXT、NS、SOA、SRV 记录) - [ ] 子域名发现(subfinder、amass、crt.sh 证书透明度日志) - [ ] WHOIS 与注册信息 - [ ] Google dorking(site:target.com filetype:pdf、inurl:admin 等) - [ ] Shodan / Censys / BinaryEdge 搜索暴露的服务 - [ ] GitHub / GitLab 搜索泄露的凭证、API 密钥、内部文档 - [ ] LinkedIn 员工枚举(用于社会工程范围) - [ ] Wayback Machine 获取历史内容与已删除页面 - [ ] 招聘信息(揭示技术栈) - [ ] 已泄露凭证数据库(使用 Have I Been Pwned API 查询域名) - [ ] SSL/TLS 证书分析(主题备用名称揭示子域名) - [ ] ASN 与 IP 范围识别 ### 主动侦察 - [ ] 端口扫描(Nmap:TCP SYN 扫描、Top 1000 端口,如获许可则全端口扫描) - [ ] 服务版本探测(Nmap -sV) - [ ] 操作系统指纹识别(Nmap -O) - [ ] 横幅抓取(Netcat、curl) - [ ] Web 技术指纹识别(Wappalyzer、WhatWeb、BuiltWith) - [ ] 虚拟主机发现(Host 头枚举) - [ ] Web 目录与文件暴力破解(ffuf、gobuster、dirsearch) - [ ] API 端点发现(检查 /swagger、/api-docs、/graphql) - [ ] 邮件收集(theHarvester、Hunter.io) ## 3. 网络渗透测试 ### 外网网络 - [ ] 识别所有面向互联网的服务 - [ ] 测试所有发现服务的默认凭据 - [ ] 检查识别出的服务版本是否存在已知 CVE - [ ] 测试 SSL/TLS 配置(testssl.sh、sslyze) - [ ] 已过期或自签名证书 - [ ] 弱加密套件 - [ ] 支持 TLS 1.0/1.1 - [ ] 缺少 HSTS 头部 - [ ] 测试 VPN 端点是否存在已知漏洞 - [ ] 测试邮件服务器配置(开放中继、SPF/DKIM/DMARC) - [ ] 测试 DNS 是否允许区域传输(dig axfr @ns.target.com target.com) - [ ] 检查是否存在暴露的管理界面(管理面板、控制台) - [ ] 测试 SNMP 是否使用默认团体字符串 ### 内网网络 - [ ] 网络发现(Nmap、Responder 用于被动 LLMNR/NBT-NS) - [ ] LLMNR/NBT-NS/mDNS 中毒(Responder) - [ ] ARP 欺骗 / 中间人攻击(如在范围内) - [ ] SMB 枚举(CrackMapExec、enum4linux-ng) - [ ] 空会话访问 - [ ] 访客会话访问 - [ ] 共享枚举与访问 - [ ] SMB 签名状态 - [ ] SNMP 枚举(使用常见团体字符串的 snmpwalk) - [ ] 网络共享数据挖掘(Snaffler) - [ ] 密码喷洒(针对已识别服务,受控进行并注意账户锁定) - [ ] Kerberoasting(GetUserSPNs、Rubeus) - [ ] AS-REP Roasting(GetNPUsers) - [ ] NTLM 中继攻击(ntlmrelayx,若 SMB 签名被禁用) - [ ] IPv6 攻击(mitm6,若 IPv6 已启用但未受管) - [ ] 仅在批准并在受控环境下利用已识别的 CVE ## 4. Web 应用测试 与 OWASP 测试指南 v4.2 及 OWASP Top 10(2021)对齐。 ### 信息收集 - [ ] 识别 Web 服务器(Apache、Nginx、IIS 版本) - [ ] 识别 Web 应用框架(Django、.NET、Spring、Express) - [ ] 绘制应用结构(站点图、爬行) - [ ] 识别所有入口点(表单、参数、API、文件上传) - [ ] 检查 robots.txt 与 sitemap.xml - [ ] 检查 HTTP 头部与错误消息中的信息泄露 ### 身份认证测试 - [ ] 测试默认凭据 - [ ] 测试用户名枚举(对有效与无效用户返回不同响应) - [ ] 测试密码复杂度要求 - [ ] 测试账户锁定机制 - [ ] 测试暴力破解防护(速率限制、CAPTCHA) - [ ] 测试密码重置功能(令牌可预测性、邮箱验证) - [ ] 测试 MFA 实现(绕过技术、缺失 enforcement) - [ ] 测试会话管理(会话固定、会话 ID 随机性) - [ ] 测试凭据填充防护 - [ ] 检查 URL 参数或 JavaScript 源码中的凭据 ### 授权测试 - [ ] 测试水平权限提升(访问其他用户数据) - [ ] 测试垂直权限提升(普通用户访问管理员功能) - [ ] 测试 IDOR(不安全的直接对象引用) - [ ] 测试 API 授权(端点缺少认证、令牌验证不当) - [ ] 测试路径遍历(../../../etc/passwd) - [ ] 测试强制浏览(访问 /admin、/backup、/debug) ### 输入验证测试 - [ ] SQL 注入(SQLMap、手动载荷) - 错误型 - 联合型 - 盲型(布尔型、时间型) - 二阶型 - [ ] 测试跨站脚本(XSS) - 反射型 XSS - 存储型 XSS - DOM 型 XSS - [ ] 测试跨站请求伪造(CSRF) - [ ] 测试服务器端请求伪造(SSRF) - [ ] 测试 XML 外部实体(XXE)注入 - [ ] 测试服务器端模板注入(SSTI) - [ ] 测试命令注入(OS 命令、LDAP、XPATH) - [ ] 测试反序列化漏洞 - [ ] 测试文件上传功能 - 允许的文件类型(绕过扩展名过滤) - 文件内容校验(魔数) - 上传路径(能否上传至 Web 可访问目录) - 文件名规范化(路径遍历在文件名中) ### 业务逻辑测试 - [ ] 测试速率限制绕过 - [ ] 测试价格篡改(请求中修改价格) - [ ] 测试数量篡改(负数、溢出) - [ ] 测试流程绕过(跳过多步骤流程中的步骤) - [ ] 测试竞态条件(并发请求) - [ ] 测试优惠券/促销码滥用 ### API 专项测试 - [ ] 测试 API 身份认证(缺少认证、令牌验证不当) - [ ] 测试过度数据暴露(API 返回超出必要的数据) - [ ] 测试批量赋值(发送未预期参数) - [ ] 测试所有端点的速率限制 - [ ] 测试 BOLA(破损的对象级别授权)——OWASP API Top 10 #1 - [ ] 检查 API 文档是否暴露(/swagger、GraphQL 自省) ## 5. 无线网络测试 - [ ] 识别所有 SSID(包括隐藏网络) - [ ] 确定加密类型(WPA3、WPA2、WPA、WEP、开放) - [ ] 测试 WPA2 握手捕获与离线破解 - [ ] 测试 WPS PIN 暴力破解(Reaver/Bully) - [ ] 测试邪恶双子/伪造 AP 攻击 - [ ] 测试访客网络隔离(访客能否访问内部资源) - [ ] 测试 802.1X EAP 降级攻击 - [ ] 测试 KARMA/已知信标对客户端设备的攻击 - [ ] 验证无线 IDS/IPS 检测能力 - [ ] 检查无线网络的管理界面访问 ## 6. 云安全测试 ### AWS - [ ] 测试 IAM 策略误配置(权限过大) - [ ] 测试公共 S3 存储桶(列出、读取、写入) - [ ] 测试应用程序对 EC2 元数据服务的访问(SSRF 至 169.254.169.254) - [ ] 测试安全组规则(权限过大的入站规则) - [ ] 测试暴露的 RDS / Elasticsearch 等托管服务 - [ ] 测试 Lambda 函数权限与环境变量 - [ ] 检查 CloudTrail 日志(是否启用、是否被监控) - [ ] 检查代码中是否存在访问密钥 ### Azure - [ ] 测试 Entra ID(Azure AD)配置 - [ ] 测试 Azure RBAC 角色是否过于宽松 - [ ] 测试暴露的存储账户(Blob、Table、Queue) - [ ] 测试 NSG 规则是否过于宽松 - [ ] 测试 Azure Key Vault 访问策略 - [ ] 检查 Azure Activity Log 监控 - [ ] 测试托管身份权限 ### GCP - [ ] 测试 IAM 策略绑定 - [ ] 测试公共 Cloud Storage 存储桶 - [ ] 测试防火墙规则 - [ ] 测试暴露的 BigQuery 数据集 - [ ] 检查审计日志配置 - [ ] 测试服务账户密钥管理 ### 通用云 - [ ] 测试跨账户/跨租户访问 - [ ] 测试无服务器函数配置是否不安全 - [ ] 检查容器注册表是否公开访问 - [ ] 测试 Kubernetes/EKS/AKS/GKE 的 RBAC 与 Pod 安全策略 ## 7. 社会工程测试 ### 钓鱼活动 - [ ] 制定与参与范围一致的钓鱼话术 - [ ] 注册相似域名(如在范围内) - [ ] 设置钓鱼基础设施(GoPhish 或类似工具) - [ ] 创建着陆页(凭据收集或载荷投递) - [ ] 向目标列表发送钓鱼邮件 - [ ] 跟踪:投递率、打开率、点击率、凭据提交率 - [ ] 记录时间线与结果 ### 语音钓鱼(Vishing) - [ ] 制定话术与脚本 - [ ] 确定目标(前台、帮助台、高管) - [ ] 进行通话(如法律允许且已获批准则录音) - [ ] 跟踪:拨打电话次数、披露的信息、获得的访问权限 - [ ] 记录发现与意识差距 ### 物理(如在范围内) - [ ] 尝试尾随/蹭门进入 - [ ] 测试门禁卡控制 - [ ] 测试未锁的工作站 - [ ] 投放 U 盘(USB Rubber Ducky / HID 攻击,如已批准) - [ ] 检查公共区域是否遗留敏感文件 - [ ] 测试是否可进行垃圾搜寻(如已批准) - [ ] 用照片记录所有物理安全发现 ## 8. Active Directory / 身份测试 - [ ] 枚举域用户、组与计算机(BloodHound、PowerView) - [ ] 识别通往域管理员的攻击路径(BloodHound) - [ ] Kerberoasting(请求服务账户的 TGS 票据,离线破解) - [ ] AS-REP Roasting(查找未启用预认证的账户) - [ ] 密码喷洒(同一密码对所有用户,尊重锁定策略) - [ ] 检查不受约束的委派 - [ ] 检查约束委派滥用 - [ ] 测试 DCSync 权限(非 DA 账户是否具备复制权限) - [ ] 检查 LAPS 部署与访问控制 - [ ] 检查 GPP(组策略首选项)密码 - [ ] 检查证书配置错误(AD CS — ESC1 至 ESC8) - [ ] 测试 Silver Ticket / Golden Ticket 可行性 - [ ] 检查存在但已禁用的账户是否仍具权限 - [ ] 审查密码策略强度 ## 9. 后利用 获得访问权限后,在范围与 ROE 内展示业务影响。 - [ ] 确定当前用户上下文与权限 - [ ] 尝试提权至本地管理员 / root - [ ] 尝试横向移动到其他系统 - [ ] 尝试域权限提升(至域管理员) - [ ] 访问敏感数据(PII、PHI、财务数据、CUI——在 ROE 范围内) - [ ] 模拟数据 exfiltration(演练,不实际外传真实数据) - [ ] 建立持久化(记录方法,并在清理时移除) - [ ] 跳转到隔离网络(演示分段绕过) - [ ] 记录从初始访问到目标的完整攻击链 ### 清理检查清单 - [ ] 移除上传到目标系统的所有工具 - [ ] 移除创建的所有测试账户 - [ ] 移除所有持久化机制 - [ ] 移除所有后门、反向 Shell 与 Web Shell - [ ] 恢复任何被修改的配置 - [ ] 向客户提供测试期间所做的所有更改清单 - [ ] 从目标系统删除所有测试数据 ## 10. 报告 ### 报告结构 一份专业的渗透测试报告应包含以下部分: 1. **执行摘要** — 业务层面概述、风险评级、关键发现(1–2 页) 2. **范围与方法** — 测试内容、方法、规则约定 3. **发现摘要** — 按严重性分类的汇总表/图表 4. **详细发现** — 每个发现的描述、证据、影响与修复建议 5. **攻击叙事** — 从侦察到目标的完整攻击链(这使渗透测试的价值超越漏洞扫描) 6. **修复路线图** — 按优先级排序的修复计划,包含快速修复与战略改进 7. **附录** — 原始扫描输出、工具日志、支撑证据 ### 发现严重性评级 | 等级 | 定义 | 业务影响 | |------|------|----------| | **严重** | 可被立即利用,影响严重 | 完全系统沦陷、大量数据泄露、业务中断 | | **高** | 可被利用,影响显著 | 单点系统沦陷、敏感数据暴露 | | **中** | 可被利用,影响中等或需串联 | 有限数据暴露额外步骤才能完全利用 | | **低** | 小问题或信息提示 | 最佳实践违规,直接影响小 | | **信息** | 观察项,不可直接利用 | 安全改进机会 | ### 发现模板 ``` FINDING: [Title] ================= Severity: [Critical / High / Medium / Low] CVSS Score: [If applicable] Affected Systems: [List] CWE: [CWE-XXX if applicable] Description: [Technical description of the vulnerability] Steps to Reproduce: 1. [Step-by-step reproduction instructions] 2. 3. Evidence: [Screenshots, terminal output, proof of exploitation] Impact: [Business impact -- what could an attacker achieve?] Remediation: [Specific remediation steps] References: [CVEs, OWASP references, vendor advisories] ``` ## 11. 工具参考 ### 侦察 | 工具 | 用途 | 链接 | |------|------|------| | Nmap | 端口扫描、服务识别 | nmap.org | | Amass | 子域名枚举 | github.com/owasp-amass/amass | | Subfinder | 快速子域名发现 | github.com/projectdiscovery/subfinder | | theHarvester | 邮箱与子域名收集 | github.com/laramies/theHarvester | | Shodan | 互联网设备搜索 | shodan.io | ### 攻击利用 | 工具 | 用途 | 链接 | |------|------|------| | Metasploit | 攻击框架 | metasploit.com | | CrackMapExec | Windows/AD 攻击套件 | github.com/byt3bl33d3r/CrackMapExec | | Impacket | 网络协议攻击 | github.com/fortra/impacket | | SQLMap | SQL 注入自动化 | sqlmap.org | | Burp Suite | Web 应用测试 | portswigger.net | ### Active Directory | 工具 | 用途 | 链接 | |------|------|------| | BloodHound | AD 攻击路径分析 | github.com/BloodHoundAD/BloodHound | | Rubeus | Kerberos 滥用 | github.com/GhostPack/Rubeus | | Certipy | AD CS 攻击 | github.com/ly4k/Certipy | | PowerView | AD 枚举 | github.com/PowerShellMafia/PowerSploit | | Mimikatz | 凭据提取 | github.com/gentilkiwi/mimikatz | ### 无线 | 工具 | 用途 | 链接 | |------|------|------| | Aircrack-ng | 无线审计套件 | aircrack-ng.org | | Bettercap | 网络攻击、WiFi | bettercap.org | | Reaver | WPS 暴力破解 | github.com/t6x/reaver-wps-fork-t6x | | EAPHammer | WPA2-Enterprise 攻击 | github.com/s0lst1c3/eaphammer | ### 报告 | 工具 | 用途 | 链接 | |------|------|------| | Ghostwriter | 渗透测试报告平台 | github.com/GhostManager/Ghostwriter | | Dradis | 协作式报告 | dradis.com | | PlexTrac | 渗透测试管理与报告 | plextrac.com | | SysReptor | 安全报告生成 | github.com/Syslifters/sysreptor | ## 12. 合规要求 ### 各框架的渗透测试要求 | 框架 | 要求 | 频率 | 关键细节 | |------|------|------|----------| | **PCI DSS 4.0** | 要求 11.4:外部与内部渗透测试 | 年度 + 重大变更后 | 必须遵循行业认可的方法(PTES、OWASP、NIST) | | **CMMC Level 2** | CA.L2-3.12.1:定期安全评估 | 定期(建议年度) | 必须评估所有 CUI 系统 | | **HIPAA** | 164.308(a)(8):技术评估 | 环境变更后 | 渗透测试为最佳实践,非强制 | | **SOC 2** | CC4.1/CC7.1:控制测试 | 年度 | 审计师通常期望 | | **ISO 27001** | A.18.2.3:技术合规审查 | 按风险处置计划定义 | 渗透测试是常见实现方式 | | **FedRAMP** | RA-5(5):特权访问分析 | 年度 | 需第三方评估者 | | **NIST CSF** | DE.CM-8:执行漏洞扫描 | 按定义 | 渗透测试扩展了漏洞扫描 | | **GDPR** | 第 32(1)(d) 条:定期测试安全性 | 定期 | 渗透测试证明“测试、评估与评审” | ## 关于 由 [Petronella Technology Group](https://petronellatech.com) 创建,总部位于北卡罗来纳州罗利市,是一家专注于网络安全与托管 IT 服务的公司。我们提供渗透测试、漏洞评估和红队演练服务,服务于医疗、国防、金融与专业服务等行业。 CMMC-RP 认证 | 自 2003 年起 BBB A+ 评级 | 23 年以上网络安全经验 联系:**(919) 348-4912** | [petronellatech.com/contact-us](https://petronellatech.com/contact-us/) ### 相关资源 - [CMMC 合规指南](https://petronellatech.com/compliance/cmmc-compliance-guide/) - [网络安全服务](https://petronellatech.com/cyber-security/) - [虚拟 CISO](https://petronellatech.com/solutions/vciso/) - [紧急 IT 支持](https://petronellatech.com/contact-us/emergency-room/) - [免费安全评估](https://petronellatech.com/contact-us/) ## 专业合规服务 如需渗透测试或安全评估支持,**Petronella Technology Group** 提供全面的网络安全服务: - [网络安全服务](https://petronellatech.com/cybersecurity/) — 托管安全与评估 - [CMMC 合规指南](https://petronellatech.com/compliance/cmmc-compliance-guide/) — 完整的 CMMC Level 2 准备 - [HIPAA 合规服务](https://petronellatech.com/compliance/hipaa-compliance/) — 医疗安全评估 - [AI 驱动的安全](https://petronellatech.com/ai/ai-services/) — 具备内置合规功能的 AI 基础设施 **Petronella Technology Group** 是 CMMC-RP 认证的网络安全公司,总部位于北卡罗来纳州罗利市。整个团队均持有 CMMC 注册从业者资质。[联系我们](https://petronellatech.com/contact-us/) 或致电 (919) 348-4912。 ## 许可证 MIT 许可证 — 详见 [LICENSE](LICENSE)。
标签:ESC8, NIST SP 800-115, PTES, 反取证, 安全合规, 安全评估, 应用层测试, 报告框架, 数据展示, 社会工程学, 红队, 结构化检查表, 网络代理, 网络安全, 网络渗透测试, 隐私保护