Pentest Collaboration Framework - 一个开源、跨平台且便携的工具包,用于在执行各种测试工作时自动化常规流程
探索文档 »
您只需要 Python3。
⚠️ 最好使用 Python3 <= 3.9,否则请做好准备 PIP 将编译 Python 依赖包。
在此编译过程中,可能需要安装其他系统依赖项。
下载项目:```sh git clone https://gitlab.com/invuls/pentest-projects/pcf.git
转到文件夹:```bash
cd pcf
安装依赖项(适用于基于 Unix 的系统):```bash pip3 install -r requirements_unix.txt
或 Windows:```bash
pip.exe install -r requirements_windows.txt
运行初始化脚本:
(此脚本会重建数据库,但 )```bash
python3 new_initiation.py
或 windows```bash
# !!! read the text and input "DELETE_ALL" string
python.exe new_initiation.py
编辑配置:```bash nano configuration/settings.ini
运行:```bash
old version: python3 app.py
new version: python3 run.py
或 Windows```bash old version: python.exe app.py new version: python.exe run.py
## ☁️ Heroku
⚠️ 自2022年11月起,Heroku 免费套餐不再包含 PostgreSQL。因此,您只能在使用付费账户时使用它⚠️
### 👍 简单方式
从我们的 GitHub 仓库部署:
[](https://dashboard.heroku.com/new-app?template=https://github.com/drakylar/pcf_FORK_CHECK_GITLAB)
注意:请检查 GitHub 仓库的最后推送版本!
您可以查看 😓较难方式 和 💀不可能方式,详见 [🌐wiki 页面](https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/Heroku%20installation)!
## ☁️ AWS
您只需点击链接即可从 AWS 市场安装 PCF:
[](https://aws.amazon.com/marketplace/pp/B08XMGYCHR)
## :whale: Docker
#### 一键安装
_稍后添加!_
#### 自行构建
克隆仓库```bash
git clone https://gitlab.com/invuls/pentest-projects/pcf.git
前往文件夹:```bash cd pcf
运行 docker-compose:```bash
# if it clean installation run this:
# rm ./configuration/database.sqlite3
docker-compose up
并转到 URL```bash http://127.0.0.1:5000/
# 🤸 使用方式
默认端口(查看配置):5000
默认IP(若在本地运行):127.0.0.1
1. 在 http(s)://\<ip\>:\<port\>/register 注册
2. 在 http(s)://\<ip\>:\<port\>/login 登录
3. 在 http(s)://\<ip\>:\<port\>/create_team 创建团队(如需)
4. 在 http(s)://\<ip\>:\<port\>/new_project 创建项目
5. 享受你的渗透测试过程!
API 文档:https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/API%20documentation
## 🖼️ 图库
|||
:-------------------------:|:-------------------------:
|
团队信息|项目列表
|
项目:问题|项目:主机页面
|
项目:主机|项目:服务
|
项目:问题详情|项目:问题详情(PoC)
|
项目:网络|项目:文件
|
项目:工具(可能变动)|项目:已发现凭证
|
项目:测试笔记|项目:聊天
|
项目:设置|项目:报告
# ⚠️ 警告
#### 🚨 默认设置
本程序默认使用 5000 端口,允许任何人注册并使用,因此你需要设置正确的防火墙和网络规则。
#### 🔌 初始化逻辑
谨慎使用 new_initiation 脚本!它会对文件系统进行一些重要更改:
1. 重命名数据库 /configuration/database.sqlite3
2. 重新生成 SSL 证书
3. 重新生成会话密钥。
4. 创建新的空数据库 /configuration/database.sqlite3
5. 创建 /tmp_storage/ 文件夹
# 🎪 社区
如果你有任何功能建议或发现漏洞,请在 GitLab 上提交 Issue。我们欢迎所有形式的支持 :D
我们通过 Telegram 交流。[点击这里](https://t.me/PentestCollaborationFramework)加入我们的 Telegram 社区!
## 📝 待办事项
#### 通用
* [x] 团队配置存储
* [x] 团队报告模板存储
* [x] 自动数据库备份
* [x] 与非注册用户共享问题
* [x] 报告生成
* [x] 快速常见密码暴力破解检查(top-10k)
* [x] REST-API
* [x] 网络图
* [x] 哈希快速导出/导入
* [x] 添加其他数据库
* [x] 添加 .doc 报告生成支持
* [x] 问题模板
* [ ] 备份/从备份恢复项目/团队
#### 工具
* [x] HTTP 嗅探器
* [ ] NetNTLM SMB 嗅探器
* [x] 自定义工具文本报告上传支持(向主机添加备注)
* [x] 哈希快速检查 top-10k 密码
* [ ] 从 Faraday/Dradis 导出项目
* [ ] Metasploit/Cobalt Strike 集成
#### 2.0 版本
* [ ] Vue.js
* [ ] WebSocket
* [ ] 推送消息(更新)
* [ ] 数据库重构(对象)
* [ ] 主机 -> 接口 -> 端口
* [ ] 主机 -> 主机名
* [x] 项目文件管理器
* [ ] 端口 -> 协议:软件:版本
* [ ] 用户定义的主机标记(标记所有开放端口的主机)
* [ ] 每个页面的 TODO 标记按钮
* [ ] 重复主机(合并它们?)
* [ ] 主机 MAC/AD 域/林
# 🎁 演示文稿
* Black Hat:
* 亚洲 :
[2021](https://drive.google.com/file/d/1D_Y-oFqP4BAlFPeFzDeZukSp4RKGvrQU/view?usp=sharing)
*
欧洲 
[2021](https://docs.google.com/presentation/d/1qn0ecorYNtSvm-uh9n62oTbUhqHqxp6698vh5Zg5ZTY/edit?usp=sharing)
* MIPHI :
[2021](https://docs.google.com/presentation/d/1MIioNG_ChvGH_Wcxcg_Cc3C68E3zGiKREU0oo7CdCZg/edit?usp=sharing)
* Defcon-NN :
[2021](https://docs.google.com/presentation/d/1eW19sIikp6DGju8YjfhJoPYqpIsCvupmQZfcmr39YQ4/edit?usp=sharing)
* DC7495 :
[2021](https://docs.google.com/presentation/d/1KQPvxGoPl6c954GyL9ugUCGNOvOa0uM1FtGMbn-vJHY/edit?usp=sharing)
* H@cktivityCon🌐:
[2021](https://docs.google.com/presentation/d/1Zit2km6TAjwdiKJSLI1COKkM70q2aGqnDa7PWs1JTL4/edit?usp=sharing)
* Standoff :
[2021](https://docs.google.com/presentation/d/1Cp-a9cmvMnNf7pqHz3A7jEwx30UvRcvhZlCO1qwN6Jw/edit?usp=sharing)
* PHDays 
[2022](https://docs.google.com/presentation/d/10XXRDYckjwPMjBbbJtLXWulI0oz8ECTjWLOtPEEvr6M/edit?usp=sharing)
# 🏢 公司
此处将列出使用 Pentest Collaboration Framework 的公司。
如果你想添加你的公司,请阅读下方主题 :)
# ❤️ 贡献
如果你想帮助项目或鼓励 PCF 开发者,你可以做以下任意一项:
* 在你的演示文稿/研究文章/论坛主题/其他信息资源中提及 PCF。
* 推荐给你的朋友/同事。
* 给这个仓库点个“星”
* 别忘了 PCF 的 Telegram 聊天
https://t.me/PentestCollaborationFramework
* 在 GitLab Issues 页面上提交更多功能/错误请求
https://gitlab.com/invuls/pentest-projects/pcf/-/issues
* 如果你在工作中使用它,可以请 @drakylar (Telegram) 将你的工作图标+链接添加到 README.md 的“公司”主题中。
* 你可以为 PCF 创建更多模板示例,并将它们发送给我 (@drakylar Telegram),我会将它们添加到主仓库的模板示例文件夹中
* 我们的 YouTube 教程不多,所以你可以创建一个 :)
* 另外,你也可以创建更多的 nmap 脚本插件,并将它们发给 @drakylar。更多信息请见:
https://gitlab.com/invuls/pentest-projects/pcf/-/issues/34
https://gitlab.com/invuls/pentest-projects/pcf/-/blob/master/routes/ui/tools_addons/nmap_scripts/nmap_example.py
**经常有人问:**
> 如何向项目捐款?
没有途径。我不保证我不会在一段时间后放弃这个项目,因此最好的“捐赠”就是为这个工具的开发和推广做出贡献。
> 如何向此仓库提交合并请求?
同样没有途径。为了更好地开发 PCF,我需要了解它的全部代码,所以只需在 GitLab 上创建一个问题,提交错误/功能请求并附上一些代码示例,我可以据此进行修复。
| 结构 |
|---|
| ![]() |
| 名称 | PCF | Lair | Dradis | Faraday | AttackForge | PenTest.WS | Hive | Cervantes |
|---|
| 便携性 | ✅ | ❌ | ❌ | ❌ | ❌ | ✅💲 | ❌ | ❌ |
| 跨平台 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| 免费 | ✅ | ✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ✅ |
| 未弃用! | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| 数据导出 | ✅ | ❌✅ | ✅ | ✅ | ✅ | ❌✅ | ✅ | ❌✅ |
| 聊天 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ |
| 面向安全专家而非管理人员 | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌✅ | ❌✅ |
| 报告生成 | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| API | ✅ | ❌✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 问题模板 | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| 工具名称 | 集成类型 | 描述 |
|---|
| Nmap | 导入 | 导入 XML 结果(IP、端口、服务类型、服务版本、主机名、操作系统)。支持的插件:vulners |
| Nessus | 导入 | 导入 .nessus 结果(IP、端口、服务类型、安全问题、操作系统) |
| Qualys | 导入 | 导入 .xml 结果(IP、端口、服务类型、安全问题) |
| Masscan | 导入 | 导入 XML 结果(IP、端口) |
| Nikto | 导入 | 导入 XML、CSV、JSON 结果(问题、IP、端口) |
| Acunetix | 导入 | 导入 XML 结果(IP、端口、问题) |
| Burp Suite Enterprise | 导入 | 导入 HTML 结果(IP、端口、主机名、问题、PoC) |
| kube-hunter | 导入 | 导入 JSON 结果(IP、端口、服务、问题) |
| Checkmarx SAST | 导入 | 导入 XML/CSV 结果(代码信息、问题) |
| Dependency-check | 导入 | 导入 XML 结果(代码问题) |
| OpenVAS/GVM | 导入 | 导入 XML 结果(IP、端口、主机名、问题) |
| NetSparker | 导入 | 导入 XML 结果(IP、端口、主机名、问题) |
| BurpSuite | 导入/扩展 | 用于从 BurpSuite 快速发送问题的扩展。 |
| ipwhois | 扫描 | 扫描主机/网络并保存 whois 数据 |
| shodan | 扫描 | 扫描主机并保存信息(IP、端口、服务)。 |
| HTTP-Sniffer | 附加 | 为任何项目创建多个 HTTP 嗅探器。 |
| WPScan | 导入 | 导入 JSON 结果(IP、端口、主机名、问题) |
| DNSrecon | 导入 | 导入 JSON/CSV/XML 结果(IP、端口、主机名) |
| theHarvester | 导入 | 导入 XML 结果(IP、主机名) |
| Metasploit | 导入 | 导入 XML 项目(IP、端口、主机名、问题) |
| Nuclei | 导入 | 导入 JSON 结果(IP、主机名、端口、问题) |
| PingCastle | 导入 | 导入 XML 结果(IP、问题) |
| MaxPatrol | 导入 | 导入 XML 结果(IP、端口、问题) |
| Scanvus | 导入 | 导入 JSON 报告(问题) |
| Tenable.sc | 导入 | 导入 .nessus 结果(IP、端口、服务类型、安全问题、操作系统) |
| aiodnsbrute | 导入 | 导入 JSON/CSV 结果(IP、主机名) |
| Advanced Port Scanner | 导入 | 导入 XML 结果(IP、主机名、端口) |
| RedCheck | 导入 | 导入 CSV 结果(IP、端口、安全问题) |
| MaxPatrol VM | 导入 | 导入 XML 结果(IP、端口、主机名、操作系统、安全问题) |