top of page

TryHackMe / Attacktive Directory

  • n3n3c0
  • 4 mar 2022
  • 3 Min. de lectura

Actualizado: 7 mar 2022

Attacktive Directory es una máquina de dificultad media en la cual practicaremos y afianzaremos conocimientos involucrados en Active Directory, hashes, credenciales, recursos compartidos y criptografía.


*Existen varias maneras de solucionar esta sala vulnerable, os enseñare el método por el cual conseguí completarla, pero siempre podréis investigar por vuestra cuenta y sacar vuestra conclusión.


*Todas las herramientas, protocolos e información considerada relevante tiene sus correspondientes enlaces, por si es necesario documentarse y profundizar.



ree



¡Empecemos!


Antes de empezar, tenemos que instalar algunas herramientas, la primera que vamos a instalar va a ser impacket, un proyecto que contiene múltiples clases y scripts que soportan los principales protocolos de red disponibles actualmente, especialmente aquellos utilizados en redes con sistemas Windows.


ree

Después de clonar el repositorio, se instalarán varios archivos relacionados, requirements.txt y setup.py.


Primero instalaremos los requisitos de Phyton para Impacket:


ree

Una vez instalados, instalaremos Impacket:


ree

Por último necesitamos instalar Bloodhunt y Neo4j, para ello instalaremos las dos herramientas con el siguiente comando:

*Es posible que pida permisos de root.


ree

Una vez tengamos todas las herramientas instaladas podemos empezar a hacer la máquina.

Empezaremos por un escaneo de puertos con nmap.

Como podemos ver tenemos varios puertos interesantes abiertos y que el escaneo nos ha sacado el nombre de dominio "spookysec.local".

ree

Podríamos sacar más información con la herramienta enum4linux


ree

ree

Como hemos visto en el puerto 88, se está utilizando Kerberos, Kerberos es un servicio de autenticación de claves dentro de AD, con este puerto abierto, podemos usar una herramienta llamada Kerbrute para descubrir usuarios por fuerza bruta y contraseñas.


Para ello utilizaremos el siguiente comando:


ree

Lo que tenemos que hacer ahora es insertar en el archivo "hosts" el dominio de este servidor junto con su dirección ip, para ello modificaremos "/etc/hosts".


ree

Lo siguiente será descargarse la lista de usuarios y contraseñas que proporciona el apartado cuatro de tryhackme para así poder lanzar kerbrute.


ree

Veremos que conforme van saliendo los usuarios tenemos dos en concreto que nos pueden ser mas útiles:


ree

Vamos a realizar un ataque "ASREPRoasting", que aprovecha el servicio de autenticación previa de Kerberos. Esto significa que un dispositivo debe estar autorizado para comunicarse antes de que esté autorizado para comunicarse en la red. Podemos usar una herramienta llamada GetNPUsers.py del conjunto de herramientas Impacket para encontrar cuentas previamente autenticadas que puedan ser explotadas.


ree

El resultado es este hash que guardaremos en un txt y lo descifraremos gracias a hashcat con fuerza bruta.


ree

ree

Como ya sabemos las credenciales de svc-admin vimos que tenemos abierto el servicio SAMBA con el puerto 445, vamos a intentar conectarnos por SMBCLIENT para ver los recursos compartidos y a cuales puede acceder este usuario.


ree

Vemos que hay un recurso compartido que se llama "backup" que podemos acceder desde este usuario, vamos a intentar acceder a el otra vez con SMBCLIENT con el siguiente comando.


ree

Cuando entremos, si listamos con el comando "ls" podremos ver que existe un archivo llamado "backup_credentials.txt".


ree

Veamos que hay dentro de este archivo, para ello tendremos que utilizar el comando get para descargárnoslo en nuestra máquina.

*Tendrás que ser root para descargartelo.


ree

Nos da una cadena codificada en base 64. La desencriptamos...


ree

ree

Esta cuenta backup tiene un permiso único que permite sincronizar todos los cambios de Active Directory, esto incluye hashes de contraseña, para ello utilizaremos una herramienta llamada "secretsdump.py" que nos permitirá sacar todos los hashes de las cuentas a las que se ha tenido acceso, recordemos que la contraseña es la que hemos adquirido anteriormente.


ree

Ahora con la herramienta psexec.py dentro del directorio de impacket que hemos entrado anteriormente vamos a iniciar sesión con la cuenta de administrador pasando como contraseña el hash que aparece al lado del nombre de administrador.


ree

Ya tenemos acceso a la máquina!


Es una buena praxis el ver si ese hash sirve como método de autenticación o de inicio de sesión dentro de un equipo, porque puede no funcionar porque puede haber un antivirus o firewall que bloquea ese tipo de inicios de sesión, con la herramienta crackmapexec podemos pasar el usuario y el hash y ver si es correcto.


ree

El resultado es un (Pwn3d!) lo que quiere decir que tiene permisos de administrador esta cuenta, si no tiene el resultado pero conserva el símbolo [+] quiere decir que la cuenta sigue siendo válida pero no tiene permisos de administrador


Y una vez con la sesión iniciada podremos ir al directorio del escritorio de cada uno de los usuarios y ver la bandera!!


¡Enhorabuena! Una mas o una menos. ( ͡° ͜ʖ ͡°)








 
 
 

Comentarios


Publicar: Blog2_Post
bottom of page