top of page

Cómo Eliminar el Malware Sin Archivos


En publicaciones de blog anteriores en nuestra serie de eliminación de malware, cubrimos la eliminación manual de PUP y la eliminación de ransomware. Hoy, analizaremos otra categoría de malware común: el malware sin archivos. Este tipo de ataque se ha vuelto bastante popular en los últimos años porque puede ayudar a que el malware evade la detección mediante software de seguridad. Como resultado, puede ser interesante y desafiante ubicar y eliminar el malware sin archivos de una computadora infectada.

Como siempre, usaremos un ejemplo relativamente simple para facilitar el seguimiento junto con el proceso de eliminación.

¿Qué es el Malware Sin Archivos?

Cuando realiza una búsqueda en línea del término "malware sin archivos", obtiene una variedad de resultados que afirman una serie de definiciones diferentes. Encontrará términos como "exploits", "scripts", "herramientas de Windows", "solo RAM" o "indetectable". Todo esto puede parecer bastante complicado si no está (todavía) familiarizado con el análisis de malware, así que primero definamos qué queremos decir en este artículo cuando hablamos de malware sin archivos.

El malware sin archivo es un tipo de malware que no almacena sus componentes maliciosos en el sistema de archivos de Windows donde se encuentran los archivos y carpetas. En su lugar, carga el código malicioso en la memoria (RAM) directamente desde una ubicación alternativa, como los valores de registro de Windows o Internet.

En otras palabras, en lugar de crear un archivo malicioso, el malware almacena el código malicioso en otro lugar. La idea detrás de esto es simple: si no hay un archivo malicioso en el disco, el software de seguridad no puede analizarlo. Es bueno tener en cuenta que, a pesar del nombre, el malware sin archivos a menudo no es completamente "sin archivos". Es posible que aún encuentre accesos directos o archivos de script (.bat, .vbs, .ps1), aunque generalmente solo se usan para señalar Para, o cargar, el código malicioso.

Todo el propósito de usar malware sin archivos es hacer que la detección por parte del software de seguridad sea más difícil. Una forma de eliminar el malware sin archivos es a través de ataques populares (EternalBlue, por ejemplo), que es una forma ingeniosa de intentar patinar alrededor del software de seguridad, aunque también puede propagarse a través de métodos más clásicos, como archivos adjuntos maliciosos de correo electrónico. El malware sin archivos se puede usar para cualquier número de propósitos maliciosos, pero a menudo se encuentra en el cifrado y los ataques de clickfraud. Algunos ejemplos de síntomas comunes que se pueden observar en las máquinas infectadas incluyen un uso inusualmente alto de la CPU por procesos legítimos de Windows o mensajes de error similares a los siguientes ...

... aunque no tenga conocimiento de ejecutar algo que use PowerShell en el momento en que se produce este error.

En este punto, debemos analizar más detenidamente algunos componentes de Windows que a menudo se usan con malware sin archivos. La razón por la que se utilizan estos componentes es que facilitan la ejecución de una variedad de scripts.

Un script es un simple fragmento de código que, en la mayoría de los casos, es al menos en parte legible para un humano. Los scripts se pueden ofuscar, pero incluso entonces hay varios recursos en línea que se pueden usar para ayudar con la desobuscación. Windows puede recibir instrucciones para ejecutar estos scripts, y aquí se encuentra una de las ventajas de esta técnica: un componente confiable de Windows ejecutará el código que eventualmente llevará a que se cargue un proceso malicioso. Esto puede ayudar a evadir la detección, aunque muchos productos de seguridad, incluido Emsisoft Anti-Malware, ya han alcanzado esta técnica e interceptan una serie de acciones realizadas por dichos scripts.

A continuación, se incluye una lista de los procesos y componentes legítimos comúnmente utilizados junto con el malware sin archivos, todos los cuales aparecerán también en la sección de ejemplos de eliminación de malware:

  • Mshta.exe: Microsoft HTML Application Host es una utilidad que se encarga de ejecutar archivos HTA (aplicación HTML) en Windows. - Más información

  • Wscript.exe: Windows Script Host proporciona un entorno en el que los usuarios pueden ejecutar scripts en una variedad de lenguajes de scripting para realizar todo tipo de tareas. - Más información

  • Powershell: Windows PowerShell es un shell de línea de comandos de Windows que incluye una solicitud interactiva y un entorno de secuencias de comandos que es una variante mucho más poderosa de la línea de comandos normal cmd.exe. - Más información

  • WMI: Windows Management Instrumentation es una tecnología central de administración de Windows que puede usarse para administrar equipos locales y remotos. WMI se utiliza en las tareas de administración diarias con lenguajes de programación o scripting. - Más información

