Twittor controlando los bots a través de Twitter

Twittor: Controla tus bots utilizando Twitter como servidor C&C

En este artículo vamos a ver una herramienta llamada Twittor que permite, de una forma especial y sencilla, el despliegue de una botnet utilizando Twitter como servidor C&C. Por una parte veremos una introducción a Twittor y finalizaremos con una demo del funcionamiento de la herramienta.

¿Qué es Twittor?

Aunque Twittor como tal fue un servicio oculto que estuvo funcionando en la red Tor hasta que fue hackeado, nada tiene que ver con la herramienta que lanzó Paul A. (@PaulWebSec) el pasado 9 de septiembre.

Twittor se trata de una herramienta escrita en Python que permite (a partir de un par de scripts y una aplicación en Twitter que habrá que crear) montar una botnet de una forma muy sencilla, donde Twitter adopta el rol de servidor C&C proporcionando un canal de comunicación (aparentemente legítimo) entre el atacante y los bots.

Dada la naturaleza de Twitter, es difícil encontrar organizaciones (salvo entornos muy restrictivos) que bloqueen el acceso a este servicio. Y es ahí donde Twittor realmente se aprovecha de esta situación, ya que aunque se esté monitorizando el tráfico, las comunicaciones con el servidor C&C podrían ser igual de legítimas que las comunicaciones producidas por un usuario normal al conectarse a su cuenta de Twitter.

Durante su desarrollo el autor se inspiró en Gcat, una herramienta cuya finalidad es idéntica a la de Twittor salvo que esta utiliza Gmail como servidor C&C y ofrece distintos comandos a ejecutar entre los bots.

Respecto a los comandos que Twittor permite ejecutar, a través de la ayuda se pueden observar los siguientes:

$ help

refresh – refresh C&C control
list_bots – list active bots
list_commands – list executed commands
!retrieve <jobid> – retrieve jobid command
!cmd <MAC ADDRESS> command – execute the command on the bot
!shellcode <MAC ADDRESS> shellcode – load and execute shellcode in memory (Windows only)
help – print this usage
exit – exit the client

A lo largo del vídeo se explicarán cada uno de estos comandos.

¿Pero cómo funciona?

Como se ha visto antes, Twittor está compuesto únicamente por dos scripts:

  • Por una parte implant.py, el backdoor que habrá que desplegar en cada uno de los bots.
  • Y por otra parte twittor.py, el cliente que utilizará el atacante para conectarse al servidor C&C y controlar los bots mediante la ejecución de comandos.

La única dependencia que existe en ambos scripts es tweepy, una librería en Python muy sencilla de utilizar para acceder a la API de Twitter.

Además, estos scripts tienen unos parámetros de configuración para especificar los tokens generados por la aplicación de Twitter, y el nombre de usuario asociado a la cuenta de Twitter de dicha aplicación. Nótese que esta configuración tiene que quedar reflejada en todos los scripts de forma idéntica.

De esta forma todas las máquinas, tanto el atacante como los bots, estarán conectadas a la misma cuenta de Twitter y se comunicarán en Base64 a través de mensajes directos.

Mensajes directos disponibles en la cuenta de pruebas

Mensajes directos disponibles en la cuenta de pruebas

El atacante enviará a través de Twittor los comandos en forma de mensajes directos, y los bots, que estarán escuchando constantemente en la misma cuenta, ejecutarán los comandos (que vayan dirigidos a ellos) y enviarán la salida de las ejecuciones también en forma de mensajes. El atacante solo tendrá que preguntar por la tarea solicitada (!retrieve <jobid>) para recuperar la salida del comando enviado.

Escenario de pruebas usado para la demo

Escenario de pruebas usado para la demo

Demo

Antes que nada mencionar que, aunque en el vídeo se haga referencia a la máquina del atacante como panel de control, realmente no es así, sino que Twitter es quien actúa como servidor C&C y el atacante como cliente de este servidor.

Dada la duración del vídeo, a continuación se muestra un índice con los puntos que se tratan a lo largo del mismo junto a unas marcas de tiempo (corregidas respecto a las que aparecen en el vídeo) en caso de que se quiera saltar a algún punto en concreto:

  • Introducción a Twittor [1:50]
  • Escenario de pruebas [2:59]
  • Twittor en funcionamiento
    • Prerrequisitos y configuración de scripts [4:33]
    • Ejecución de comandos [8:24]
  • Explotación de la vulnerabilidad MS15-100 (CVE-2015-2509) mediante Twittor [21:07]

 

Imagen del artículo: This Algorithm Tells You If A Twitter Account Is a Spam Bot

Pedro Castillo

Pedro Castillo

Ingeniero Informático apasionado por la seguridad y la tecnología. Incansable perseguidor de retos. En constante reciclaje.

Ver descripción | Ver perfil en LinkedIn
Pedro Castillo