
Application de sécurité défensive pour Windows fournissant des contrôles compensatoires pour CVE-2017-0144 (EternalBlue/MS17-010) via la surveillance SMB, la détection d'attaques, la réponse automatisée du pare-feu, l'audit de configuration et les rapports de sécurité pour les systèmes hérités et non pris en charge.
Une application de sécurité desktop Windows qui fournit un contrôle compensatoire défensif pour les systèmes encore exposés à CVE-2017-0144 (MS17-010 / EternalBlue) — le plus souvent des installations Windows héritées ou non prises en charge qui ne peuvent plus recevoir les mises à jour de sécurité officielles de Microsoft.
LegacyShield ne corrige pas la vulnérabilité SMBv1 sous-jacente. Elle réduit la surface d'attaque et améliore la visibilité grâce à la surveillance, à la détection heuristique, à une atténuation (temporaire et réversible) automatisée du pare-feu, à une journalisation structurée et à des rapports professionnels. L'application de la mise à jour officielle MS17-010, ou la mise à niveau vers une version de Windows prise en charge, reste la remédiation définitive.
Ce projet ne contient aucun code d'exploitation, code d'attaque de preuve de concept, technique d'élévation de privilèges ni outillage offensif, quel qu'il soit.
| Capacité | Résumé |
|---|
| Évaluation du système | Lit (n'écrit jamais) la version de Windows, l'état SMBv1, l'exposition des ports 139/445, l'état du pare-feu, le partage de fichiers et le profil réseau. Produit un score de sécurité de 0 à 100. |
| Surveillance SMB | Interroge les ports TCP 139/445 via la table des connexions du système d'exploitation pour détecter les nouvelles connexions entrantes. Aucune capture de paquets ni inspection du contenu. |
| Moteur de détection | Heuristiques configurables : rafales de connexions, volume par minute, échecs de négociation répétés. |
| Réponse automatisée | Crée des règles de blocage du pare-feu Windows temporaires, étiquetées et à expiration automatique pour les sources fautives ; ne touche jamais aux règles qu'elle n'a pas créées ; prise en charge complète du rollback. |
| Journalisation | Journaux structurés JSON/CSV/texte brut, plus entrées du journal des événements Windows pour les événements de gravité élevée. |
| Rapports | Rapports de sécurité de synthèse pour la direction, exportables en JSON, HTML ou PDF. |
| Interface de bureau | Tableau de bord PySide6, navigation latérale, notifications dans la zone de notification. |
| Service en arrière-plan | Service Windows optionnel basé sur pywin32 pour que la protection continue lorsque l'interface graphique est fermée. |
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
Voir ARCHITECTURE.md pour la conception complète, y compris les diagrammes UML de classes et de séquence.
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements-dev.txt
pytest tests/ -v
python main.py
L'interface graphique (
main.py) et le service Windows (legacyshield/services/background_service.py) nécessitent Windows +pywin32. La logique métier de core/modules/services est indépendante de la plateforme et sa suite de tests s'exécute sur n'importe quel système d'exploitation via des protocoles API Windows simulés — voirtests/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
Ceci est un projet de portfolio d'ingénierie défensive démontrant la programmation système Windows, la conception de la surveillance/détection et l'architecture d'applications sécurisées. Il est fourni sans licence spécifique ; ajoutez-en une adaptée à votre usage prévu avant toute distribution.