miércoles, 4 de febrero de 2009

Gardel con guitarra eléctrica: Detectando virus y spyware con Process Explorer

Esta entrada está destinada a tres grupos de personas:
1) Los que no leyeron la entrada anterior.
2) Los que, habiendola leido, no miraron la conferencia de Russinovich por falta de tiempo, o desconocimiento del inglés, o imposibilidad fisica o moral de instalar silverlight.
3) Los que la leyeron y vieron la conferencia de Mark, pero quieren seguir leyendo para discutirme algo, de barderos nomás.

Hace unos días miré la excelente presentación de Mark Russinovich: "Advanced Malware Cleaning", y aparte de quedar obsesionado con el tema de los rootkits, me lleve un par de consejos para la detección de malware con Process Explorer, que en estos días me han resultado útiles.

ProcEx es un process manager que nos da mucha información acerca de los procesos que están corriendo en nuestra máquina. Podemos distinguir de un vistazo los servicios (en rosa), los procesos del propio usuario (en celeste), los ejecutables empaquetados (en violeta), los íconos de las aplicaciones, su descripcion y la companía de la que provienen. Tamben se ve, gracias a la vista por ramas, desde que proceso se ejecuto cada tarea (por ejemplo, las aplicaciones que tengo abiertas las corri desde el explorer, mientras que los servicios se lanzan desde winlogon.exe).

Casi nada sospechoso...

Sobre esta vista básica Mark nos da una guía rápida de búsqueda: son sospechosos todos los procesos que figuran en violeta (porque el empaquetado es un método de burlar a los antivirus que buscan por firmas), los que no posean ícono, o carezcan de descripción y/o nombre de empresa.

Un segundo filtro para descartar falsos positivos es la verificación de firmas (options->verify image signature). Esto achica el rango de sospechosos a los procesos no firmados, y nos permite distinguir procesos maliciosos que pretenden ser de windows. Igualmente hay que tener cuidado con esto, porque hay algunos procesos legítimos que no estan firmados. Y el otro problema es que necesitamos estar conectados a internet, lo que no es del todo recomendable si sospechamos que tenemos virus. Aquí que cada uno haga su solucion de compromiso.

Cuando el virus/spyware tiene alguna manifestacion visible (por ejemplo, muestra un mensaje de "Su PC esta infectada"), tenemos una herramienta para encontrar el proceso que pertenece a una ventana.

Y cuando ya tenemos a los sospechosos, ProcEx nos muestra más información en las propiedades del proceso. Ahí podemos consultar la ubicación del ejecutable, ver si está conectado a internet y a que sitio; e incluso realizar un volcado de las cadenas de texto dentro del ejecutable (o en memoria, si está empaquetado) para mirarle las tripas buscando mensajes del hacker en cuestión, tratando de ubicar cadenas de texto sospechosas o páginas de internet a las que el bicho intenta conectarse (una búsqueda por "http" basta para eso).

Aqui persiguiendo a un inocente: FScapture quiere que lo registre.

Una vez que identificamos el/los procesos maliciosos, podemos proceder a matarlos y borrarlos a mano. Hay que tener especial cuidado con los procesos solidarios, que se reviven entre si haciéndos mas difíciles de borrar. En ProcEx es fácil identificarlos gracias al highlight: Los procesos que mueren se subrayan en rojo y se muestran durante un segundo (puede cambiarse en las opciones), y los que nacen lo mismo, pero en verde. Para eliminar estos Mark recomienda usar la función "suspend" sobre todos los implicados, y después matarlos sin problemas.

Y hasta aquí llega el uso que le doy al programa. No exprime toda su funcionalidad (por ejemplo, la vista de las librerías en uso no me dice nada), pero es un avance con respecto al uso que le encontré a otros visores como Procx o Dtaskmanager.

En la próxima entrega de "Russinovich´s fanatics" (la tercera) voy a ver si puedo secribir algo acerca de la otra herramienta estrella de Sysinternals: Autoruns. O por ahi no.

PD: A los amigos del gremio que pasen por aca; se aceptan sugerencias!

9 comentarios:

Peste dijo...

Una del presente, una a futuro:

(a) ProcExp sabe llamar a Dependency Walker, lo que suele ser irrelevante en la lucha contra el malware pero de gran ayuda en caso de "DLL hell" (en castilla, conflicto de librerias).

(b) Cuando se habla de AutoRuns, hay que mencionar a HijackThis. Tengo para mi que hoy en dia es inferior, pero mientras se siga usando, hay que manifestar opinion sobre el.

Anónimo dijo...

Peste: a) No conocía DW. Me lo guardo porlasdudas, aunque hace tiempo que no tengo un "caso" de esos.
b) Por ahora vengo usando ambos, HJT mas por costumbre que otra cosa. Pero debo reconocerle a Russinovich que la verificacion de firma, la inclusion de las tareas programadas en la lista y el método de restauracion de entradas borradas son una ventaja de Autoruns.

Anónimo dijo...

Process Explorer es de lo mejor para encontrar cosas que "no cierran", pero también es cierto que hay mucho malware por ahí dando vueltas que ya tiene en la mira a las apps de Sysinternals a causa de esto. A menos que realmente lo necesite, yo suelo manejarme con un Total Commander portable junto con unos plugins que permiten administrar servicios, procesos y programas en autorun de una forma muy fácil y siempre dentro de la estética funcional del TC, es lo que más práctico me resulta y además no te lo impide ejecutar ningún malware que yo sepa. Otro administrador de procesos muy completo y similar al Process Explorer es el MKN TaskExplorer 5.0, pero tiene la contra de que requiere instalarse en el sistema.

CoskiBukowski dijo...

Muy buena info!

Se agradece.

Perdon por la cortitud (?) del comment pero son las 4 de la matina casi :P

Abrazo!

walter besuzzo dijo...

lo pongo entre mis blogs,iene un nuevo lector (algo desordenados)

walter besuzzo dijo...

tiene
desordenado

Anónimo dijo...

enbedido!
Digo
Bienvenido!

Anónimo dijo...

http://freesoftwareando.com/1326/malaleche/

G.Ovalle dijo...

ahhhh, parece que fue ayer cuando deje de usar el "Search Online" del procexp y del autoruns porque no buscaban mas en google, sino en live.com (cuando m$ los adquirio, creo que en el 2006), suerte que se dieron cuenta de su error y volvieron a google.
Si te queda corto el "relato" sobre el autoruns agregale el regmon y el filemon (ambos hoy reeemplazados por el Process monitor). Muy utiles a la hora de ver donde se guardan las configuraciones, archivos, registros, virus, etc.
Y si tenes ganas, tiempo y algo de maldad agregale tambien las "pstools" (conjunto de herramientas de administracion remota ...)

saludos al gremio