O cibergrupo do PowerPool dominou a vulnerabilidade de dia zero na chamada de procedimento local avançado

Em 27 de agosto de 2018, informações sobre vulnerabilidade de dia zero foram publicadas no Twitter por um especialista em segurança da informação com o apelido SandboxEscaper. A vulnerabilidade afeta as versões do Microsoft Windows de 7 a 10, mais precisamente, a interface ALPC (Advanced Local Procedure Call) no Agendador de tarefas do Windows. Ele fornece o Escalonamento de Privilégios Locais, que permite que um invasor aumente os direitos de códigos maliciosos do nível de Usuário para SYSTEM. Não estamos falando de divulgação coordenada da vulnerabilidade - a conta SandboxEscaper foi excluída em breve, não houve patches de fechamento.

O link do tweet levou ao repositório do GitHub com o código de exploração Proof-of-Concept - não apenas a versão compilada, mas também o código-fonte. Portanto, qualquer pessoa pode modificar e recompilar a exploração para melhorá-la, evitar a detecção ou incluí-la em seu próprio código.

Em geral, não é de surpreender que, apenas dois dias depois, a exploração tenha surgido na natureza na campanha do grupo cibernético do PowerPool. De acordo com a telemetria da ESET, os países-alvo dos atacantes são Rússia, Ucrânia, Polônia, Alemanha, Reino Unido, EUA, Índia, Filipinas e Chile. Há relativamente poucas vítimas, o que pode indicar uma campanha altamente segmentada.



PowerPool Toolkit


A ESET registrou um novo grupo relativamente recentemente, no entanto, à disposição dos hackers do PowerPool, uma gama bastante ampla de ferramentas. A seguir, consideramos brevemente alguns deles.

Exploração de escalonamento de privilégios locais no ALPC


Os desenvolvedores do PowerPool não usaram o arquivo binário publicado pela SandboxEscaper - eles modificaram levemente o código-fonte e o recompilaram. A exploração também foi observada por pesquisadores de segurança e equipes do CERT .


Figura 1. Descrição da exploração de direitos autorais

A violação está na SchRpcSetSecurity API SchRpcSetSecurity , que não valida os direitos do usuário corretamente. Assim, o usuário pode gravar qualquer arquivo em C:\Windows\Task , independentemente das permissões reais - se houver uma permissão de leitura, é possível substituir o conteúdo de um arquivo protegido contra gravação.

Qualquer usuário pode gravar arquivos em C:\Windows\Task ; portanto, nesta pasta, você pode criar um arquivo que seja um link físico para qualquer arquivo de destino . Em seguida, chamando a função SchRpcSetSecurity , você pode acessar o acesso de gravação a este arquivo de destino. Para fornecer escalonamento de privilégios locais, o invasor precisa selecionar o arquivo de destino a ser substituído - é importante que esse arquivo seja executado automaticamente com direitos de administrador. Como alternativa, pode ser um arquivo do sistema ou um utilitário para a atualização de software instalado anteriormente, que é executado regularmente. A etapa final é substituir o conteúdo do arquivo de destino por código malicioso. Assim, na próxima execução automática, o malware terá direitos de administrador, independentemente dos direitos originais.

Os desenvolvedores do PowerPool decidiram alterar o conteúdo do arquivo C:\Program Files (x86)\Google\Update\GoogleUpdate.exe . Este é um atualizador legítimo para aplicativos do Google; é executado regularmente com direitos de administrador através da tarefa do Microsoft Windows.


Figura 2. Criando um link físico para o Google Updater


Figura 3. Usando o SchRpcCreateFolder para alterar as permissões do executável do Google Updater

A sequência de operações na figura acima permite que os operadores do PowerPool obtenham permissões de gravação para o arquivo executável do GoogleUpdate.exe . Em seguida, eles o substituem, substituindo-os por uma cópia do malware de segundo estágio (descreveremos a seguir) para obter direitos de administrador na próxima vez que o atualizador for chamado.

Compromisso inicial


A equipe do PowerPool usa métodos diferentes para primeiro comprometer a vítima. Um deles é o envio de spam com malware do primeiro estágio do anexo. Ainda é cedo para tirar conclusões, mas até agora observamos muito poucas amostras nos dados de telemetria, por isso assumimos que os destinatários são cuidadosamente selecionados e não estamos falando de mala direta.

Por outro lado, sabemos que no passado o PowerPool já praticava envios de spam. De acordo com uma publicação no blog da SANS publicada em maio de 2018, eles usaram um esquema com arquivos Symbolic Link (.slk) para espalhar malware. O Microsoft Excel pode carregar esses arquivos que atualizam a célula e fazem com que o Excel execute o código do PowerShell. Parece que esses arquivos .slk também são distribuídos em mensagens de spam. Com base no primeiro arquivo mencionado na publicação do SANS (SHA-1: b2dc703d3af1d015f4d53b6dbbeb624f5ade5553), você pode encontrar a amostra de spam correspondente no VirusTotal (SHA-1: e0882e234cba94b5cf3df2c05949e2e228beddb)


