
CVE2PoC est un outil qui aide les testeurs d'intrusion, les chasseurs de bugs et les chercheurs en sécurité à trouver rapidement des exploits publics ou des PoCs liés à un identifiant CVE.
CVE2PoC est un outil qui aide les testeurs d'intrusion, les chasseurs de bugs et les chercheurs en sécurité à trouver rapidement des exploits publics, des Preuves de Concept (PoC) et des avis liés à un ID CVE.
CVE2PoC peut être installé à l'aide de pipx ou uv.
pipx install git+https://github.com/0liverFlow/cve2poc
uv tool install git+https://github.com/0liverFlow/CVE2PoC
uvx git+https://github.com/0liverFlow/CVE2PoC
L'utilisation de CVE2PoC est simple. Vous pouvez l'utiliser en spécifiant simplement un ID CVE.
Consultez le menu d'aide et la section de démonstration ci-dessous pour mieux comprendre les fonctionnalités de l'outil.
usage: cve2poc.py [-h] [-x] [-d] [-f FILE] [-o OUTPUT] [-l LANGUAGE] [--limit LIMIT] [-t] [--labs CVE ID]
[--bugbounty-reports CVE ID] [--mitigations CVE ID] [--cve2cpe CVE ID] [--cpe2cve CPE] [-s FILE]
[--api-keys] [--no-banner]
[cve]
A simple yet powerful tool to quickly find PoCs related to a CVE ID
positional arguments:
cve CVE ID
options:
-h, --help show this help message and exit
-x , --examine Examine an exploit's README file
-d, --description Display a CVE ID description
-f FILE, --file FILE Specify a file containing a list of CVE IDs
-o OUTPUT, --output OUTPUT Output directory to store the reports
-l LANGUAGE, --language LANGUAGE Filter PoCs by programming language
--limit LIMIT Number of PoCs to display
-t , --threads Number of concurrent threads
--labs CVE ID Search pre-built docker environments and Hands-on labs related to a CVE ID
--bugbounty-reports CVE ID Search Bug Bounty reports related to a CVE ID
--mitigations CVE ID Remediation steps to fix a vulnerability
--cve2cpe CVE ID Retrieve CPEs related to a CVE ID
--cpe2cve CPE Retrieve CVEs related to a CPE
-s FILE, --save FILE Output file to save CPE2CVE results
--api-keys Configure your GitHub and NVD API keys (Not required)
--no-banner Remove banner
Exécutez cette commande pour rechercher les exploits publics liés à un ID CVE :
cve2poc <CVE ID>

Par défaut, l'outil renvoie les 10 meilleurs exploits, triés selon leurs étoiles et leurs forks.
De plus, il recherche les modules Metasploit, les modèles Nuclei et les exploits Exploit-DB liés à l'ID CVE spécifié.
Pour rechercher plusieurs CVE, spécifiez un fichier contenant une liste d'ID CVE (une CVE par ligne) à l'aide de l'option -f :
cve2poc -f <file>


Par défaut, CVE2PoC génère automatiquement des rapports JSON et HTML détaillés dans le répertoire courant.
Pour utiliser un répertoire de sortie différent, utilisez l'option-o.
Pour tester cette fonctionnalité, utilisez les fichiers d'exemple fournis.
La commande ci-dessous renvoie la description d'un ID CVE, ainsi que des références supplémentaires pour mieux comprendre la vulnérabilité :
cve2poc --description <CVE ID>

CVE2PoC peut être utilisé pour trouver des environnements Docker prêts à l'emploi et des laboratoires pratiques afin de comprendre et de tester les exploits en toute sécurité avant de les utiliser dans des environnements réels, réduisant ainsi le risque de perturbations de la production.
cve2poc --labs <CVE ID>

Les rapports de Bug Bounty peuvent être utiles pour mieux comprendre comment une CVE a été exploitée dans des scénarios réels. Ils peuvent également contenir des PoC qui peuvent vous aider à reproduire la vulnérabilité.
cve2poc --bugbounty-reports <CVE ID>

Pour identifier rapidement les étapes de remédiation d'une vulnérabilité, utilisez cette commande :
cve2poc --mitigations <CVE ID>

CVE2PoC dispose d'une fonctionnalité similaire à searchsploit -x, qui vous permet de lire le fichier README d'un exploit directement depuis votre terminal. C'est pratique, surtout si vous avez besoin de comprendre rapidement le fonctionnement de l'exploit sans utiliser votre navigateur.
Pour examiner la documentation de l'exploit, utilisez cette commande :
cve2poc --examine <GitHub Clone URL>

L'URL de clonage GitHub est l'URL renvoyée par CVE2PoC pour chaque PoC.
Pour récupérer les ID CVE liés à un CPE, exécutez cette commande :
cve2poc --cpe2cve <CPE>

Pour récupérer les CPE liés à un ID CVE, exécutez cette commande :
cve2poc --cve2cpe <CVE ID>

CVE2PoC dispose d'une fonctionnalité qui peut vous aider à rechercher des PoC écrits dans un langage de programmation spécifique. Pour l'utiliser, exécutez cette commande :
cve2poc <CVE ID> --language <Programming Language>

Par défaut, CVE2PoC renvoie les 10 meilleurs exploits trouvés sur GitHub. Néanmoins, vous pouvez afficher plus ou moins d'exploits à l'aide de l'option --limit :
cve2poc <CVE ID> --limit <N>

N doit être supérieur ou égal à 1.
CVE2PoC utilise argcomplete pour effectuer automatiquement la complétion par tabulation via argparse.
sudo apt install python3-argcomplete
# For Bash
register-python-argcomplete cve2poc >> ~/.bashrc
source ~/.bashrc
# For Zsh
register-python-argcomplete cve2poc >> ~/.zshrc
source ~/.zshrc
CVE2PoC utilise ruff pour le linting et le formatage.
# Run linter
uv run ruff check .
# Run linter with auto-fix
uv run ruff check --fix .
# Run formatter
uv run ruff format .
Un immense merci aux sources suivantes sur lesquelles CVE2PoC s'appuie :
Cet outil est destiné uniquement à des fins éducatives, de recherche et de tests de sécurité autorisés. Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez explicitement l'autorisation d'évaluer. L'auteur n'est pas responsable de tout usage abusif ou dommage résultant de son utilisation.