Cuantos problemas nos ha dado este repugnante bicho, incluso hasta los mas poderosos antivirus no han podido eliminarlo de la forma correcta, debido a esto es importante saber como que «actúa éste escurridizo» en nuestro endeble Windows. Vamos a tomar como ejemplo principal a uno de los conocidos virus, con ustedes: AMVO!!. Aplausos chicos!!
Jejeje, empecemos con la acción:
PASO 1: Conseguir muestras del software malicioso
Este paso no ha sido muy dificil. Fui a un ciber de internet y a propósito conecté mi memoria USB a una máquina infectada. Con esto ya conseguí las muestras necesarias. ¿Qué fácil no?
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:WINDOWSSystem32 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_USERSoftwareMicrosoftWindowsCurrentVersionRun, el valor creado es AMVA que contiene la ruta del archivo de virus AMVO.EXE en c:Windowssystem32 creado hace unos instantes.
Es bueno aclarar que en la ruta del registro:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
y algunas otras más como:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce,
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun,
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce,
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_MACHINESoftwareMicrosoftCurrentVersionExplorerAdvancedFolderHiddenSHOWALL 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_MACHINESoftwareMicrosoftCurrentVersionExplorerAdvancedFolderHiddenSHOWALLCheckedValue 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.
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: 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 www.google.com en el internet. En realidad 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 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:
www.gmail.com 64.233.185.83
www.google.com 64.233.169.104
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 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 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”:- El Equipo1 abre un puerto y envía una petición SYN de sincronización al Equipo2. (SYN)
- 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)
- 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 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 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 www.om7890.com, para ser más exactos: de 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 que sea detectada.
Sigan actualizandose a diario porque en uno de estos días publicaré ¿COMO ELIMINAR AL AMVO? .
Con ayuda de mi amigo Felipe
Exelente resumen.
Que arrechooooo Panita!!!!, Te Felicito…..