
Aplicativo de segurança defensivo do Windows que fornece controles compensatórios para CVE-2017-0144 (EternalBlue/MS17-010) por meio de monitoramento de SMB, detecção de ataques, resposta automatizada de firewall, auditoria de configuração e relatórios de segurança para sistemas legados e sem suporte.
Um aplicativo de segurança para desktop Windows que fornece um controle compensatório defensivo para sistemas ainda expostos a CVE-2017-0144 (MS17-010 / EternalBlue) — mais comumente instalações Windows legadas ou sem suporte que não podem mais receber atualizações oficiais de segurança da Microsoft.
LegacyShield não corrige a vulnerabilidade subjacente do SMBv1. Ele reduz a superfície de ataque e melhora a visibilidade por meio de monitoramento, detecção heurística, mitigação automatizada (temporária e reversível) de firewall, registro estruturado e relatórios profissionais. Aplicar a atualização oficial do MS17-010 ou atualizar para uma versão compatível do Windows continua sendo a correção definitiva.
Este projeto não contém código de exploração, código de ataque de prova de conceito, técnicas de escalonamento de privilégios ou qualquer tipo de ferramenta ofensiva.
| Recurso | Resumo |
|---|---|
| Avaliação do sistema | Lê (nunca grava) versão do Windows, status do SMBv1, exposição das portas 139/445, estado do firewall, compartilhamento de arquivos e perfil de rede. Produz uma pontuação de segurança de 0 a 100. |
| Monitoramento SMB | Consulta as portas TCP 139/445 por meio da tabela de conexões do sistema operacional para novas conexões de entrada. Sem captura de pacotes ou inspeção de payload. |
| Mecanismo de detecção | Heurísticas configuráveis: rajadas de conexões, volume por minuto, falhas repetidas de negociação. |
| Resposta automatizada | Cria regras temporárias, marcadas e com expiração automática de bloqueio no Firewall do Windows para origens ofensoras; nunca toca em regras que não criou; suporte completo a reversão. |
| Registro | Logs estruturados em JSON/CSV/texto simples, além de entradas no Log de Eventos do Windows para eventos de alta severidade. |
| Relatórios | Relatórios de segurança executivos exportáveis como JSON, HTML ou PDF. |
| Interface desktop | Painel PySide6, navegação por barra lateral, notificações na bandeja do sistema. |
| Serviço em segundo plano | Serviço do Windows baseado em pywin32 opcional para que a proteção continue quando a GUI estiver fechada. |
LegacyShield/
├── main.py # GUI entry point (+ install/uninstall/rollback CLI verbs)
├── legacyshield/
│ ├── core/ # Read-only system inspection, scoring, shared models
│ ├── modules/ # Config, detection engine, response engine, whitelist
│ ├── services/ # SMB monitor, firewall service, background Windows Service
│ ├── logging_/ # JSON/CSV/text log writers + Windows Event Log mirror
│ ├── reports/ # JSON/HTML/PDF report generator + HTML template
│ └── ui/ # PySide6 main window, sidebar, dashboard, pages, tray
├── config/default_config.json # Shipped default configuration
├── installer/ # PyInstaller spec, build script, manifest, Inno Setup script
├── tests/ # pytest suite incl. mocked-Windows-API tests
├── samples/ # Example config/log/report output
└── docs/ # Guides referenced below
Consulte ARCHITECTURE.md para ver o projeto completo, incluindo diagramas UML de classes e de sequência.
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements-dev.txt
pytest tests/ -v
python main.py
A GUI (
main.py) e o Serviço do Windows (legacyshield/services/background_service.py) exigem Windows +pywin32. A lógica de negócios de core/modules/services é independente de plataforma e sua suíte de testes é executada em qualquer SO por meio de protocolos simulados da API do Windows — consultetests/mocks/windows_mocks.py.
pip install -r requirements-dev.txt
python installer/build.py # runs tests, then PyInstaller -> dist/LegacyShield.exe
iscc installer/installer.iss # optional: Inno Setup -> dist/installer/LegacyShield-Setup-*.exe
Este é um projeto de portfólio de engenharia defensiva que demonstra programação de sistemas Windows, design de monitoramento/detecção e arquitetura segura de aplicações. Ele é distribuído sem uma licença específica; adicione uma adequada ao uso pretendido antes da distribuição.