lunes, 19 de marzo de 2012

Nociones básicas de detección de software malicioso. Análisis malware (I)

Éste es el primero de una serie de artículos relacionados con el análisis de malware (software malicioso), en esta primera entrega trataremos la detección de malware a nivel básico, sin utilizar herramientas externas, contaremos tan solo con las que proporciona el sistema operativo. En posteriores entregas iremos introduciendo diversas herramientas especializadas, con las que veremos cómo determinar si en nuestros equipos se ha colado algún intruso. Iremos también combinando estos artículos con casos reales que hemos analizado en nuestro laboratorio.

Algunos usos del malware

Antes de abordar el análisis, mucha gente se estará preguntando, pero ¿para qué querría alguien colarme un malware a mi, si yo no tengo nada en el ordenador? Todos tenemos algo útil en el ordenador que los amigos de lo ajeno pueden codiciar. Pongamos algunos ejemplos:
  • La lista de contactos de la agenda, del messenger, de tu cuenta de gmail, etc.
  • Las credenciales (usuario y contraseña) de tu cuenta de correo, twitter, facebook, etc.
  • Credenciales de cuentas bancarias
  • Datos de las tarjetas de crédito
  • Fotos o vídeos personales
¿Y para qué quieren esa información? En el mundo de cyberdelincuentes hay todo un business que explotar. En base a los datos que hemos mencionado, podrían darles salida del siguiente modo:
  • Envío de SPAM a cuenta de correo
  • Utilización de las credenciales de las cuentas de correo para enviar desde ellas SPAM
  • Realizar transferencias bancarias a cuentas de mulas, personas intermediarias que a través de sus cuentas bancarias facilitan el movimiento del dinero y se quedan una comisión
  • Compras, generalmente por internet, mediante los datos de las tarjetas de crédito sustraídos
  • Extorsionar o difamar o mediante la amenaza o publicación de imágenes o vídeo personales
A quien digas tu secreto siempre estarás sujeto

Además de estos motivos, que estarían relacionados con grupos, más o menos organizados de delincuentes habituales o mafias, hay otro uso o motivación por la que alguien puede querer introducirnos algún tipo de malware, y este es sencillo: conocer nuestros secretos. Leer nuestro correo, ver nuestras fotos, conocer nuestro planes e intenciones. Por lo tanto, pareja, amigos, vecinos, voyeurs, enemigos o la mismísima competencia pueden utilizar algún tipo de malware para obtener tan codiciada información.

Análisis de malware

Si tenemos alguna sospecha de que podemos estar siendo víctimas de dicho espionaje o hemos observado algo extraño en nuestros equipos, o simplemente porque más vale prevenir que curar, podemos echar un vistazo a nuestro equipo en busca de alguna pista que indique que tenemos algún tipo malware.

¿No es suficiente con tener un antivirus o anti-malware?

Es condición necesaria para estar protegido disponer de estas ayudas, pero no es suficiente, básicamente porque no todo el malware es detectado por los antivirus o anti-malware. Te recomiendo la lectura de un artículo anterior para profundizar en este aspecto: Malware y Antivirus.

Vale, ¿cómo miramos si tenemos algún software malicioso en el ordenador?

En este artículo vamos a ver cómo podemos hacer un simple análisis sin contar con más herramientas que las que nos proporciona el sistema.

Para empezar, debemos cerrar todos los navegadores y programas conocidos que sepamos que se conectan a Internet. Una vez hemos minimizado este ruido, podemos utilizar el comando netstat -an para ver de forma rápida las conexiones activas, por ejemplo:




Podemos ver que hay una conexión establecida (ESTABLISHED) con la IP 83.X.X.X al puerto 443. Bueno puede tratarse de una conexión https legítima o puede que no. Veamos como podemos averiguarlo.

En primer lugar, podemos ver que PID y proceso es el responsable de esa conexión. Extendamos nuestro netstat y lancemos el clásico: netstat -nabo para que nos añada esta información:



Bien, parece coherente, el responsable de esa conexión aparentemente es el chrome, a pesar de que hemos cerrado el navegador, pero bueno, siempre hay procesos por ahí corriendo en segundo plano ... o no...

