jueves, 8 de julio de 2010

Detectando y eliminando PoisonIvy


PoisonIvy es uno de los troyanos más conocidos que existen, el otro día decidí ponerme a jugar un rato con él para ver las funcionalidades que tiene y como se esconde en el sistema. Acto seguido se explicará la forma de detectar si realmente estamos infectados por él y la manera de eliminarlo.

Una de las formas más sencillas para identificar que estamos siendo infectados por troyano es realizar un análisis de los procesos que están siendo ejecutados.

clip_image002

Si analizamos cada uno de los procesos observaremos como sospechosamente existe un proceso con PID 1744 llamado IEXPLORER.EXE (Navegador) que sospechosamente no hemos ejecutado y que a simple vista no lo tenemos abierto en nuestro sistema.

Si eliminamos el proceso, automáticamente vuelve a iniciarse automáticamente. Ejecutaremos ProcessMonitor para detectar quien es el encargado de ejecutar el proceso.

clip_image004

Suponiendo que el explorer.exe no se encuentra modificado (si no perdería la firma y nos avisaría al iniciarse), solo nos queda pensar que algún proceso está inyectando código en el explorer.exe cuando se carga en memoria.

Utilizando el autoruns.exe identificamos que existe un registro en la clave HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” con un nombre un tanto sospechoso.

clip_image006

Si realizamos la búsqueda del mismo archivo en los runs obtenemos otra entrada en los registros de los ActiveX “HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components” que apunta al mismo fichero.

clip_image008

Ya podemos sospechar que realmente el que infecta el proceso explorer.exe al ejecutarse es este ActiveX. Para detectar si realmente esta sospecha es cierta, podemos ejecutar ProcessMonitor y visualizar los procesos que se ejecutan al cargar un nuevo explorer.exe.

clip_image010

Vemos como realmente es el ActiveX el encargado de inyectar código en el explorer.exe.

Si observamos la ruta que ejecuta dicho ActiveX, vemos como utiliza la técnica del ADS para esconder el binario que ejecuta la infección.

clip_image011

Para comprobar que realmente existe el fichero escondido en la carpeta system32 utilizamos la herramienta streams.exe.

clip_image013

Si en cualquier momento del análisis se intenta eliminar cualquiera de las pruebas que se han encontrado, instantáneamente volverá a generase o iniciarse ya que el explorer.exe infectado se encarga de generarlos.

Para solucionar este problema, tenemos dos alternativas: levantar la máquina con un Live CD y eliminar los registros y ficheros detectados o realizar las operaciones con el explorer.exe cerrado. Para no tener que reiniciar la máquina optaremos por realizar la eliminación de los ficheros sin tener ejecutado el explorer.exe.

Ficheros de Inicio

Tanto el registro del Run como el del ActiveX los podemos eliminar desde el registro o con la aplicación autoruns.exe.

clip_image015

Fichero oculto mediante ADS

Del mismo modo que la aplicación streams.exe nos detecta los ficheros ocultos mediante ADS, nos permite su eliminación añadiendo el parámetro “-d”.

clip_image017

Una vez hayamos eliminado los dos registros y el fichero oculto de nuestro sistema habremos eliminado el troyano y conseguiremos que no se vuelva a ejecutar.

Un Saludo!!

5 comentarios:

  1. Muchas gracias por tu artículo.
    Yo tengo este virus pero no consigo eliminarlo, ya que al ejecutar streams.exe me indica que "no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable". Podrías ayudarme, por favor?

    ResponderEliminar
  2. Ché boludo, esto está rebueno!

    ResponderEliminar
  3. Dani, a ver si escribimos un poquito más, que tienes esto un poco abandonado. xD

    ResponderEliminar
  4. mira esto http://37.59.229.94/demo/

    ResponderEliminar