PrintNightmare (CVE-2021-34527)

10:39 Ricardo Monteiro 0 Comentarios


    Neste artigo, apresentaremos o que você precisa saber sobre a vulnerabilidade PrintNightmare (CVE-2021-34527). PrintNightmare é como tem sido chamado uma vulnerabilidade crítica que permite Escalação de Privilégio (EoP ou LPE) e RCE (Remote Code Execution) através do Windows Print Spooler, e atinge versões do Windows 7 à Windows Server 2019. A primeira vez que esse bug foi identificado recebeu o identificador CVE-2021-1675, com correção no update “Microsoft June 2020 Patch Tuesday”, em junho de 2021. 
    A falha foi conhecida também como The Print Spooler bug, baseada no guia de atualização de segurança da Microsoft que descreve a falha como Windows Print Spooler Vulnerability. 
    Entretanto, foi somente após pesquisadores da empresa de Cyber Security Sangfor documentarem e divulgarem abertamente uma PoC (Proof of Concept), demonstrando como explorar uma falha que ao contrario do que pensavam, não era aplicável apenas ao bug reportado pelo CVE-2021-1675, então apesar de também tratar uma vulnerabilidade no Windows Print Spooler, eles acidentalmente divulgaram uma vulnerabilidade de execução remota nova e que não era impedida pela última atualização do Patch Tuesday, o PrintNightmare (CVE-2021-34527). 

Análise 

    Apesar da Microsoft ter liberado um patch de atualização para mitigar contra esses ataques, se esses valores continuarem presentes na máquina, ela ainda estará vulnerável. 

REG QUERY "HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint" HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrintRestrictDriverInstallationToAdministrators REG_DWORD 0x0 NoWarningNoElevationOnInstall REG_DWORD 0x1 

    Um atacante pode explorar essa vulnerabilidade para realizar o bypass da autenticação de segurança do RpcAddPrinterDriverEx e instalar uma unidade maliciosa no servidor de impressão. Se o usuário controlado pelo atacante estiver em um domínio, o atacante poderá se conectar ao serviço Spooler no DC e explorar essa vulnerabilidade para instalar unidades maliciosas no DC a fim de controlar todo o domínio. 

(Imagem: github)

Tentando determinar alvos vulneráveis 


(Imagem: github)

    Existe um Python para Scannear sua rede procurando por MS-PAR e MS-RPRN. Para utiliza-lo é necessário instalar o Impacket (que é uma coleção de Python para trabalhar com protocolos de rede)
    https://github.com/SecureAuthCorp/impacket.git

Depois instalar a ferramenta ItWasAllADream e os seguintes comandos:

git clone https://github.com/byt3bl33d3r/ItWasAllADream
cd ItWasAllADream && docker build -t itwasalladream
docker run -it itwasalladream -u user -p password -d domain 192.168.1.0/24

    Como a exploração exige que você seja autenticado ao Active Directory, você precisa fornecer credenciais. Se a senha não for fornecida, ela solicitará que você digite. Depois que terminar, você verá um arquivo em seu diretório atual com os resultados.report_.csv.

Impacto


    Essa vulnerabilidade pode ser usar para LPE e RCE, sendo que para RCE, você precisa de um usuário para autenticar no serviço de Spooler. No entanto, isso ainda é crítico no ambiente Domain. Como normalmente o DC terá o serviço Spooler habilitado, um usuário de domínio comprometido pode usar essa vulnerabilidade para controlar todo o DC. 

Referências 


0 comentários: