Major update до 9ой версии
Обновление инструмента для выявления связей и построения графов в 💻 Active Directory. Достаточно учетной записи доменного пользователя.
Для сбора информации используются коллекторы bloodhound-ce, SharpHound или RustHound-CE
Установка:
curl -L https://ghst.ly/getbhce | docker compose -f - up
http://localhost:8080/ui/login
Логин admin и сгенерированный пароль
Для обновления переходим в директорию с docker-compose.yml и запускаем:
docker compose pull && docker compose up
Сбор информации:
python3 bloodhound-python -u domain_user -p 'P@ss' -ns 10.0.0.1 -d contoso.com -c all --dns-tcp
Neo4j запросы:
# Domain Admins и время установки пароля
MATCH (g:Group) WHERE g.name =~ "(?i).*DOMAIN ADMINS.*" WITH g MATCH (g)<-
[r:MemberOf*1..]-(u) RETURN u.name AS User,
datetime({epochSeconds:toInteger(u.pwdlastset)}) as passwordLastSet, datetime({epochSeconds: toInteger(u.whencreated)}) AS dateCreated ORDER BY u.pwdlastset
# Сервисные УЗ, время установки пароля, дата создания
MATCH (u:User) WHERE u.hasspn=true AND (NOT u.name STARTS WITH 'KRBTGT') RETURN u.name
AS accountName, datetime({epochSeconds: toInteger(u.pwdlastset)}) AS passwordLastSet,
datetime({epochSeconds: toInteger(u.whencreated)}) AS dateCreated ORDER BY u.pwdlastset
# Пользователи и описание
MATCH (u:User) RETURN u.name as username, u.description as description
# Domain Admins или Administrators с сессией исключая DC
MATCH (c1:Computer)-[:MemberOf*1..]->(g:Group) WHERE g.objectid ENDS WITH '-516' WITH
COLLECT(c1.name) AS domainControllers
MATCH (n:User)-[:MemberOf*1..]->(g:Group) WHERE g.objectid ENDS WITH '-512' OR
g.objectid ENDS WITH '-544'
MATCH p = (c:Computer)-[:HasSession]->(n) WHERE NOT c.name in domainControllers return
p
# Неограниченное делегирование исключая DC
MATCH (c1:Computer)-[:MemberOf*1..]->(g:Group) WHERE g.objectid ENDS WITH '-516' WITH
COLLECT(c1.name) AS domainControllers
MATCH (c:Computer {unconstraineddelegation:true}) WHERE NOT c.name IN domainControllers
RETURN c
# Пользователи с ограниченным делегированием
MATCH p = ((u:User)-[r:AllowedToDelegate]->(c:Computer)) RETURN p
Подробный гайд:
🔗 The Ultimate Guide BHCE
🔗 Адаптация на русском
ADCS атаки:
🔗 Part 1
🔗 Part 2
🔗 Part 3
Ссылки:
💻 Home
💻 Download
📔 Docs
#bloodhound #pentest #ad #soft #bhce
✈️ Telegram 💬 MAX
