Aventuras del Elusivo Malvari, Parte I

Aventuras del Elusivo Malvari, Parte I

Con este artículo comenzamos una serie de publicaciones sobre malware esquivo. Los programas de piratería sin archivos, también conocidos como programas de piratería sin archivos, suelen utilizar PowerShell en sistemas Windows para ejecutar comandos de forma silenciosa para buscar y extraer contenido valioso. Detectar la actividad de los piratas informáticos sin archivos maliciosos es una tarea difícil, porque... Los antivirus y muchos otros sistemas de detección funcionan basándose en el análisis de firmas. Pero la buena noticia es que ese software existe. Por ejemplo, sistemas UBA, capaz de detectar actividad maliciosa en los sistemas de archivos.

Cuando comencé a investigar el tema de los hackers rudos, no utilizar métodos tradicionales de infección, pero solo las herramientas y el software disponibles en la computadora de la víctima, no tenía idea de que pronto se convertiría en un método de ataque popular. Profesionales de seguridad ellos dicenque esto se está convirtiendo en una tendencia, y titulares de artículos aterradores - confirmación de esto. Por eso, decidí realizar una serie de publicaciones sobre este tema.

El gran y poderoso PowerShell

He escrito sobre algunas de estas ideas antes en Serie de ofuscación de PowerShell, pero más basado en un concepto teórico. Más tarde me encontré sitio web para análisis híbrido, donde se pueden encontrar muestras de malware “capturado” en estado salvaje. Decidí intentar utilizar este sitio para encontrar muestras de malware sin archivos. Y lo logré. Por cierto, si desea emprender su propia expedición de búsqueda de malware, deberá ser verificado por este sitio para que sepan que está haciendo el trabajo como especialista en sombrero blanco. Como blogger de seguridad, lo pasé sin lugar a dudas. Estoy seguro de que tú también puedes.

Además de las muestras en sí, en el sitio puede ver qué hacen estos programas. El análisis híbrido ejecuta malware en su propia zona de pruebas y monitorea las llamadas al sistema, los procesos en ejecución y la actividad de la red, y extrae cadenas de texto sospechosas. Para binarios y otros archivos ejecutables, es decir. donde ni siquiera se puede ver el código real de alto nivel, el análisis híbrido decide si el software es malicioso o simplemente sospechoso en función de su actividad en tiempo de ejecución. Y después de eso la muestra ya está evaluada.

En el caso de PowerShell y otros scripts de muestra (Visual Basic, JavaScript, etc.), pude ver el código en sí. Por ejemplo, me encontré con esta instancia de PowerShell:

Aventuras del Elusivo Malvari, Parte I

También puede ejecutar PowerShell en codificación base64 para evitar la detección. Tenga en cuenta el uso de parámetros no interactivos y ocultos.

Si ha leído mis publicaciones sobre ofuscación, entonces sabrá que la opción -e especifica que el contenido está codificado en base64. Por cierto, el análisis híbrido también ayuda en esto, decodificando todo. Si desea intentar decodificar base64 PowerShell (en adelante, PS) usted mismo, debe ejecutar este comando:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Ve más profundo

Decodifiqué nuestro script PS usando este método, a continuación se muestra el texto del programa, aunque ligeramente modificado por mí:

Aventuras del Elusivo Malvari, Parte I

Tenga en cuenta que el script estaba vinculado a la fecha del 4 de septiembre de 2017 y transmitía cookies de sesión.

Escribí sobre este estilo de ataque en Serie de ofuscación de PS, en el que se carga el script codificado en base64 desaparecido malware de otro sitio, utilizando el objeto WebClient de la biblioteca .Net Framework para hacer el trabajo pesado.

¿Para qué sirve?

Para el software de seguridad que escanea los registros de eventos o firewalls de Windows, la codificación base64 evita que la cadena "WebClient" sea detectada por un patrón de texto sin formato para proteger contra la realización de dicha solicitud web. Y dado que todo el "mal" del malware se descarga y pasa a nuestro PowerShell, este enfoque nos permite evadir completamente la detección. O mejor dicho, eso es lo que pensé al principio.

Resulta que con el registro avanzado de Windows PowerShell habilitado (consulte mi artículo), podrá ver la línea cargada en el registro de eventos. yo soy como otro ) Creo que Microsoft debería habilitar este nivel de registro de forma predeterminada. Por lo tanto, con el registro extendido habilitado, veremos en el registro de eventos de Windows una solicitud de descarga completa desde un script PS según el ejemplo que comentamos anteriormente. Por tanto, tiene sentido activarlo, ¿no estás de acuerdo?

Agreguemos escenarios adicionales

Los piratas informáticos ocultan hábilmente los ataques de PowerShell en macros de Microsoft Office escritas en Visual Basic y otros lenguajes de programación. La idea es que la víctima reciba un mensaje, por ejemplo de un servicio de entrega, con un informe adjunto en formato .doc. Abres este documento que contiene la macro y termina iniciando el propio PowerShell malicioso.

A menudo, el propio script de Visual Basic se ofusca para que pueda evadir libremente los antivirus y otros escáneres de malware. Siguiendo el espíritu de lo anterior, decidí codificar el PowerShell anterior en JavaScript como ejercicio. A continuación se muestran los resultados de mi trabajo:

Aventuras del Elusivo Malvari, Parte I

JavaScript ofuscado ocultando nuestro PowerShell. Los verdaderos hackers hacen esto una o dos veces.

Esta es otra técnica que he visto flotando en la web: usar Wscript.Shell para ejecutar PowerShell codificado. Por cierto, JavaScript en sí es significa entrega de malware. Muchas versiones de Windows tienen incorporado Windows Script Host, que a su vez puede ejecutar JS.
En nuestro caso, el script JS malicioso está incrustado como un archivo con la extensión .doc.js. Por lo general, Windows solo mostrará el primer sufijo, por lo que a la víctima le aparecerá como un documento de Word.

Aventuras del Elusivo Malvari, Parte I

El ícono JS solo aparece en el ícono de desplazamiento. No sorprende que muchas personas abran este archivo adjunto pensando que es un documento de Word.

En mi ejemplo, modifiqué el PowerShell anterior para descargar el script desde mi sitio web. El script PS remoto simplemente imprime "Evil Malware". Como puedes ver, no es malo en absoluto. Por supuesto, los verdaderos piratas informáticos están interesados ​​en obtener acceso a una computadora portátil o a un servidor, por ejemplo, a través de un shell de comandos. En el próximo artículo, le mostraré cómo hacer esto usando PowerShell Empire.

Espero que en el primer artículo introductorio no hayamos profundizado demasiado en el tema. Ahora les dejaré tomar un respiro y la próxima vez comenzaremos a ver ejemplos reales de ataques que utilizan malware sin archivos sin palabras introductorias ni preparación innecesarias.

Fuente: habr.com

Añadir un comentario