Cómo Identificar el Malware Sin Archivos

Al leer todo esto, puede pensar que la ubicación del malware sin archivos se parece a buscar una aguja en un pajar, pero a pesar de que el código malicioso puede estar oculto, todavía se aplica un principio simple: el malware no se ejecutará si no tiene un punto de carga. . Para obtener más información, consulte nuestro artículo sobre la eliminación de malware.

Si no tiene otra información sobre el malware, un punto de carga suele ser el mejor lugar para comenzar. Una vez que haya encontrado el punto de carga, se requieren habilidades adicionales de detección de malware para asegurarse de que encuentra todo. A menudo, habrá una cadena de scripts y accesos directos que eventualmente conducirán a la carga del código malicioso.

Autoruns es una buena herramienta para comenzar nuestra búsqueda, pero desde allí a menudo es útil verificar manualmente el (los) objeto (s) al que se refiere el punto de carga. Por ejemplo, puede examinar los scripts en un editor de texto, investigar URL incrustadas o verificar la ruta de destino de los accesos directos. Trate de mantener notas en esta etapa también para asegurarse de no olvidar los componentes que deben eliminarse más adelante.

Cómo Eliminar el Malware Sin Archivos

En el pasado, discutimos la importancia de identificar todos los componentes de malware antes de iniciar la eliminación. Cuando se trata de malware sin archivos, esto se lleva a otro nivel: si no identifica todos los componentes y elimina solo lo que descubrió inicialmente, es muy probable que la infección vuelva a aparecer cuando termine de eliminar los primeros componentes.

Por otro lado, al igual que con la mayoría de los otros programas maliciosos, una vez que haya identificado todos los componentes, la eliminación (por lo general) es bastante sencilla. En la mayoría de los casos, las herramientas como Autoruns y Process Explorer serán suficientes. También utilizaremos Process Monitor y TCPView para algunas tareas simples.

Así que vamos a pasar a ejemplos prácticos.

Ejemplos de Eliminación: WMIGhost y Poweliks

Para mostrar las técnicas más comunes y los escondites utilizados por el malware sin archivos, hemos seleccionado dos muestras: Poweliks (malware de clickfraud, utiliza su computadora para generar ingresos para un atacante haciendo clic en los anuncios en línea en el fondo) y WMIGhost (cryptominer, usa los recursos de tu computadora para minar criptomoneda para un atacante).

Ejemplo 1: WMIGhost

Empecemos con WMIGhost. Este es solo un ejemplo para mostrarle cómo algo que parece bastante complicado se puede identificar y corregir fácilmente con un poco de sentido común y VirusTotal. El nombre, por supuesto, ya lo sugiere, pero cuando examinamos un informe de escaneo de Autoruns, queda claro que tenemos un punto de carga WMI.

A primera vista, la secuencia de comandos que se carga por WMI puede parecer tontería, pero la buena noticia es que no necesitamos entender lo que significa la secuencia de comandos completa para determinar si es buena o mala. Centrémonos en algunos elementos clave. Se enumeran varias URL, por lo que es una buena idea ver si podemos encontrar más información sobre ellas haciendo una búsqueda en VirusTotal. Efectivamente, eso es bastante útil; cuando se comprueban los resultados de búsqueda para la primera URL, encontramos en "Comunicación de archivos" que muchos de los archivos con altas tasas de detección se han referido a esta URL. Encontrarás resultados similares para las otras URL listadas.

Sin entender nada más sobre este script, ya puedes concluir que es malo. También puede ver que esto eventualmente resultará en un proceso "scrcons.exe", la aplicación de scripts WMI Standard Event Consumer que se utiliza para ejecutar scripts de WMI.

Siendo ese el caso, podemos confirmar que se está ejecutando un script que intenta conectarse a las URL anteriores utilizando TCPView:

Si verifica las direcciones IP enumeradas en Dirección remota usando www.virustotal.com, encontrará que efectivamente están asociadas con * .blogspot.com, * .wordpress.com, * .livejournal.com y * .tumblr.com. Estos coinciden con las URL que identificamos en el script anterior.

Para eliminar esto, simplemente haga clic con el botón derecho en el script WMI en Autoruns y seleccione Eliminar. Si todavía se está ejecutando un proceso ‘scrcons.exe’, es posible que primero deba eliminarlo manualmente. Luego puede confirmar, usando TCPView o Process Explorer, que los intentos de conexión a esas direcciones por scrcons.exe se han detenido.

