hacktricks/windows-hardening/active-directory-methodology/bloodhound.md

159 lines
9.4 KiB
Markdown
Raw Normal View History

2023-06-06 18:56:34 +00:00
# BloodHound e outras ferramentas de enumeração do AD
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
2022-04-28 16:01:33 +00:00
2022-10-06 23:16:43 +00:00
</details>
2022-04-28 16:01:33 +00:00
2022-10-06 23:16:43 +00:00
## AD Explorer
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
[AD Explorer](https://docs.microsoft.com/en-us/sysinternals/downloads/adexplorer) é da Sysinternal Suite:
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
> Um visualizador e editor avançado do Active Directory (AD). Você pode usar o AD Explorer para navegar facilmente em um banco de dados do AD, definir locais favoritos, visualizar propriedades de objetos e atributos sem abrir caixas de diálogo, editar permissões, visualizar o esquema de um objeto e executar pesquisas sofisticadas que você pode salvar e reexecutar.
2022-04-28 16:01:33 +00:00
2022-10-06 23:16:43 +00:00
### Snapshots
2023-06-06 18:56:34 +00:00
O AD Explorer pode criar snapshots de um AD para que você possa verificá-lo offline.\
Ele pode ser usado para descobrir vulnerabilidades offline ou para comparar diferentes estados do banco de dados do AD ao longo do tempo.
2022-10-06 23:16:43 +00:00
2023-06-06 18:56:34 +00:00
Será necessário o nome de usuário, senha e direção para se conectar (qualquer usuário do AD é necessário).
2022-10-06 23:16:43 +00:00
2023-06-06 18:56:34 +00:00
Para tirar um snapshot do AD, vá em `Arquivo` --> `Criar Snapshot` e digite um nome para o snapshot.
2022-10-06 23:16:43 +00:00
## ADRecon
2023-06-06 18:56:34 +00:00
****[**ADRecon**](https://github.com/adrecon/ADRecon) é uma ferramenta que extrai e combina vários artefatos de um ambiente AD. As informações podem ser apresentadas em um **relatório** do Microsoft Excel **formatado especialmente** que inclui visualizações de resumo com métricas para facilitar a análise e fornecer uma imagem holística do estado atual do ambiente AD de destino.
2022-10-06 23:16:43 +00:00
```bash
# Run it
.\ADRecon.ps1
```
## BloodHound
2023-06-06 18:56:34 +00:00
> BloodHound é um aplicativo web de página única em Javascript, construído em cima do [Linkurious](http://linkurio.us), compilado com [Electron](http://electron.atom.io), com um banco de dados [Neo4j](https://neo4j.com) alimentado por um ingestor PowerShell.
>
2023-06-06 18:56:34 +00:00
> BloodHound usa a teoria dos grafos para revelar as relações ocultas e muitas vezes não intencionais dentro de um ambiente Active Directory. Atacantes podem usar o BloodHound para identificar facilmente caminhos de ataque altamente complexos que, de outra forma, seriam impossíveis de identificar rapidamente. Defensores podem usar o BloodHound para identificar e eliminar esses mesmos caminhos de ataque. Tanto as equipes azul quanto as vermelhas podem usar o BloodHound para obter facilmente uma compreensão mais profunda das relações de privilégio em um ambiente Active Directory.
>
2023-06-06 18:56:34 +00:00
> BloodHound é desenvolvido por [@\_wald0](https://www.twitter.com/\_wald0), [@CptJesus](https://twitter.com/CptJesus) e [@harmj0y](https://twitter.com/harmj0y).
>
2023-06-06 18:56:34 +00:00
> De [https://github.com/BloodHoundAD/BloodHound](https://github.com/BloodHoundAD/BloodHound)
2023-06-06 18:56:34 +00:00
Então, [Bloodhound](https://github.com/BloodHoundAD/BloodHound) é uma ferramenta incrível que pode enumerar um domínio automaticamente, salvar todas as informações, encontrar possíveis caminhos de escalonamento de privilégios e mostrar todas as informações usando gráficos.
2023-06-06 18:56:34 +00:00
O Bloodhound é composto por 2 partes principais: **ingestores** e o **aplicativo de visualização**.
2022-02-24 21:08:46 +00:00
2023-06-06 18:56:34 +00:00
Os **ingestores** são usados para **enumerar o domínio e extrair todas as informações** em um formato que o aplicativo de visualização entenderá.
2022-02-24 21:08:46 +00:00
2023-06-06 18:56:34 +00:00
O **aplicativo de visualização usa o neo4j** para mostrar como todas as informações estão relacionadas e para mostrar diferentes maneiras de escalar privilégios no domínio.
2023-06-06 18:56:34 +00:00
### Instalação
2022-07-28 09:46:19 +00:00
1. Bloodhound
2023-06-06 18:56:34 +00:00
Para instalar o aplicativo de visualização, você precisará instalar o **neo4j** e o **aplicativo Bloodhound**.\
A maneira mais fácil de fazer isso é apenas fazer:
```
apt-get install bloodhound
```
2023-06-06 18:56:34 +00:00
Você pode **baixar a versão comunitária do neo4j** a partir [daqui](https://neo4j.com/download-center/#community).
2022-07-28 09:46:19 +00:00
2023-06-06 18:56:34 +00:00
1. Ingestores
2022-02-24 21:08:46 +00:00
2023-06-06 18:56:34 +00:00
Você pode baixar os Ingestores de:
2022-02-24 21:08:46 +00:00
2022-07-28 09:46:19 +00:00
* https://github.com/BloodHoundAD/SharpHound/releases
* https://github.com/BloodHoundAD/BloodHound/releases
* https://github.com/fox-it/BloodHound.py
2023-06-06 18:56:34 +00:00
1. Aprenda o caminho a partir do gráfico
2022-02-24 21:08:46 +00:00
2023-06-06 18:56:34 +00:00
O Bloodhound vem com várias consultas para destacar caminhos de comprometimento sensíveis. É possível adicionar consultas personalizadas para aprimorar a pesquisa e correlação entre objetos e muito mais!
2022-02-24 21:08:46 +00:00
2023-06-06 18:56:34 +00:00
Este repositório tem uma boa coleção de consultas: https://github.com/CompassSecurity/BloodHoundQueries
2022-07-28 09:46:19 +00:00
2023-06-06 18:56:34 +00:00
Processo de instalação:
2022-07-28 09:46:19 +00:00
```
$ curl -o "~/.config/bloodhound/customqueries.json" "https://raw.githubusercontent.com/CompassSecurity/BloodHoundQueries/master/BloodHound_Custom_Queries/customqueries.json"
2022-02-24 21:08:46 +00:00
```
2023-06-06 18:56:34 +00:00
### Execução do aplicativo de visualização
2023-06-06 18:56:34 +00:00
Após baixar/instalar as aplicações necessárias, vamos iniciá-las.\
Primeiramente, você precisa **iniciar o banco de dados neo4j**:
```bash
./bin/neo4j start
#or
service neo4j start
```
2023-06-06 18:56:34 +00:00
A primeira vez que você iniciar este banco de dados, precisará acessar [http://localhost:7474/browser/](http://localhost:7474/browser/). Serão solicitadas credenciais padrão (neo4j:neo4j) e você será **obrigado a alterar a senha**, portanto, altere-a e não a esqueça.
2023-06-06 18:56:34 +00:00
Agora, inicie o aplicativo **bloodhound**:
```bash
./BloodHound-linux-x64
#or
bloodhound
```
2023-06-06 18:56:34 +00:00
Você será solicitado a inserir as credenciais do banco de dados: **neo4j:\<Sua nova senha>**
2023-06-06 18:56:34 +00:00
E o Bloodhound estará pronto para receber dados.
2022-07-28 09:46:19 +00:00
![](<../../.gitbook/assets/image (171) (1).png>)
2022-09-05 08:45:47 +00:00
### SharpHound
2020-11-28 16:06:00 +00:00
2023-06-06 18:56:34 +00:00
Eles têm várias opções, mas se você quiser executar o SharpHound a partir de um PC conectado ao domínio, usando seu usuário atual e extrair todas as informações possíveis, você pode fazer:
```
2023-02-26 21:44:57 +00:00
./SharpHound.exe --CollectionMethods All
Invoke-BloodHound -CollectionMethod All
```
2023-06-06 18:56:34 +00:00
Você pode ler mais sobre o **CollectionMethod** e a sessão de loop [aqui](https://bloodhound.readthedocs.io/en/latest/data-collection/sharphound-all-flags.html)
2023-06-06 18:56:34 +00:00
Se você deseja executar o SharpHound usando diferentes credenciais, pode criar uma sessão CMD netonly e executar o SharpHound a partir dela:
```
runas /netonly /user:domain\user "powershell.exe -exec bypass"
```
2023-06-06 18:56:34 +00:00
[**Saiba mais sobre o Bloodhound em ired.team.**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-with-bloodhound-on-kali-linux)
2023-06-06 18:56:34 +00:00
**Silent do Windows**
2022-09-05 08:45:47 +00:00
### **Python bloodhound**
2020-11-28 16:06:00 +00:00
2023-06-06 18:56:34 +00:00
Se você tiver credenciais de domínio, poderá executar um **ingestor python bloodhound de qualquer plataforma**, portanto, não precisará depender do Windows.\
Baixe-o em [https://github.com/fox-it/BloodHound.py](https://github.com/fox-it/BloodHound.py) ou faça `pip3 install bloodhound`.
2020-11-28 16:06:00 +00:00
```bash
bloodhound-python -u support -p '#00^BlackKnight' -ns 10.10.10.192 -d blackfield.local -c all
```
2023-06-06 18:56:34 +00:00
Se você estiver executando através do proxychains, adicione `--dns-tcp` para que a resolução DNS funcione através do proxy.
2022-05-15 15:22:36 +00:00
```bash
proxychains bloodhound-python -u support -p '#00^BlackKnight' -ns 10.10.10.192 -d blackfield.local -c all --dns-tcp
```
2022-09-05 08:45:47 +00:00
### Python SilentHound
2023-06-06 18:56:34 +00:00
Este script irá **enumerar silenciosamente um domínio Active Directory via LDAP** analisando usuários, administradores, grupos, etc.
2022-09-05 08:45:47 +00:00
2023-06-06 18:56:34 +00:00
Confira em [**SilentHound github**](https://github.com/layer8secure/SilentHound).
2022-09-05 08:45:47 +00:00
2022-10-17 08:47:51 +00:00
### RustHound
2023-06-06 18:56:34 +00:00
BloodHound em Rust, [**confira aqui**](https://github.com/OPENCYBER-FR/RustHound).
2022-10-17 08:47:51 +00:00
2022-10-06 23:16:43 +00:00
## Group3r
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
[**Group3r**](https://github.com/Group3r/Group3r) **** é uma ferramenta para encontrar **vulnerabilidades** no Active Directory associadas à **Política de Grupo**. \
Você precisa **executar o group3r** a partir de um host dentro do domínio usando **qualquer usuário do domínio**.
2022-10-06 23:16:43 +00:00
```bash
group3r.exe -f <filepath-name.log>
# -s sends results to stdin
# -f send results to file
```
## PingCastle
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
O **PingCastle** avalia a postura de segurança de um ambiente AD e fornece um **relatório** agradável com gráficos.
2022-10-06 23:16:43 +00:00
2023-06-06 18:56:34 +00:00
Para executá-lo, você pode executar o binário `PingCastle.exe` e ele iniciará uma **sessão interativa** apresentando um menu de opções. A opção padrão a ser usada é **`healthcheck`**, que estabelecerá uma **visão geral** da **domínio**, e encontrará **configurações incorretas** e **vulnerabilidades**.&#x20;