¿Gmail como server de C&C? OMG! – Parte I

¿Qué os parecería si pudierais controlar un equipo a través de Gmail? Este es el tema del que vamos a hablar hoy. Descubrimos tras una pequeña búsqueda un script en Python desarrollado por @byt3bl33d3r que emplea los servidores de Gmail como un servidor de “Command and Control” (C&C).

¿Y qué es un servidor de Command and Control?
Un servidor de C&C o botmaster es el encargado de gestionar una red de equipos infectados conocidos como “bots”. Estos pueden ser manipulados a través de diversos canales, como por ejemplo IRC, con el objetivo de mandarles órdenes tales como el envío masivo de spam, ataques remotos, esnifar el tráfico de la red (traffic sniffers) o Denegación Distribuida de Servicio (DDoS – Distributed Denial of Service), etc.

¿Cómo funciona este script denominado “Pyexfil”?
Este script tiene la finalidad de controlar un equipo infectado o víctima a través del envío y recepción de correos electrónicos a una cuenta de gmail especificada por el atacante, empleando el protocolo SMTP sobre SSL/TLS que utiliza el puerto 587.

Si convertimos dicho script en un ejecutable mediante Py2Exe, lo incrustamos en un fichero PDF y lo combinamos con ataques de Ingeniería Social o yendo más allá, con ataques más dirigidos como podría ser un caso de “Spear Phising”, esto podría suponer un grave riesgo para una organización, ya que la confidencialidad, disponibilidad e integridad de su información se verían comprometidas.

Una vez el equipo ha sido infectado, éste notifica al C&C que ha sido comprometido mediante el siguiente email.

A partir de este instante pueden ejecutarse comandos en el equipo de la víctima, mediante el envío de un email a la cuenta e indicando la etiqueta “Commands”.

Tal y como podemos observar en la captura, se envía en el cuerpo del correo el comando “dir” que solicitara al equipo de la víctima el listado de ficheros y directorios.

Posteriormente, llegará un email con el listado de directorios solicitado.

Éste es un ejemplo sencillo de cómo obtener un listado de ficheros. Pero este script no solo se limita a esta acción. Dado que, como hemos comentado en la introducción, está controlado por un C&C, el equipo víctima puede descargarse software malicioso y realizar acciones como ataques DDoS, envío de spam o yendo un paso más allá, obtener acceso a la red interna de la organización a través de una Shell.

Hasta ahora hemos visto una breve descripción del script desde el punto de vista de un atacante, ¿y si ahora cambiamos la perspectiva y nos situamos en la parte de la defensa de una organización? ¿Cómo podríamos detectar esta fuga de información?

Este C&C sería fácil de evitar si bloqueamos el tráfico de SMTP sobre SSL, excepto en aquellos casos en que la entidad emplea Gmail como correo corporativo porque puede ser que los empleados utilicen clientes de correo en sus equipos.

A continuación, dejo una serie de preguntas y/o situaciones que se nos podrían pasar por la cabeza a la hora de analizar un incidente de este tipo. Supongamos que detectamos tráfico como anómalo o que nos llama la atención:

  1. En primer lugar, pensaríamos “¿Google está extrayendo información?”, podríamos sospechar que algo está pasando al ver el puerto destino 587, pero comprobamos que se trata de tráfico legitimo al ser el puerto que emplea Gmail para el servicio SMTP sobre SSL/TLS.
  2. A continuación diríamos “El usuario dispone de un cliente de correo instalado en su equipo”, y además concluiríamos “Perfecto, el empleado está usando SSL!!”.
  3. Pero por si acaso, se nos ocurre comprobar el equipo y entonces vemos que no tiene ningún cliente instalado. Aquí ya decimos “Ostras, WTF!”, ya que al hacer uso de un canal cifrado nos dificulta detectar la ejecución de comandos.
  4. En ese momento, salta la liebre y aparece la frase “Rápido, ¡desconectar el equipo de la red! y bloquear la… ¿bloque qué? ¿A Gmail? SERIOUSLY! ¡Si es nuestro proveedor de servicio! Espera, espera… ¿Hay más equipos infectados? ¿Qué protocolo de actuación seguimos?”

Voy a dejar los siguientes pasos en el aire, para que vosotros comentéis vuestras impresiones, y proseguiremos investigando acerca de este tipo de tráfico o la descarga del PDF o del ejecutable.

Fuente e imágenes: http://sign0f4.blogspot.com.es/2014/07/pyexfil-using-python-to-make-gmail-c.html

Comments

  1. http://nacho says

    ¡Ganas de ver la segunda parte!

  2. Creo que no lo he entendido bien: ¿eso no sería muy ruidoso? ¿el usuario no vería el tráfico de correos en su bandeja?