Ferramenta de código aberto, multiplataforma e portátil para automatizar processos rotineiros ao realizar diversos trabalhos de teste!
Pentest Collaboration Framework - uma toolkit open source, multiplataforma e portátil para automatizar processos rotineiros ao realizar diversos trabalhos de teste!
Explore a documentação »
| Links |
|---|
| 📖Guia de Instalação | ![]() |
| 🌐Wiki | |
| 🚀Lançamentos | |
| 💬Telegram | |
![]()
| |
| 🕹️Demo |
| Estrutura | |
|---|---|
| ![]() |
| Nome | PCF | Lair | Dradis | Faraday | AttackForge | PenTest.WS | Hive | Cervantes |
|---|---|---|---|---|---|---|---|---|
| Portátil | ✅ | ❌ | ❌ | ❌ | ❌ | ✅💲 | ❌ | ❌ |
| Multiplataforma | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Gratuito | ✅ | ✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ✅ |
| NÃO obsoleto! | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| Exportação de dados | ✅ | ❌✅ | ✅ | ✅ | ✅ | ❌✅ | ✅ | ❌✅ |
| Chat | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ |
| Feito para especialistas em segurança, não para gerentes | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌✅ | ❌✅ |
| Geração de relatórios | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| API | ✅ | ❌✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Modelos de issues | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| Nome da ferramenta | Tipo de integração | Descrição |
|---|---|---|
| Nmap | Import | Importar resultados XML (ip, porta, tipo de serviço, versão do serviço, nomes de host, SO). Plugins suportados: vulners |
| Nessus | Import | Importar resultados .nessus (ip, porta, tipo de serviço, problemas de segurança, SO) |
| Qualys | Import | Importar resultados .xml (ip, porta, tipo de serviço, problemas de segurança) |
| Masscan | Import | Importar resultados XML (ip, porta) |
| Nikto | Import | Importar resultados XML, CSV, JSON (problema, ip, porta) |
| Acunetix | Import | Importar resultados XML (ip, porta, problema) |
| Burp Suite Enterprise | Import | Importar resultados HTML (ip, porta, nome de host, problema, poc) |
| kube-hunter | Import | Importar resultado JSON (ip, porta, serviço, problema) |
| Checkmarx SAST | Import | Importar resultados XML/CSV (informações de código, problema) |
| Dependency-check | Import | Importar resultados XML (problemas de código) |
| OpenVAS/GVM | Import | Importar resultados XML (ip, porta, nome de host, problema) |
| NetSparker | Import | Importar resultados XML (ip, porta, nome de host, problema) |
| BurpSuite | Import/Extention | Extensão para envio rápido de issues a partir do BurpSuite. |
| ipwhois | Scan | Escaneia host(s)/rede(s) e salva dados whois |
| shodan | Scan | Escaneia hosts e salva informações (ip, porta, serviço). |
| HTTP-Sniffer | Additional | Cria vários http-sniffers para qualquer projeto. |
| WPScan | Import | Importar resultados JSON (ip, porta, nome de host, problema) |
| DNSrecon | Import | Importar resultados JSON/CSV/XML (ip, porta, nome de host) |
| theHarvester | Import | Importar resultados XML (ip, nome de host) |
| Metasploit | Import | Importar projeto XML (ip, porta, nome de host, problema) |
Você precisa apenas do Python3.
⚠️É melhor ter Python3 <= 3.9, ou esteja preparado que o PIP compilará pacotes de dependências Python.
Durante essa compilação, pode ser necessário instalar outras dependências do sistema.
Baixar projeto:```sh git clone https://gitlab.com/invuls/pentest-projects/pcf.git
Ir para a pasta:```bash
cd pcf
Instalar dependências (para sistemas baseados em unix):```bash pip3 install -r requirements_unix.txt
ou Windows:```bash
pip.exe install -r requirements_windows.txt
Execute o script de inicialização:
(este script recria o banco de dados, mas )```bash
python3 new_initiation.py
ou windows```bash
# !!! read the text and input "DELETE_ALL" string
python.exe new_initiation.py
Editar configuração:```bash nano configuration/settings.ini
Executar:```bash
old version: python3 app.py
new version: python3 run.py
ou windows```bash old version: python.exe app.py new version: python.exe run.py
## ☁️ Heroku
⚠️ Desde novembro de 2022, o plano gratuito do Heroku não inclui PostgreSQL. Portanto, você só poderá usá-lo em conta
paga⚠️
### 👍 Maneira fácil
Implante a partir do nosso repositório do github:
[](https://dashboard.heroku.com/new-app?template=https://github.com/drakylar/pcf_FORK_CHECK_GITLAB)
Cuidado: Verifique a última versão do push no repositório github!
Você pode verificar as maneiras 😓Mais difícil e 💀Impossível
na [🌐página wiki](https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/Heroku%20installation)!
## ☁️ AWS
Você pode simplesmente seguir o link e instalar o PCF a partir do marketplace da AWS:
[](https://aws.amazon.com/marketplace/pp/B08XMGYCHR)
## :whale: Docker
#### Instalação em uma linha
_Será adicionado posteriormente!_
#### Construa por conta própria
Clone o repositório```bash
git clone https://gitlab.com/invuls/pentest-projects/pcf.git
Ir para a pasta:```bash cd pcf
Execute docker-compose:```bash
# if it clean installation run this:
# rm ./configuration/database.sqlite3
docker-compose up
e vá para a URL```bash http://127.0.0.1:5000/
# 🤸 Uso
Porta padrão (verifique a configuração): 5000
IP padrão (se executado em localhost): 127.0.0.1
1. Registre-se em http(s)://\<ip\>:\<port\>/register
2. Faça login em http(s)://\<ip\>:\<port\>/login
3. Crie uma equipe (se necessário) em http(s)://\<ip\>:\<port\>/create_team
4. Crie um projeto em http(s)://\<ip\>:\<port\>/new_project
5. Aproveite seu processo de hacking!
Informações da API: https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/API%20documentation
## 🖼️ Gallery
|||
:-------------------------:|:-------------------------:
|
Informações da equipe|Lista de projetos
|
Projeto: issues|Projeto: página do host
|
Projeto: hosts|Projeto: serviços
|
Projeto: informações do issue|Projeto: informações do issue (PoC)
|
Projeto: redes|Projeto: arquivos
|
Projeto: ferramentas (podem ser alteradas)|Projeto: credenciais encontradas
|
Projeto: notas de teste|Projeto: chats
|
Projeto: configurações|Projeto: relatórios
# ⚠️ AVISO
#### 🚨 Configurações padrão
Este programa, por padrão, usa a porta 5000 e permite que qualquer pessoa se registre e o utilize, portanto, você precisa definir as regras corretas de firewall e rede.
#### 🔌 Lógica de inicialização
Cuidado com o script new_initiation! Ele faz algumas alterações importantes no sistema de arquivos:
1. Renomeia o banco de dados /configuration/database.sqlite3
2. Regenera certificados SSL
3. Regenera a chave de sessão.
4. Cria um novo banco de dados vazio /configuration/database.sqlite3
5. Cria a pasta /tmp_storage/
# 🎪 Comunidade
Se você tiver sugestões de funcionalidades ou bugs, deixe uma issue no GitLab. Agradecemos todo e qualquer apoio :D
Nos comunicamos pelo Telegram. [Clique aqui](https://t.me/PentestCollaborationFramework) para entrar na nossa comunidade do Telegram!
## 📝 TODO
#### Geral
* [x] Armazenamento de configuração da equipe
* [x] Armazenamento de modelos de relatório da equipe
* [x] Backup automático do banco de dados
* [x] Compartilhar issues com usuários não registrados
* [x] Geração de relatórios
* [x] Verificação rápida de força bruta de senhas populares (top-10k)
* [x] REST-API
* [x] Gráfico de rede
* [x] Exportação/importação rápida de hashes
* [x] Adicionar outros bancos de dados
* [x] Adicionar suporte à geração de relatórios .doc
* [x] Modelos de issues
* [ ] Backup/Restauração de projetos/equipes de backup
#### Ferramentas
* [x] HTTP-sniffer
* [ ] NetNTLM smb sniffer
* [x] Suporte de upload de relatório txt de ferramenta personalizada (notas adicionadas aos hosts)
* [x] Verificação rápida de hashes com senhas top-10k
* [ ] Exportar projetos do Faraday/Dradis
* [ ] Integração com Metasploit/Cobalt Strike
#### Versão 2.0
* [ ] Vue.js
* [ ] Websockets
* [ ] Mensagens push (atualizações)
* [ ] Reconstrução do banco de dados (objetos)
* [ ] hosts -> interfaces -> portas
* [ ] hosts -> nomes de host
* [x] Gerenciador de arquivos do projeto
* [ ] Porta -> Protocolo:Software:Versão
* [ ] Marcas de host definidas pelo usuário (marcar todos os hosts com porta aberta)
* [ ] Botão de marcas TODO em todas as páginas
* [ ] Duplicar hosts (juntá-los?)
* [ ] MAC do host/domínio AD/Forest
# 🎁 Apresentações
* Black Hat:
* Ásia :
[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
Haverá uma lista de empresas que usam o Pentest Collaboration Framework.
Se você quiser adicionar sua empresa, leia o próximo tópico :)
# ❤️ Contribuir
Se você quiser ajudar o projeto ou incentivar os desenvolvedores do PCF, pode fazer qualquer um dos seguintes:
* Mencione o PCF em suas apresentações/artigos de pesquisa/tópicos de fórum/outros recursos de informação.
* Recomende a seus amigos/colegas.
* Dê uma "estrela" neste repositório
* Não se esqueça do chat do Telegram do PCF
https://t.me/PentestCollaborationFramework
* Crie mais solicitações de funcionalidades/bugs na página de issues do GitLab
https://gitlab.com/invuls/pentest-projects/pcf/-/issues
* Se você o utiliza no trabalho, pode pedir ao @drakylar (Telegram) para adicionar o ícone + link do seu trabalho no tópico "Empresas" no README.md
* Você pode criar mais exemplos de modelos para o PCF e enviá-los para mim (@drakylar Telegram), assim os adicionarei à pasta de exemplos de modelos no repositório principal
* Não temos muitos tutoriais no YouTube, então você pode criar um :)
* Você também pode criar mais plugins de scripts nmap e enviá-los para @drakylar. Mais informações aqui:
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
**Houve algumas perguntas frequentes:**
> Como doar dinheiro para o projeto?
De jeito nenhum. Não garanto que não abandonarei este projeto depois de um tempo, então a melhor "doação" será uma contribuição para o desenvolvimento e distribuição da utilidade.
> Como fazer solicitações de merge para este repositório?
Novamente, de jeito nenhum. Para desenvolver o PCF mais rápido, preciso conhecer todo o seu código, então basta criar uma issue no GitLab com uma solicitação de bug/funcionalidade e algum exemplo de código que eu possa usar para corrigi-lo.
| Nuclei | Import | Importar resultados JSON (ip, nome de host, porta, problema) |
| PingCastle | Import | Importar resultados XML (ip, problema) |
| MaxPatrol | Import | Importar resultados XML (ip, porta, problema) |
| Scanvus | Import | Importar relatório JSON (problema) |
| Tenable.sc | Import | Importar resultados .nessus (ip, porta, tipo de serviço, problemas de segurança, SO) |
| aiodnsbrute | Import | Importar resultados JSON/CSV (ip, nome de host) |
| Advanced Port Scanner | Import | Importar resultados XML (ip, nome de host, porta) |
| RedCheck | Import | Importar resultados CSV (ip, porta, problemas de segurança) |
| MaxPatrol VM | Import | Importar resultados XML (ip, porta, nome de host, SO, problemas de segurança) |