Un recorrido por el "metasploit" de la NSA y sus exploits para Windows

lunes, 24 de abril de 2017

En estos días, una de las noticias que ha generado mucho movimiento en la comunidad de seguridad ha sido la nueva publicación de TheShadowBrokers relacionada con el hackeo que originalmente habría sido realizado a la NSA alrededor de 2013. Esta vez, han compartido en un repositorio de GitHub una gran cantidad de datos que demuestran que la NSA tiene (¿tiene?) acceso a diversas entidades bancarias y financieras y al servicio SWIFT, como así también parte del "arsenal" de herramientas y exploits pertenecientes a dicha entidad, que afectan a diversas plataformas.



Resulta interesante ver la confianza en la efectividad de las herramientas que se refleja en los comentarios de la detallada documentación que poseen, sugiriendo, por ejemplo, que "tomemos una cerveza" para festejar el éxito


En nuestro laboratorio hemos comenzado por probar una de las herramientas más interesantes de las que se han publicado, (Fuzzbunch, algo así como el "Metasploit" de la NSA), junto con aquellos exploits dirigidos a diferentes versiones de Microsoft Windows cliente y servidor. 

En Fuzzbunch, la sintaxis de uso y sus respectivos parámetros se asemejan mucho al conocido Metasploit. Sin embargo, la versión de Fuzzbunch publicada en esta filtración es antigua y se desconoce si existe una más actualizada. Puede ser ejecutada únicamente en sistemas de 32bits, está desarrollada en Python 2.6 y también depende de versiones antiguas de la librería PyWin32 (a efectos prácticos de las pruebas, esto último nos obliga a disponer de al menos un Windows XP x32 donde instalaremos Python 2.6 y la versión v2.12 de PyWin32).

Fuzzbunch es sin duda una herramienta interesante porque los exploits del leak dependen de su funcionamiento, y como es de esperar, no funciona tan solo haciendo lo antes mencionado y llamando al script. Debemos realizar algunas pequeñas modificaciones sobre el script principal llamado "fb.py" y sobre el archivo "Fuzzbunch.xml". En el caso de "fb.py" se debe comentar la línea 72 tal como se ve puede apreciar en la imagen siguiente con el fin de evitar un error que arroja el script al intentar cargar el directorio "ListeningPost" que no se encuentra disponible dentro del código filtrado.



En el caso de "Fuzzbunch.xml" se deben modificar las líneas 19 y 24, ya que poseen rutas hardcodeadas que en nuestro sistema no existen, por lo que debemos actualizarlas con otras que sí existan en nuestro sistema, como se puede ver en la Imagen 4.


Con esos pequeños cambios, ya es posible ejecutar y tener funcional en nuestro Windows XP, la versión de Fuzzbunch publicada.


De aquí en adelante, podemos jugar un poco con la herramienta sabiendo que la parte más interesante, al igual que en Metasploit, es encontrar el exploit ideal para ejecutar contra las víctimas. Dentro de los exploits disponibles para Windows en este leak, los más relevantes y sobre los que más se hablan en estos días, son aquellos pertenecientes a la serie "ETERNAL", particularmente "ETERNALBLUE" que ofrece una shell sin necesidad de interacción con el usuario afectado ni de credenciales válidas (condiciones ideales para un Remote Code Execution), contra Windows 7 y Windows Server 2008. El efecto es muy similar al conseguido con el famoso exploit de MS08-067 para Windows XP y que cada cierto tiempo se sigue encontrando (increíblemente).

En este sentido, hemos sido los primeros en publicar en el famoso sitio exploit-db un "whitepaper" que explica paso a paso cómo puedes utilizarlo desde Fuzzbunch (versión en español aquí y versión en inglés aquí).

Además, del resto de los exploits disponibles al día de hoy para utilizarse en Fuzzbunch, hemos creado una pequeña tabla en base a nuestras pruebas de laboratorio sobre aquellos que afectan a las diferentes versiones Microsoft Windows:


Por otro lado, como se puede observar en el archivo readme que se encuentra en el repositorio de GitHub del leak, la mayoría de los exploits que se han publicado para Windows afectan a diferentes versiones de SMB y por eso, para explotarlos por lo general será necesario interactuar con el puerto 445 (RPC y SMB a través de TCP/IP) en el sistema operativo. Algo muy útil en redes internas, y quizás no tan complejo como  pensamos en la red abierta.

Para tener una idea de la cantidad de equipos que exponen el puerto 445 a Internet (de los cuales muchos de ellos son Windows) podemos hacer una simple búsqueda en Shodan:



Obviamente no todos los equipos publicados son vulnerables. Además Microsoft ha publicado ya parches con el fin de mitigar las vulnerabilidades que aprovechan estos exploits. Pero si muchos pentesters (y atacantes) seguían aprovechando MS08-067 en 2017... ¿Cuánto tiempo podrán disfrutar todavía de ENTERNALBLUE?


La NSA disponía de estas herramientas desde hace tiempo (por fechas de los archivos, probablemente al menos desde 2011) y aún nos queda mucho por delante para seguir estudiando el resto de las herramientas y exploits liberados actualmente porque, y por lo que aparenta, se van a liberar más en el futuro.

Innovación y laboratorio

Claudio Caracciolo
claudio.caracciolo@11paths.com
Coordinador del equipo de CSA y Oficina Argentina 
@holesec 

Sheila Berta 
sheila.berta@11paths.com
@unapibageek

1 comentario:

  1. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar