
Projeto de engenharia de pesquisa de CVE para assinatura de detecção: fingerprinting do backdoor vsftpd 2.3.4 (CVE-2011-2523) externamente, em escala, com tratamento validado de falsos positivos/negativos - desenvolvido em Python
Um projeto de engenharia de assinaturas de detecção a partir de uma CVE: pesquisar uma vulnerabilidade divulgada, construir um fingerprint que a identifique externamente e validar a qualidade da detecção contra alvos reais de laboratório.
A maioria dos portfólios de pesquisa de vulnerabilidades para em "Eu explorei X." Este é construído em torno de uma pergunta diferente, mais próxima do que a engenharia de detecção realmente pergunta:
Uma vez que uma CVE é divulgada, como você identifica de forma confiável — externamente, em escala, sem explorar nada — quais ativos expostos à internet estão realmente executando a tecnologia vulnerável?
Este repositório documenta todo esse fluxo de trabalho para uma CVE real: CVE-2011-2523, o backdoor do vsftpd 2.3.4. Ele vai da pesquisa de vulnerabilidade ao projeto do fingerprint, à engenharia do script de detecção e à validação contra alvos de laboratório ativos — deliberadamente construído como detecção, não exploração.
CVE Disclosure → Research & Version Analysis → Fingerprint Design
→ Detection Script → Validation (TP/FP/FN review) → Evidence Output
220 do FTP. Esse banner é a superfície do fingerprint — não é necessária autenticação nem exploração para lê-lo.fingerprint_vsftpd_cve_2011_2523.py conecta-se, captura o banner, aplica regex para correspondência com a assinatura vulnerável conhecida e classifica o resultado.undetermined em vez de um falso negativo).Renomeie seus arquivos de captura de tela para corresponder, ou atualize esses caminhos, após enviá-los para
/screenshots.
| Script de Fingerprint | Saída de Validação |
|---|---|
| Script de Fingerprint | Saída |
Detalhe adicional da execução:
Detalhe Detalhe Detalhe Detalhe
# 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
Exemplo de saída:
{
"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)"
}
]
}
Essa divisão em três vias é o controle de qualidade central da detecção no projeto: um detector ingênuo agrupa "não foi possível verificar" e "verificado e limpo" no mesmo resultado, que é exatamente como falsos negativos se escondem na lógica de detecção em produção.
.
├── fingerprint_vsftpd_cve_2011_2523.py
├── docs/
│ └── CVE-RESEARCH.md
├── evidence/
│ └── vsftpd_fingerprint_findings.json
├── screenshots/
│ └── (script + validation run screenshots)
└── README.md
Engenheiro de Cibersegurança | Engenheiro de Detecção | Pesquisador de Vulnerabilidades | Purple Team | SIEM | Segurança Corporativa
Focado no pipeline de pesquisa-para-detecção: levar uma CVE divulgada do aviso de segurança até um fingerprint funcional e validado, capaz de identificar tecnologia vulnerável externamente e em escala — construído com base em trabalho prático de laboratório ofensivo e defensivo, e não apenas em teoria.
https://www.linkedin.com/in/bassey-solomon-henry/
GitHub
https://github.com/solomonhenry-afk/Bassey-Solomon-Henry
"Uma vulnerabilidade não é risco real até que você possa provar, em escala, quais sistemas realmente a possuem. A pesquisa diz o que é possível — a engenharia de detecção diz o que é verdadeiro."
Se este projeto for útil, considere dar uma estrela no repositório.
| Função Principal | Onde Está Neste Repositório |
|---|
| Pesquisar CVEs e avisos de segurança recém-divulgados | docs/CVE-RESEARCH.md — contexto da CVE-2011-2523, versões afetadas, linha do tempo da divulgação |
| Projetar fingerprints de tecnologia e assinaturas de detecção | fingerprint_vsftpd_cve_2011_2523.py — assinatura de correspondência de versão baseada em banner |
| Construir lógica de detecção escalável | Modo lote (--targets-file) para fingerprinting de vários hosts em uma única execução |
| Validar detecções usando ativos reais | Executado e validado contra alvos de laboratório ativos (Metasploitable2 + controle de porta fechada) |
| Reduzir falsos positivos / falsos negativos | Lógica de veredito em três estados (vulnerable / not_vulnerable / undetermined) em vez de um booleano — uma porta fechada/filtrada nunca é silenciosamente incorporada em "não vulnerável" |
| Scripts em Python para pesquisa e validação | Script de detecção completo + saída de evidências em JSON, sem etapas manuais |
| HTTP/HTTPS, fundamentos de rede | Interação com serviço em nível de socket/TCP bruto, parsing de banner |
| Foco em infraestrutura exposta à internet | Projetado para fingerprinting externo e sem autenticação — sem credenciais, sem exploração, sem interrupção de serviço |
| Caso de Teste | Tipo de Alvo | Veredito Esperado | Resultado |
|---|
| Host sabidamente vulnerável | Metasploitable2 (vsftpd 2.3.4) | vulnerable | Confirmado |
| Porta fechada/filtrada | Porta sem serviço em escuta | undetermined (não é um falso negativo silencioso) | Confirmado |
| Serviço que não é vsftpd | Outro banner de FTP | not_applicable | Confirmado |