
Boîte à outils open source, multiplateforme et portable pour automatiser les processus de routine lors de la réalisation de divers travaux de test !
Pentest Collaboration Framework - une boîte à outils open source, multiplateforme et portable pour automatiser les processus de routine lors de la réalisation de divers travaux de test !
Explorez la documentation »
Vous avez seulement besoin de Python3.
⚠️Il est préférable d'avoir Python3 <= 3.9, ou soyez prêt à ce que PIP compile les paquets de dépendances Python.
Pendant cette compilation, il peut être nécessaire d'installer d'autres dépendances système.
Télécharger le projet :```sh git clone https://gitlab.com/invuls/pentest-projects/pcf.git
Aller dans le dossier :```bash
cd pcf
Installer les dépendances (pour les systèmes basés sur Unix) :```bash pip3 install -r requirements_unix.txt
ou windows:```bash
pip.exe install -r requirements_windows.txt
Exécuter le script d'initialisation :
(ce script recrée la base de données, mais )```bash
python3 new_initiation.py
ou Windows```bash
# !!! read the text and input "DELETE_ALL" string
python.exe new_initiation.py
Modifier la configuration :```bash nano configuration/settings.ini
Exécuter:```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
⚠️ Depuis novembre 2022, le niveau gratuit d'Heroku n'inclut pas PostgreSQL. Vous ne pourrez donc l'utiliser que sur un compte payant ⚠️
### 👍 Méthode facile
Déployer depuis notre dépôt github :
[](https://dashboard.heroku.com/new-app?template=https://github.com/drakylar/pcf_FORK_CHECK_GITLAB)
Attention : Vérifiez la dernière version pushée du dépôt github !
Vous pouvez consulter les méthodes 😓Plus difficiles et 💀Impossibles sur la [🌐page wiki](https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/Heroku%20installation) !
## ☁️ AWS
Vous pouvez simplement suivre le lien et installer PCF depuis le marketplace AWS :
[](https://aws.amazon.com/marketplace/pp/B08XMGYCHR)
## :whale: Docker
#### Installation en une ligne
_Sera ajouté plus tard !_
#### Construisez-le vous-même
Clonez le dépôt```bash
git clone https://gitlab.com/invuls/pentest-projects/pcf.git
Aller au dossier :```bash cd pcf
Exécutez docker-compose:```bash
# if it clean installation run this:
# rm ./configuration/database.sqlite3
docker-compose up
et allez à l'URL```bash http://127.0.0.1:5000/
# 🤸 Utilisation
Port par défaut (voir config) : 5000
IP par défaut (si exécuté en localhost) : 127.0.0.1
1. Inscrivez-vous sur http(s)://\<ip\>:\<port\>/register
2. Connectez-vous sur http(s)://\<ip\>:\<port\>/login
3. Créez une équipe (si nécessaire) sur http(s)://\<ip\>:\<port\>/create_team
4. Créez un projet sur http(s)://\<ip\>:\<port\>/new_project
5. Profitez de votre processus de hacking !
Informations sur l'API : https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/API%20documentation
## 🖼️ Galerie
|||
:-------------------------:|:-------------------------:
|
Informations sur l'équipe|Liste des projets
|
Projet : problèmes|Projet : page hôte
|
Projet : hôtes|Projet : services
|
Projet : infos sur le problème|Projet : infos sur le problème (PoC)
|
Projet : réseaux|Projet : fichiers
|
Projet : outils (peut être modifié)|Projet : identifiants trouvés
|
Projet : notes de test|Projet : discussions
|
Projet : paramètres|Projet : rapports
# ⚠️ AVERTISSEMENT
#### 🚨 Paramètres par défaut
Ce programme utilise par défaut le port 5000 et permet à tout le monde de s'inscrire et de l'utiliser, vous devez donc configurer correctement les règles de pare-feu et de réseau.
#### 🔌 Logique d'initialisation
Attention au script new_initiation ! Il apporte des modifications importantes au système de fichiers :
1. Renomme la base de données /configuration/database.sqlite3
2. Régénère les certificats SSL
3. Régénère la clé de session.
4. Crée une nouvelle base de données vide /configuration/database.sqlite3
5. Crée le dossier /tmp_storage/
# 🎪 Communauté
Si vous avez des suggestions de fonctionnalités ou des bugs, laissez un problème GitLab. Nous accueillons tout soutien :D
Nous communiquons sur Telegram. [Cliquez ici](https://t.me/PentestCollaborationFramework) pour rejoindre notre communauté Telegram !
## 📝 À FAIRE
#### Général
* [x] Stockage de la configuration d'équipe
* [x] Stockage des modèles de rapport d'équipe
* [x] Sauvegarde automatique de la base de données
* [x] Partager les problèmes avec des utilisateurs non enregistrés
* [x] Génération de rapports
* [x] Vérification rapide des mots de passe populaires par force brute (top-10k)
* [x] REST-API
* [x] Graphe réseau
* [x] Export/Import rapide de hachages
* [x] Ajouter d'autres bases de données
* [x] Ajouter la prise en charge de la génération de rapports .doc
* [x] Modèles de problème
* [ ] Sauvegarde/Restauration à partir de projets/équipes sauvegardés
#### Outils
* [x] HTTP-sniffer
* [ ] Sniffer SMB NetNTLM
* [x] Prise en charge du téléchargement de rapports txt d'outils personnalisés (notes ajoutées aux hôtes)
* [x] Vérification rapide des mots de passe top-10k
* [ ] Exporter des projets depuis Faraday/Dradis
* [ ] Intégration Metasploit/Cobalt Strike
#### Version 2.0
* [ ] Vue.js
* [ ] Websockets
* [ ] Messages push (mises à jour)
* [ ] Reconstruction de la base de données (objets)
* [ ] hôtes -> interfaces -> ports
* [ ] hôtes -> noms d'hôte
* [x] Gestionnaire de fichiers du projet
* [ ] Port -> Protocole:Logiciel:Version
* [ ] Marques d'hôte définies par l'utilisateur (marquer tous les hôtes avec un port ouvert)
* [ ] Bouton de marques TODO sur chaque page
* [ ] Hôtes en double (les fusionner ?)
* [ ] Hôte MAC/domaine AD/Forest
# 🎁 Présentations
* Black Hat :
* Asie :
[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)
# 🏢 Entreprises
Il y aura une liste d'entreprises qui utilisent Pentest Collaboration Framework.
Si vous souhaitez ajouter votre entreprise, lisez le sujet suivant :)
# ❤️ Contribuer
Si vous souhaitez aider le projet ou encourager les développeurs de PCF, vous pouvez faire l'une des actions suivantes :
* Mentionnez PCF dans vos présentations/ articles de recherche/ sujets de forum/ autres ressources d'information.
* Conseillez-le à vos amis/collègues.
* Mettez une « étoile » à ce dépôt
* N'oubliez pas le chat Telegram de PCF
https://t.me/PentestCollaborationFramework
* Créez plus de demandes de fonctionnalités/bugs sur la page des problèmes GitLab
https://gitlab.com/invuls/pentest-projects/pcf/-/issues
* Si vous l'utilisez au travail, vous pouvez demander à @drakylar (Telegram) d'ajouter l'icône de votre travail + un lien dans le sujet « Entreprises » du README.md
* Vous pouvez créer plus d'exemples de modèles pour PCF et me les envoyer (@drakylar Telegram), je les ajouterai au dossier d'exemples de modèles du dépôt principal.
* Nous n'avons pas beaucoup de tutoriels Youtube, donc vous pouvez en créer un :)
* Vous pouvez également créer plus de plugins de scripts nmap et les envoyer à @drakylar. Plus d'infos ici :
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
**Voici une question fréquente :**
> Comment faire un don d'argent au projet ?
Aucun moyen. Je ne garantis pas que je n'abandonnerai pas ce projet après un certain temps, donc le meilleur « don » sera une contribution au développement et à la distribution de l'utilitaire.
> Comment faire une demande de fusion (merge request) à ce dépôt ?
Encore une fois, aucun moyen. Pour développer PCF plus rapidement, j'ai besoin de connaître tout son code, alors créez simplement un problème sur GitLab avec une demande de bug/fonctionnalité et un exemple de code que je pourrais utiliser pour le corriger.
| Structure |
|---|
| ![]() |
| Nom | PCF | Lair | Dradis | Faraday | AttackForge | PenTest.WS | Hive | Cervantes |
|---|
| Portable | ✅ | ❌ | ❌ | ❌ | ❌ | ✅💲 | ❌ | ❌ |
| Multiplateforme | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Gratuit | ✅ | ✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ✅ |
| Non déprécié ! | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| Export de données | ✅ | ❌✅ | ✅ | ✅ | ✅ | ❌✅ | ✅ | ❌✅ |
| Discussion | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ |
| Conçu pour les spécialistes en sécurité, pas pour les managers | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌✅ | ❌✅ |
| Génération de rapports | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| API | ✅ | ❌✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Modèles de problèmes | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| Nom de l'outil | Type d'intégration | Description |
|---|
| Nmap | Import | Importer les résultats XML (IP, port, type de service, version du service, noms d'hôte, OS). Plugins pris en charge : vulners |
| Nessus | Import | Importer les résultats .nessus (IP, port, type de service, problèmes de sécurité, OS) |
| Qualys | Import | Importer les résultats .xml (IP, port, type de service, problèmes de sécurité) |
| Masscan | Import | Importer les résultats XML (IP, port) |
| Nikto | Import | Importer les résultats XML, CSV, JSON (problème, IP, port) |
| Acunetix | Import | Importer les résultats XML (IP, port, problème) |
| Burp Suite Enterprise | Import | Importer les résultats HTML (IP, port, nom d'hôte, problème, preuve de concept) |
| kube-hunter | Import | Importer les résultats JSON (IP, port, service, problème) |
| Checkmarx SAST | Import | Importer les résultats XML/CSV (informations sur le code, problème) |
| Dependency-check | Import | Importer les résultats XML (problèmes de code) |
| OpenVAS/GVM | Import | Importer les résultats XML (IP, port, nom d'hôte, problème) |
| NetSparker | Import | Importer les résultats XML (IP, port, nom d'hôte, problème) |
| BurpSuite | Import/Extension | Extension pour envoyer rapidement un problème depuis BurpSuite. |
| ipwhois | Scan | Analyser le(s) hôte(s)/réseau(x) et enregistrer les données whois |
| shodan | Scan | Analyser les hôtes et enregistrer les informations (IP, port, service). |
| HTTP-Sniffer | Supplémentaire | Créer plusieurs renifleurs HTTP pour n'importe quel projet. |
| WPScan | Import | Importer les résultats JSON (IP, port, nom d'hôte, problème) |
| DNSrecon | Import | Importer les résultats JSON/CSV/XML (IP, port, nom d'hôte) |
| theHarvester | Import | Importer les résultats XML (IP, nom d'hôte) |
| Metasploit | Import | Importer le projet XML (IP, port, nom d'hôte, problème) |
| Nuclei | Import | Importer les résultats JSON (IP, nom d'hôte, port, problème) |
| PingCastle | Import | Importer les résultats XML (IP, problème) |
| MaxPatrol | Import | Importer les résultats XML (IP, port, problème) |
| Scanvus | Import | Importer le rapport JSON (problème) |
| Tenable.sc | Import | Importer les résultats .nessus (IP, port, type de service, problèmes de sécurité, OS) |
| aiodnsbrute | Import | Importer les résultats JSON/CSV (IP, nom d'hôte) |
| Advanced Port Scanner | Import | Importer les résultats XML (IP, nom d'hôte, port) |
| RedCheck | Import | Importer les résultats CSV (IP, port, problèmes de sécurité) |
| MaxPatrol VM | Import | Importer les résultats XML (IP, port, nom d'hôte, OS, problèmes de sécurité) |