TGViewer
Whitehat Lab Whitehat Lab @wh_lab · 3.18K subscribers
Post #252 1.2K
🔄😉 BloodHound CE v7.3.1

Обновление инструмента для выявления связей и построения графов в 💻 Active Directory. Достаточно учетной записи доменного пользователя.
Отличный инструмент при пентесте 💻 AD среды.
Для сбора информации используются коллекторы bloodhound-ce или SharpHound

Bonus:

BadSuccessor query - dMSA (delegated Managed Service Account) в Windows Server 2025

MATCH (c1:Computer)-[:MemberOf*1..]->(g:Group) WHERE g.objectid ENDS WITH '-516' WITH COLLECT(c1.name) AS dcs MATCH (c2:Computer) WHERE c2.enabled = true AND (c2.operatingsystem contains '2025') AND (c2.name IN dcs) RETURN c2.name


Установка:

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

P.S. Сам таки полностью перешел на CE версию и legacy использовать больше желания нет 👍😅

#bloodhound #pentest #active_directory #soft #bhce

✈️ Whitehat Lab 💬 Chat
  • 🔥 3
  • ❤ 1
More from @wh_lab
  1. Sep 25, 2026Регистрация на SolarCTF открыта ☀️ Первые студенческие соревнования по кибербезопасности о…
  2. Sep 24, 2026📌 До ZeroNights 2026 осталась 1 неделя ! Время протестировать свою готовность к конференц…
  3. Sep 24, 2026⚙️ CVE PoC Search Engine Поисковик PoC'ов от наших китайских товарищей A modern, standalon…
  4. Sep 23, 2026💻 GPOddity The GPOddity tool aims to automate gPCFileSysPath attack vectors to exploit vu…
  5. Sep 22, 2026🔄 💻 evil-winrm-py 1.7.0 Аналог одноименной утилиты написанный на 😰 Python Python-based…
  6. Sep 21, 2026🔄🕸 humble v1.66 Быстрый анализатор HTTP заголовков, ориентированный на безопасность В 🐧…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →