
Progetto di ingegneria della firma di rilevamento basato su ricerca CVE: impronta digitale del backdoor vsftpd 2.3.4 (CVE-2011-2523) esternamente, su larga scala, con gestione validata di falsi positivi/negativi - realizzato in Python
Un progetto di Ingegneria delle Firme di Rilevamento da CVE: ricerca su una vulnerabilità divulgata, costruzione di un'impronta digitale che la identifichi esternamente e validazione della qualità del rilevamento contro obiettivi di laboratorio reali.
La maggior parte dei portafogli di ricerca sulle vulnerabilità si ferma a "Ho sfruttato X." Questo è costruito attorno a una domanda diversa, più vicina a ciò che chiede effettivamente l'ingegneria del rilevamento:
Una volta divulgato un CVE, come si identifica in modo affidabile — esternamente, su larga scala, senza sfruttare nulla — quali asset esposti a Internet stanno effettivamente eseguendo la tecnologia vulnerabile?
Questo repository documenta l'intero flusso di lavoro per un vero CVE: CVE-2011-2523, il backdoor di vsftpd 2.3.4. Va dalla ricerca sulla vulnerabilità, alla progettazione dell'impronta digitale, all'ingegneria dello script di rilevamento e alla validazione contro obiettivi di laboratorio reali — costruito deliberatamente come rilevamento, non come sfruttamento.
Divulgazione CVE → Ricerca e Analisi delle Versioni → Progettazione dell'Impronta
→ Script di Rilevamento → Validazione (revisione TP/FP/FN) → Output di Evidenze
220 FTP. Quel banner è la superficie dell'impronta digitale — nessuna autenticazione, nessuno sfruttamento richiesto per leggerlo.fingerprint_vsftpd_cve_2011_2523.py si connette, cattura il banner, lo confronta tramite regex con la firma vulnerabile nota e classifica il risultato.indeterminato anziché un falso negativo).Rinominare i file degli screenshot per corrispondere, o aggiornare questi percorsi, una volta caricati in
/screenshots.
| Script di Impronta Digitale | Output di Validazione |
|---|---|
| Script | Output |
Dettaglio aggiuntivo dell'esecuzione:
Dettaglio Dettaglio Dettaglio Dettaglio
# Singolo target
python3 fingerprint_vsftpd_cve_2011_2523.py --target 192.168.56.101
# Batch — più host, output JSON in formato evidenze
python3 fingerprint_vsftpd_cve_2011_2523.py --targets-file targets.json \
--output evidence/vsftpd_fingerprint_findings.json
Output di esempio:
{
"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)"
}
]
}
Questa suddivisione a tre vie è il controllo centrale della qualità del rilevamento nel progetto: un rilevatore ingenuo collassa "non ho potuto controllare" e "controllato e pulito" nello stesso risultato, che è esattamente come i falsi negativi si nascondono nella logica di rilevamento in produzione.
.
├── fingerprint_vsftpd_cve_2011_2523.py
├── docs/
│ └── CVE-RESEARCH.md
├── evidence/
│ └── vsftpd_fingerprint_findings.json
├── screenshots/
│ └── (screenshot dello script e dell'esecuzione di validazione)
└── README.md
Ingegnere della Sicurezza Informatica | Ingegnere del Rilevamento | Ricercatore di Vulnerabilità | Purple Team | SIEM | Sicurezza Aziendale
Concentrato sul processo dalla ricerca al rilevamento: portare un CVE divulgato dall'advisory a un'impronta digitale funzionante e validata, in grado di identificare la tecnologia vulnerabile esternamente e su larga scala — costruito su lavoro di laboratorio offensivo e difensivo pratico, non solo teoria.
https://www.linkedin.com/in/bassey-solomon-henry/
GitHub
https://github.com/solomonhenry-afk/Bassey-Solomon-Henry
"Una vulnerabilità non è un rischio reale finché non puoi provare, su larga scala, quali sistemi la possiedono effettivamente. La ricerca ti dice cosa è possibile — l'ingegneria del rilevamento ti dice cosa è vero."
Se questo progetto è utile, considera di mettere una stella al repository.
| Funzione Principale | Dove Risiede in Questo Repository |
|---|
| Ricerca di nuovi CVE e advisory divulgati | docs/CVE-RESEARCH.md — contesto su CVE-2011-2523, versioni affette, cronologia della divulgazione |
| Progettazione di impronte digitali della tecnologia e firme di rilevamento | fingerprint_vsftpd_cve_2011_2523.py — firma di corrispondenza della versione basata sul banner |
| Costruzione di logica di rilevamento scalabile | Modalità batch (--targets-file) per l'impronta digitale di più host in una singola esecuzione |
| Validazione dei rilevamenti utilizzando asset reali | Eseguito e validato contro obiettivi di laboratorio reali (Metasploitable2 + controllo porta chiusa) |
| Riduzione dei falsi positivi / falsi negativi | Logica di verdetto a tre stati (vulnerabile / non_vulnerabile / indeterminato) invece di un booleano — una porta chiusa/filtrata non viene mai silenziosamente inclusa in "non vulnerabile" |
| Scripting Python per ricerca e validazione | Intero script di rilevamento + output di evidenze JSON, nessun passaggio manuale |
| Fondamenti HTTP/HTTPS, reti | Interazione di servizio a livello di socket TCP grezzo, analisi del banner |
| Focus su infrastruttura esposta a Internet | Progettato per impronte digitali esterne e non autenticate — nessuna credenziale, nessuno sfruttamento, nessuna interruzione del servizio |
| Caso di Test | Tipo di Target | Verdetto Atteso | Risultato |
|---|
| Host noto vulnerabile | Metasploitable2 (vsftpd 2.3.4) | vulnerable | Confermato |
| Porta chiusa/filtrata | Porta in ascolto assente | undetermined (non un falso negativo silenzioso) | Confermato |
| Servizio non vsftpd | Altro banner FTP | not_applicable | Confermato |