Bloodhound Queries Cheatsheet

Bloodhound Queries Cheatsheet

O Bloodhound é uma ferramenta excelente, como já foi demonstado no nosso post de Introdução ao Bloodhound e neste post vamos conferir diversas queries úteis que auxiliarão no uso da ferramenta.

GPOS

MATCH p = (m:GPO)-[r:GPLink]->(n:Domain) RETURN p 
  1. Com grupo
MATCH p = (:User)-[:MemberOf*1..]->(:Group)-[:GenericWrite|WriteDacl|GenericAll|WriteOwner]->(:GPO)-[:GPLink*]->(:Domain) RETURN p 
  1. Sem grupo
MATCH p = (:User)-[:Owns|GenericWrite|WriteDacl|GenericAll|WriteOwner]->(:GPO)-[:GPLink*]->(:Domain) RETURN p 
  1. Grupos e usuários
MATCH p = ()-[:Owns|GenericWrite|WriteDacl|GenericAll|WriteOwner]->(:GPO)-[:GPLink*]->(:Domain) RETURN p 
  1. Todos os membros de um grupo específico (DBA como exemplo)
MATCH p = (u:User)-[:MemberOf]->(g:Group {name: "[email protected]"})-[:Owns|GenericWrite|WriteDacl|GenericAll|WriteOwner]->(:GPO)-[:GPLink*]->(:Domain) RETURN p 

Mostrar usuários que têm permissões sobre alguma GPO

MATCH p = (u:User)-[:Owns|GenericWrite|WriteDacl|GenericAll|WriteOwner]->(:GPO) RETURN u 

DCSync

Listar grupos e usuários que têm permissão de DCSync

MATCH p=()-[:DCSync|AllExtendedRights|GenericAll]->(:Domain) RETURN p 

ASRep Roasting

Listar usuários vulneráveis a AS-REP Roasting (Não requerem pré autenticação do Kerberos)

MATCH (u:User {dontreqpreauth: true}) RETURN u 

Kerberoasting

Listar usuários vulneráveis a Kerberoasting (Possuem um Service Principal Name)

  1. Todos os usuários
MATCH (n:User)WHERE n.hasspn=true RETURN n 
  1. Somente os usuários ativos
MATCH (u:User) WHERE u.hasspn=true AND u.enabled =  TRUE RETURN u 

Senhas

Listar usuários que não têm expiração de senha

  1. Todos os usuários
MATCH p = (u:User {pwdneverexpires: True}) RETURN u 
  1. Somente os usuários ativos
MATCH p = (u:User {pwdneverexpires: True}) WHERE u.enabled =  TRUE RETURN u   

Listar usuários que não alteram a senha há mais de 12 meses e estão ativos

MATCH (u:User) WHERE u.pwdlastset < (datetime().epochseconds - (360 * 86400)) and NOT u.pwdlastset IN [-1.0, 0.0] AND u.enabled =  TRUE RETURN u 

Listar usuários que estão com o atributo Password-Not-Required como TRUE e estão ativos

MATCH (n:User {enabled: True, passwordnotreqd: True}) RETURN n 

Listar grupos que podem ler senhas LAPS

MATCH p=(g:Group)-[:AllExtendedRights|ReadLAPSPassword]->(n:Computer) RETURN g 

Listar computadores sem LAPS

MATCH p = (d:Domain)-[r:Contains*1..]->(c:Computer {haslaps: false}) RETURN p 

Projeto de Custom Queries do Bloodhound

Existe um projeto no github com diversas queries úteis para que você utilize no Bloodhound. Abaixo está o comando (tanto no Linux quanto no Windows) para que você as utilize.

Baixar customqueries

  1. No Linux
curl -o ~/.config/bloodhound/customqueries.json "https://raw.githubusercontent.com/CompassSecurity/BloodHoundQueries/master/BloodHound_Custom_Queries/customqueries.json" 
  1. No Windows (Powershell)
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/CompassSecurity/BloodHoundQueries/master/BloodHound_Custom_Queries/customqueries.json" -OutFile "$env:USERPROFILE\AppData\Roaming\bloodhound\customqueries.json" 

Depois de baixar as queries customizadas, basta reabrir o Bloodhound que já aparecerão na sessão de Custom Queries.

Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !

Posts relacionados

Atacando o Kerberos – AS-REP Roasting

Atacando o Kerberos – AS-REP Roasting

O AS-REP Roasting é um ataque que explora uma vulnerabilidade no protocolo de autenticação Kerberos, usado em ambientes Windows.

Ler post completo
Bypass do Defender utilizando substituição de strings

Bypass do Defender utilizando substituição de strings

Substituição de strings é uma das técnicas utilizadas para realizar bypass de antivírus.

Ler post completo
Introdução ao Bloodhound

Introdução ao Bloodhound

O BloodHound é uma ferramenta para análise de relações do Active Directory (AD) que utiliza teoria dos grafos.

Ler post completo