You are on page 1of 8

Detectando y eliminando Keyloggers

Durante este post volveremos a hablar, como no, de algunas de las herramientas de la suite de Sysinternals, aplicndolas a un caso prctico en
donde se analizar el comportamiento de aplicaciones tipo keylogger para aprender a detectarlas y eliminarlas. Para ello utilizaremos tres
aplicaciones de Sysinternals, las cuales ya recomend anteriormente. Estas aplicaciones
son ProcessMonitor (ProcMon.exe), ProcessExplorer (ProcExp.exe) y Autoruns (autoruns.exe) .
Todas estas aplicaciones y muchas ms estn contenidas en la suite de Sysinternals, descargable
desdehttp://download.sysinternals.com/Files/SysinternalsSuite.zip
ProcessMonitor es una herramienta permite monitorizar todas las llamadas que realizan los procesos con respecto al sistema de archivos, registro
de Windows, y creacin subprocesos o hilos. Esto nos servir para mantener nuestro equipo seguro en caso de tener sospechas o indicios de que
nuestras conversaciones estn siendo capturadas mediante un software que guarda en un fichero, o enva a travs de una conexin ftp, email, etc
nuestras conversaciones.
Para iniciar el anlisis, ejecutaremos la aplicacin ProcMon.exe. Nada ms abrir esta aplicacin nos pedir que especifiquemos filtros en los
eventos capturados, para poder afinar la bsqueda.

Introduciremos dos filtros, que capturarn los eventos de escritura de archivos y envio de datos a travs de conexiones TCP.
FileWrite
TCP Send
Para ello, desplegaremos el primer Listbox y seleccionaremos Operation, en el segundo desplegable seleccionaremos la opcin is, en el tercer
desplegable escribiremos WriteFile, y en el ultimo indicaremos Include. Una vez hecho esto haremos clic en Add para agregar este filtro, y a
continuacin realizaremos los mismos pasos para agregar el filtro de TCP Send en vez de WriteFile. De esta forma estaremos monitorizando
todas las escrituras en disco y envo de datos a travs de conexiones TCP de cualquier proceso del sistema.
Nos debera quedar un filtro como el siguiente:

Antes de hacer clic en OK, deberamos cerrar todas las aplicaciones posibles que estemos usando, ya que si realizan escrituras en disco o
conexiones TCP, sus eventos se vern reflejados y podran interferir en nuestro anlisis, siendo ms complejo para nosotros la localizacin del
keylogger.
Una vez est todo cerrado excepto el ProcessMonitor (ProcMon) , podremos hacer clic en OK.
Ahora, si hacemos clic en la lupa que se ve en la captura de pantalla, empezar a capturar eventos. Si sobre la lupa aparece una X roja es que la
captura de eventos est parada, y puede ser iniciada haciendo clic sobre ella.

Ahora, deberamos forzar al keylogger a que guarde el buffer de lo que estamos escribiendo en un fichero, o lo enve por TCP a algn equipo. Para
ello, abriremos la aplicacin Notepad, y escribiremos en ella. Utilizaremos tambin combinaciones de teclas como copiar y pegar, ya que la
mayora de los keyloggers capturan esta combinacin y guardan su contenido inmediatamente.

Se puede ver, que la aplicacin SVCHOST.EXE est realizando escrituras en la ruta C:\Windows\System32\DGL\INFO.DGL a la par que me
dedicaba a escribir en el notepad.
La aplicacin SVCHOST.EXE es la encargada de lanzar los servicios instalados en nuestro servicio, por lo que lo ms probable es que el
keylogger se haya instalado como tal.
Para asegurarnos de que se trata de la aplicacin que estamos buscando, analizaremos el contenido del archivo sobre el cual se est escribiendo:

Evidentemente, tal y como se sospechaba, el fichero INFO.DGL contiene el contenido capturado de las pulsaciones de mi teclado.
Ahora ejecutaremos la otra herramienta de Sysinternals: ProcessExplorer (ProcExp.exe). Es importante ejecutar esta aplicacin con permisos de
administrador.
Ordenaremos la lista de aplicaciones por nombre de proceso, y buscaremos el nombre del servicio para poder pararlo y eliminarlo.