Ejemplo 2: Poweliks

A continuación, veremos una infección de Poweliks, y aquí las cosas se complican un poco más. Vamos a ir paso a paso. Nuevamente, estamos comenzando con Autoruns y un punto de carga debajo de una tecla Ejecutar que debería ser bastante sencillo ...

Parece que tenemos un valor predeterminado que ha sido infectado y ahora apunta a un archivo .bat en la carpeta C: \ Users \ Admin \ Appdata \ Local \ 500f2. Un archivo .bat (por lotes) suele ser un script simple, así que examinémoslo. Lo encontramos en una carpeta junto con otro archivo de aspecto aleatorio:

Como puede ver, el archivo en sí consta de una línea de texto. En pocas palabras, el comando dice: "iniciar 39267.2f489e". Como puede ver en la captura de pantalla anterior, ese archivo también está presente en la misma carpeta. Ahora, puede pensar que esto es bastante inútil, ya que el valor de ejecución podría apuntar directamente a ese archivo, pero al hacerlo de esta manera, tiene un valor de ejecución que carga un archivo por lotes de aspecto completamente inocente que no contiene ninguna cadena sospechosa que pueda ser Identificado por un producto de seguridad.

Entonces, examinemos el archivo a cargar: C: \ Users \ Admin \ Appdata \ Local \ 500f2 \ 39267.2f489e. VirusTotal no es muy útil aquí; los resultados del análisis no muestran nada y no hay información de archivos, ningún formato de archivo reconocible y nada en absoluto para darnos una pista de lo que es esto.

Sin embargo, hay una cosa que nos puede ayudar más aquí. Este archivo tiene una extensión bastante única: aparentemente es un archivo .2f489e. Como no tenemos ni idea de qué es esa extensión de archivo, es una buena idea buscarla en el Registro de Windows, en el lugar donde se almacenan todas las extensiones de archivo: la clave HKEY_CLASSES_ROOT (HKCR). Si la extensión no está presente allí, entonces no será posible que el archivo b31a2.bat haga algo con el archivo porque Windows no sabrá qué hacer con él.

Si bien la extensión .2f489e está presente en el registro, el contenido de la clave no hace nada, excepto que nos apunta a una clave HKCR diferente: e862b

Y aquí las cosas empiezan a ponerse interesantes. Si observamos HKCR \ e862b \ Shell \ Open \ Command, vemos que el archivo que estamos rastreando actualmente provocará el lanzamiento (a través de Mshta.exe) de un objeto de JavaScript que, a su vez, desea leer más datos de El valor de "zflends" en la clave HKEY_CURRENT_USER \ software \ juapuofg. Eso parece muy aleatorio y no particularmente legítimo. Vamos a ver:

Al observar esta clave y sus valores, es difícil decir qué se supone que deben hacer, porque la información almacenada en los valores ha sido confusa. Process Explorer, sin embargo, nos da una pista:

Cuando inicie manualmente el malware (por ejemplo, haciendo doble clic en b31a2.bat), notará que mshta.exe está cargando la secuencia de comandos que lee el valor de "zflends" que contiene el código malicioso y, a su vez, lanza Powershell. En otras palabras, el código almacenado en el valor "zflends" es probablemente un script de Powershell confuso.

En este punto, sin embargo, eso realmente no importa. Hemos encontrado el código malicioso, almacenado inteligentemente en forma encriptada en un valor de registro con nombre aleatorio, y con eso el último de los componentes necesarios para nuestra lista de eliminación (que en este punto realmente es un deber).

Antes de continuar con la eliminación, revisemos qué componentes hemos identificado (en el orden en que los encontramos):

  • HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run - valor predeterminado Este valor se ha modificado para que apunte a b31a2.bat. No puede eliminar este valor, debe restablecerse a su estado predeterminado, que es un valor vacío de datos.

  • C: \ Users \ Admin \ Appdata \ Local \ 500f2 Esta carpeta contiene b31a2.bat y 39267.2f489e.

  • HKEY_CLASSES_ROOT \ .2f489e Esta es la clave donde se ha registrado la extensión de archivo .2f489e. No hace nada excepto señalar la tecla e862b.

  • HKEY_CLASSES_ROOT \ e862b Esta es la clave a la que apunta la extensión .2f489e. Windows comprueba el valor predeterminado en la subclave Shell \ Open \ Command siempre que se ejecuta un archivo de este tipo. En este caso, contiene la información para cargar el script que apunta al código malicioso real

  • HKEY_CURRENT_USER \ software \ juapuofg Esta clave contiene el código malicioso en forma de un script de PowerShell ofuscado en uno de sus valores.

