BloodHound
Es una de las herramientas mas utilizadas y mas famosas de recopilacion de informacion y nos sirve tambien como herramienta de analisis de vulnerabilidades es una solucion que se basa en la teoria de grafos y lo que va hacer va a ser recopilar toda la informacion de nuestro dominio, todos esos objetos y representarlos en forma de grafos con la relaciones que hay entre ellos.
Encontraremos la herramienta en el siguiente repositorio:
URL = GitHub BloodHound
Por defecto no viene instalado en kali
por lo que lo instalaremos de la siguiente manera:
Con esto se instalara todo lo necesario para dicha herramienta, pero una de las cosas que tambien tendremos que configurar para que esto vaya es el neo4j
que es una base de datos tambien de grafos la cual depende de bloodhound
por lo que tendremos que configurarla de forma inicial poniendo lo siguiente:
Info:
Esto lo que va hacer es crear los ficheros necesarios para dicha base de datos y estara abierta en un link en concreto que lo veremos en la terminal, en mi caso es el siguiente:
Por lo que nos conectaremos por ahi en un navegador web.
Lo unico que cambiaremos en la interfaz grafica sera el usuario y contraseña que es lo que nos pide neo4j
.
Primero metemos la de por defecto para posteriormente cambiarla:
Ahora te pedira poner una nueva contraseña:
Y le daremos a Change Password
.
Ahora ya podemos cerrar la pagina y abriremos otra terminal:
Nos aparecera esta ventana:
Metemos el usuario que es neo4j
y la contraseña que pusimos anteriormente en neo4j
.
Echo esto entraremos en una interfaz blanca en la que de momento no habra datos, pero pongamos que nos dan un equipo Windows
con el usuario de dominio, lo que haremos sera ejecutar un script del repositorio de bloodhound
que sera en el siguiente link:
URL = Script BloodHound WIndows
Copiamos el codigo y lo pegamos en un fichero de texto en la maquina Windows
del equipo que nos han proporcionado en este caso el WS01
.
Cambiamos la extension .txt
a un .ps1
(sh.ps1
) y ya estaria listo para ejecutar.
Ahora tendremos que abrir una PowerShell
en el empleado1
:
Para cargar el script y haremos lo siguiente:
Con esto lo que hara sera recopilar absolutamente toda la informacion del dominio, pero antes de ejecutarlo haremos un mini cambio en nuestro DC
.
Nos vamos al Servidor del Administrador
-> Usuarios y equipos de Active Directory
-> Users
-> vamos a crear un nuevo grupo dandole al icono de 2 personas como haciamos anteriormente Nombre de grupo: Executives
-> Aceptar
-> click derecho a Executives
-> Propiedades
-> Miembro de
-> Agregar
-> ponemos admins
para que coja admins. del dominio
-> Aplicar
-> Aceptar
-> vamos a crear un usuario llamado empleado4
con inicio al dominio tambien con el mismo nombre con contraseña Passw0rd4
marcamos el que nunca expira -> Finalizar
-> click derecho en el empleado4
-> Propiedades
-> Miembro de
-> Agregar
-> ponemos Exec
y nos lo rellena con Executives
-> Aceptar
-> Aplicar
-> Aceptar
.
Con esto lo que hemos echo es crear un grupo de ejecutivos en el que tiene un subgrupo
que es el de administradores, y el usuario empleado4
pertenece al de executives
que a su vez esta en el de admins, por lo que seria un usuario administrador dicho usuario, para que ahora veamos que facil es identificar todo esto en los datos que nos proporciona BloodHound
.
Ahora si nos vamos a donde estabamos en el equipo WS01
y ejecutamos el script.
Info:
Esto lo que va hacer es volcarnos 2 ficheros en el escritorio los cuales nos tendremos que pasar al kali
que seran los que tengamos que cargar en el BloodHound
para que nos haga el grafo, etc...
El archivo que nos interesa pasar al kali
es el ZIP
por lo que nos lo pasaremos.
Una vez que nos lo hayamos pasado, lo arrastramos el ZIP
a BloodHound
y esto cargara todo de forma automatica viendose algo asi:
Le daremos a Clear Finish
y cuando no veamos nada significa que ya habra cargado todos los archivos del dominio.
Y en la parte de la izquierda ya veremos informacion de primeras:
Nosotros podremos buscar por un nodo
en la parte de Search for a node
pondremos por ejemplo empleado1
y lo seleccionamos, ya que nos esta detectando que en la informacion que recopilo encontro eso mismo.
Si nosotros le damos doble click a empleado1
nos aparece toda la informacion de dicho empleado:
Si nosotros queremos ver la informacion del grupo de los usuarios del dominio, buscaremos usuarios
y seleccionamos el que nos encuentra llamado usuarios del grupo de dominio
.
Si le damos doble click:
Vemos cuantos usuarios hay en el, etc...
Ahora si pulsamos en los Miembros directos
(Members Direct
) nos sacara todos esos usuarios de forma directa en un grafo:
Pero lo mas potente que tiene BloodHound
es que tiene diversas tecnicas, diversas querys
las cuales podemos ver en la seccion de Analisys
:
Lo que hace esto es sacar qerys
complejas y sacarlas en forma de grafico representandolas graficamente.
Por ejemplo si yo quiero saber de golpe cuales son los Domains Admins.
podemos pulsar en esta de aqui:
Y veremos lo siguiente:
Por ejemplo habremos descubierto que empleado4
pertenece al grupo administradores gracias al grupo Executives
, por lo que podemos marcarle como usuario de alto valor dandole click derecho al empleado4
:
Y pinchamos en la opcion llamada Mark User as High Value
y ahora lo veremos asi:
Con el diamante, esto lo hacemos para marcar un usuario importante donde si lo comprometo podremos obtener privilegios de administrador directamente.
Tmbien podremo ver rutas
mas cortas para llegar a ser administrador de dominio
.
Y veremos esto en el grafo:
Si nosotros por ejemplo no sabemos una de las ruta que nos pone en algun grafico o cualquier cosa, solo le tendremos que dar click derecho y veremos esto:
Le daremos a Help
:
Y podremos ver la informacion de lo que es este GenericAll
, tambien nos proporciona varios tipos de abuso en los cuales podremos escalar privilegios, a parte de que tambien nos da referencias a paginas y videos en los cuales explica todo esto, etc... Asi en cada uno de ellos.
Podremos ver diversas qerys
en el siguiente link de GitHub
:
URL = Custom Querys BloodHound GitHub
Para poder utilizar una Query personalizda
podremos hacerlo copiando la Qery
por ejemplo esta de aqui:
Copiaremos esto en concreto:
Y lo pegaremos en la siguiente seccion de BlodHound
:
Abajo donde pone Raw Query
lo abrimo y lo pegamos en esa barra de busqueda.
En mi caso me aparecera esto:
Y tambien podremos importar el JSON
del GitHub el cual te lo explica todo en los repositorios, etc...
Last updated