
Projet d'ingénierie de signature de détection à partir de recherche CVE : fingerprinting de la backdoor vsftpd 2.3.4 (CVE-2011-2523) en externe, à grande échelle, avec gestion validée des faux positifs/négatifs - construit en Python
Un projet de CVE vers Signature de Détection : recherche d'une vulnérabilité divulguée, construction d'une empreinte qui l'identifie de l'extérieur, et validation de la qualité de la détection contre des cibles réelles en laboratoire.
La plupart des portfolios de recherche en vulnérabilités s'arrêtent à « J'ai exploité X ». Celui-ci est construit autour d'une question différente, plus proche de ce que demande réellement l'ingénierie de détection :
Une fois qu'une CVE est divulguée, comment identifier de manière fiable — de l'extérieur, à grande échelle, sans rien exploiter — quels actifs exposés sur Internet exécutent réellement la technologie vulnérable ?
Ce dépôt documente l'ensemble de ce flux de travail pour une CVE réelle : CVE-2011-2523, la backdoor vsftpd 2.3.4. Il va de la recherche de vulnérabilité à la conception d'empreinte, à l'ingénierie de script de détection et à la validation contre des cibles réelles en laboratoire — construit délibérément comme de la détection, pas de l'exploitation.
Divulgation CVE → Recherche & Analyse de Version → Conception d'Empreinte
→ Script de Détection → Validation (examen TP/FP/FN) → Sortie de Preuves
220. Cette bannière est la surface d'empreinte — aucune authentification, aucune exploitation requise pour la lire.fingerprint_vsftpd_cve_2011_2523.py se connecte, capture la bannière, la fait correspondre par regex à la signature vulnérable connue, et classe le résultat.undetermined plutôt qu'un faux négatif).Renommez vos fichiers de capture d'écran pour qu'ils correspondent, ou mettez à jour ces chemins, une fois téléchargés dans
/screenshots.
| Script d'Empreinte | Sortie de Validation |
|---|---|
| Script | Sortie |
Détail d'exécution supplémentaire :
Détail Détail Détail Détail
# Cible unique
python3 fingerprint_vsftpd_cve_2011_2523.py --target 192.168.56.101
# Batch — plusieurs hôtes, sortie JSON format preuves
python3 fingerprint_vsftpd_cve_2011_2523.py --targets-file targets.json \
--output evidence/vsftpd_fingerprint_findings.json
Exemple de sortie :
{
"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)"
}
]
}
Cette séparation en trois états est le contrôle central de qualité de détection dans le projet : un détecteur naïf fusionne « impossible à vérifier » et « vérifié et sain » dans le même résultat, ce qui est exactement la façon dont les faux négatifs se cachent dans une logique de détection en production.
.
├── fingerprint_vsftpd_cve_2011_2523.py
├── docs/
│ └── CVE-RESEARCH.md
├── evidence/
│ └── vsftpd_fingerprint_findings.json
├── screenshots/
│ └── (captures d'écran du script et des exécutions de validation)
└── README.md
Ingénieur en Cybersécurité | Ingénieur en Détection | Chercheur en Vulnérabilités | Équipe Pourpre | SIEM | Sécurité d'Entreprise
Axé sur le pipeline recherche-à-détection : transformer une CVE divulguée d'un avis à une empreinte fonctionnelle et validée, capable d'identifier une technologie vulnérable de manière externe et à grande échelle — construit sur un travail pratique offensif et défensif en laboratoire plutôt que sur la seule théorie.
https://www.linkedin.com/in/bassey-solomon-henry/
GitHub
https://github.com/solomonhenry-afk/Bassey-Solomon-Henry
« Une vulnérabilité n'est un risque réel que si vous pouvez prouver, à grande échelle, quels systèmes la possèdent réellement. La recherche vous dit ce qui est possible — l'ingénierie de détection vous dit ce qui est vrai. »
Si ce projet vous est utile, envisagez de mettre une étoile au dépôt.
| Fonction Principale | Emplacement dans ce Dépôt |
|---|
| Recherche de nouvelles CVE et avis divulgués | docs/CVE-RESEARCH.md — Contexte de CVE-2011-2523, versions affectées, chronologie de divulgation |
| Conception d'empreintes technologiques et signatures de détection | fingerprint_vsftpd_cve_2011_2523.py — Signature de correspondance de version basée sur la bannière |
| Construction d'une logique de détection scalable | Mode batch (--targets-file) pour l'empreinte de plusieurs hôtes en une seule exécution |
| Validation des détections à l'aide d'actifs réels | Exécuté et validé contre des cibles de laboratoire réelles (Metasploitable2 + contrôle port fermé) |
| Réduction des faux positifs / faux négatifs | Logique de verdict à trois états (vulnerable / not_vulnerable / undetermined) au lieu d'un booléen — un port fermé/filtré n'est jamais silencieusement intégré dans « non vulnérable » |
| Scripting Python pour la recherche et la validation | Script de détection complet + sortie JSON de preuves, aucune étape manuelle |
| Principes fondamentaux HTTP/HTTPS et réseaux | Interaction de service brute au niveau socket/TCP, analyse de bannière |
| Focus sur l'infrastructure exposée sur Internet | Conçu pour l'empreinte externe non authentifiée — aucun identifiant, aucune exploitation, aucune interruption de service |
| Cas de Test | Type de Cible | Verdict Attendu | Résultat |
|---|
| Hôte connu vulnérable | Metasploitable2 (vsftpd 2.3.4) | vulnerable | Confirmé |
| Port fermé/filtré | Port non à l'écoute | undetermined (pas un faux négatif silencieux) | Confirmé |
| Service non vsftpd | Autre bannière FTP | not_applicable | Confirmé |