Ahora que sabemos qué eliminar, es el momento de la limpieza real. Desafortunadamente, las cosas no son tan fáciles como parecen. Cuando intentamos eliminar el valor predeterminado infectado utilizando Autoruns, obtenemos un error. Y cuando intentamos eliminar la carpeta 500f2, notamos que se vuelve a crear en unos pocos segundos. Obviamente, algo se está ejecutando y monitoreando el malware para asegurarse de que no se elimine. El problema es que cuando examinamos la salida de Process Explorer, nada salta. Ahora, podemos comenzar aleatoriamente a matar procesos con la esperanza de no bloquear Windows y ejecutar el proceso correcto rápidamente, pero hay una forma más sencilla de descubrir qué proceso recrea el contenido de la carpeta 500f2 (y, por lo tanto, es muy probable que sea el proceso). que dificultará cualquier remoción).

Para averiguarlo, podemos utilizar Process Monitor. Simplemente podemos iniciarlo, luego desmarcar Archivo> Eventos de captura y seleccionar Editar> Borrar pantalla para que esto sea un poco más fácil. Ahora tenemos que capturar el evento en el que estamos interesados: la recreación del contenido de la carpeta 500f2. Asegúrese de estar listo para la captura, marque Archivo> Eventos de captura, elimine manualmente la carpeta, espere a que vuelva a aparecer y desmarque Archivo> Eventos de captura para volver a desactivar la captura y asegurarse de que el registro no sea demasiado grande.

Ahora nos enfrentamos a una larga lista de eventos capturados. Sin embargo, ni siquiera necesitamos filtrar en "Operation is WriteFile". El nombre de la carpeta es lo suficientemente único como para usar simplemente Buscar (Ctrl + F) en 500f2. Y, efectivamente, encontramos esto:

Parece que Regsvr32.exe es el proceso involucrado en la recreación de los objetos que acabamos de eliminar. Esto significa que tendremos que encontrar el proceso Regsvr32.exe utilizando Process Explorer y eliminarlo (tenga en cuenta que el archivo Regsvr32.exe en sí es legítimo y no debe eliminarse). Una vez que lo hagamos, podemos eliminar la carpeta sin que se vuelva a crear. También podemos eliminar las claves HKCR, así como la clave HKCU \ Software \ juapuofg.

La tecla Ejecutar, sin embargo, es un asunto diferente. Cada vez que intentamos acceder a él, se muestra el siguiente error:

Podríamos intentar averiguar qué está pasando, pero como la clave está vacía y no hay valores de ejecución legítimos aquí presentes, podemos intentar eliminar la clave completa y esperar a que Windows la vuelva a crear, lo que en este caso el truco. En el caso de Poweliks, la causa de este error generalmente involucra caracteres no válidos dentro de los datos de valor o una subclave que Regedit no puede interpretar o mostrar.

Conclusión

Incluso cuando se trata de programas maliciosos más complicados, la eliminación manual sin ninguna habilidad avanzada de análisis de programas maliciosos es posible siempre y cuando investigue cuidadosamente con qué está tratando. Pero si bien el malware sin archivos ofrece un desafío interesante, este tipo de eliminación puede llevar mucho tiempo, por decir lo menos. Por lo tanto, proteger tu computadora es muy importante. Le recomendamos que use un producto de seguridad que sea capaz de prevenir infecciones de malware sin archivos (como Emsisoft Anti-Malware) y recuerde mantener Windows y otro software instalado actualizado para mantener su computadora libre de malware.

Descargo de responsabilidad: este artículo es solo para fines de demostración. Existen multitud de variantes de malware sin archivos en existencia, que pueden requerir diferentes técnicas de eliminación en comparación con los métodos que se presentan aquí, dependiendo de su propósito. Somos conscientes de que hay excepciones a cada regla y que las cosas no siempre son tan sencillas. Sin embargo, cubrir todas esas excepciones no serviría para este blog. Si necesita ayuda para eliminar el malware de su computadora, no dude en descargar nuestro Emsisoft Emergency Kit y comunicarse directamente con nuestros analistas de malware en support@emsisoft.com.

94 visualizaciones

Unete a nuestra lista de correo

No te pierdas ninguna actualización

Gracias por tu mensaje!

bottom of page