ZeuS-P2P internals – understanding the mechanics: a technical report

El título del post da referencia a un informe que se ha liberado hace unos días por parte del CERT de Polonia. El informe detalla el funcionamiento del troyano bancario ZEUS/P2P también conocido como GameOver.

Como sabéis un troyano bancario tiene como finalidad acabar robando dinero de las cuentas de particulares y de empresas. Para ello, utiliza inyecciones en el navegador, cambia el archivo hosts de la máquina, entre otras acciones.

Si alguien quiere tener mas información, puede consultar esta infografía de Kaspersky.

Infografía Zeus malware

La versión Zeus y la versión P2P de Zeus son distintas.

¿Que cambios hay en la nueva versión?

  • Comunicación P2P: La estructura tradicional del malware es que cuando infecta la máquina y el troyano roba los datos, los comunica a su panel de control central. La configuración i/o nuevas versiones del malware también se descarga del C&C.
  • DGA: En el caso de que el troyano no pueda comunicarse con la red P2P, genera dominios de manera automática. Estos dominios se pueden generar en base a distintos factores pero el mas usado suele ser en base al día y el mes.
  • Recursos firmados: Para prevenir la distribución de bots firmados por alguien que no sea el BotMaster, esta versión de GameOver usa clave del tipo RSA.
  • Cambios en el algoritmo de compresión: La versión de Zeus anterior usa ULC una implementación Open Source de del algoritmo NRV. En esta nueva versión usa funciones de  una librería zlib.
  • Cifrado adicional: Los datos almacenados se guardan con una sola clave.
  • DDoS: Es capaz de lanzar ataques de este tipo.
  • HTTP  via P2P: Es capaz de usar servidores P2P para las comunicaciones HTTP.
  • PCRE: La implementación de PCRE para la creación de reglas.
  • En el informe también se comenta  que parte del código de la versión 2.0.8.9 ha sido reescrito.

Webfilters

Dependiendo del dominio que tenga configuradoel troyano capturará los datos de envio o no.

En el archivo de configuración las URL vienen ya configuradas con unos símbolos.

  • Símbolo ! => Se capturará toda la información que se envíe.
  • Símbolo @ => Se hará una captura de pantalla
  • Símbolo !*=>Se ignorará todo lo que venga de esas URL

Webinjects.

Los troyanos bancarios se apoyan en un ficheros de inyecciones, cuando hookean el navegador y detectan que el usuario navega hacia la página que tiene configurada el troyano que va a atacar inyectan el código en sitios específicos.

Inyección

En la segunda entrega seguimos repasando mas aspectos del informe.

Subir