Stuxnet: En busca de exploits 0-days

El origen de la misteriosa bomba de 500 KB aún está por desvelar, pero esta ciberarma digital nos ha mostrado, enseñado y aterrorizado que utilizando una serie de exploits 0-days se puede controlar una central nuclear y que en manos de algún desaprensivo puede llegar a provocar una catástrofe. Tras analizar el funcionamiento de Stuxnet vamos a ver que los atacantes no escatimaron en el uso de exploits para llegar a su destino, la central nuclear de Natanz.

La organización encargada de desarrollar el malware utilizó cuatro exploits 0-days para hacerse con el control del equipo que gestiona el sistema Siemens SCADA. Concretamente aprovecharon las siguientes vulnerabilidades:
  1. Vulnerabilidad en los enlaces de acceso directo de Windows, o archivos .LNK, capaces de ejecutar archivos .DLL maliciosos.
  2. Vulnerabilidad en la cola de impresión de Windows para compartir impresoras.
  3. Vulnerabilidad en el planificador de tareas de Windows que permitía escalar privilegios.
  4. Vulnerabilidad en un archivo del teclado de Windows que permitía escalar privilegios.
Encontrar vulnerabilidades y desarrollar sus exploits para infectar el sistema operativo de la víctima saltándose los permisos de administrador sin que el usuario se percate es una tarea ardua y difícil que no está al alcance de cualquiera. Sin embargo tras la publicación de Stuxnet, Microsoft detectó que la vulnerabilidad que aprovechaba los accesos directos .LNK ya había sido utilizada antes por el troyano Zlob, así como también se conocía la vulnerabilidad que aprovechaba la cola de impresión, ya que ésta había sido publicada en el 2009 por una revista de seguridad polaca. No obstante, Microsoft publicó sus parches tras el descubrimiento de Stuxnet, mientras tanto, estaban ahí fuera para el uso y disfrute de los malos.

En la primera versión de Stuxnet del 2009 el malware utilizaba la característica de Autorun para propagarse, es decir, el malware se ejecutaba automáticamente cuando se insertaba una memoria USB infectada. Posteriormente en la versión del 2010, los atacantes habían sustituido el Autorun por la vulnerabilidad de los accesos directos .LNK, además de firmar el malware con el certificado de la compañía RealTek. Este cambio en el método de propagación provocó que el número de máquinas infectadas ascendiese a 100000, de esta manera los atacantes llegarían antes a su objetivo.

Stuxnet es muy potente por la cantidad de exploits y métodos de propagación que dispone para pasar desapercibido. De los 8 métodos de propagación podemos destacar la manera de infectar archivos de proyecto del software Step 7 de Siemens, mediante la infección del fichero de proyecto, se puede infectar la base de datos de backend que comparten todos los programadores que trabajen en el proyecto, de esta manera al estar la base de datos infectada, se pueden infectar todos los trabajadores del proyecto.

Además de derrochar en exploits y utilizar cuantiosos métodos de propagación, Stuxnet era capaz de mantenerse actualizado utilizando un componente P2P que configuraba a las máquinas en modo cliente/servidor, así como también registraba en cada máquina mediante un log la IP, nombre de dominio y timestamp de los equipos infectados. Log que ayudó a los investigadores a concluir que el foco de la infección se encontraba en Irán.

En definitiva, estamos ante un despilfarro de exploits, métodos de propagación y técnicas de actualización muy bien pensadas y probadas para conseguir sabotear las centrifugadoras nucleares de Irán.

¿Quién está detrás de todo esto? Parece ser que puede ser un problema de estados.

Un saludo amigos!

Commentaires