
Открытый, кроссплатформенный и портативный набор инструментов для автоматизации рутинных процессов при проведении различных работ по тестированию!
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
Run initiation script:
(этот скрипт воссоздает базу данных, но )```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 бесплатный тариф Heroku не включает PostgreSQL. Поэтому вы сможете использовать его только на платном аккаунте⚠️
### 👍 Простой способ
Разверните из нашего репозитория GitHub:
[](https://dashboard.heroku.com/new-app?template=https://github.com/drakylar/pcf_FORK_CHECK_GITLAB)
Внимание: проверьте последнюю версию в репозитории GitHub!
Вы можете ознакомиться с 😓Более сложным и 💀Невозможным способами
на [🌐странице вики](https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/Heroku%20installation)!
## ☁️ AWS
Просто перейдите по ссылке и установите PCF из AWS marketplace:
[](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/
# 🎪 Сообщество
Если у вас есть предложения по функциям или сообщения об ошибках, оставляйте issues в GitLab. Мы приветствуем любую поддержку :D
Мы общаемся в Telegram. [Нажмите здесь](https://t.me/PentestCollaborationFramework), чтобы присоединиться к нашему сообществу в Telegram!
## 📝 TODO
#### Общие
* [x] Хранилище конфигурации команды
* [x] Хранилище шаблонов отчётов команды
* [x] Автоматическое резервное копирование базы данных
* [x] Общий доступ к задачам для незарегистрированных пользователей
* [x] Генерация отчётов
* [x] Быстрая проверка популярных паролей (топ-10k)
* [x] REST-API
* [x] Граф сети
* [x] Быстрый экспорт/импорт хэшей
* [x] Добавление других баз данных
* [x] Поддержка генерации отчётов в формате .doc
* [x] Шаблоны задач
* [ ] Резервное копирование/восстановление проектов/команд
#### Инструменты
* [x] HTTP-сниффер
* [ ] Сниффер NetNTLM SMB
* [x] Поддержка загрузки текстовых отчётов произвольных инструментов (добавление заметок к хостам)
* [x] Быстрая проверка хэшей по топ-10k паролей
* [ ] Экспорт проектов из Faraday/Dradis
* [ ] Интеграция с Metasploit/Cobalt Strike
#### Версия 2.0
* [ ] Vue.js
* [ ] WebSockets
* [ ] Push-сообщения (обновления)
* [ ] Перестройка базы данных (объекты)
* [ ] хосты -> интерфейсы -> порты
* [ ] хосты -> имена хостов
* [x] Менеджер файлов проекта
* [ ] Порт -> Протокол:Программное обеспечение:Версия
* [ ] Пользовательские метки хостов (отметить все хосты с открытым портом)
* [ ] Кнопка TODO на каждой странице
* [ ] Дубликаты хостов (объединить их?)
* [ ] MAC-адрес хоста/AD-домен/Лес
# 🎁 Презентации
* Black Hat:
* Asia :
[2021](https://drive.google.com/file/d/1D_Y-oFqP4BAlFPeFzDeZukSp4RKGvrQU/view?usp=sharing)
*
Europe 
[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 в своих презентациях/исследовательских статьях/темах на форумах/других информационных ресурсах.
* Рекомендовать его друзьям/коллегам.
* Поставить «звёздочку» этому репозиторию.
* Не забывать про Telegram-чат PCF
https://t.me/PentestCollaborationFramework
* Создавать больше запросов на функции/ошибки на странице issues в GitLab
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
**Был частый вопрос:**
> Как пожертвовать деньги проекту?
Никак. Я не гарантирую, что не брошу этот проект через какое-то время, поэтому лучшим «пожертвованием» будет вклад в развитие и распространение утилиты.
> Как сделать merge request в этом репозитории?
Опять же, никак. Чтобы быстрее развивать PCF, мне нужно знать весь его код, поэтому просто создайте issue в 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, порт, имя хоста, ОС, проблемы безопасности) |