
CVE-2020-1048 bypass: PoC di binary planting
Peleg Hadar (@peleghd) e Tomer Bar di SafeBreach (@safebreach) sono stati riconosciuti da Microsoft per il CVE-2020-1048, una vulnerabilità dello Spooler di Windows che consente un'elevazione dei privilegi su Windows 7 e successivi.
Alcuni dettagli sono stati divulgati da Alex Ionescu (@aionescu) e Yarden Shafir (@yarden_shafir) nel loro bellissimo post sul blog PrintDemon: Print Spooler Privilege Escalation, Persistence & Stealth (CVE-2020-1048 & more). Sfruttando queste conoscenze ho trovato un bypass per la patch utilizzando i punti di giunzione e i symlink di Windows (grazie a James Forshaw @tiraniddo).
Il mio report è stato un duplicato perché la causa principale era già stata segnalata da qualcun altro e al report è stato assegnato il CVE-2020-1337, un CVE davvero c00l :-)
Questo codice C# permette di posizionare una DLL dannosa nella directory locale C:\windows\system32 per essere caricata da un'applicazione o servizio vulnerabile a DLL hijacking.
Articolo del blog: CVE-2020-1337: il mio contributo; anche in spagnolo.
Utilizza Visual Studio per ottenere un binario autonomo. La magia viene eseguita utilizzando i seguenti pacchetti NuGet:
Posiziona il binario e il tuo file dannoso nello stesso percorso ed esegui il primo passo:

Riavvia manualmente il sistema ed esegui il secondo passo per finalmente piantare la tua DLL con il suo nome finale:
