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 autoraisA 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 UpdaterA 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 PowerPoolBackdoors 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 proxyO 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 backdoorFerramentas 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