Figura 4. Spam do PowerPool

Backdoors do Windows


O grupo PowerPool geralmente trabalha com duas backdoors: a backdoor do primeiro estágio é usada após o comprometimento inicial, a backdoor do segundo estágio é implementada apenas nas máquinas de seu interesse.

Backdoor do primeiro estágio


Este é o malware básico usado para inteligência. Consiste em dois executáveis ​​do Windows.

O primeiro deles é o backdoor principal, que fornece persistência através do serviço. Ele também cria um mutex chamado MyDemonMutex%d , em que %d está no intervalo de 0 a 10. O backdoor coleta informações de proxy, o endereço do servidor C&C é codificado em um arquivo binário. O malware pode executar comandos e executar inteligência básica no sistema, transferindo dados para o servidor C&C.


Figura 5. Coletando informações de proxy

O segundo dos arquivos executáveis ​​tem um propósito. Ele tira uma captura de tela e a grava no arquivo MyScreen.jpg , que pode ser filtrado pelo backdoor principal.

Porta traseira do segundo estágio


Malvar é carregado durante o primeiro estágio, presumivelmente se a máquina parecer interessante para os operadores. No entanto, o programa não é como um backdoor moderno de ART.

O endereço do servidor C&C é codificado em formato binário, não há mecanismo para atualizar esse importante item de configuração. O backdoor procura por comandos de http://[C&C domain]/cmdpool e baixa arquivos adicionais de http://[C&C domain]/upload . Arquivos adicionais são principalmente ferramentas para movimento horizontal, mencionados abaixo.

Comandos suportados:
- execute o comando
- complete o processo
- enviar arquivo
- baixar arquivo
- visualizar o conteúdo da pasta

Os comandos são enviados no formato JSON. Exemplos abaixo são pedidos para executar comandos e listar pastas:


Figura 6. Exemplos de comandos de backdoor

Ferramentas para movimento horizontal


Ao fornecer acesso constante ao sistema usando o backdoor de segundo estágio, os operadores do PowerPool usam várias ferramentas de código aberto, escritas principalmente no PowerShell, para movimento horizontal na rede.

- PowerDump : módulo Metasploit que pode recuperar nomes de usuário e hashes do Security Account Manager.
- PowerSploit : uma coleção de módulos do PowerShell, no Metasploit.
- SMBExec : uma ferramenta do PowerShell para executar ataques de passagem usando o protocolo SMB.
- Quarks PwDump : um executável do Windows que pode extrair credenciais.
- FireMaster : executável do Windows que pode extrair senhas salvas do Outlook, navegadores da web etc.

Conclusão


A divulgação de vulnerabilidades antes do lançamento das atualizações coloca os usuários em risco. Nesse caso, até a versão mais recente do Windows pode estar comprometida. O CERT-CC oferece uma solução alternativa para o problema, que, no entanto, não foi oficialmente acordado pela Microsoft.

Um ataque do PowerPool tem como alvo um número limitado de usuários. No entanto, o incidente mostra que os invasores estão sempre atualizados e implementam rapidamente novas explorações.

Os especialistas da ESET continuam a monitorar a exploração da nova vulnerabilidade. Indicadores de compromisso também estão disponíveis no GitHub .

Indicadores de compromisso


Hashes


Backdoor do Estágio Um (Win32 / Agent.SZS) 038f75dcf1e5277565c68d57fa1f4f7b3005f3f3
Backdoor do Estágio Um (Win32 / Agent.TCH) 247b542af23ad9c63697428c7b77348681aadc9a
Backdoor do segundo estágio (Win32 / Agent.TIA) 0423672fe9201c325e33f296595fb70dcd81bcd9
Backdoor do segundo estágio (Win32 / Agent.TIA) b4ec4837d07ff64e34947296e73732171d1c1586
Exploração de LPPC ALPC (Win64 / Exploit.Agent.H) 9dc173d4d4f74765b5fc1e1c9a2d188d5387beea

Detecção ESET


- Win32 / Agent.SZS
- Win32 / Agent.TCH
- Win32 / Agent.TEL
- Win32 / Agent.THT
- Win32 / Agent.TDK
- Win32 / Agent.TIA
- Win32 / Agent.TID

Servidores C&C


- newsrental [.] Net
- rosbusiness [.] Eu
- afishaonline [.]
- colecionadores de esportes [.] Com
- 27.102.106 [.] 149

Source: https://habr.com/ru/post/pt422613/


All Articles