
CVE2PoC es una herramienta que ayuda a los probadores de penetración, cazadores de bugs e investigadores de seguridad a encontrar rápidamente exploits públicos o PoCs relacionados con un CVE ID.
CVE2PoC es una herramienta que ayuda a los evaluadores de penetración, cazadores de bugs e investigadores de seguridad a encontrar rápidamente exploits públicos, pruebas de concepto (PoCs) y avisos de seguridad relacionados con un ID de CVE.
CVE2PoC se puede instalar con pipx o 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
El uso de CVE2PoC es sencillo. Solo tienes que especificar un ID de CVE.
Consulta el menú de ayuda y la sección de demostración a continuación para comprender mejor las funciones de la herramienta.
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
Ejecuta este comando para buscar exploits públicos relacionados con un ID de CVE:
cve2poc <CVE ID>

De forma predeterminada, la herramienta devolverá los 10 mejores exploits, ordenados por sus estrellas y forks. Además, buscará módulos de Metasploit, plantillas de Nuclei y exploits de Exploit-DB relacionados con el ID de CVE especificado.
Para buscar múltiples CVEs, especifica un archivo que contenga una lista de IDs de CVE (un CVE por línea) usando la opción -f:
cve2poc -f <file>


De forma predeterminada, CVE2PoC genera automáticamente informes JSON y HTML detallados en el directorio actual. Para usar un directorio de salida diferente, usa la opción
-o.
Para probar esta función, utiliza los archivos de muestra proporcionados.
El siguiente comando devuelve una descripción de un ID de CVE, así como referencias adicionales para comprender mejor la vulnerabilidad:
cve2poc --description <CVE ID>

CVE2PoC se puede usar para encontrar entornos Docker listos para usar y laboratorios prácticos para comprender y probar exploits de forma segura antes de usarlos en entornos reales, reduciendo el riesgo de interrupciones en producción.
cve2poc --labs <CVE ID>

Los informes de Bug Bounty pueden ser útiles para comprender mejor cómo se explotó un CVE en escenarios reales. También pueden contener PoCs que te ayuden a reproducir la vulnerabilidad.
cve2poc --bugbounty-reports <CVE ID>

Para identificar rápidamente los pasos de remediación de una vulnerabilidad, usa este comando:
cve2poc --mitigations <CVE ID>

CVE2PoC tiene una función similar a searchsploit -x, que te permite leer el archivo README de un exploit directamente desde tu terminal. Esto es útil especialmente si necesitas comprender rápidamente cómo funciona el exploit sin usar tu navegador.
Para examinar la documentación del exploit, usa este comando:
cve2poc --examine <GitHub Clone URL>

La URL de clonación de GitHub es la URL que devuelve CVE2PoC para cada PoC.
Para recuperar los IDs de CVE relacionados con un CPE, ejecuta este comando:
cve2poc --cpe2cve <CPE>

Para recuperar los CPEs relacionados con un ID de CVE, ejecuta este comando:
cve2poc --cve2cpe <CVE ID>

CVE2PoC tiene una función que puede ayudarte a buscar PoCs escritos en un lenguaje de programación específico. Para usarla, ejecuta este comando:
cve2poc <CVE ID> --language <Programming Language>

De forma predeterminada, CVE2PoC devuelve los 10 mejores exploits encontrados en GitHub. Sin embargo, puedes mostrar más o menos exploits usando la opción --limit:
cve2poc <CVE ID> --limit <N>

N debe ser mayor o igual que 1.
CVE2PoC utiliza argcomplete para realizar automáticamente la autocompletación con tabulación a través de 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 utiliza ruff para linting y formato.
# Run linter
uv run ruff check .
# Run linter with auto-fix
uv run ruff check --fix .
# Run formatter
uv run ruff format .
Un enorme agradecimiento a las siguientes fuentes de las que depende CVE2PoC:
Esta herramienta está destinada únicamente a fines educativos, de investigación y de pruebas de seguridad autorizadas. Úsala solo en sistemas que poseas o para los que tengas permiso explícito de evaluación. El autor no es responsable de ningún uso indebido o daño derivado de su uso.