Tempos atrás fiquei curioso em saber como é um artefato malicioso de cyberataque não-brasileiro. Procurando por atores de fora do Brasil, encontrei uma reportagem falando sobre um grupo internacional. É sobre um grupo APT chamado OilRig, que usam um trojan chamado Bondupdater e tem como foco governos no oriente médio.

Isto chamou a minha curiosidade e comecei a pesquisar por hashes, e quando encontrei, comecei a analisar. Com o artefato em mãos, pude ver se tratar de um arquivo MS Office doc.

Arquivos MS Office são uma maneira fácil de entregar malwares, pois podem ser usados os chamados Macros: Scripts que são executados após a abertura do arquivo pela vitima.

Uma vez aberto o arquivo, um script macro inicia uma cadeia de processos.

Verificação to tipo de arquivo
Verificação do tipo de arquivo

Fase 1 – Macros

Frequentemente, muitos malware entregues via arquivos doc ou xls possuem macros. Para saber se nosso arquivo possui um, é possível verificar com o oletools, uma suíte de ferramentas escrita em python3.

Comprovando a existência de macros
Comprovando a existência de macros

Na imagem acima, oletools nos mostrou que existe um VBA Macro. Usando o olevba podemos trazer mais indicadores de compromisso, expondo os nomes dos arquivos que são criados pelo VBA Macro.

Usando olevba para buscar indicadores
Usando olevba para buscar indicadores

Existem muitas coisas suspeitas neste arquivo. Quando o arquivo for aberto, há uma tarefa AutoExec que será executada logo em seguida com atividades suspeitas de execução de comandos, como wscript, e o nome dos supostos arquivos a serem criados, AppPool.ps1 e AppPool.vbs; o DNS do Google e um IP em nome de Rogers Communications.

Mas para obter esses arquivos, não precisamos abrir o arquivo, podemos ainda usar o oletools.

Após exportar o script que é executado, é possível observar que se trata de um VBS. Após uma rápida leitura, é possível perceber que este VBS cria outros dois arquivos, AppPool.ps1 e AppPool.vbs.

Script exportado do arquivo doc
Script exportado do arquivo doc

Na linha 13 e 54, constam referências aos arquivos que serão criados. Este VBS possui 3 métodos que estão com uma leve ofuscação que são executados na seguinte ordem:

VVVV: Cria a estrutura de diretórios onde serão criados os arquivos, em C:\ProgramData\Windows AppPool\ ;

AAAA: Cria o arquivo VBS chamado AppPool.vbs;

HGHG:  Cria o arquivo powershell chamado AppPool.ps1.

Fase 2 – A Persistência

O script macro cria a estrutura C:\ProgramData\Windows AppPool\, onde serão criados os outros arquivos: o primeiro arquivo é o VBS; o segundo, o powershell, que de fato é o malware BONDUPDATER; por fim, wscript na linha 17 executa o arquivo VBS.

AppPool.vbs é fácil de entender.

Entendendo AppPool.vbs
Entendendo AppPool.vbs

Este script cria uma tarefa no Windows como mecanismo de persistência. Um diretório chamado “WindowsAppPool” e uma tarefa “AppPool” são criados no agendamento. Esta tarefa executa AppPool.vbs a cada 1 minuto (sim! Ele executa a si próprio, apenas para chamar o powershell).

Tarefa criada no windows
Tarefa criada no windows

Fase 3 – A força do powershell

No powershell é onde mágica acontece! Obviamente, eles não facilitaram, está pesadamente ofuscado! Se você tentar mexer demais, o script pára de funcionar.

O script powershell cria outros subdiretórios e realiza consultas DNS. O nome usado na criação dos subdiretórios é utilizado para compor as consultas DNS.

Relação entre diretórios e URL DNS
Relação entre diretórios e URL DNS

A imagem acima demonstra como a consulta DNS é criada. AppPool.ps1 cria um diretório de nome randômico, esse nome é usado para criar a URL a ser registrada no domínio withyourface.com. As partes do nome do diretório compõe a URL gerada.

Neste script powershell, há uma referência ao IP 99.250.250.199. Como o Command&Control já se encontra fora do ar no momento em que esta postagem é escrita, não foi possível compreender como é o relacionamento com esse IP. Mas sabemos que o domínio withyourface.com esteve assinado para dois IPs , 178.32.127.230 e 185.181.8.158, seu último sinal de vida foi em 28/04/2019, de acordo com RiskIQ.

Analisando withyourface.com com RISQIQ
Analisando withyourface.com com RISQIQ

Para o IP  99.250.250.199, podemos observar 5 resoluções para o domínio withyourface.com e este IP foi visto pela última vez em 02/01/2019, o que não parece fazer muito sentido, por enquanto.

Analisando IP com RISKIQ
Analisando IP com RISKIQ

Em sua execução correta, AppPool.ps1 atua como um backdoor. Operando sob DNS Tunneling.

No DNS Tunneling, a vítima envia dados a um servidor DNS malicioso usando consultas enviadas dentro dos datagramas UDP, extraviando dados. Para entender melhor o funcionamento do DNS tunneling, recomendo este vídeo e este artigo do SANS.

Infelizmente, até o momento desta análise, o domínio estava fora do ar então não foi possível entender exatamente como AppPool.ps1 recebe comandos e arquivos. Subdiretórios são criados com nomes sugestivos, como files, receivebox, e sendbox, porém, sua operação é inconclusiva. A seguir, está uma representação dos diretórios criados.

Estrutura de diretórios criada

Estrutura de diretórios criada

Importante lembrar que em cada máquina, um novo nome será gerado abaixo do diretório raiz da aplicação.

Conclusão

Arquivos MS Office (pst, doc, xls) podem conter scripts maliciosos, estes scripts são executados no momento em que o arquivo é aberto.

Uma vez aberto, estes scripts executam uma cadeia de processos a fim de instalar outras partes do malware e dar continuidade ao ataque.

Se a empresa não possui uma rígida solução de DLP (Data Loss Prevention) impedindo transferências de arquivos (potencialmente maliciosos) via USB ou bluethooth, proteger-se de ataques desse tipo pode ser mais complicado do que parece; evitar essa transferência de arquivos de dispositivos móveis para computadores internos é ainda um grande desafio, pois muitas empresas não possuem tais soluções de DLP.

Outro ponto estratégico é no servidor de email. Pode-se tanto barrar definitivamente qualquer arquivo contendo Macro quanto enviar o arquivo para uma sandbox e, dependendo dos IoCs, entregar ou não o arquivo ao destinatário.

Obviamente, isso não torna a empresa segura, pois mesmo aplicando filtro no servidor de e-mails, ainda há uma brecha. Como por exemplo, um link de referência dentro do arquivo que aponta para uma URL que realiza download, de maneira “encodada” em base64, de um arquivo malicioso.

Aplicações web também são frequentemente utilizadas para disseminar malwares. É importante cada organização tomar os devidos cuidados com seus sites, monitorando e promovendo varreduras que identificam vulnerabilidades e/ou arquivos infectados.

As organizações que observarem os aspectos acima estarão com certeza mais protegidas contra tais ameaças.

IoC

File:    malicious.doc
MD5: 52b6e1ef0d079f4c2572705156365c06
File:    AppPool.ps1
MD5:  8923e22e812af764a150a804a7358184
File:    AppPool.vbs
MD5:  77d21a5e3a0620f4424acf38f1cf2c35
Domain: withyourface.com
RiskIQ: https://community.riskiq.com/search/withyourface.com
IP: 99.250.250.199
RiskIQ: https://community.riskiq.com/search/99.250.250.199

Deixe seu comentário

Victor Neves
Victor Neves

Amante do mundo do hackerismo; Com background em desenvolvimento em java, python e powershell, hoje, se dedica a análise de malware e threat intelligence.