Funcionamento do Windows Print Spooler  remote code execution vulnerability e precauções

Registro acerca do Windows Print Spooler Remote Code Execution Vulnerability, para fins de documentação e catalogação a serem implementados no acevo de conteúdo voltado a Segurança Cibernética e Forense Digital na Academia de Forense Digital

Por Iago Blambila

Orientador (a): Renan Cavalheiro

RIO DE JANEIRO – RJ 2020

RESUMO

Este trabalho apresenta o comportamento da exploração da vulnerabilidade de segurança descrita na CVE 2021 34527, ilustrando a exploração a fim de apresentar a sensibilidade do caso em questão, ilustrando também, as formas de precauções recomendadas pela CVE 2021 34527 e como o usuário pode estar protegido.

SUMÁRIO

RESUMO

OBJETIVO

JUSTIFICATIVA

AFD TECH: WINDOWS PRINT SPOOLER REMOTE CODE EXECUTION VULNERABILITY

                EXPLORANDO A VULNERABILIDADE

                PRECAUÇÕES – EVITANDO A EXPLORAÇÃO

                                PARANDO O SERVIÇO ATRAVÉS DA NAVEGAÇAO EM SERVIÇOS

                                PARANDO O SERVIÇO ATRAVÉS DO PROMPT DE COMANDO

BIBLIOGRAFIA

OBJETIVO

Dissertar sobre a periculosidade da vulnerabilidade e os riscos envolvidos, alertando os leitores e instruindo-os também, sobre como proteger o sistema segundo as recomendações da própria CVE 2021 34527.

JUSTIFICATIVA 

Gerar um acervo que sirva de referência para estudantes e profissionais na área de forense digital. Tendo como finalidade, a disseminação dos processos forenses, tem relação direta com o rumo da investigação, apresentando suas técnicas e metodologias.

AFD   TECH:    WINDOWS    PRINT   SPOOLER   REMOTE   CODE    EXECUTION VULNERABILITY

No fim do mês de junho, a Microsoft anuncia em seu site, na área de vulnerabilidades de atualizações de segurança o “Windows Print Spooler Remote Code Execution Vulnerability”1.  Uma vulnerabilidade que explora remotamente o serviço de “Print Spooler”(Spooler de Impressão) que por padrão é habilitada no sistema.

Então, uma vez que a falha é explorada, o atacante obtém privilégios de SYSTEM, privilégios esses que concedem a ele permissões para realizar instalações de programas, ver, criar ou deletar dados do sistema e também criar contas de usuário com todas as permissões.

Logo, significa que mesmo que o atacante realize o ataque em usuário com restrições, a vulnerabilidade dará a este usuário privilégios para que ele possa realizar diversas ações que não estão inclusas em suas permissões. A vulnerabilidade afeta todos as versões do sistema Windows.

Figura 1 – Vulnerabilidade CVE – 2021

Windows Print Spooler

O patch de correção lançado pela Microsoft aparentemente solucionou a falha.  Então, instrui aos usuários que desabilitem a CVE-2021-34527 foi lançada, instruindo os usuários a desabilitarem o serviço.

Sendo assim, veremos como é realizada exploração da vulnerabilidade e como desabilitar o serviço para mitigar o risco.

  • EXPLORANDO A VULNERABILIDADE

 <https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527.> Acesso em: 07 de jul. 2021.1MSRC.MICROSOFT. Vulnerabilidade de execução remota de código do Spooler de Impressão do Windows

Utilizando então uma máquina com o Kali Linux para explorar a vulnerabilidade e uma Windows a ser explorada.

Observando a máquina Windows, no Gerenciamento do Computador, é possível ver que há um usuário chamado de “teste”.

Ele não tem nenhuma permissão como administrador do sistema. E para ilustrar a vulnerabilidade, utilizaremos este mesmo como exemplo.

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 2 – Windows_Permissões

Windows Print Spooler

Observando os serviços ativos, é possível verificar também que o Spooler de impressão está ativo como: automático.

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 3 – Windows_Serviços

Windows Print Spooler

Então, utilizando a máquina Kali, teremos três terminais aos quais veremos as funções no decorrer do processo.

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 4 – Kali_01

Windows Print Spooler