Podemos ver si esa dirección IP es algo conocido, vamos a usar una web, que por experiencia da muy buenos resultados, que nos dirá quién es esa IP con buena precisión geográfica. Nos vamos a http://www.utrace.de:


Bueno, es extraño que un proceso de chrome (a pesar de tener el chrome cerrado) esté conectado a una dirección IP de telefónica de Barcelona, por el puerto 443, que según nslookup es una IP dinámica: dynamicIP.rima-tde.net. Raro es, pero no imposible. Vamos a indagar un poco más.

La resolución inversa de la IP nos da una clásica resolución de IP dinámica de telefónica, pero vamos a ver si hay algún dominio que apunte a dicha IP. Para ello, vamos a usar ipconfig /displaydns que nos proporcionará las resoluciones DNS cacheadas en nuestra máquina. En caso de querer limpiar la caché podemos forzarlo con ipconfig /flushdns.






Interesante, un subdominio de hopto.org que apunta a una IP dinámica de Telefónica. ¿Qué es hopto.org?


Según domaintools.com u otro Whois cualquiera es un dominio de no-ip.com. Bien, la cosa se pone fea. No-IP dispone de un servicio gratuito de gestión dinámica de DNS que permite la creación de hosts que apunten a direcciones IP dinámicas. No hace falta decir que gran cantidad de malware se intenta conectar a diversos dominios de no-ip que apuntan a direcciones IP dinámicas.

Conclusión por el momento, puede que nuestro ordenador esté comprometido y alguien desde una IP dinámica de Telefónica que GeoPosiciona en Barcelona, nos esté siguiendo los pasos.

Si tratamos de analizar el proceso desde el administrador de tareas (crtl+alt+supr) no llegamos a ningún lado, en este caso, ya que el proceso que vemos corresponde a chrome, señal de que es posible de que el malware se haya inyectado en el proceso. En este momento, podríamos, mediante algún debugger (IDA, Olly dbg, Immunity debugger, etc) analizar al proceso y estudiarlo, pero eso será para algún post futuro porque por el momento hemos dicho que no vamos a usar herramientas externas, solo las del sistema.

Una cosa que podemos hacer es intentar matarlo, y ver si se vuelve a crear, señal generalmente de que es un software malicioso que trata de de asegurar su ejecución por todos los medios (persistencia). Podemos también reiniciar y ver si persiste tras el arranque.

Es hora de estudiar el registro para ver si vemos allí algo raro que asegure el arranque del malware con la máquina o sesión. Para ello, podemos usar msconfig. 

Este no es un trabajo sencillo, y va a implicar verificar las rutas y ejecutables que allí encontremos, una por una. Generalmente, podemos recurrir a google para ver si son programas conocidos, pero deberemos prestar mucha atención por si han usado un nombre similar, o incluso el mismo que uno real. En el caso que nos ocupa, encontramos una clave que nos resulta sospechosa, que podemos chequear en la ruta del registro y que es la siguiente:



Google está plagado de referencias de malware con archivos que se llaman así y no parece haber un archivo legítimo de Adobe que se llame de esta forma.

Vamos a analizar algunos datos del binario. Vamos a dicha carpeta con el explorer:


Un binario, sin icono de adobe, no firmado, de 298 KB y de fecha 8/12/2005. Muy antiguo, que extraño que un posible actualizador de Adobe use un binario de 2005, cuando la carpeta de software de Adobe del sistema se creo en 2010. Esto cada vez pinta peor.

Vamos a escanear el archivo, para ello podemos enviarlo por ejemplo a Virustotal:



Bingo, 21 de 43 detecciones de lo que parece ser un troyano. El AntiVirus que tiene la máquina en la que está corriendo es un Avast actualizado y no lo detecta, como hay otros tantos AntiVirus que tampoco. Sin embargo, aunque no hubiese salido ninguna detección (o muy pocas), no hay que descartarlo, ya que si el troyano es muy reciente o está protegido con un Crypter FUD (Full UnDetectable) sería igual de troyano aunque ningún AntiVirus lo detectase.

Vamos a dejar aquí este artículo y seguiremos explicando más cositas en próximas ediciones.


No hay comentarios:

Publicar un comentario