## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-KITSKATER-LEGACYSHIELD-CVE-2017-0144
# LegacyShield тАФ EternalBlue рдореЙрдбреНрдпреВрд▓
рдПрдХ Windows рдбреЗрд╕реНрдХрдЯреЙрдк рд╕реБрд░рдХреНрд╖рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛ рдЙрди рд╕рд┐рд╕реНрдЯрдореЛрдВ рдХреЗ рд▓рд┐рдП **рд░рдХреНрд╖рд╛рддреНрдордХ рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдирд┐рдпрдВрддреНрд░рдг** рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрднреА рднреА **CVE-2017-0144 (MS17-010 / EternalBlue)** рдХреЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рд╣реИрдВ тАФ рдЕрдХреНрд╕рд░ рдкреБрд░рд╛рдиреЗ рдпрд╛ рдЕрд╕рдорд░реНрдерд┐рдд Windows рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЬреЛ рдЕрдм рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Microsoft рд╕реБрд░рдХреНрд╖рд╛ рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
> **LegacyShield рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд SMBv1 рднреЗрджреНрдпрддрд╛ рдХреЛ рдкреИрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ред** рдпрд╣ рдирд┐рдЧрд░рд╛рдиреА, рдЕрдиреБрдорд╛рдирд╛рддреНрдордХ рдкрд╣рдЪрд╛рди, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд (рдЕрд╕реНрдерд╛рдпреА, рдкреНрд░рддрд┐рд╡рд░реНрддреА) рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╢рдорди, рд╕рдВрд░рдЪрд┐рдд рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рдкреЗрд╢реЗрд╡рд░ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдХреНрд░рдордг рд╕рддрд╣ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреГрд╢реНрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ MS17-010 рдЕрдкрдбреЗрдЯ рд▓рд╛рдЧреВ рдХрд░рдирд╛, рдпрд╛ рд╕рдорд░реНрдерд┐рдд Windows рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛, рдирд┐рд╢реНрдЪрд┐рдд рдЙрдкрдЪрд╛рд░ рдмрдирд╛ рд╣реБрдЖ рд╣реИред
>
> рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ **рдХреЛрдИ рдПрдХреНрд╕рдкреНрд▓реЙрдЗрдЯ рдХреЛрдб, рдкреНрд░реВрдл-рдСрдл-рдХреЙрдиреНрд╕реЗрдкреНрдЯ рдЕрдЯреИрдХ рдХреЛрдб, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡реГрджреНрдзрд┐ рддрдХрдиреАрдХ, рдпрд╛ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЖрдХреНрд░рд╛рдордХ рдЯреВрд▓рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИред**
* * *
## рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ
рдХреНрд╖рдорддрд╛| рд╕рд╛рд░рд╛рдВрд╢
---|---
рд╕рд┐рд╕реНрдЯрдо рдореВрд▓реНрдпрд╛рдВрдХрди| рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг, SMBv1 рд╕реНрдерд┐рддрд┐, рдкреЛрд░реНрдЯ 139/445 рдПрдХреНрд╕рдкреЛрдЬрд╝рд░, рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╕реНрдерд┐рддрд┐, рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЭрд╛рдХрд░рдг рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ (рдХрднреА рд▓рд┐рдЦрддрд╛ рдирд╣реАрдВ)ред 0тАУ100 рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдХреЛрд░ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
SMB рдирд┐рдЧрд░рд╛рдиреА| OS рдХрдиреЗрдХреНрд╢рди рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдП рдЗрдирдмрд╛рдЙрдВрдб рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП TCP 139/445 рдХреЛ рдкреЛрд▓ рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рдкреИрдХреЗрдЯ рдХреИрдкреНрдЪрд░ рдпрд╛ рдкреЗрд▓реЛрдб рдирд┐рд░реАрдХреНрд╖рдг рдирд╣реАрдВред
рдкрд╣рдЪрд╛рди рдЗрдВрдЬрди| рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрдмрд▓ рдЕрдиреБрдорд╛рди: рдХрдиреЗрдХреНрд╢рди рд╡рд┐рд╕реНрдлреЛрдЯ, рдкреНрд░рддрд┐ рдорд┐рдирдЯ рдорд╛рддреНрд░рд╛, рдмрд╛рд░-рдмрд╛рд░ рд╡рд┐рдлрд▓ рд╡рд╛рд░реНрддрд╛ред
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛| рдЖрдкрддреНрддрд┐рдЬрдирдХ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд▓рд┐рдП **рдЕрд╕реНрдерд╛рдпреА, рдЯреИрдЧ рдХрд┐рдП рдЧрдП, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ** рд╡рд┐рдВрдбреЛрдЬ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдмреНрд▓реЙрдХ рдирд┐рдпрдо рдмрдирд╛рддрд╛ рд╣реИ; рдХрднреА рднреА рдЙрди рдирд┐рдпрдореЛрдВ рдХреЛ рдирд╣реАрдВ рдЫреВрддрд╛ рдЬреЛ рдЙрд╕рдиреЗ рдирд╣реАрдВ рдмрдирд╛рдП; рдкреВрд░реНрдг рд░реЛрд▓рдмреИрдХ рд╕рдорд░реНрдердиред
рд▓реЙрдЧрд┐рдВрдЧ| рд╕рдВрд░рдЪрд┐рдд JSON/CSV/рд╕рд╛рджрд╛-рдкрд╛рда рд▓реЙрдЧ, рд╕рд╛рде рд╣реА рдЙрдЪреНрдЪ-рдЧрдВрднреАрд░рддрд╛ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдЗрд╡реЗрдВрдЯ рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБред
рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ| рдХрд╛рд░реНрдпрдХрд╛рд░реА-рд╕рд╛рд░рд╛рдВрд╢ рд╕реБрд░рдХреНрд╖рд╛ рд░рд┐рдкреЛрд░реНрдЯ JSON, HTML рдпрд╛ PDF рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдпреЛрдЧреНрдпред
рдбреЗрд╕реНрдХрдЯреЙрдк UI| PySide6 рдбреИрд╢рдмреЛрд░реНрдб, рд╕рд╛рдЗрдбрдмрд╛рд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди, рд╕рд┐рд╕реНрдЯрдо рдЯреНрд░реЗ рд╕реВрдЪрдирд╛рдПрдБред
рдкреГрд╖реНрдарднреВрдорд┐ рд╕реЗрд╡рд╛| рд╡реИрдХрд▓реНрдкрд┐рдХ `pywin32`-рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рдВрдбреЛрдЬ рд╕реЗрд╡рд╛ рддрд╛рдХрд┐ GUI рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рд░реА рд░рд╣реЗред
## рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реЗрдЖрдЙрдЯ
root@kitploit:~
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
рдкреВрд░реНрдг рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд▓рд┐рдП ARCHITECTURE.md рджреЗрдЦреЗрдВ, рдЬрд┐рд╕рдореЗрдВ UML рдХреНрд▓рд╛рд╕ рдФрд░ рдЕрдиреБрдХреНрд░рдо рдЖрд░реЗрдЦ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
## рддреНрд╡рд░рд┐рдд рдЖрд░рдВрдн (рд╡рд┐рдХрд╛рд╕)
root@kitploit:~
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements-dev.txt
pytest tests/ -v
python main.py
> GUI (`main.py`) рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рд╕реЗрд╡рд╛ (`legacyshield/services/background_service.py`) рдХреЗ рд▓рд┐рдП Windows + `pywin32` рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХреЛрд░/рдореЙрдбреНрдпреВрд▓/рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдореЙрдХ рдХрд┐рдП рдЧрдП рд╡рд┐рдВрдбреЛрдЬ API рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рднреА OS рдкрд░ рдЪрд▓рддрд╛ рд╣реИ тАФ `tests/mocks/windows_mocks.py` рджреЗрдЦреЗрдВред
## рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдмрдирд╛рдирд╛
root@kitploit:~
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
## рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг
* рд╕реНрдерд╛рдкрдирд╛ рдЧрд╛рдЗрдб
* рдкреНрд░рд╢рд╛рд╕рдХ рдЧрд╛рдЗрдб
* рдбреЗрд╡рд▓рдкрд░ рдЧрд╛рдЗрдб
* рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЕрд╡рд▓реЛрдХрди
* API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг
* рдЬреНрдЮрд╛рдд рд╕реАрдорд╛рдПрдБ
* рднрд╡рд┐рд╖реНрдп рдХреА рд╡реГрджреНрдзрд┐
## рд▓рд╛рдЗрд╕реЗрдВрд╕ / рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдиреЛрдЯ
рдпрд╣ рдПрдХ рд░рдХреНрд╖рд╛рддреНрдордХ-рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рдирд┐рдЧрд░рд╛рдиреА/рдкрд╣рдЪрд╛рди рдбрд┐рдЬрд╝рд╛рдЗрди рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ; рд╡рд┐рддрд░рдг рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдЬреЛрдбрд╝реЗрдВред