
Proyecto de ingeniería de investigación CVE a firma de detección: identificando la puerta trasera vsftpd 2.3.4 (CVE-2011-2523) externamente, a escala, con manejo validado de falsos positivos/negativos - construido en Python
Un proyecto de ingeniería de firmas de detección para un CVE: investigando una vulnerabilidad divulgada, construyendo una huella digital que la identifique externamente y validando la calidad de detección contra objetivos de laboratorio reales.
La mayoría de los portafolios de investigación de vulnerabilidades se detienen en "Exploté X". Este se construye en torno a una pregunta diferente, más cercana a lo que realmente pregunta la ingeniería de detección:
Una vez que se divulga un CVE, ¿cómo identificas de manera confiable — externamente, a escala, sin explotar nada — qué activos expuestos a internet están ejecutando realmente la tecnología vulnerable?
Este repositorio documenta todo ese flujo de trabajo para un CVE real: CVE-2011-2523, la puerta trasera de vsftpd 2.3.4. Va desde la investigación de vulnerabilidades hasta el diseño de huellas digitales, la ingeniería de scripts de detección y la validación contra objetivos de laboratorio reales — construido deliberadamente como detección, no explotación.
CVE Disclosure → Research & Version Analysis → Fingerprint Design
→ Detection Script → Validation (TP/FP/FN review) → Evidence Output
220. Ese banner es la superficie de la huella digital — no se requiere autenticación ni explotación para leerlo.fingerprint_vsftpd_cve_2011_2523.py se conecta, captura el banner, lo compara mediante expresiones regulares con la firma vulnerable conocida y clasifica el resultado.undetermined en lugar de un falso negativo).Cambia el nombre de tus archivos de captura de pantalla para que coincidan, o actualiza estas rutas, una vez subidos a
/screenshots.
| Script de huella digital | Salida de validación |
|---|---|
| Script | Salida |
Detalle adicional de ejecución:
Detalle Detalle Detalle Detalle
# Single target
python3 fingerprint_vsftpd_cve_2011_2523.py --target 192.168.56.101
# Batch — multiple hosts, evidence-style JSON output
python3 fingerprint_vsftpd_cve_2011_2523.py --targets-file targets.json \
--output evidence/vsftpd_fingerprint_findings.json
Salida de ejemplo:
{
"scan_type": "vsftpd_2.3.4_backdoor_fingerprint",
"cve": "CVE-2011-2523",
"total_targets": 1,
"vulnerable_count": 1,
"findings": [
{
"host": "192.168.56.101",
"port": 21,
"banner": "220 (vsFTPd 2.3.4)",
"verdict": "vulnerable",
"reason": "Banner matches known vulnerable signature (vsftpd 2.3.4)"
}
]
}
Esta división tripartita es el control de calidad de detección central en el proyecto: un detector ingenuo colapsa "no pude verificar" y "verificado y limpio" en el mismo resultado, que es exactamente cómo se esconden los falsos negativos en la lógica de detección en producción.
.
├── fingerprint_vsftpd_cve_2011_2523.py
├── docs/
│ └── CVE-RESEARCH.md
├── evidence/
│ └── vsftpd_fingerprint_findings.json
├── screenshots/
│ └── (script + validation run screenshots)
└── README.md
Ingeniero de Ciberseguridad | Ingeniero de Detección | Investigador de Vulnerabilidades | Equipo Púrpura | SIEM | Seguridad Empresarial
Enfocado en el pipeline de investigación a detección: tomar un CVE divulgado desde el aviso hasta una huella digital funcional y validada capaz de identificar tecnología vulnerable externamente y a escala — construido sobre trabajo práctico de laboratorio ofensivo y defensivo en lugar de solo teoría.
https://www.linkedin.com/in/bassey-solomon-henry/
GitHub
https://github.com/solomonhenry-afk/Bassey-Solomon-Henry
Correo electrónico
"Una vulnerabilidad no es un riesgo real hasta que puedas probar, a escala, qué sistemas realmente la tienen. La investigación te dice lo que es posible — la ingeniería de detección te dice lo que es verdadero."
Si este proyecto es útil, considera darle una estrella al repositorio.
| Función principal | Dónde se encuentra en este repositorio |
|---|
| Investigar CVEs y avisos recién divulgados | docs/CVE-RESEARCH.md — antecedentes de CVE-2011-2523, versiones afectadas, cronología de divulgación |
| Diseñar huellas digitales de tecnología y firmas de detección | fingerprint_vsftpd_cve_2011_2523.py — firma de coincidencia de versión basada en banner |
| Construir lógica de detección escalable | Modo por lotes (--targets-file) para tomar huellas de múltiples hosts en una sola ejecución |
| Validar detecciones usando activos del mundo real | Ejecutado y validado contra objetivos de laboratorio reales (Metasploitable2 + control de puerto cerrado) |
| Reducir falsos positivos / falsos negativos | Lógica de veredicto de tres estados (vulnerable / not_vulnerable / undetermined) en lugar de booleano — un puerto cerrado/filtrado nunca se pliega silenciosamente en "no vulnerable" |
| Scripting en Python para investigación y validación | Todo el script de detección + salida de evidencia JSON, sin pasos manuales |
| HTTP/HTTPS, fundamentos de redes | Interacción de servicio a nivel TCP/socket sin procesar, análisis de banner |
| Enfoque en infraestructura expuesta a internet | Diseñado para toma de huellas externa y no autenticada — sin credenciales, sin explotación, sin interrupción del servicio |
| Caso de prueba | Tipo de objetivo | Veredicto esperado | Resultado |
|---|
| Host conocido vulnerable | Metasploitable2 (vsftpd 2.3.4) | vulnerable | Confirmado |
| Puerto cerrado/filtrado | Puerto sin escucha | undetermined (no es un falso negativo silencioso) | Confirmado |
| Servicio no vsftpd | Otro banner FTP | not_applicable | Confirmado |