El siguiente post es una traducción de la publicación King of Spam: Festi botnet analysis publicado en el blog de ESET Norteamérica.

Nuestros colegas de ESET, Eugene Rodionov y Aleksandr Matrosov, realizaron un análisis completo (en inglés) sobre un malware conocido como Win32/Festi. Tal como puede apreciarse en el mencionado análisis, Festi es una botnet que está en circulación desde otoño del 2009. Este malware se actualiza regularmente y de esta forma continúa siendo una amenaza potencial. El mencionado código malicioso es detectado por ESET NOD32 Antivirus bajo la firma de Win32/Rootkit.Festi.

Win32/Festi continúa siendo una de las botnets de spam más activas del mundo. Tal como se informa en el documento, el plugin que incorpora esta amenaza brinda la capacidad de ser utilizada para realizar ataques de denegación de servicio distribuídos (DDoS). Además, el driver que incorpora esta amenaza, el cual opera en modo kernel, brinda funcionalidades más complejas, como por ejemplo:

  • Actualizar la configuración de la amenaza desde el centro de comandos y control de la botnet (C&C).
  • Descargar nuevos plugins para funciones específicas.

Diagrama de Festi

Tal como se puede ver en el diagrama, el driver que opera en modo privilegiado contacta periódicamente al panel de control requiriendo plugins e información sobre la configuración. Los plugins descargados son los que realizan el envío de spam.

Un aspecto particular que tiene esta amenaza es que los plugins no se alojan en ningún dispositivo de almacenamiento, sino que residen en memoria. Por lo tanto, si la víctima percibe algo extraño en su sistema y apaga o reinicia la computadora, el conjunto de plugins desaparecerá de memoria. Además, este tipo de comportamiento dificulta notoriamente el análisis forense de la amenaza ya que el único archivo almacenado en el disco es el driver principal que opera en modo privilegiado, y a su vez este no contiene ningún tipo de información ya sea sobre el payload como también sobre que sitios se está realizando el spam.

Como se mencionó anteriormente, cada plugin realiza diferentes tareas como, por ejemplo, ataques de denegación de servicio o envío de spam, y se comunican con el controlador principal a través de una interfaz definida que se explica con mayor detalle en el informe.

Otro aspecto interesante de Festi es la capacidad de evadir firewalls personales y HIPS (sistema de prevención de intrusos) que están instalados en la máquina infectada. Las comunicaciones con el panel de control de la botnet se realizan mediante el protocolo TCP/IP implementado en Microsoft Windows en modo kernel. Sin embargo el propio bot utiliza una implementación adaptada del servicio de sistema ZwCreateFile para enviar paquetes IRP (I/O request packets o paquetes de requerimiento I/O) directamente al driver.

Finalmente, vale la pena resaltar que Festi detecta si se está ejecutando en un entorno virtualizado y además chequea la presencia de un debugger.

Fernando Catoira
Analista de Seguridad