
Kit de herramientas de código abierto, multiplataforma y portátil para automatizar procesos rutinarios al realizar diversos trabajos de prueba.
Pentest Collaboration Framework: un kit de herramientas de código abierto, multiplataforma y portátil para automatizar procesos rutinarios
al realizar diversos trabajos de pentesting.
Explora la documentación »
Solo necesitas Python3.
⚠️Es mejor tener Python3 <= 3.9, o prepárate para que PIP compile los paquetes de dependencias de Python.
Durante esta compilación puede ser necesario instalar otras dependencias del sistema.
Descarga el proyecto:```sh git clone https://gitlab.com/invuls/pentest-projects/pcf.git
Ir a la carpeta:```bash
cd pcf
Instalar dependencias (para sistemas basados en Unix):```bash pip3 install -r requirements_unix.txt
o windows:```bash
pip.exe install -r requirements_windows.txt
Ejecutar script de iniciación:
(este script recrea la base de datos, pero )```bash
python3 new_initiation.py
o windows```bash
# !!! read the text and input "DELETE_ALL" string
python.exe new_initiation.py
Editar configuración:```bash nano configuration/settings.ini
Ejecutar:```bash
old version: python3 app.py
new version: python3 run.py
o windows```bash old version: python.exe app.py new version: python.exe run.py
## ☁️ Heroku
⚠️ Desde noviembre de 2022 el plan gratuito de Heroku no incluye PostgreSQL. Por lo tanto, solo podrás usarlo con una cuenta
de pago⚠️
### 👍 Manera fácil
Despliega desde nuestro repositorio de GitHub:
[](https://dashboard.heroku.com/new-app?template=https://github.com/drakylar/pcf_FORK_CHECK_GITLAB)
Cuidado: ¡Comprueba la última versión del repositorio de GitHub!
Puedes consultar las formas 😓más difíciles y 💀imposibles
en la [🌐página wiki](https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/Heroku%20installation)!
## ☁️ AWS
Solo tienes que seguir el enlace e instalar PCF desde AWS Marketplace:
[](https://aws.amazon.com/marketplace/pp/B08XMGYCHR)
## :whale: Docker
#### Instalación en una línea
_¡Se añadirá más tarde!_
#### Compílalo tú mismo
Clona el repositorio```bash
git clone https://gitlab.com/invuls/pentest-projects/pcf.git
Ir a la carpeta:```bash cd pcf
Ejecuta docker-compose:```bash
# if it clean installation run this:
# rm ./configuration/database.sqlite3
docker-compose up
y ve a la URL```bash http://127.0.0.1:5000/
# 🤸 Uso
Puerto predeterminado (consulta la configuración): 5000
IP predeterminada (si se ejecuta en localhost): 127.0.0.1
1. Regístrate en http(s)://\<ip\>:\<port\>/register
2. Inicia sesión en http(s)://\<ip\>:\<port\>/login
3. Crea un equipo (si es necesario) en http(s)://\<ip\>:\<port\>/create_team
4. Crea un proyecto en http(s)://\<ip\>:\<port\>/new_project
5. ¡Disfruta de tu proceso de hacking!
Información de la API: https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/API%20documentation
## 🖼️ Galería
|||
:-------------------------:|:-------------------------:
|
Información del equipo|Lista de proyectos
|
Proyecto: incidencias|Proyecto: página de host
|
Proyecto: hosts|Proyecto: servicios
|
Proyecto: información de la incidencia|Proyecto: información de la incidencia (PoC)
|
Proyecto: redes|Proyecto: archivos
|
Proyecto: herramientas (puede cambiar)|Proyecto: credenciales encontradas
|
Proyecto: notas de pruebas|Proyecto: chats
|
Proyecto: configuración|Proyecto: informes
# ⚠️ ADVERTENCIA
#### 🚨 Configuración predeterminada
Este programa, de forma predeterminada, usa el puerto 5000 y permite que cualquiera se registre y lo use, por lo que debes configurar correctamente las reglas de firewall y de red.
#### 🔌 Lógica de iniciación
¡Cuidado con el script new_initiation! Hace algunos cambios importantes en el sistema de archivos:
1. Renombra la base de datos /configuration/database.sqlite3
2. Regenera los certificados SSL
3. Regenera la clave de sesión.
4. Crea una nueva base de datos vacía /configuration/database.sqlite3
5. Crea la carpeta /tmp_storage/
# 🎪 Comunidad
Si tienes sugerencias de funciones o errores, deja una incidencia en GitLab. Agradecemos todo tipo de apoyo :D
Nos comunicamos por Telegram. [Haz clic aquí](https://t.me/PentestCollaborationFramework) para unirte a nuestra comunidad de Telegram.
## 📝 Pendientes
#### General
* [x] Almacenamiento de configuración del equipo
* [x] Almacenamiento de plantillas de informes del equipo
* [x] Copia de seguridad automática de la base de datos
* [x] Compartir incidencias con usuarios no registrados
* [x] Generación de informes
* [x] Comprobación rápida de fuerza bruta de contraseñas populares (top-10k)
* [x] REST-API
* [x] Gráfico de red
* [x] Exportación/importación rápida de hashes
* [x] Añadir otras bases de datos
* [x] Añadir soporte de generación de informes .doc
* [x] Plantillas de incidencias
* [ ] Copia de seguridad/Restauración desde proyectos/equipos de respaldo
#### Herramientas
* [x] HTTP-sniffer
* [ ] NetNTLM smb sniffer
* [x] Soporte de carga de informes txt de herramientas personalizadas (notas añadidas a los hosts)
* [x] Comprobación rápida de hashes de contraseñas top-10k
* [ ] Exportar proyectos desde Faraday/Dradis
* [ ] Integración con Metasploit/Cobalt Strike
#### Versión 2.0
* [ ] Vue.js
* [ ] Websockets
* [ ] Mensajes push (actualizaciones)
* [ ] Reconstrucción de la base de datos (objetos)
* [ ] hosts -> interfaces -> puertos
* [ ] hosts -> nombres de host
* [x] Administrador de archivos del proyecto
* [ ] Puerto -> Protocolo:Software:Versión
* [ ] Marcas de host definidas por el usuario (marcar todos los hosts con puerto abierto)
* [ ] Botón de marcas TODO en cada página
* [ ] Duplicar hosts (¿unirlos?)
* [ ] host MAC/dominio AD/Forest
# 🎁 Presentaciones
* Black Hat:
* Asia :
[2021](https://drive.google.com/file/d/1D_Y-oFqP4BAlFPeFzDeZukSp4RKGvrQU/view?usp=sharing)
*
Europa 
[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)
# 🏢 Empresas
Habrá una lista de empresas que usan Pentest Collaboration Framework.
Si quieres añadir tu empresa, lee el siguiente tema :)
# ❤️ Contribuye
Si quieres ayudar al proyecto o animar a los desarrolladores de PCF, puedes hacer cualquiera de las siguientes cosas:
* Menciona PCF en tus presentaciones/artículos de investigación/temas de foros/otros recursos de información.
* Recomiéndalo a tus amigos/colegas.
* Dale una "estrella" a este repositorio.
* No olvides el chat de Telegram de PCF
https://t.me/PentestCollaborationFramework
* Crea más solicitudes de funciones/errores en la página de issues de GitLab
https://gitlab.com/invuls/pentest-projects/pcf/-/issues
* Si lo usas en el trabajo, puedes pedirle a @drakylar (Telegram) que añada el icono de tu trabajo + enlace en el tema "Empresas" del README.md
* Puedes crear más ejemplos de plantillas para PCF y enviármelos a mí (@drakylar Telegram), y los añadiré a la carpeta de
ejemplos de plantillas del repositorio principal.
* No tenemos muchos tutoriales de Youtube, así que puedes crear uno :)
* También puedes crear más plugins de scripts de nmap y enviárselos a @drakylar. Más información aquí:
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
**Había una pregunta frecuente:**
> ¿Cómo donar dinero al proyecto?
De ninguna manera. No garantizo que no abandone este proyecto después de un tiempo, así que la mejor "donación" será una
contribución al desarrollo y distribución de la utilidad.
> ¿Cómo hacer merge requests a este repositorio?
De nuevo, de ninguna manera. Para desarrollar PCF más rápido, necesito conocer todo su código, así que simplemente crea un issue en GitLab con la solicitud de bug/función
y algún ejemplo de código, que pueda usar para corregirlo.
| Estructura |
|---|
| ![]() |
| Nombre | PCF | Lair | Dradis | Faraday | AttackForge | PenTest.WS | Hive | Cervantes |
|---|
| Portátil | ✅ | ❌ | ❌ | ❌ | ❌ | ✅💲 | ❌ | ❌ |
| Multiplataforma | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Gratuito | ✅ | ✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ✅ |
| ¡No obsoleto! | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| Exportación de datos | ✅ | ❌✅ | ✅ | ✅ | ✅ | ❌✅ | ✅ | ❌✅ |
| Chat | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ |
| Hecho para especialistas en seguridad, no para gerentes | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌✅ | ❌✅ |
| Generación de informes | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| API | ✅ | ❌✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Plantillas de incidencias | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| Nombre de la herramienta | Tipo de integración | Descripción |
|---|
| Nmap | Importación | Importar resultados XML (ip, puerto, tipo de servicio, versión del servicio, hostnames, os). Plugins compatibles: vulners |
| Nessus | Importación | Importar resultados .nessus (ip, puerto, tipo de servicio, incidencias de seguridad, os) |
| Qualys | Importación | Importar resultados .xml (ip, puerto, tipo de servicio, incidencias de seguridad) |
| Masscan | Importación | Importar resultados XML (ip, puerto) |
| Nikto | Importación | Importar resultados XML, CSV, JSON (incidencia, ip, puerto) |
| Acunetix | Importación | Importar resultados XML (ip, puerto, incidencia) |
| Burp Suite Enterprise | Importación | Importar resultados HTML (ip, puerto, hostname, incidencia, poc) |
| kube-hunter | Importación | Importar resultado JSON (ip, puerto, servicio, incidencia) |
| Checkmarx SAST | Importación | Importar resultados XML/CSV (información de código, incidencia) |
| Dependency-check | Importación | Importar resultados XML (incidencias de código) |
| OpenVAS/GVM | Importación | Importar resultados XML (ip, puerto, hostname, incidencia) |
| NetSparker | Importación | Importar resultados XML (ip, puerto, hostname, incidencia) |
| BurpSuite | Importación/Extensión | Extensión para enviar incidencias rápidamente desde burpsuite. |
| ipwhois | Escaneo | Escanear host(s)/red(es) y guardar datos whois |
| shodan | Escaneo | Escanear hosts y guardar información (ip, puerto, servicio). |
| HTTP-Sniffer | Adicional | Crear múltiples http-sniffers para cualquier proyecto. |
| WPScan | Importación | Importar resultados JSON (ip, puerto, hostname, incidencia) |
| DNSrecon | Importación | Importar resultados JSON/CSV/XML (ip, puerto, hostname) |
| theHarvester | Importación | Importar resultados XML (ip, hostname) |
| Metasploit | Importación | Importar proyecto XML (ip, puerto, hostname, incidencia) |
| Nuclei | Importación | Importar resultados JSON (ip, hostname, puerto, incidencia) |
| PingCastle | Importación | Importar resultados XML (ip, incidencia) |
| MaxPatrol | Importación | Importar resultados XML (ip, puerto, incidencia) |
| Scanvus | Importación | Importar informe JSON (incidencia) |
| Tenable.sc | Importación | Importar resultados .nessus (ip, puerto, tipo de servicio, incidencias de seguridad, os) |
| aiodnsbrute | Importación | Importar resultados JSON/CSV (ip, hostname) |
| Advanced Port Scanner | Importación | Importar resultados XML (ip, hostname, puerto) |
| RedCheck | Importación | Importar resultados CSV (ip, puerto, incidencias de seguridad) |
| MaxPatrol VM | Importación | Importar resultados XML (ip, puerto, hostname, os, incidencias de seguridad) |