Analizando software malicioso: AMVO

 Todo esto lo estoy copiando desde MyGeekSide

Hola!!

Aquí estoy nuevamente. Hace buen tiempo que no he posteado. He estado muy ocupado en cuestiones laborales y algunas situaciones un tanto complicadas de la vida, pero aquí estoy, y esta vez trayendo un tema muy interesante: El análisis del comportamiento de software malicioso. Con esta guía trataré de explicar cómo es que tú mismo puedes analizar el comportamiento de muchos programas de los cuales sospeches y puedas ver qué es lo que hacen exactamente en tu sistema, esto quiere decir: modificaciones que hagan del sistema, creación de archivos, etc.

En el tema anterior hemos tratado sobre la instalación, configuración y uso de máquinas virtuales (http://www.mygeekside.com/?p=21). Así que con este conocimiento vamos a experimentar con software malicioso para ver qué es lo que hace en nuestro sistema y de este modo poder buscar una solución para contrarrestar sus efectos, esto implica: detectar el software malicioso, defensa contra los efectos perniciosos, eliminación del software malicioso y en lo posible restaurar el sistema al estado previo a la infección.

Vamos a tomar como ejemplo principal al tan conocido y odiado y recordado AMVO.

Jejeje, empecemos con la acción:

PASO 1: Conseguir muestras del software malicioso

Este paso no ha sido muy dificil. Fui a una cabina pública de internet y a propósito conecté mi memoria USB a una máquina infectada. Con esto ya conseguí las muestras necesarias.

PASO 2: Preparar y/o instalar software para el análisis

En este caso 3 programas:

  • 1. Wireshark. – Nos permitirá monitorear el tráfico de nuestra tarjeta de red, con esto veremos la actividad del software malicioso en la red y en el internet.
  • 2. Proccess Monitor (Procmon) .- Con este programa se monitorea en tiempo real toda la actividad en el sistema, como la creación de archivos, ejecución de procesos, manipulación del registro, etc. Es muy interesante, también puedes usar filtros para mostrar sólo los procesos o accciones que decidas.
  • 3. Active Registry Monitor. – Este programa también monitorea el Registro del sistema, pero con la especial característica de que puedes sacar copias de seguridad del registro en determinados momentos y luego comparar las modificaciones que han sufrido estos estados.

En la siguiente imagen se muestra la máquina virtual con Windows XP instalado. Están enmarcado en rojo las muestras del virus listas para ser ejecutadas(archivos m1t8ta.com, juok3st.bat, autorun.inf). Y en verde están enmarcados los programas que usaremos para analizar el software malicioso.

PASO 3: Tomar Snapshot o Imagen del sistema ANTES de infectar el sistema.

Lo primero que vamos a hacer en la máquina virtual- ANTES de ejecutar el software malicioso e infectar el sistema- es grabar una imagen del sistema en su estado “sano”. A este estado “sano” le llamaremos: “Antes virus amvo”. De este modo siempre podemos regresar a este estado inicial después de infectar o dañar el sistema, evitando así pérdida de tiempo reinstalado o tratando de encontrar o reparar algo que se nos haya escapado de las manos.

PASO 4: Sacar copia de seguridad del Registro ANTES de infectar el sistema.

Para esto vamos a usar el Active Registry Monitor (ARM), haciendo doble click en el ícono mostrado en la figura llamado “Active Registry Monitor”.

Una vez dentro del ARM, en el menú Registro, seleccionamos la opción “Scan Registry”.


Luego procedemos a seleccionar la llave del registro que queremos hacer una copia de seguridad o en este caso una copia de seguridad de todo el registro, seleccionando la opción “Whole Registry”, y OK.


Se empieza a hacer una copia de seguridad…


Podemos ver ahora que la copia de seguridad del registro se graba incluso con la fecha y la hora en la que se hizo la copia de seguridad. Con esto ya tenemos la copia del Registro antes de que se infecte el sistema.


Ahora minicemos la ventana de Active Registry Monitor.

Paso 5: Monitorear los cambios y procesos que se ejecutan con el software malicioso

Para esto vamos a usar el Proccess Monitor (ProcMon).


Una vez ejecutado el Procmon, de manera instantánea se empiezan a mostrar los procesos que se están ejecutando en ese preciso momento en el sistema: programas ejecutándose, archivos creados, modificaciones y accesos al registro, etc.

Como puedes ver mucha de esa información puede ser un poco irrelevante y puede tender también a confundir ya que procesos como Explorer.exe es un proceso común en todos los sistemas con Windows y acceden a muchos recursos del sistema .
Debido a la gran cantidad de información que se obtendrá, será mejor que se filtre solamente la información relevante, osea los procesos , archivos y modificaciones que se realicen al ejecutar el software malicioso.

Para esto, vamos al menú “Filters”, opción “Filter”:
Nos aparece una ventana, en la que seleccionaremos la INCLUSION o EXCLUSION de las condiciones que seleccionaremos. En este caso vamos a las operaciones de Creación de archivos: CreateFile.

Osea vamos a mostrar todos los procesos que tengan que ver con la creación de archivos con la condición:

“Operation is CreateFile” para incluir en el filtro.
Una vez que hacemos click en “ADD”, el filtro es agregado.
Ahora, como en nuestro caso tenemos 3 archivos de virus: m1t8ta.com, juok3st.bat y autorun.inf. Como en este caso vamos a ejecutar el archivo juok3st.bat. Para esto debemos agregar al filtro que incluya todos las acciones relacionadas al proceso juok3st.bat.

Agregamos otro filtro :

“Process name is JUOK3ST.BAT” is INCLUDE


Una vez agregados los filtros, el monitor de procesos “Procces Monitor” , quedará esperando que las acciones se cumplan para empezar a mostrar resultados.

Ahora minicemos la ventana del Process Monitor.

PASO 6: Monitorear acciones del virus en la red y en el internet, usando el analizador de protocolos: Wireshark

Con este programa analizaremos el tráfico entrante y saliente de nuestra tarjeta de red mientras el virus es ejecutado de modo que veamos qué es lo que intenta hacer o hace este virus en la red o el internet. Para esto inicializamos el Analizador de Protocolos Wireshark:



Una vez cargado Wireshark, debemos inicializar la captura del tráfico. Para esto, debemos hacer click en el primer ícono debajo del menú “File”.
Con esto nos mostrará una lista de interfaces de captura disponibles de las cuales podemos capturar tráfico. En nuestro caso, es la interface “VMWare Accelerated AMD PCNet Adapter” y damos click en “START”.
Y empieza la captura de tráfico:
Minicemos ahora la ventana de Wireshark.

PASO 7: Ejecutar software malicioso

Aquí empieza la acción. Procederemos a ejecutar de manera MUY INTENCIONAL el virus de modo que empecemos a ver lo que hace. Hacemos DOBLE CLICK en el archivo JUOK3ST.BAT. Luego de hacer doble click, nos muestra un error tratando de hacernos creer que el archivo no se ha ejecutado correctamente, pero vemos que el Process Monitor detecta mucha actividad siendo realizada por este proceso, todo esto gracias a los filtros configurados.

En el siguiente cuadro, están encerrados en color rojo todos los archivos que crea el virus, entre ellos está el archivo “eaxbit.dll” que crea en la carpeta de archivos temporales: %tmp%, como librería de ayuda al proceso malicioso. También el archivo “7.sys”, que crea también en esta misma carpeta, y que servirá como driver para la ocultación de los procesos relacionados al virus para evitar su detección. Y por último en la carpeta:
C:\WINDOWS\System32\ los tan conocidos archivos: amvo.exe, amvo0.dll.

Ahora veamos las modificaciones que ha sufrido el registro luego de la ejecución del software malicioso.

Para esto, maximizamos la ventana de ARM, y vamos al menu Registry, Opción “Scan Registry”:

En la imagen siguiene: Una vez escaneado el registro se crea otro estado. Podemos ver claramente que la flecha en rojo apunta al estado del registro creado a las 20:11 h antes de la ejecución del virus.

Y la flecha en verde apunta al estado del registro creado las 20:20h luego de la ejecución del virus.

Ahora para poder COMPARAR los 2 estados, hacemos click en el botón “Compare” encerrado en AZUL.

En la siguiente imagen: Automáticamente se abre otra ventana mostrándonos los 2 estados:

  • ESTADO 1 creado 16/02/2008 20:11:29 (Encerrado en rojo)
  • ESTADO 2 creado 16/02/2008 20:20:42 (Encerrado en verde)

El primer recuardo azul indica que han sido agregados 89 valores nuevos al registro.

El segundo recuadro azul indica que han sido modificados 31 valores en el registro.

Ahora vamos a ver primero, qué valores han sido agregados al registro, los valores encerrados en rojo muestran los valores agregados al registro luego de la infección. Más adelante demostraremos que el valor “maver8p9″ en la clave MADOWN es en sí el identificador de la versión del virus.

Luego vemos también que se ha creado un valor en la ruta del registro:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run, el valor creado es AMVA que contiene la ruta del archivo de virus AMVO.EXE en c:\Windows\system32 creado hace unos instantes.

Es bueno aclarar que en la ruta del registro:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
y algunas otras más como:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce,
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run,
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce,

Se ponen las rutas de los programas que se desea se ejecuten de manera automática cada vez que el sistema operativo es iniciado.

De este modo, el valor AMVA, está asegurando que el virus “AMVO.EXE” se ejecute automáticamente en cada inicio de windows. :O.

Ahora procedamos a analizar las entradas del registro que han sido modificadas luego de la ejecución del virus, los valores encerrados en rojo son valores que han sido modificados.


Como habrás visto en el cuadro anterior por ejemplo en el valor “Seed” habían 2 valores, uno marcado como “1″ y otro como “2″.

Para entender mejor: Anteriormente hablamos del “estado 1″ que era el estado del registro antes de la infección y el “estado 2″ que es el estado del registro luego de la infección. Pues los valores marcados con “1″ son los valores que se tenían en el “estado 1″ y los valores con “2″ son los valores que han sido modificados luego de la infección.

Por ejemplo:

  • En la ruta de registro:
    HKEY_LOCAL_MACHINE\Software\Microsoft\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL el dato del valor “CheckedValue” ha sido modificado. En el “estado 1″ tenía valor 1(uno), y luego de la infección (“estado 2″) tiene el valor 0 (cero).Es muy útil también recalcar que ésta es la característica por la cual el virus no permite que se vean los archivos ocultos y de sistema. Pues el valor normal de HKEY_LOCAL_MACHINE\Software\Microsoft\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue es 1(activado), que indica que deben mostrarse los archivos ocultos y de sistema. Pero el virus al modificar su valor a 0(desactivado) nos restringe de poder ver los archivos ocultos y de sistema.
  • De aquí se deduce que restaurando el valor de 0 a 1 de este valor en el registro se pueda volver nuevamente a ver los archivos ocultos y de sistema. (Acción que realiza el script de manera automática).

Bueno, ahora procedamos a analizar la acción del virus en la red y el internet.

Maximizamos la ventana de wireshark que teníamos minimizada.

Teniendo en cuenta que en la máquina virtual yo no estaba accediendo a ninguna página de internet, es interesante notar que despues de ejecutar el virus, WIRESHARK detecte y capture tráfico hacia el internet desde mi tarjeta de red.

  • Para entender mejor el siguiente gráfico, es bueno que aclare cómo es que se realizan las conexiones a internet.
  • Cuando tu escribes en tu navegador: http://www.google.com en realidad hay todo un proceso que no ves. Pues el tu equipo en realidad no sabe cómo ubicar a ese nombre de dominio http://www.google.com en el internet. En realidad http://www.google.com tiene una dirección IP que le identifica en la gran red del Internet, por ejemplo uno de los IP’s de google es: 64.233.169.104.
    Otro ejemplo: la dirección IP de http://www.gmail.com es 64.233.185.83.
    Y así sucede con todas las páginas de internet que conozcas y desconozcas, cada dominio tiene un IP y eso es lo que entienden las computadoras. Ahora, sólo imagina que tuvieras para acceder a google tuvieras que memorizarte el número IP 64.233.169.104 y así el número IP de cada página a la cual quisieras visitar, sólo imagínalo, sería un caos.
    Aquí es donde nos salvan los Servidores de Nombres de Dominio (DNS). Estos DNS’s tienen una base de datos que contiene los dominios existentes con sus respectivos IP’s asignados, algo así, sólo para mostrar, pues en realidad su estructura es más compleja:
    http://www.gmail.com 64.233.185.83
    http://www.google.com 64.233.169.104
    http://www.terra.com 208.70.188.151
    etc etc
    Entonces cuando tu escribes en tu navegador la dirección de la página a la que quieres entrar, tu equipos pregunta al DNS cual es el IP respectivo a tu petición, el DNS responde a tu equipo y recién en este punto es como puedes conectarte a la página que deseaste. Todo este proceso es tan rápido que ni cuenta nos damos de todo el proceso que se ha realizado.

Ahora, sabiendo ya lo que son las peticiones al DNS, veamos lo que sucede en el tráfico de nuestra tarjeta de red.
Lo que está encerrado en rojo es la petición de mi máquina virtual al DNS, preguntando por el nombre de dominio http://www.om7890.com.
Como ya dije, no estaba entrando a ninguna página web en la máquina virtual y este tráfico es muy raro, así que algo aquí se está cocinando y huele muy mal…


Sigamos analizando el tráfico… El DNS ha respondido diciendo que el IP de http://www.om7890.com es 60.169.1.92.

Espera, algo muy raro, mi máquina virtual que tiene el IP 192.168.116.128 está haciendo una negociación con el IP 60.169.1.92.

  • Definamos algunas cosas:
    Para establecer una conexión entre 2 equipos usando el Protocolo de control de transferencia (TCP), debe haber una negociación previa, que es conocida como la “negociación de 3 pasos”:

    1. El Equipo1 abre un puerto y envía una petición SYN de sincronización al Equipo2. (SYN)
    2. El Equipo2 responde al Equipo1 con otro paquete de sincronización SYN y un paquete ACK (acuse de recibo) confirmando que el paquete ha sido recibido. (SYN/ACK)
    3. El Equipo1 responde con un paquete ACK confirmando que ha recibido la syncronización y se establece la conexión.(ACK)

Con este conocimiento ya podemos asegurar que mi máquina virtual infectada está estableciendo una conexión con el servidor mencionado.

En el primer cuadro rojo marcado como “A” podemos ver claramente la negociación de 3 pasos.

En el segundo cuadro rojo marcado como “B” , vemos que mi máquina virtual está solicitando el archivo “help.rar” a http://www.om7890.com !! y está siendo descargado!!

En el tercer cuadro rojo marcado como “C” ,vemos que mi máquina de nuevo está solicitando el archivo “help.exe” a http://www.om7890.com !!!!! y también está siendo descargado!!

No quiero quedarme con la duda así que veamos el tráfico que contiene la transferencia del archivo “help.rar”. Selecciono el cuadro enmarcado en rojo y en la parte inferior vemos el tráfico que muestra información desde dónde está siendo descargado el archivo… de http://www.om7890.com, para ser más exactos: de http://www.om7890.com/mf2/help.rar

Ahora veamos más, un poco más abajo nomás al momento de transferir el archivo “help.rar” podemos ver incluso el contenido en hexadecimal del archivo que está siendo transferido hacia nuestra máquina virtual.

Podemos ver claramente que el nombre “maver8p9″ es el mismo que habíamos visto en el registro… aaaaaaaaah. Pues SI, este virus descarga de esta página una versión actualizada del virus de modo que pase desapercibido a los antivirus. Esto también puede explicar el porqué tiene tantos diferentes nombres.


Ahora veamos el tráfico que se hace al momento de transferir el archivo “help.exe” hacia nuestra máquina.

El cuadro azul en la siguiente imagen es una cabecera “MZ”, para los que no sepan:

  • Los archivos ejecutables, osea los que siempre realizan alguna acción programada, tales como los que terminan en extensión: exe, com. Siempre inician con las cabeceras “MZ”, si quieres saber más puedes leer el link siguiente: http://es.wikipedia.org/wiki/EXE.

Osea está descargando el archivo “help.exe” y luego el ciclo de infección sigue y sigue.

Con todo esto, ya podemos explicarnos el porqué este virus es tan dificil de detectar por los antivirus hasta el día de hoy, pues siempre descarga una copia modificada del virus que evita sea detectada.

Con este conocimiento es cómo se ha desarrollado el script de eliminación del virus amvo.
http://www.mygeekside.com/?p=14

Pronto, otros temas interesantes.

Saludos,

Felipe

Anuncios

4 comentarios en “Analizando software malicioso: AMVO

  1. Hola!!
    Se me hace muy interesante la forma en que explican como trabajan estos virus y espero que también ya esten trabajando con scrips nuevos pues a mí equipo se me contagio de una mutación mas del AMVO.exe que me creo un archivo llamado win2x.exe ó win2kx.exe que este script borro algunos pero este nuevo no le hizo ni cosquillas (Y menos los antivirus)y se siguen contagiando los equipos por medio de memorias FLASH USB,IPODs,celulares etc..
    Este en especial bloquea el admon. de tareas y da entradas a sus amigos (via Internet), desafortunadamente No me quede con una muestra (No me quise arriesgar) y la única solucion que encontré fue borrar mi windows XD

  2. muy bueno el manejo del arbol d procesos y d la maq virtual.

  3. Pingback: Kepasaka Blog » Blog Archive » Eliminar virus amvo, avpo, kavo

  4. Para quien padece el virus win2x.exe o Romeo.

    Existe una página de origen cubano para desifectar el sistema. Aunque se puede también utilizando varias herramientas Adware, Spyboot Search and Destroy, Amvo, Kaspersky,

    Esta herramienta promete eliminarla de inmediato

    http://edgarhf.wordpress.com/category/antivirus/

    http://www.segurmatica.co.cu/descargas/index.php

    Yo estuve varios días sin poder trabajar restaure con las anteriores herramientas todo,pero seguia sin poder imprimir. El virus se activaba cada vez que desde word trataba de imprimir.

    Saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s