
Toolkit open source, multipiattaforma e portatile per automatizzare processi di routine durante l'esecuzione di vari lavori di test!
Pentest Collaboration Framework - un toolkit open source, multipiattaforma e portatile per automatizzare i processi di routine
nell'esecuzione di vari lavori di test!
Esplora la documentazione »
Ti serve solo Python3.
⚠️È meglio avere Python3 <= 3.9, o preparati al fatto che PIP compilerà i pacchetti di dipendenza Python.
Durante questa compilazione potrebbe essere necessario installare altre dipendenze di sistema.
Scarica il progetto:```sh git clone https://gitlab.com/invuls/pentest-projects/pcf.git
Vai alla cartella:```bash
cd pcf
Installa le dipendenze (per sistemi basati su Unix):```bash pip3 install -r requirements_unix.txt
o windows:```bash
pip.exe install -r requirements_windows.txt
Esegui lo script di inizializzazione:
(questo script ricrea il database, ma )```bash
python3 new_initiation.py
o windows```bash
# !!! read the text and input "DELETE_ALL" string
python.exe new_initiation.py
Modifica configurazione:```bash nano configuration/settings.ini
Esegui:```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
⚠️ Da novembre 2022 il tier gratuito di Heroku non include PostgreSQL. Quindi, potrai usarlo solo con un account a pagamento ⚠️
### 👍 Modo facile
Esegui il deploy dal nostro repository github:
[](https://dashboard.heroku.com/new-app?template=https://github.com/drakylar/pcf_FORK_CHECK_GITLAB)
Attenzione: Controlla l'ultima versione del repository github!
Puoi vedere i modi 😓Più difficile e 💀Impossibile nella [🌐pagina wiki](https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/Heroku%20installation)!
## ☁️ AWS
Puoi semplicemente seguire il link e installare PCF dal marketplace AWS:
[](https://aws.amazon.com/marketplace/pp/B08XMGYCHR)
## :whale: Docker
#### Installazione in una riga
_Sarà aggiunto in seguito!_
#### Costruisci da solo
Clona il repository```bash
git clone https://gitlab.com/invuls/pentest-projects/pcf.git
Vai alla cartella:```bash cd pcf
Esegui docker-compose:```bash
# if it clean installation run this:
# rm ./configuration/database.sqlite3
docker-compose up
e vai all'URL```bash http://127.0.0.1:5000/
# 🤸 Utilizzo
Porta predefinita (controlla la configurazione): 5000
IP predefinito (se eseguito su localhost): 127.0.0.1
1. Registrati su http(s)://\<ip\>:\<port\>/register
2. Effettua il login su http(s)://\<ip\>:\<port\>/login
3. Crea un team (se necessario) su http(s)://\<ip\>:\<port\>/create_team
4. Crea un progetto su http(s)://\<ip\>:\<port\>/new_project
5. Goditi il tuo processo di hacking!
Informazioni API: https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/API%20documentation
## 🖼️ Galleria
|||
:-------------------------:|:-------------------------:
|
Informazioni team|Elenco progetti
|
Progetto: segnalazioni|Progetto: pagina host
|
Progetto: host|Progetto: servizi
|
Progetto: informazioni segnalazione|Progetto: informazioni segnalazione (PoC)
|
Progetto: reti|Progetto: file
|
Progetto: strumenti (potrebbero cambiare)|Progetto: credenziali trovate
|
Progetto: note di test|Progetto: chat
|
Progetto: impostazioni|Progetto: report
# ⚠️ ATTENZIONE
#### 🚨 Impostazioni predefinite
Questo programma, per impostazione predefinita, utilizza la porta 5000 e permette a chiunque di registrarsi e usarlo, quindi è necessario impostare le corrette regole del firewall e di rete.
#### 🔌 Logica di inizializzazione
Fai attenzione allo script new_initiation! Apporta alcune modifiche importanti al filesystem:
1. Rinomina il database /configuration/database.sqlite3
2. Rigenera i certificati SSL
3. Rigenera la chiave di sessione.
4. Crea un nuovo database vuoto /configuration/database.sqlite3
5. Crea la cartella /tmp_storage/
# 🎪 Community
Se hai suggerimenti su funzionalità o segnalazioni di bug, lascia un problema su GitLab. Accogliamo con piacere qualsiasi supporto :D
Comunichiamo su Telegram. [Clicca qui](https://t.me/PentestCollaborationFramework) per unirti alla nostra community Telegram!
## 📝 TODO
#### Generali
* [x] Archiviazione configurazione team
* [x] Archiviazione template report team
* [x] Backup automatico del database
* [x] Condivisione segnalazioni con utenti non registrati
* [x] Generazione report
* [x] Verifica rapida delle password più comuni (top-10k)
* [x] REST-API
* [x] Grafico di rete
* [x] Esportazione/importazione rapida hash
* [x] Aggiunta altri database
* [x] Supporto generazione report .doc
* [x] Template segnalazioni
* [ ] Backup/Ripristino da backup di progetti/team
#### Strumenti
* [x] HTTP-sniffer
* [ ] NetNTLM smb sniffer
* [x] Supporto caricamento report testo personalizzato (aggiunte note agli host)
* [x] Verifica rapida hash delle prime 10.000 password
* [ ] Esportazione progetti da Faraday/Dradis
* [ ] Integrazione Metasploit/Cobalt Strike
#### Versione 2.0
* [ ] Vue.js
* [ ] Websockets
* [ ] Messaggi push (aggiornamenti)
* [ ] Ristrutturazione database (oggetti)
* [ ] host -> interfacce -> porte
* [ ] host -> hostname
* [x] Gestore file di progetto
* [ ] Porta -> Protocollo:Software:Versione
* [ ] Marcature host definite dall'utente (marca tutti gli host con porta aperta)
* [ ] Pulsante TODO in ogni pagina
* [ ] Host duplicati (unirli?)
* [ ] MAC host/dominio AD/Forest
# 🎁 Presentazioni
* 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)
# 🏢 Aziende
Qui verrà elencata la lista delle aziende che utilizzano Pentest Collaboration Framework.
Se vuoi aggiungere la tua azienda, leggi il prossimo argomento :)
# ❤️ Contribuisci
Se vuoi aiutare il progetto o incoraggiare gli sviluppatori di PCF, puoi fare una delle seguenti cose:
* Menziona PCF nelle tue presentazioni/articoli di ricerca/argomenti del forum/altre risorse informative.
* Consiglialo ai tuoi amici/colleghi.
* Metti una "stella" a questo repository
* Non dimenticare la chat Telegram di PCF
https://t.me/PentestCollaborationFramework
* Crea più richieste di funzionalità/segnalazioni di bug nella pagina dei problemi di GitLab
https://gitlab.com/invuls/pentest-projects/pcf/-/issues
* Se lo usi al lavoro, puoi chiedere a @drakylar (Telegram) di aggiungere l'icona del tuo lavoro + link nella sezione "Aziende" del README.md
* Puoi creare più esempi di template per PCF e inviarmeli (@drakylar su Telegram), così li aggiungerò alla cartella degli esempi di template nel repository principale
* Non abbiamo molti tutorial su Youtube, quindi puoi crearne uno :)
* Puoi anche creare più plugin di script nmap e inviarli a @drakylar. Maggiori informazioni qui:
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
**C'è stata una domanda frequente:**
> Come donare soldi al progetto?
Impossibile. Non garantisco che non abbandonerò questo progetto dopo un po', quindi la migliore "donazione" sarà un
contributo allo sviluppo e alla diffusione dell'utility.
> Come fare richieste di merge a questo repository?
Ancora, impossibile. Per sviluppare PCF più velocemente, ho bisogno di conoscere tutto il suo codice, quindi crea semplicemente un problema su GitLab con una richiesta di bug/funzionalità e un esempio di codice che potrei usare per risolverlo.
| Struttura |
|---|
| ![]() |
| Nome | PCF | Lair | Dradis | Faraday | AttackForge | PenTest.WS | Hive | Cervantes |
|---|
| Portatile | ✅ | ❌ | ❌ | ❌ | ❌ | ✅💲 | ❌ | ❌ |
| Multipiattaforma | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Gratuito | ✅ | ✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ✅ |
| NON deprecato! | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| Esportazione dati | ✅ | ❌✅ | ✅ | ✅ | ✅ | ❌✅ | ✅ | ❌✅ |
| Chat | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ |
| Fatto per specialisti della sicurezza, non per manager | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌✅ | ❌✅ |
| Generazione report | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| API | ✅ | ❌✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Template di problemi | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| Nome strumento | Tipo di integrazione | Descrizione |
|---|
| Nmap | Import | Importa risultati XML (ip, porta, tipo di servizio, versione del servizio, nomi host, os). Plugin supportati: vulners |
| Nessus | Import | Importa risultati .nessus (ip, porta, tipo di servizio, problemi di sicurezza, os) |
| Qualys | Import | Importa risultati .xml (ip, porta, tipo di servizio, problemi di sicurezza) |
| Masscan | Import | Importa risultati XML (ip, porta) |
| Nikto | Import | Importa risultati XML, CSV, JSON (problema, ip, porta) |
| Acunetix | Import | Importa risultati XML (ip, porta, problema) |
| Burp Suite Enterprise | Import | Importa risultati HTML (ip, porta, nome host, problema, poc) |
| kube-hunter | Import | Importa risultato JSON (ip, porta, servizio, problema) |
| Checkmarx SAST | Import | Importa risultati XML/CSV (informazioni sul codice, problema) |
| Dependency-check | Import | Importa risultati XML (problemi di codice) |
| OpenVAS/GVM | Import | Importa risultati XML (ip, porta, nome host, problema) |
| NetSparker | Import | Importa risultati XML (ip, porta, nome host, problema) |
| BurpSuite | Import/Extention | Estensione per inviare rapidamente problemi da BurpSuite. |
| ipwhois | Scan | Analizza host/rete e salva i dati whois |
| shodan | Scan | Analizza host e salva informazioni (ip, porta, servizio). |
| HTTP-Sniffer | Additional | Crea molteplici http-sniffer per qualsiasi progetto. |
| WPScan | Import | Importa risultati JSON (ip, porta, nome host, problema) |
| DNSrecon | Import | Importa risultati JSON/CSV/XML (ip, porta, nome host) |
| theHarvester | Import | Importa risultati XML (ip, nome host) |
| Metasploit | Import | Importa progetto XML (ip, porta, nome host, problema) |
| Nuclei | Import | Importa risultati JSON (ip, nome host, porta, problema) |
| PingCastle | Import | Importa risultati XML (ip, problema) |
| MaxPatrol | Import | Importa risultati XML (ip, porta, problema) |
| Scanvus | Import | Importa report JSON (problema) |
| Tenable.sc | Import | Importa risultati .nessus (ip, porta, tipo di servizio, problemi di sicurezza, os) |
| aiodnsbrute | Import | Importa risultati JSON/CSV (ip, nome host) |
| Advanced Port Scanner | Import | Importa risultati XML (ip, nome host, porta) |
| RedCheck | Import | Importa risultati CSV (ip, porta, problemi di sicurezza) |
| MaxPatrol VM | Import | Importa risultati XML (ip, porta, nome host, os, problemi di sicurezza) |