CVE-2021-1675 é uma vulnerabilidade crítica de execução remota de código e escalonamento de privilégios local chamada “PrintNightmare”.
Explorações de prova de conceito foram lançadas (Python, C++) para a capacidade de execução remota de código e uma versão C# para escalonamento de privilégios locais. Não tínhamos visto uma implementação nativa no PowerShell puro e queríamos tentar refinar e recriar a exploração.
Este script do PowerShell executa escalonamento de privilégios locais (LPE) com a técnica de ataque PrintNightmare.
Isso foi testado no Windows Server 2016 e no Windows Server 2019.
Adicione um novo usuário ao grupo de administradores locais por padrão:
Módulo de importação .cve-2021-1675.ps1 Invoke-Nightmare # adiciona o usuário `adm1n`/`P@ssw0rd` no grupo de administração local por padrãoInvoke-Nightmare -DriverName "Xerox" -NewUser "deb" -NewPassword "SuperSecure"
Forneça uma carga útil de DLL personalizada para fazer qualquer outra coisa que desejar.
Módulo de importação .cve-2021-1675.ps1 Invoque-Nightmare -DLL "C:absolutepathtoyourbindshell.dll"
A técnica LPE não precisa funcionar com RPC ou SMB remoto, pois funciona apenas com as funções de Spooler de Impressão.
Este script incorpora uma carga GZIP codificada em Base64 para uma DLL personalizada, que é corrigida 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 captura o primeiro driver e determina o caminho apropriado.