Elusive Malware Adventures Parte II: Scripts VBA ocultos

Elusive Malware Adventures Parte II: Scripts VBA ocultos

Este artigo forma parte da serie Fileless Malware. Todas as demais partes da serie:

Son fan do sitio análise híbrida (análise híbrida, en diante HA). Esta é unha especie de zoolóxico de malware onde podes observar con seguridade "predadores" salvaxes desde unha distancia segura sen ser atacado. HA executa malware en ambientes seguros, rexistra as chamadas do sistema, os ficheiros creados e o tráfico de Internet e ofrécelle todos estes resultados para cada mostra que analiza. Deste xeito, non tes que perder o teu tempo e enerxía intentando descubrir o código confuso por ti mesmo, pero podes comprender inmediatamente todas as intencións dos hackers.

Os exemplos de alta disponibilidad que me chamaron a atención usan scripts JavaScript codificados ou Visual Basic para aplicacións (VBA) incrustados como macros en documentos de Word ou Excel e adxuntos a correos electrónicos de phishing. Cando se abren, estas macros inician unha sesión de PowerShell no ordenador da vítima. Os piratas informáticos normalmente envían un fluxo de comandos codificados en Base64 a PowerShell. Todo isto faise para que o ataque sexa difícil de detectar mediante filtros web e software antivirus que responden a determinadas palabras clave.
Afortunadamente, HA descodifica automaticamente Base64 e mostra todo nun formato lexible de inmediato. Esencialmente, non tes que centrarte no funcionamento destes scripts porque poderás ver a saída completa do comando para os procesos en execución na sección correspondente de HA. Vexa o exemplo a continuación:

Elusive Malware Adventures Parte II: Scripts VBA ocultos

A análise híbrida intercepta os comandos codificados en Base64 enviados a PowerShell:

Elusive Malware Adventures Parte II: Scripts VBA ocultos

...e despois os descodifica para ti. #magicamente

В publicación anterior Creei o meu propio contenedor JavaScript lixeiramente ofuscado para executar unha sesión de PowerShell. O meu script, como moitos programas maliciosos baseados en PowerShell, descarga o seguinte script de PowerShell desde un sitio web remoto. Despois, como exemplo, carguei un PS inofensivo que imprimía unha mensaxe na pantalla. Pero os tempos están cambiando, e agora propoño complicar o escenario.

PowerShell Empire e Reverse Shell

Un dos obxectivos deste exercicio é mostrar como (relativamente) facilmente un hacker pode evitar as clásicas defensas perimetrais e antivirus. Se un blogueiro informático sen coñecementos de programación, coma min, pode facelo nun par de noites crear malware indetectable (totalmente sen detectar, FUD), imaxina as capacidades dun novo hacker interesado nisto!

E se es un provedor de seguridade informática, pero o teu xestor non é consciente das posibles consecuencias destas ameazas, só tes que mostrarlle este artigo.

Os piratas informáticos soñan con ter acceso directo ao portátil ou servidor da vítima. Isto é moi sinxelo de facer: o único que debe facer un hacker é conseguir algúns ficheiros confidenciais no portátil do CEO.

Dalgunha maneira xa escribiu sobre o tempo de execución de posprodución de PowerShell Empire. Lembremos o que é.

É esencialmente unha ferramenta de proba de penetración baseada en PowerShell que, entre outras moitas funcións, permítelle executar facilmente un shell inverso. Podes estudalo con máis detalle en Sitio web de PSE.

Imos facer un pequeno experimento. Configurei un ambiente de proba de malware seguro na nube de Amazon Web Services. Podes seguir o meu exemplo para mostrar de forma rápida e segura un exemplo de traballo desta vulnerabilidade (e non ser despedido por executar virus dentro do perímetro da empresa).

Se inicias a consola PowerShell Empire, verás algo así:

Elusive Malware Adventures Parte II: Scripts VBA ocultos

Primeiro inicias o proceso de escoita no teu ordenador hacker. Introduza o comando "listener" e especifique o enderezo IP do seu sistema usando "set Host". A continuación, inicie o proceso de escoita co comando "execute" (abaixo). Así, pola súa banda, comezará a esperar unha conexión de rede desde o shell remoto:

