
Framework di sfruttamento BYOVD per CVE-2022-22077 che prende di mira RTCore64.sys. Dimostra il furto di token del kernel, l'escalation dei privilegi a SYSTEM e l'integrazione con beacon C2 per operazioni di red team e ricerca sulla sicurezza.
Questo documento fornisce una panoramica completa del framework di sfruttamento di CVE-2022-22077, una sofisticata toolkit di attacco BYOVD (Bring Your Own Vulnerable Driver) che prende di mira la vulnerabilità del driver RTCore64.sys. Questo framework dimostra tecniche avanzate di sfruttamento del kernel Windows a scopo educativo e di ricerca sulla sicurezza.
Il materiale trattato include le basi tecniche della vulnerabilità, l'architettura del framework e l'integrazione con la più ampia toolkit LazyOwn RedTeam. Per un'analisi dettagliata della vulnerabilità, si veda Analisi della vulnerabilità. Per i dettagli implementativi specifici dei singoli componenti, si veda Framework di sfruttamento.
CVE-2022-22077 è una vulnerabilità ad alta gravità (punteggio CVSS 7.8) che interessa il driver RTCore64.sys distribuito con le applicazioni MSI Center e Dragon Center. La vulnerabilità deriva da interfacce IOCTL esposte che consentono a utenti non privilegiati di eseguire letture e scritture arbitrarie nella memoria fisica, bypassando di fatto tutti i meccanismi di sicurezza del kernel Windows.
Il framework implementa l'accesso alla memoria del kernel attraverso un approccio strutturato che sfrutta le vulnerabilità del driver RTCore64.sys:
Di: grisun0, Architetto capo del caos del kernel e sussurratore di driver part-time - LazyOwn RedTeam
7 min di lettura · Pubblicato alle 3:33 di notte perché “HVCI? Mai conosciuta.”
“Il modo migliore per possedere un sistema è chiedere il permesso al suo stesso driver — educatamente, con le IOCTL.” — grisun0, probabilmente mentre faceva reverse-engineering di MSI Afterburner in mutande
Saltiamo la parte in cui faccio finta che tutto questo sia normale.
Se stai leggendo questo, sei uno di questi:
Benvenuto in LazyOwn RedTeam™, dove non aggiriamo la sicurezza: la invitiamo a cena e poi le rubiamo il portafoglio.
Oggi ti presento RTCore64.sys — non un driver, non uno strumento, ma un exploit del kernel pienamente operativo travestito da utility per l'overclock della tua RTX 3090.
E sì — c'è un colpo di scena.
Spoiler: usa ancora cmd.exe. Spoiler più grande: ora usa anche beacon.exe. Spoiler ancora più grande: entrambi ora girano con privilegi NT AUTHORITY\SYSTEM, grazie a un driver che pensava che "l'accesso arbitrario alla memoria del kernel" fosse una funzionalità di qualità della vita.
🕳️ Cos'è RTCore64.sys? (O: “Come trasformare MSI Afterburner in una backdoor Ring 0”) Immagina di installare un driver per regolare la tensione della tua GPU… e di ritrovarti per sbaglio con accesso completo in lettura/scrittura alla memoria del kernel.
Questa è CVE-2022–22077 — una vulnerabilità così splendidamente spericolata da far sembrare capcom.sys una bibliotecaria timida.
Mentre capcom.sys chiedeva gentilmente di eseguire la tua callback, RTCore64.sys ti consegna direttamente le chiavi del regno — senza fare domande.
“Ecco una IOCTL. Scrivi qualsiasi indirizzo. Leggi qualsiasi valore. Fai il botto.” — MSI, probabilmente
E poiché siamo professionisti, non facciamo DeviceIoControl a caso. Rubiamo token di SYSTEM, patchiamo strutture EPROCESS e generiamo shell SYSTEM — tutto prima che la tua GPU raggiunga i 70°C.
Lascia che ti guidi attraverso i cinque atti di questa rapina digitale:
Sbagliato.
Nascosto al suo interno c'è RTCore64.sys — un driver firmato e vulnerabile che espone IOCTL come:
0x80002048 → Leggi memoria del kernel 0x8000204c → Scrivi memoria del kernel Nessuna validazione. Nessun controllo di sanità. Solo puro, non filtrato potere.
“Perché fare sandbox quando puoi andare nel kernel?” — MSI Engineering Team, 2019
Basta:
sc create RTCore64 binPath=C:\Windows\Temp\RTCore64.sys type=kernel
sc start RTCore64
Boom. Accesso al kernel sbloccato.
Prerequisito: SeLoadDriverPrivilege (che hai già, perché sei così bravo). Bonus: HVCI disabilitata (perché chi ha bisogno della virtualizzazione quando hai stile?).
CreateFileW(L"\\.\RTCore64", ...) → Prendi il biglietto d'oro. EnumDeviceDrivers() → Trova la base di ntoskrnl.exe. Parse PsInitialSystemProcess dal disco → Ottieni l'offset. Leggi EPROCESS di SYSTEM → Ruba il suo token. Scrivi il token nel tuo processo → Congratulazioni, sei Dio. CreateProcessW(L"beacon.exe", ...) → Lancia il tuo payload come SYSTEM. Niente shellcode. Niente catene ROP. Solo pura e semplice manipolazione di oggetti del kernel.