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.
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.
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.
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.
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.
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.
Para comprobar que realmente existe el fichero escondido en la carpeta system32 utilizamos la herramienta streams.exe.
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.
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”.
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!!