Al analizar los procesos con Process Explorer, observamos varias cosas:


El keylogger se hace pasar por un servicio que ejecutado a travs de SVCHOST.exe original (c:\windows\system32\svchost.exe), sin embargo es
ejecutado desde otra ruta (c:\windows\system32\DGL\SVCHOST.EXE).
El proceso SVCHOST.EXE que corre el keylogger no est firmado por Microsoft, el cual si debera estarlo si fuera un servicio.

Una vez matamos el proceso, vemos que vuelve a ejecutarse. Esto significa que hay otro proceso en memoria que se encarga de la ejecucin de
c:\Windows\DGL\SVCHOST.EXE cada vez que este no est en ejecucin.
Para localizar que proceso se est encargando de la ejecucin del keylogger volvemos a utilizar Process Monitor (ProcMon.exe), borraremos los
filtros introducidos anteriormente y pondremos un filtro en la deteccin del evento de operacin Process Create, quedando como la siguiente
captura:

Ahora que estamos auditando los eventos de ejecucin de procesos, volveremos a utilizar Process Explorer para matar al proceso
SVCHOST.EXE, y podremos ver que el proceso que lo vuelve a ejecutar es C:\WINDOWS\SYSTEM32\DGL\SERVICES.EXE.

Tras matar el proceso SERVICES.EXE, se detect que SVHOST.EXE volva a llamarlo para asegurarse su ejecucin.
Ante estos casos donde existen dos procesos que se ejecutan el uno al otro, es necesario matar al proceso padre y todo el rbol de subprocesos.
Esto es posible en Process Explorer haciendo clic sobre Kill Process Tree.

Ahora que no tenemos el Keylogger ejecutado en memoria, deberamos asegurarnos de su deshabilitacin eliminando las entradas del registro, o
los mecanismos que utilize para su ejecucin en el proximo arranque del sistema. Para ello utilizaremos Autoruns (autoruns.exe) de Sysinternals.

Buscando la cadena \dgl\ (En File -> Find) localizaremos las entradas que contengan el directorio \DGL\ en su ruta de ejecucin, detectando una
entrada en HKCU\Software\Microsoft\Windows\CurrentVersion\Run con el nombre de SystemKbs.
Basta con eliminar dicha entrada del registro para asegurarse de que esa aplicacin no se volver a ejecutar en el arranque del sistema. Ahora
solo queda eliminar los ficheros de C:\Windows\System32\DGL\ y el keylogger estar completamente borrado.
Hasta otra!

Enviado feb 02 2010, 02:23 por Manuel Fernandez


Archivado en: Trucos,Seguridad,Antivirus

Comentarios

jProgr escrito re: Detectando y eliminando Keyloggers


en 02-02-2010 19:51

Informacin siempre util :)

william escrito re: Detectando y eliminando Keyloggers


en 02-02-2010 22:12

Informacin muy til y bien explicada. Gracias.

Tony escrito re: Detectando y eliminando Keyloggers


en 02-02-2010 23:23

Magnifico post, de como deben usarse estas magnificas herramientas, que la mayoria de las veces no saqbemos usar correctamente.

Gracias, y seguir asi

uberVU - social comments escrito Social comments and analytics for this post
en 02-03-2010 8:30

This post was mentioned on Twitter by Informatica64: WindowsTecnico: Detectando y eliminando Keyloggers. http://tinyurl.com/y9j5l9h

Thor escrito re: Detectando y eliminando Keyloggers


en 02-06-2010 4:45

Muy buen uso de las herramientas de sysinternals.


Gracias!

cmansilla escrito re: Detectando y eliminando Keyloggers


en 02-10-2010 1:02

Muy bueno!! el proceso tambien es valido para eliminar antivirus.


Gracias por compartirlo.

4n0nym0us escrito re: Detectando y eliminando Keyloggers


en 03-16-2010 14:02

Est bien aunque, actualmente si son Rootkits o tras inyecciones harn callar a los firewalls ni por muchos controles anti-leaks que este tenga, hice
un manual similar aunque en mi caso era un bot el que atacaba por Ssh por diccionario.
Gracias por la info estas herramientas dan mucho juego! =

You might also like