
CVE-2021-34527 é uma vulnerabilidade crítica de execução remota de código e escalonamento local de privilégios, apelidada de "PrintNightmare".
CVE-2021-34527 é uma vulnerabilidade crítica de execução remota de código e escalada de privilégio local apelidada de "PrintNightmare."
Exploits de prova de conceito foram lançados (Python, C++) para capacidade de execução remota de código, e uma versão em C# para escalada de privilégio local. Eu não tinha visto uma implementação nativa em PowerShell puro, e queria tentar refinar e reformular o exploit.
Este script PowerShell realiza escalada de privilégio local (LPE) com a técnica de ataque PrintNightmare.
Isto foi testado no Windows Server 2016 e no Windows Server 2019.
Adiciona um novo usuário ao grupo de administradores locais por padrão:
Invoke-Nightmare # add user `adm1n`/`P@ssw0rd` in the local admin group by default
Invoke-Nightmare -DriverName "Xerox" -NewUser "K1LL9" -NewPassword "SuperSecure1o1"
Forneça um payload DLL personalizado, para fazer qualquer outra coisa que você desejar.
Import-Module .\cve-2021-34527.ps1
Invoke-Nightmare -DLL "C:\absolute\path\to\your\bindshell.dll"
A técnica de LPE não precisa funcionar com RPC ou SMB remotos, pois ela trabalha apenas com as funções do Print Spooler. Este script incorpora um payload codificado em Base64 e compactado com GZIP para uma DLL personalizada, que é modificada de acordo com seus argumentos, para adicionar facilmente um novo usuário ao grupo de administradores locais. Este script incorpora métodos do PowerSploit/PowerUp para acessar reflexivamente as APIs Win32. Este método não percorre todos os drivers de impressora para encontrar o caminho DLL apropriado — ele simplesmente pega o primeiro driver e determina o caminho apropriado.