
Strumento proof-of-concept multiuso basato su CPU-Z CVE-2017-15303
Esempio:
Nota: Stryker si aspetta che cpuz141.sys e procexp152.sys si trovino nella stessa directory del programma.
Lo usi a tuo rischio. Alcuni AV pigri potrebbero contrassegnare questo strumento come hacktool/malware.
Utilizza il driver interno di CPU-Z (https://www.cpuid.com/softwares/cpu-z.html) (versione 1.41 secondo CVE-2017-15303) per leggere/scrivere nella memoria fisica e leggere i registri di controllo della CPU.
A seconda del comando, Stryker funzionerà come DSEFix/TDL o modificherà gli oggetti processo in modalità kernel (EPROCESS).
In modalità -load, Stryker utilizzerà un driver firmato di terze parti dal software SysInternals Process Explorer (versione driver 1.52) per inserire un piccolo shellcode loader all'interno del suo gestore IRP_MJ_DEVICE_CONTROL/IRP_MJ_CREATE/IRP_MJ_CLOSE. Ciò viene fatto sovrascrivendo la memoria fisica in cui si trova il gestore dispatch di Process Explorer e attivandolo chiamando il driver IRP_MJ_CREATE (chiamata CreateFile). Lo shellcode attivato mapperà il driver di input come buffer di codice in modalità kernel e lo eseguirà, l'IRQL corrente sarà PASSIVE_LEVEL.
Inoltre, con una leggera modifica, lo shellcode può essere utilizzato per eseguire semplicemente un piccolo pezzo di codice in modalità kernel (non implementato in questo strumento).
Stryker viene fornito con il codice sorgente completo. Per compilare dal sorgente è necessario Microsoft Visual Studio 2015 U1 e versioni successive. Per le compilazioni dei driver è necessario Microsoft Windows Driver Kit 8.1 e/o superiore.
Non c'è supporto tranne correzioni critiche per Stryker stesso. Non c'è ASSOLUTAMENTE ALCUNA garanzia che funzioni. L'uso di questo programma potrebbe mandare il tuo computer in BSOD. Il binario compilato e il codice sorgente sono forniti COSÌ COME SONO nella speranza che siano utili, MA SENZA ALCUNA GARANZIA.
QUALSIASI UTILIZZO DEL SOFTWARE È INTERAMENTE A PROPRIO RISCHIO.
D: Qualcos'altro oltre al driver di Process Explorer può essere usato per eseguire shellcode?
R: Sì, ma devi esaminare attentamente il candidato per assicurarti che possa archiviare ed eseguire shellcode.
D: Per quanto riguarda le versioni più recenti di CPU-Z? Possono essere usate per leggere/scrivere la memoria fisica e i registri di controllo della CPU?
R: Il driver di CPU-Z è stato riprogettato per risolvere CVE-2017-15303 e alcune funzionalità non sono più disponibili. Tuttavia, le versioni precedenti di CPU-Z potrebbero avere la stessa funzionalità.
D: Esistono altri driver simili con la stessa funzionalità di CPU-Z?
R: Sì, molti, ad esempio WinIO.sys, AsIO64.sys, Asmmap64.sys. In generale, forniscono tutti accesso in lettura/scrittura alla memoria fisica in modi diversi (\Device\PhysicalMemory).
D: Funziona su tutte le versioni di Windows? Comprese quelle non ancora rilasciate?
R: È stato testato su Windows 7 / 8.1 / 10 fino a RS3. È improbabile che funzioni su versioni future.
D: Verrà aggiunto il supporto per Windows 10 NEXT o Windows XX NEXT?
R: Improbabile.
(c) 2018 Stryker Project