Español | English
rss facebook linkedin Twitter

Cambios en Citadel: AntiVM y cifrado


Analizando una muestra de la última versión de Citadel (1.3.4.5), nos encontramos con dos cambios que pretenden hacer más difícil la vida del analista.
En primer lugar, se anunciaba que disponía de protección anti emulación y sandbox, y realmente es cierto.


Traducción: Añadida protección anti-emulacion, que protege tu botnet ante la ingeniería inversa y de su inserción en trackers. Cuando se inicia, se vigila que no se esté ejecutando en una máquina virtual o en una sandbox como CWSandbox, se comporta diferente y tu botnet pasa inadvertida. Los detalles no se publican. Los detalles se mantienen privados.

Esta protección busca diferentes nombres en las características de los procesos en memoria y, en caso de encontrarlos, no se comporta como es habitual, sino que trata de hacer creer que el servidor del panel de control  no se encuentra activo.
En caso de detectar la máquina virtual, generará un nombre de dominio falso dependiente de la máquina y continuará la ejecución normal tratando de conectarse al mismo. Se puede reconocer este dominio falso fácilmente, puesto que se crea con el siguiente formato, rellenando los 16 bytes con el MD5 de un CLSID:
  • http://%02x%02x%02x%02x%02x%02x%02x%02x.com/%02x%02x%02x%02x/%02x%02x%02x%02x.php

Esta técnica, aunque lógica, no es la empleada habitualmente, ya que casi siempre el malware opta por terminar la ejecución si detecta alguna amenaza.
Los patrones buscados son los siguientes, pertenecientes a las dos máquinas virtuales más populares y a distintas aplicaciones sandbox:
  • *vmware*
  • *sandbox*
  • *virtualbox*
  • *geswall*
  • *bufferzone*
  • *safespace*

En un caso normal como la ejecución en una máquina virtual de vmware, bastará con matar los procesos relacionados con vmware para que la infección tenga lugar.
En vez de mostrar código, esta vez vamos a jugar con otras aplicaciones y, con un editor de recursos, vamos a modificar un notepad, introduciendo la palabra vmware en el campo perteneciente al nombre de compañía o “CompanyName”.




De esta manera, si ejecutamos este notepad, tendremos una falsa infección (primera resolución de dominio de la siguiente imagen), mientras que si lo lanzamos sin él, tendremos una infección real (segunda resolución).


 El segundo cambio se trata de una modificación del algoritmo RC4. Ya no se usa el algoritmo RC4 estándar como hasta la fecha, sino que se ha modificado y ahora se utiliza un identificador o “hash” que el binario trae en su interior, tal y como se puede ver en la siguiente imagen.


Durante el bucle de cifrado, además de los XOR característicos del algoritmo RC4, en cada iteración realiza un XOR con un byte de dicha cadena de caracteres, la cual va consumiendo de manera cíclica.

Esta modificación hará que deba cambiar también la implementación en el servidor, puesto que este algoritmo es utilizado para cifrar el tráfico y, como decía en el anuncio, el panel de control no será compatible con versiones anteriores del troyano.

Jozsef Gegeny & Mikel Gastesi
S21sec ACSS

(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login