O primeiro passo é ter o script para realizar o exploit, que está ilustrado no terminal envolvido na cor verde. Lembrando que para explorar essa vulnerabilidade é necessário saber as credenciais simples de acesso do usuário alvo.

Então, para o segundo passo, criaremos um malware através do msfvenon, gerando uma dll para utilizar um shell reverso. Conforme a imagem abaixo:

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 5 – Kali_02

Windows Print Spooler

Através dessa sintaxe geramos uma Dll com uma conexão de reverse_tcp apontando para o nosso kali (o lhost) na porta 4444 e com o nome “malware.dll”.

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 6  – Kali_03

Windows Print Spooler

Com o malware criado, é necessário disponibiliza-lo em uma share do próprio Kali. Utilizaremos o samba, que atualmente apresenta facilidades para realizar a configuração do endereço da pasta a ser compartilhada.

Vamos então ao diretório do arquivo ao qual queremos realizar as alterações do samba

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE Figura 8 – Kali_05

Figura 7 – Kali_04

Windows Print Spooler

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Basta adicionar a sessão relacionada ao diretório desejado, com as opções acima. Lembrando, aqui estará presente o malware para o compartilhamento.

Utilizaremos então o multi/handler através do metasploit, que já está preparado em outro dos terminais que abertos.

Figura 8 – Kali_05

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 9 – Kali_06

Com o LHOST para apontando para Kali e o LPORT para a porta 4444, que escolhemos durante a criação do malware.

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 10 – Kali_07

Com o parâmetro abaixo, deixaremos tudo pronto para receber uma conexão. Assim, seguindo para o uso do script que explora a vulnerabilidade na outra janela que também esta aberta.

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 11 – Kali_08

Windows Print Spooler

Apenas para termos uma melhor visualização antes do processo, os terminais encontram-se da seguinte maneira:

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 12 – Kali_09

Windows Print Spooler

Seguindo com a execução do script temos:

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 13 – Kali_010

Windows Print Spooler

  • python3 para para executar o

•  usuário:senha@IP_atacado

  • Local onde está sendo compartilhado nosso malware entre aspas

Após a execução do script, é possível observar na conexão do metasploit que a exploração da vulnerabilidade ocorreu com sucesso.

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 14 – Kali_011

Para explorar um pouco a utilização, no exemplo abaixo, verificamos o processo “explorer.exe” e migramos para ele no PID 3776 . E vamos obter uma print de tela.

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 15 – Kali_012

Windows Print Spooler

Temos então um print direto da tela do usuário alvo. É possível também, realizar diversas outras ações conforme informadas na CVE.

Seguindo então a CVE-2021-34527, veremos como desabilitar o serviço para evitar o ataque.

  • PRECAUÇÕES – EVITANDO A EXPLORAÇÃO

Segundo descrito na CVE-2021-34527, essa vulnerabilidade está presente em todas as versões do Windows e a recomendação nessa CVE é que o usuário desabilite o serviço e mantenha o sistema atualizado.

E existem duas formas para desabilitar o serviço. Através da navegação para o usuário ou pelo prompt de comando.

  • Parando o serviço através da navegação em Serviços

A primeira forma para parar o serviço, é navegar até os serviços que estão ativos no sistema, encontrar o serviço de spooler de impressão e optar por parar o serviço. 

O Windows apresentará uma janela de progresso do processo e após isso o serviço estará desabilitado.

Fonte: https://www.youtube.com/watch?v=i_Sy4gtT1GE

Figura 16 – Kali_013

Windows Print Spooler

Figura 17 – Win_Disable_Service

Windows Print Spooler

  • Parando o serviço através do Prompt de comando

•  Get-Service -Name Spooler

Apresenta o estado do serviço

•           Stop-Service -Name Spooler –Force:

Força a parada do serviço

•  Set-Service -Name Spooler -StartupType Disabled

Desabilita sua ativação automática ao iniciar o Sistema.

BIBLIOGRAFIA

 (Moderate)

2. MSRC.MICROSOFT. Vulnerabilidade de execução remota de código do

Spooler de Impressão do Windows

Acesso em: jul. 2021.

GLOSSÁRIO

Relação de palavras ou expressões técnicas de uso restrito ou de sentido obscuro, utilizadas no texto, acompanhadas das respectivas definições.