
Este artículo es parte de la serie Fileless Malware. Todas las otras partes de la serie:
Soy fanático del sitio web de
análisis híbrido (HA). Este es un tipo de zoológico de malware donde puedes ver de forma segura "depredadores" salvajes desde una distancia segura sin ser atacado. HA lanza malware en entornos seguros, registra llamadas del sistema, archivos generados y tráfico de Internet, y muestra todos estos resultados para cada muestra que analice. Por lo tanto, no puede desperdiciar su tiempo y energía resolviendo el código confuso, sino que comprende de inmediato todas las intenciones de los piratas informáticos.
Los ejemplos de HA que me llamaron la atención usan scripts codificados con JavaScript o Visual Basic para Aplicaciones (VBA) que están incrustados como macros en documentos de Word o Excel y se adjuntan a correos electrónicos de phishing. Cuando se abren, estas macros inician una sesión de PowerShell en la computadora de la víctima. Los hackers suelen enviar secuencias de comandos codificados en Base64 a PowerShell. Todo esto se hace para dificultar la detección del ataque con filtros web y software antivirus que responden a palabras clave específicas.
Afortunadamente, HA decodifica automáticamente Base64 e inmediatamente muestra todo de forma legible. Esencialmente, no necesita centrarse en cómo funcionan estos scripts, porque puede ver la salida completa de los comandos para ejecutar procesos en la sección de HA correspondiente. Vea un ejemplo a continuación:

El análisis híbrido intercepta los comandos codificados en Base64 enviados a PowerShell:

... y luego los decodifica por ti. # mágicamente
En una
publicación anterior, creé mi propio contenedor de JavaScript ligeramente ofuscado para comenzar una sesión de PowerShell. Luego, mi script, como muchos malware basados en PowerShell, descarga el siguiente script de PowerShell desde un sitio web remoto. Luego, como ejemplo, descargué una PS inofensiva imprimiendo un mensaje en la pantalla. Pero los tiempos están cambiando, y ahora propongo complicar el escenario.
PowerShell Empire y Reverse Shell
Un objetivo de este ejercicio es mostrar cuán (relativamente) fácilmente un hacker puede sortear las defensas perimetrales y los antivirus clásicos. Si un blogger de TI sin habilidades de programación como yo puede
crear un malware completamente no detectado (FUD) en un par de noches, ¡imagine las posibilidades de un joven hacker interesado en esto!
Y si usted es una persona que brinda seguridad de TI, pero su gerente no está al tanto de las posibles consecuencias de estas amenazas, solo muéstrele este artículo.
Los hackers sueñan con obtener acceso directo a una computadora portátil o al servidor de la víctima. Es muy simple hacer esto: todo lo que el hacker necesita es obtener algunos archivos confidenciales en la computadora portátil del CEO.
De alguna manera, ya
escribí sobre el tiempo de ejecución postoperatorio de PowerShell Empire. Recordemos de qué se trata.
En esencia, es una herramienta de prueba de penetración basada en PowerShell que, entre muchas otras características, facilita la ejecución de un shell inverso. Puede obtener más información al respecto en
la página principal de PSE .
Hagamos un pequeño experimento. Configuré un entorno seguro de prueba de malware en la nube de Amazon Web Services. Puede seguir mi ejemplo para mostrar de manera rápida y segura un ejemplo funcional de esta vulnerabilidad (y no ser despedido por lanzar virus dentro del perímetro de la empresa).
Si inicia la consola de PowerShell Empire, verá algo como lo siguiente:

Primero, inicia el proceso de escucha en su computadora hacker. Ingrese el comando "oyente" y especifique la dirección IP de su sistema usando "establecer host". Luego, inicie el proceso de escucha con el comando de ejecución (a continuación). Por lo tanto, por su parte, comience a esperar una conexión de red desde el shell remoto:

Para el otro lado, deberá generar el código del agente ingresando el comando del iniciador (ver más abajo). Esto generará código de PowerShell para el agente remoto. Tenga en cuenta que está codificado en Base64 y representa la segunda fase de la carga útil. En otras palabras, mi código JavaScript ahora extraerá este agente para ejecutar PowerShell en lugar de la salida de texto inofensivo a la pantalla y se conectará a nuestro servidor PSE remoto para ejecutar el shell inverso.
La magia del caparazón inverso. Este comando codificado de PowerShell se conectará a mi escucha e iniciará el shell remoto.Para mostrarle este experimento, asumí el papel de una víctima inocente y abrí Evil.doc, lanzando así nuestro JavaScript. ¿Recuerdas la primera parte? PowerShell se configuró para que su ventana no aparezca, por lo que la víctima no notará nada inusual. Sin embargo, si abre el Administrador de tareas de Windows, verá el proceso en segundo plano de PowerShell, que todavía no causará ninguna alarma para la mayoría. Porque es PowerShell normal, ¿no?

Ahora, cuando ejecuta Evil.doc, un proceso de fondo oculto se conectará al servidor con PowerShell Empire. Después de ponerme el sombrero blanco del hacker-pentester, volví a la consola de PowerShell Empire y ahora veo un mensaje de que mi agente remoto está activo.

Luego ingresé el comando "interactuar" para abrir el shell en PSE, ¡y aquí estoy! En resumen, pirateé un servidor de Taco, que yo mismo configuré una vez.

Lo que acabo de demostrar no requiere mucho trabajo de su parte. Puede hacer todo esto de forma segura durante una pausa para el almuerzo durante una o dos horas para mejorar su conocimiento de la seguridad de la información. También es una excelente manera de comprender cómo los piratas informáticos eluden la protección del perímetro de seguridad externo y se implementan de forma encubierta en sus sistemas.
Los gerentes de TI que creen que han construido una protección indestructible contra cualquier penetración probablemente también lo encuentren informativo, bueno, si, por supuesto, puede convencerlos de que se sienten a su lado durante mucho tiempo.
De vuelta a la realidad
Como esperaba, un truco real que no es visible para el usuario promedio es solo una variación de lo que acabo de describir. Para recopilar material para la próxima publicación, comencé a buscar una muestra en HA que funciona de la misma manera que mi ejemplo inventado. Y no tuve que buscarlo durante mucho tiempo: el sitio tiene muchas opciones para tal técnica de ataque.
El malware que terminé encontrando en HA es el script \ VBA que se incorporó al documento de Word. Es decir, ni siquiera necesito falsificar la extensión doc, este malware es realmente el documento de Microsoft Word más común. Si está interesado, elegí esta muestra, llamada
rfq.doc .
Rápidamente descubrí que a menudo no podrá extraer directamente secuencias de comandos VBA maliciosas de un documento. Los piratas informáticos los comprimen y los ocultan, y no son visibles en las herramientas de macro integradas de Word. Necesitará una herramienta especial para extraerlo. Afortunadamente, me encontré con el
OfficeMalScanner de Frank Baldwin. Gracias Frank.
Usando esta herramienta, pude extraer un código VBA muy confuso. Se parecía a esto:
La ofuscación fue realizada por profesionales. Estaba impresionado!Los atacantes son realmente buenos para desordenar el código, no como mis esfuerzos para crear Evil.doc. Bueno, está bien, en la siguiente parte obtendremos nuestros depuradores de VBA, profundizaremos un poco más en este código y compararemos nuestro análisis con los resultados de HA.