Active | Hack The Box

En este tutorial voy a mostrar como obtuve la bandera root en la máquina Active de Hack The Box. Esta propiedad se presenta como un desafío de nivel fácil.

Active

20 de diciembre de 2024

Enumeración


Para comenzar voy a realizar un escaneo de puertos con nmap:

Nmap

Veo que se encuentra abierto el puerto 445, el cuál permite el intercambio de archivos, impresoras y otros recursos entre computadoras dentro de una red local (LAN). Con lo cuál voy a ingresar al servicio para ver la lista de los recursos compartidos. Para ingresar voy a usar "Administrator" como contraseña, ya que es la que viene por defecto:

smbclient Administrator

Ahora voy a intentar ingresar en alguno de los "sharenames" para ver si es posible ver algo más de información.

Tras haber probado ingresar en cada uno de los sharenames solo tuve acceso al de nombre "Replication", así que voy a ingresar para ver de que se trata:

Smb Replication

Navegando un poco dentro del recurso encontré un archivo XML, el cuál contiene información de un usuario y una contraseña cifrada en gpp, la cuál puedo descifrar usando la herramienta gpp-decryot:

Gpp decrypt

Una vez recuperada la contraseña voy a ingresar nuevamente al servicio smb pero esta vez con las credenciales que encontré:

smb users

Para este punto probé ingresar con ADMIN$ pero no me fue posible, así que voy a investigar un poco que hay en USERS y dentro de USERS encontré la bandera de usuario.

Escalada de Privilegios


Ahora si, llego el momento de escalar privilegios para encontrar la bandera root.txt. Al momento de realizar la enumeración con nmap, pude notar que la máquina utiliza el servicio Active DIrectory. Este servicio se utiliza para administrar los recursos en una red, como usuarios, computadoras y políticas de seguridad. Una de las funciones clave de Active Directory es la autenticación, y para ello usa el protocolo de autenticación llamado Kerberos que verifica la autenticidad de los usuarios. Kerberos funciona mediante el uso de tickets que son emitidos por un servidor de autenticación central, conocido como el Key Distribution Center (KDC), que consta de dos partes principales: el Authentication Server (AS) y el Ticket Granting Server (TGS).

  • Autenticacion inicial: Cuando un usuario intenta iniciar sesión en una red basada en AD, su cliente envía una solicitud al AS en el KDC. El AS verifica la identidad del usuario utilizando una clave derivada de su contraseña y emite un Ticket Granting Ticket (TGT).

  • Solicitud de Acceso a Servicios: Si el usuario necesita acceder a un servicio en la red (como un archivo compartido), el cliente presenta el TGT al TGS. El TGS verifica el TGT y emite un ticket de servicio específico para acceder al recurso deseado.

  • Acceso al Servicio: Finalmente, el cliente presenta el ticket de servicio al servidor que proporciona el recurso, y si el ticket es válido, se le concede acceso.

A pesar de las medidas de seguridad, Active Directory puede ser vulnerable ya que si comprometemos a un usuario que tiene un TGT valido, podemos solicitar uno o mas tickets para cualquier nombre de servicio.

Para comenzar con al escalada de privilegios voy a usar impacket, el cual ya viene instalado en kali.

impacket administrator

Acá me dice que puedo obtener el ticket desde el usuario "administrator", así que voy a pedir el ticket:

Ticket

Obviamente el ticket esta hasheado, así que voy descifrarlo usando john the ripper:

Ticket descifrado

Una vez obtengo la contraseña voy a ingresar usando la herramienta de impacket:

Ingreso admin

Y ahora solo resta navegar por los directorios hasta encontrar la bandera root.txt.

Espero que este tutorial te haya sido de ayuda!