
CVE-2021-34527 è una vulnerabilità critica di esecuzione remota di codice e di escalation dei privilegi locali denominata "PrintNightmare".
CVE-2021-34527 è una vulnerabilità critica di esecuzione di codice in remoto e di escalation dei privilegi locali soprannominata "PrintNightmare".
Sono stati rilasciati exploit proof-of-concept (Python, C++) per la capacità di esecuzione di codice in remoto e una versione C# per l'escalation dei privilegi locali. Non avevo visto un'implementazione nativa in puro PowerShell e ho voluto cimentarmi nel perfezionamento e nella rielaborazione dell'exploit.
Questo script PowerShell esegue l'escalation dei privilegi locali (LPE) con la tecnica di attacco PrintNightmare.
È stato testato su Windows Server 2016 e Windows Server 2019.
Aggiunge un nuovo utente al gruppo degli amministratori locali per impostazione predefinita:
Invoke-Nightmare # add user `adm1n`/`P@ssw0rd` in the local admin group by default
Invoke-Nightmare -DriverName "Xerox" -NewUser "K1LL9" -NewPassword "SuperSecure1o1"
Fornisci un payload DLL personalizzato per fare qualsiasi altra cosa desideri.
Import-Module .\cve-2021-34527.ps1
Invoke-Nightmare -DLL "C:\absolute\path\to\your\bindshell.dll"
La tecnica LPE non necessita di funzionare con RPC o SMB remoti, poiché agisce solo con le funzioni di Print Spooler. Questo script incorpora un payload GZIP compresso e codificato in Base64 per una DLL personalizzata, che viene modificata in base ai tuoi argomenti, per aggiungere facilmente un nuovo utente al gruppo degli amministratori locali. Questo script incorpora metodi da PowerSploit/PowerUp per accedere in modo riflessivo alle API Win32. Questo metodo non scorre tutti i driver di stampa per trovare il percorso DLL appropriato: semplicemente prende il primo driver e determina il percorso appropriato.