miércoles, 6 de junio de 2012

El ingenioso método de distribución de TheFlame en redes internas


Según los últimos datos registrados en Virustotal, ya se puede confirmar la existencia de TheFlame desde 2009, además de que otros investigadores se remontan hasta finales de 2008. Veamos su interesante funcionamiento para apoderarse de toda una red interna.

TheFlame utiliza numerosos módulos para llevar a cabo sus diferentes funcionalidades. Una de las formas más ingeniosas es su método de propagación por la red interna. Stuxnet (ya lo apuntamos en una una-al-día anterior) cometió el error de transmitirse indiscriminadamente por USB, lo que aceleró su descubrimiento. El método de ejecución era totalmente nuevo e ingenioso (lo conseguía incluso con el Autorun/Autoplay desactivado), pero indiscriminado. TheFlame juega mejor sus cartas en este sentido.

En resumen, una máquina ya infectada, intercepta las llamadas a Windows Update realizadas por los otros servidores de la red local. Simula un proxy mediante el protocolo estándar WPAD (Web Proxy Autodiscovery Protocol). Este protocolo funciona así en Windows:

Cuando se inicia Internet Explorer, si está configurado el proxy en "Detectar automáticamente" (por defecto) comenzará un proceso que lleva al problema de hombre en el medio, y que ya ha sido explotado anteriormente por otras herramientas antes que por TheFlame.


Si el servidor DHCP de la red interna no proporciona el lugar de este archivo de configuración de proxy wpad.dat, IE intentará acudir wpad.company.com. Si no lo encuentra, usará WINS/NetBIOS para intentar resolver. Esto es lo que permite un ataque MITM, y que el sistema víctima acuda a un servidor incorrecto. NetBIOS es un sistema "punto a punto" y muy sencillo de falsificar. Un equipo solo tiene que realizar una difusión por la red proclamando que tiene un nombre concreto. Esto es lo que hace la máquina ya infectada, consiguiendo engañar al resto en la LAN y que acudan a ella a descargar el la supuesta configuración del proxy. Esta configuración del proxy está modificada para que las máquinas que la apliquen lleguen a un sitio falso de Windows Update.

Habitualmente, aunque se acudiese a un sitio falso de Windows Update a actualizar, la actualización no sería posible porque esta falsificación no tendría los paquetes firmados por Microsoft. Pero como ya sabemos, TheFlame sí los tenía firmados, con lo que se completa el ataque de forma limpia y silenciosa.

Por tanto, los módulos encargados de este proceso, son:
Fuente: http://www.symantec.com/connect/sites/default/files/images/flamer1.png
 
  • Snack: Se trata de un sniffer de red local NetBIOS, encargado de capturar las resoluciones a la configuración wpad.dat.
       
  • Munch: Alojado también en la misma máquina. Un falso servidor de actualizaciones, que se identifica mediante el nombre NetBIOS “MSHOME-F3BE293C” y que distribuye el malware en forma de un paquete de Windows Update malicioso. El resto de sistemas en la red lo aceptarán porque está firmado, y así consigue pasar totalmente desapercibido.
       
  • Gadget: Transmite el malware a las máquinas ya infectadas en la red. Se llama así porque se reparte entre las máquinas en forma de actualización llamada "Allows you to display gadgets on your desktop."

El proceso completo sería el siguiente:

  1. Los clientes realizan peticiones WAPD a través de NetBIOS, porque tienen configurado la autoconfiguración del proxy pero no definida en la compañía por DHCP o DNS.
       
  2. TheFlame devuelve una configuración WPAD maliciosa. El proxy les engaña y redirige al equipo infectado cuando quieren actualizar.
       
  3. Los clientes una vez configurados realizan peticiones Windows Update, pero en realidad se la están haciendo a un servidor en la red interna controlado por TheFlame, con el nombre MSHOME-F3BE293C.
       
  4. TheFlame les devuelve un binario firmado dentro de un cab. Tumbler (con nombre de archivo WuSetupV.exe).
       
  5. Tumbler descarga e instala TheFlame en los equipos de la red interna.

Así, en una red con un equipo infectado, los sistemas adyacentes totalmente actualizados acababan con el troyano. ¿Cómo era posible? Lo lógico ha sido pensar en una nueva vulnerabilidad... pero no es que aprovechara un 0-day, es que se distribuía como nueva actualización. Ingenioso.

Tenemos así varias capas de ataque. Pero falta aún la pieza que hace se infecte a la primera máquina en la red. Esto podría conseguirse, por ejemplo a través de una vulnerabilidad aún no descubierta en Windows, ingeniería social, etc. No se sabe.

Como vemos, TheFlame tiene especial interés en distribuirse a través de una red interna y una organización. No olvidemos que incluso intentaba contactar con dispositivos bluetooth (móviles, ipads...) cercanos.

Más información:

Stuxnet, Flamer, Flame, Whatever Name: There’s no good malware

Spreading the Flame: Skywiper Employs ‘Windows Update’

‘Gadget’ in the middle: Flame malware spreading vector identified

Flame malware used man-in-the-middle attack against Windows Update

W32.Flamer: Microsoft Windows Update Man-in-the-Middle




Sergio de los Santos
Twitter: @ssantosv

José Mesa Orihuela



1 comentario:

  1. "Pero falta aún la pieza que hace se
    infecte a la primera máquina en la red. Esto podría conseguirse, por
    ejemplo a través de una vulnerabilidad aún no descubierta en Windows,
    ingeniería social, etc. No se sabe." Es muy probable que se trate de un método de ingeniería social. La lucha contra el malware avanza mucho más rápido que la capacidad humana para solventar el obstáculo de la credulidad, la ingenuidad y la "buena fe". Administro una red y compruebo cada día como cada compañero que la usa no toma ni las mínimas precauciones para evitar propagar o recibir infecciones de malware y las reincidencias son comunes. Formatea un ordenador, instala el S.O. y pasado mañana estará tan infectado que sería necesario recomenzar de nuevo de cero en pocas semanas.

    ResponderEliminar