WriteUp CTF Sauna (Active Directory) de Hack The Box

Introducción

Sauna (CTF Hack The Box) es una máquina Windows calificada como fácil y su IP es 10.10.10.175. Primero encontré una aplicación web en ejecución y, descubrimos algunos nombres de usuario.

Primero realizamos un ataque de ASREPRoastings con la lista de usuarios creadas cn los nombres encontrados en la web. Después volcamos el hash de fsmith, que desciframos utilizando hashcat y John.  

segundo, obtenemos acceso usando las credenciales encontradas. Para la parte de escalada de privilegios, pudimos encontrar una contraseña en el registro para el usuario svc_loanmgr usando winPEAS.

Finalmente, con esa contraseña realizamos la elevación de dos maneras, la primera haciendo un volcado de hashes utilizando la herramienta impacket-secretsdump con los datos del usuario svc_loanmgr y una segunda, en la que utilizamos BloodHound y mimikatz para obtener el hash NTLM de administrator y evil-winrm para conectarnos al objetivo como administrador.

Enumeración

Comenzamos enumerando los servicios que tiene abiertos nuestro objetivo.

Una vez realizado el escaneo procedemos a revisar los diferentes puertos abiertos. Observamos que existe un AD bajo el dominio EGOTISTICAL-BANK.LOCAL que posiblemente nos ayude a obtener información del sistema, pero vamos a ir paso a paso investigando las posibles opciones.

Pasamos al puerto 80 donde vemos el siguiente portal web:

Investigamos un poco la web y tampoco vemos ningún vector posible. Buscamos acerca de alguna vulnerabilidad de IIS en la versión 10.0 aunque tampoco conseguimos demasiada información relevante del mismo.

Procedemos entonces a realizar diferentes enumeraciones en el servicio para intentar obtener datos suficientes para conseguir acceso a la máquina.

Utilizaremos como primera opción el script enum4linux:

Aunque en este caso tampoco obtenemos demasiada información.

Vamos a enumerar smb con la herramienta smbclient.

Tampoco obtenemos nada interesante.

Recordamos que el puerto 389 estaba abierto (Active Directory LDAP). Vamos a enumerar información utilizando la tool windapsearch.

Pero no devuelve nada útil. Vamos a utilizar ahora impacket-GetADUsers.

Volvemos a la web. Vamos a realizar enumeración de directorios, a ver si existe algún directorio con información interesante.

Vamos a acceder al /about.html.

Encontramos esto interesante, son trabajadores de la empresa, y al mismo tiempo, pueden ser usuarios dentro del sistema.

Creamos una lista con los nombres de usuarios disponibles. (usernames.txt)

Ahora vamos a utilizar una tool que sirve crear variaciones sobre los nombres aportados dentro del archivo usernames.txt.

Con esta lista de usuarios vamos a intentar un ataque kerberoasting sobre el dominio de Windows.

Vamos a decodificar el hash.txt. Para ello, vamos a utilizar John-the-Ripper, y también el tándem name-that-hash – hashcat.

La contraseña para el usuario fsmith es Thestrokes23.

Vamos a probar también con John.

Ahora tenemos el nombre de usuario y la contraseña, así que conectemos con “Evil-WinRM”.

Acceso a la máquina objetivo

Tenemos credenciales de la cuenta de dominio activa que usamos la herramienta “Evil-WinRM” para obtener sesiones remotas.

Y dentro de la máquina tenemos acceso a la flag user.txt

Elevación de privilegios

Somos usuarios en esta máquina y vamos a enumerar para obtener la raíz.

Para hacer enumeración de la información disponible en el sistema, vamos a utilizar la herramienta winPEAS.exe.

Después de realizar la exploración con winPEAS, encontramos un par usuario y contraseña.

Con este usuario y contraseña vamos a hacer varias cosas, vamos a entablar Shell con evil-winrm para explorar el contenido disponible para este usuario y por otro lado, vamos a realizar un pass-the-hash con impacket-secretsdump para hacer un volcado de los hashes del sistema.

Otra forma de bsucar una vía de elevación de privilegios, es utilizar la herramienta BloodHound. Vamos a ello.

Parece que el usuario no es correcto, vamos a buscar que usuarios forman parte del sistema.

Parece que el usuario svc_loanmanager existe en el sistema con el nombre svc_loanmgr. Volvemos a iniciar sesión con el nuevo usuario encontrado.

Volvemos a utilizar la herramienta winPEAS para buscar información interesante dentro del nuevo usuario. Pero tras su ejecución y análisis de los resultados, no encuentra información que nos pueda ser útil en la elevación de privilegios.

Vamos a realizar un pass-the-hash con la herramienta impacket-secretsdump, para ver si podemos realizar un volcado de hashes.

Vemos que nos realiza un volcado con los hashes de todos los usuarios del sistema. Vamos a probar si podemos entablar la Shell con evil-winrm utilizando el usuario administrator y su hash NTLM.

Podemos acceder al usuario administrator y obtener la Shell root.txt

Ahora vamos a realizar la elevación de privilegios, pero utilizando las herramientas BloodHound para buscar posibles rutas de elevación de privilegios y mimikatz para intentar obtener el volcado del hash de administrador.

Primero debemos subir a la máquina objetivo el ejecutable SharpHound, que recopilará toda la información disponible y creará en archivo .zip con toda la información necesaria que posteriormente utilizaremos en BloodHound.

Descargamos el zip generado en nuestra máquina local.

Ahora iniciamos BloodHound y neo4j y cargamos el archivo generado.

Después de importar nuestros archivos, podemos seleccionar “Find Principals with DCSync Rights” y genera un gráfico. Nuestra cuenta de servicio tiene dos permisos. Observe sus permisos similares de administradores.

  1. GetChanges
  2. GetChangesAll

Hice clic derecho en la relación y seleccioné “Help”. En la Información de abuso, aprendí que podemos realizar un ataque DCSync para obtener hash de contraseña.

Vamos a utilizar mimikatz para hacer el volcado del hash del usuario administrator. Vamos a ver como se hace.

Y ahora con este hash y el usuario administrator, volvemos a ejecutar evil-winrm para comunicarnos con la máquina objetivo.

No responses yet

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *