Elusive Malware Adventures Parte II: Scripts VBA ocultos

Elusive Malware Adventures Parte II: Scripts VBA ocultos

Este artigo faz parte da série Fileless Malware. Todas as outras partes da série:

sou fã do site análise híbrida (análise híbrida, daqui em diante HA). Este é um tipo de zoológico de malware onde você pode observar “predadores” selvagens de uma distância segura sem ser atacado. O HA executa malware em ambientes seguros, registra chamadas do sistema, arquivos criados e tráfego da Internet e fornece todos esses resultados para cada amostra que analisa. Dessa forma, você não precisa perder tempo e energia tentando descobrir o código confuso sozinho, mas pode entender imediatamente todas as intenções dos hackers.

Os exemplos de HA que chamaram minha atenção usam scripts JavaScript codificados ou Visual Basic for Applications (VBA) incorporados como macros em documentos do Word ou Excel e anexados a e-mails de phishing. Quando abertas, essas macros iniciam uma sessão do PowerShell no computador da vítima. Os hackers normalmente enviam um fluxo de comandos codificados em Base64 para o PowerShell. Tudo isso é feito para dificultar a detecção do ataque por filtros da web e software antivírus que respondem a determinadas palavras-chave.
Felizmente, o HA decodifica Base64 automaticamente e exibe tudo em um formato legível imediatamente. Essencialmente, você não precisa se concentrar em como esses scripts funcionam porque poderá ver a saída completa do comando para os processos em execução na seção correspondente do HA. Veja exemplo abaixo:

Elusive Malware Adventures Parte II: Scripts VBA ocultos

A análise híbrida intercepta comandos codificados em Base64 enviados ao PowerShell:

Elusive Malware Adventures Parte II: Scripts VBA ocultos

...e então os decodifica para você. #magicamente

В postagem anterior Criei meu próprio contêiner JavaScript ligeiramente ofuscado para executar uma sessão do PowerShell. Meu script, como muitos malwares baseados em PowerShell, baixa o seguinte script do PowerShell de um site remoto. Depois, por exemplo, carreguei um PS inofensivo que imprimiu uma mensagem na tela. Mas os tempos estão mudando e agora proponho complicar o cenário.

Império PowerShell e Shell reverso

Um dos objetivos deste exercício é mostrar como (relativamente) facilmente um hacker pode contornar as clássicas defesas de perímetro e antivírus. Se um blogueiro de TI sem habilidades de programação, como eu, puder fazer isso em algumas noites criar malware indetectável (totalmente não detectado, FUD), imagine as capacidades de um jovem hacker interessado nisso!

E se você é provedor de segurança de TI, mas seu gestor não tem conhecimento das possíveis consequências dessas ameaças, basta mostrar a ele este artigo.

Os hackers sonham em obter acesso direto ao laptop ou servidor da vítima. Isto é muito simples de fazer: tudo o que um hacker precisa fazer é obter alguns arquivos confidenciais no laptop do CEO.

De alguma forma eu já escreveu sobre o tempo de execução de pós-produção do PowerShell Empire. Vamos lembrar o que é.

É essencialmente uma ferramenta de teste de penetração baseada em PowerShell que, entre muitos outros recursos, permite executar facilmente um shell reverso. Você pode estudá-lo com mais detalhes em Site inicial do PSE.

Vamos fazer uma pequena experiência. Configurei um ambiente seguro de teste de malware na nuvem Amazon Web Services. Você pode seguir meu exemplo para mostrar de forma rápida e segura um exemplo prático dessa vulnerabilidade (e não ser demitido por executar vírus dentro do perímetro da empresa).

Se você iniciar o console do PowerShell Empire, verá algo assim:

Elusive Malware Adventures Parte II: Scripts VBA ocultos

Primeiro você inicia o processo de escuta no seu computador hacker. Digite o comando “listener” e especifique o endereço IP do seu sistema usando “set Host”. Em seguida, inicie o processo do ouvinte com o comando “executar” (abaixo). Assim, de sua parte, você começará a aguardar uma conexão de rede do shell remoto:

Elusive Malware Adventures Parte II: Scripts VBA ocultos

Para o outro lado, você precisará gerar um código de agente digitando o comando “launcher” (veja abaixo). Isto irá gerar o código PowerShell para o agente remoto. Observe que ele está codificado em Base64 e representa a segunda fase da carga útil. Em outras palavras, meu código JavaScript agora puxará esse agente para executar o PowerShell em vez de imprimir texto inofensivamente na tela e se conectará ao nosso servidor PSE remoto para executar um shell reverso.

Elusive Malware Adventures Parte II: Scripts VBA ocultos
A magia do shell reverso. Este comando codificado do PowerShell se conectará ao meu ouvinte e iniciará um shell remoto.

Para mostrar esse experimento, assumi o papel de vítima inocente e abri Evil.doc, iniciando assim nosso JavaScript. Lembra da primeira parte? O PowerShell foi configurado para impedir que sua janela apareça, para que a vítima não perceba nada de incomum. No entanto, se você abrir o Gerenciador de Tarefas do Windows, verá um processo do PowerShell em segundo plano que, de qualquer maneira, não causará nenhum alarme para a maioria das pessoas. Porque é apenas o PowerShell normal, não é?

Elusive Malware Adventures Parte II: Scripts VBA ocultos

Agora, quando você executar Evil.doc, um processo oculto em segundo plano se conectará ao servidor que executa o PowerShell Empire. Colocando meu chapéu branco de hacker pentester, voltei ao console do PowerShell Empire e agora vejo uma mensagem informando que meu agente remoto está ativo.

Elusive Malware Adventures Parte II: Scripts VBA ocultos

Em seguida, digitei o comando "interact" para abrir um shell no PSE - e lá estava eu! Resumindo, eu hackeei o servidor Taco que eu mesmo configurei uma vez.

Elusive Malware Adventures Parte II: Scripts VBA ocultos

O que acabei de demonstrar não exige muito trabalho de sua parte. Você pode fazer tudo isso facilmente durante o intervalo para o almoço, por uma ou duas horas, para melhorar seu conhecimento sobre segurança da informação. Também é uma ótima maneira de entender como os hackers estão contornando seu perímetro de segurança externo e entrando em seus sistemas.

Os gerentes de TI que pensam ter construído uma defesa impenetrável contra qualquer intrusão provavelmente também acharão isso educativo – isto é, se você conseguir convencê-los a ficar com você por tempo suficiente.

Vamos voltar à realidade

Como eu esperava, um hack real, invisível para o usuário médio, é simplesmente uma variação do que acabei de descrever. Para coletar material para a próxima publicação, comecei a procurar um exemplo de HA que funcionasse da mesma forma que meu exemplo inventado. E não precisei procurar por muito tempo - há muitas opções para uma técnica de ataque semelhante no site.

O malware que encontrei no HA era um script VBA incorporado em um documento do Word. Ou seja, nem preciso falsificar a extensão do documento, esse malware é na verdade um documento do Microsoft Word de aparência normal. Se você estiver interessado, escolhi este exemplo chamado RFQ.doc.

Aprendi rapidamente que muitas vezes não é possível extrair scripts VBA maliciosos diretamente de um documento. Os hackers os compactam e ocultam para que não fiquem visíveis nas ferramentas de macro integradas do Word. Você precisará de uma ferramenta especial para removê-lo. Felizmente me deparei com um scanner Office Mal Scanner Frank Baldwin. Obrigado, Frank.

Usando essa ferramenta, consegui extrair código VBA altamente ofuscado. Parecia algo assim:

Elusive Malware Adventures Parte II: Scripts VBA ocultos
A ofuscação foi feita por profissionais da área. Fiquei impressionado!

Os invasores são realmente bons em ofuscar códigos, ao contrário dos meus esforços na criação do Evil.doc. Ok, na próxima parte retiraremos nossos depuradores VBA, nos aprofundaremos um pouco mais neste código e compararemos nossa análise com os resultados do HA.

Fonte: habr.com

Adicionar um comentário