iw00tr00t/pci-network-pentest-framework
GitHub: iw00tr00t/pci-network-pentest-framework
这是一个专为 PCI DSS v4.0 合规设计的网络渗透测试与分段验证框架,提供从环境搭建到报告生成的完整九阶段方法论及自动化脚本。
Stars: 0 | Forks: 0
# PCI DSS 网络渗透测试与分段框架
一个久经考验、全面的 PCI DSS 网络渗透测试和分段验证评估框架。由经验丰富的渗透测试人员基于实战经验构建。
```
____ ____ ___ _ _ _ ____ _ _
| _ \ / ___|_ _| | \ | | ___| |_ | _ \ ___ _ __ | |_ ___ ___| |_
| |_) | | | | | \| |/ _ \ __| | |_) / _ \ '_ \| __/ _ \/ __| __|
| __/| |___ | | | |\ | __/ |_ | __/ __/ | | | || __/\__ \ |_
|_| \____|___| |_| \_|\___|\__| |_| \___|_| |_|\__\___||___/\__|
& Segmentation Testing Framework v1.0
```
## 这是什么?
这是一个用于执行 PCI DSS 内部网络渗透测试及分段验证的**完整、即插即用框架**。它涵盖了从初始界定范围到最终报告的所有环节,并与 **PCI DSS v4.0** 要求保持一致。
**克隆它。配置它。运行它。** 仅此而已。无需猜测,无需在项目中途 Google 搜索。
无论你是新手还是资深人士,该框架都提供:
- **分步说明** —— 逐日演练,包含确切的命令
- **9 阶段方法论**,覆盖整个项目生命周期
- **现成可用的模板**,用于范围界定、发现、分段矩阵和资产清单
- **自动化脚本**,可部署到 Kali VM 并执行
- **PCI DSS v4.0 要求映射**,覆盖每个测试阶段
- **报告指南**,附带通用发现库,让你无需从零开始
- **工具安装指南** —— 一条命令安装所有工具
## 从这里开始
其他所有内容(`templates/`、`scripts/`、`docs/`)均参考自这些指南。
## 适用对象
- 进行 PCI DSS 网络评估的**渗透测试人员**
- 验证持卡人数据环境分段的**红队**
- 需要渗透测试证据的 **QSAs**(合格安全评估员)
- 与商户或服务提供商合作的**安全顾问**
- 参与 PCI 范围内内部网络项目的**漏洞赏金猎人**
## 框架结构
```
pci-network-pentest-framework/
│
├── README.md # You are here
├── GETTING-STARTED.md # Complete walkthrough (read first!)
├── DAY-BY-DAY.md # Day-by-day commands & decisions
├── INTERNAL-PENTEST-GUIDE.md # Full internal network assessment guide
├── TOOL-SETUP.md # Tool installation guide
├── METHODOLOGY.md # 9-phase methodology reference
├── QUICK-START.md # TL;DR for experienced pentesters
├── LICENSE
│
├── templates/ # Ready-to-use document templates
│ ├── scope.md # Engagement scope template
│ ├── checklist.md # Full assessment checklist
│ ├── segmentation-matrix.md # Bidirectional segmentation results
│ ├── asset-inventory.md # Host & service inventory
│ ├── finding-template.md # Per-finding report template
│ └── engagement-config.env # Variable configuration file
│
├── scripts/ # Automation scripts
│ ├── setup.sh # Phase 0: Environment setup
│ ├── segmentation-test.sh # Phase 1: Segmentation testing
│ ├── cde-recon.sh # Phase 2: CDE reconnaissance
│ ├── ad-attack.sh # Phase 3: Active Directory assessment
│ └── parse-results.sh # Result parsing & quick wins
│
├── docs/ # Additional documentation
│ ├── REPORTING-GUIDE.md # How to write findings & reports
│ ├── pci-dss-v4-mapping.md # PCI DSS v4.0 requirement mapping
│ ├── attack-playbook.md # Attack techniques reference
│ └── emergency-procedures.md # Incident & emergency protocols
│
└── examples/ # Example outputs (sanitized)
└── sample-segmentation-matrix.md # Example completed matrix
```
## 快速开始
### 1. 克隆与配置
```
git clone https://github.com/iw00tr00t/pci-network-pentest-framework.git
cd pci-network-pentest-framework
# 复制并编辑配置文件
cp templates/engagement-config.env my-engagement.env
nano my-engagement.env
```
### 2. 填写项目变量
使用你的特定项目详情编辑 `my-engagement.env`:
```
# Engagement Info
ENGAGEMENT_ID="PT12345"
CLIENT_NAME="Acme Corp"
# CDE 网络
CDE_CIDR="10.x.x.0/24"
CDE_KALI_IP="10.x.x.x"
# 非 CDE 网络
NONCDE_CIDR="10.x.x.0/24"
NONCDE_KALI_IP="10.x.x.x"
```
### 3. 将模板复制到你的项目文件夹
```
# 创建 engagement 目录
mkdir -p ~/engagements/${ENGAGEMENT_ID}/{findings,evidence,scans,ad,traffic-captures,scripts,report}
# 复制并自定义模板
cp templates/*.md ~/engagements/${ENGAGEMENT_ID}/
```
### 4. 将脚本部署到 Kali VMs
```
# 使用 SCP 将脚本传输到你的 Kali VMs
scp scripts/*.sh kali@:/root/
```
### 5. 开始测试
```
# 在 Kali VM 上 - 阶段 0:Setup
chmod +x *.sh
./setup.sh cde # or 'noncde' for the non-CDE VM
# 阶段 1:Segmentation Testing
./segmentation-test.sh noncde-to-cde # from Non-CDE Kali
./segmentation-test.sh cde-to-noncde # from CDE Kali
```
## 方法论概览
| 阶段 | 名称 | 时长 | 优先级 |
|-------|------|----------|----------|
| **0** | 前期准备与环境验证 | Day 1 (2-4 hrs) | Setup |
| **1** | **分段测试** | Day 1-2 | **CRITICAL** |
| **2** | CDE 网络侦察 | Day 2-3 | High |
| **3** | Active Directory 评估 | Day 3 | High |
| **4** | 漏洞评估 | Day 3-4 | High |
| **5** | 利用与横向移动 | Day 4-5 | Medium |
| **6** | 非 CDE/访客网络评估 | Day 5-6 | Medium |
| **7** | 行业特定与 PCI 检查 | Day 6 | Medium |
| **8** | 检测与日志验证 | Day 6 | Low |
| **9** | 文档与报告 | Day 6-7 | Required |
## 涵盖的 PCI DSS v4.0 要求
| 要求 | 描述 | 框架阶段 |
|-------------|-------------|-----------------|
| 1.2.1 | NSC 限制入站 CDE 流量 | Phase 1, 7 |
| 1.2.5 | 已识别服务/协议/端口 | Phase 1, 7 |
| 1.3.1 | 限制入站 CDE 流量 | Phase 1 |
| 1.3.2 | 限制出站 CDE 流量 | Phase 1 |
| 1.4.1 | 受信与不受信网络间的 NSC | Phase 6 |
| 2.2.1 | 已应用配置标准 | Phase 4 |
| 2.2.2 | 已移除/禁用厂商默认值 | Phase 2-4 |
| 2.2.7 | 非控制台管理已加密 | Phase 4 |
| 4.2.1 | PAN 传输使用强加密 | Phase 4 |
| 6.3.3 | 已安装安全补丁 | Phase 4 |
| 11.4.1 | 内部渗透测试方法论 | Phase 1-5 |
| 11.4.3 | 可利用漏洞已修正/重测 | Phase 4-5 |
| 11.4.5 | 分段控制已验证 | Phase 1 |
| 11.4.6 | 从 CDE 外部测试分段 | Phase 1 |
## 主要功能
### 分段测试 (Phase 1)
- **双向测试** - 非 CDE→CDE 和 CDE→非 CDE
- **IPv6 分段** - 经常被忽视,可能绕过所有 IPv4 规则
- **高级绕过技术** - DNS 隧道、ICMP 隧道、分片、源路由
- **出站测试** - 数据能否离开 CDE?
- **完整的分段矩阵模板**,包含逐协议结果
### Active Directory 攻击路径 (Phase 3)
- BloodHound 采集与分析
- Kerberoasting & AS-REP Roasting
- ADCS (ESC1-ESC8) 利用
- 强制攻击
- NTLM 中继链
- 具备锁定感知的密码喷射
### 行业特定检查 (Phase 7)
可根据客户的行业进行定制:
- **酒店业** - POS 终端、支付网关、IoT/HVAC
- **零售业** - POS 系统、电子商务后端、库存系统
- **医疗保健** - 医疗设备、PACS、HL7/FHIR 端点
- **金融业** - 交易平台、SWIFT 接口、ATM 网络
- **任何商户** - 支付处理、令牌化、加密
## 所需工具
该框架假设使用标准的 Kali Linux 工具集:
| 类别 | 工具 |
|----------|-------|
| **扫描** | Nmap, Masscan, arp-scan, netdiscover |
| **AD 评估** | BloodHound, SharpHound, Impacket suite, Certipy, Rubeus |
| **凭证攻击** | Responder, mitm6, NetExec (CrackMapExec), hashcat/john |
| **利用** | Metasploit, Impacket (psexec/wmiexec/dcomexec), evil-winrm |
| **枚举** | enum4linux-ng, smbclient, ldapsearch, snmpwalk, onesixtyone |
| **Web** | Nikto, Gobuster, testssl.sh |
| **网络** | Wireshark, tcpdump, traceroute |
| **报告** | gowitness (screenshots) |
## 操作安全规则
该框架专为**生产环境**设计。每个脚本和检查清单项都遵循以下规则:
1. **拒绝 DoS** - 无破坏性利用、无服务重启、无数据修改
2. **CHD 掩码** - PAN 掩码为前 6/后 4 位,绝不外传
3. **留存一切证据** - 截图、记录、为每个操作打上时间戳
4. **范围纪律** - 仅测试授权网络
5. **干净退出** - 移除所有工具、清除战利品、无持久访问
6. **应急程序** - 发现主动入侵时立即停止,并立即通知
## 免责声明
该框架**仅用于授权的安全评估**。在执行任何渗透测试活动之前,请务必确保你拥有明确的书面许可。未经授权访问计算机系统是非法的。
作者不对该框架的误用负责。请负责任且合乎道德地使用。
## 许可证
本项目根据 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 致谢
- [PCI Security Standards Council](https://www.pcisecuritystandards.org/) - PCI DSS v4.0 标准
- [OWASP](https://owasp.org/) - 测试方法论
- [PTES](http://www.pentest-standard.org/) - 渗透测试执行标准
- 感谢渗透测试社区的持续知识分享
如果你发现该仓库对你的 PCI 评估有帮助,请给个 **Star**!
标签:Cardholder Data, Cutter, PCI DSS, Penetration Testing, QSAs, Segmentation Validation, v4.0, 反取证, 安全指南, 安全评估, 工具集, 应用安全, 数据展示, 模板, 测试框架, 红队, 网络分段, 网络安全, 网络调试, 网络连接监控, 脚本, 自动化, 防御加固, 隐私保护