Elusive Malware Adventures Parte II: Scripts VBA ocultos

Para o outro lado, terás que xerar un código de axente introducindo o comando "lanzador" (ver a continuación). Isto xerará código de PowerShell para o axente remoto. Teña en conta que está codificado en Base64 e representa a segunda fase da carga útil. Noutras palabras, o meu código JavaScript agora tirará deste axente para executar PowerShell en lugar de imprimir texto de forma inocua na pantalla e conectarase ao noso servidor PSE remoto para executar un shell inverso.

Elusive Malware Adventures Parte II: Scripts VBA ocultos
A maxia da cuncha inversa. Este comando codificado de PowerShell conectarase co meu oínte e lanzará un shell remoto.

Para mostrarche este experimento, asumín o papel da vítima inocente e abrín Evil.doc, iniciando así o noso JavaScript. Lembras a primeira parte? PowerShell configurouse para evitar que a súa xanela apareza, polo que a vítima non notará nada inusual. Non obstante, se abres o Xestor de tarefas de Windows, verás un proceso de PowerShell en segundo plano que de todos os xeitos non causará ningunha alarma á maioría da xente. Porque é só PowerShell normal, non é?

Elusive Malware Adventures Parte II: Scripts VBA ocultos

Agora, cando executas Evil.doc, un proceso en segundo plano oculto conectarase ao servidor que executa PowerShell Empire. Poñendo o meu sombreiro branco de pirata informático pentester, volvín á consola PowerShell Empire e agora vexo unha mensaxe de que o meu axente remoto está activo.

Elusive Malware Adventures Parte II: Scripts VBA ocultos

Entón entrei o comando "interactuar" para abrir un shell en PSE - e alí estaba! En resumo, pirateei o servidor de Taco que eu mesmo configurei unha vez.

Elusive Malware Adventures Parte II: Scripts VBA ocultos

O que acabo de demostrar non require tanto traballo da túa parte. Podes facer todo isto facilmente durante a pausa do xantar durante unha ou dúas horas para mellorar os teus coñecementos sobre seguridade da información. Tamén é unha boa forma de entender como os piratas informáticos están evitando o teu perímetro de seguridade externo e entrando nos teus sistemas.

Os xestores de TI que pensan que construíron unha defensa impenetrable contra calquera intrusión probablemente tamén o consideren educativo, é dicir, se podes convencelos de que se senten contigo o tempo suficiente.

Volvamos á realidade

Como esperaba, un truco real, invisible para o usuario medio, é simplemente unha variación do que acabo de describir. Para recoller material para a próxima publicación, comecei a buscar unha mostra en HA que funcione do mesmo xeito que o meu exemplo inventado. E non tiven que buscalo por moito tempo: hai moitas opcións para unha técnica de ataque similar no sitio.

O malware que finalmente atopei en HA foi un script VBA que estaba incrustado nun documento de Word. É dicir, nin sequera necesito finxir a extensión do documento, este malware é realmente un documento de Microsoft Word de aspecto normal. Se estás interesado, escollín esta mostra chamada rfq.doc.

Rápidamente aprendín que moitas veces non se poden sacar directamente scripts VBA maliciosos dun documento. Os piratas informáticos comprímenos e escóndanos para que non sexan visibles nas ferramentas de macros integradas de Word. Necesitarás unha ferramenta especial para eliminalo. Afortunadamente atopeime cun escáner OfficeMalScanner Frank Baldwin. Grazas, Frank.

Usando esta ferramenta, puiden sacar código VBA moi ofuscado. Parecía algo así:

Elusive Malware Adventures Parte II: Scripts VBA ocultos
O ofuscamento foi feito por profesionais do seu campo. Quedei impresionado!

Os atacantes son moi bos para ofuscar código, non como os meus esforzos para crear Evil.doc. Está ben, na seguinte parte sacaremos os nosos depuradores de VBA, afondaremos un pouco máis neste código e compararemos a nosa análise cos resultados de HA.

Fonte: www.habr.com

Engadir un comentario