CyberSecrets
@cyb3r53cr3t5
Блог о наступательной безопасности.
Вся информация представлена в обучающих целях.
10 posts
BloodHound
Трюки BloodHound, Cypher запросы

Маркировка путей компрометации в BloodHound

При проведении пентеста Active Directory мы часто сталкиваемся с задачей наглядно показать заказчику, какие именно цепочки атаки использовались от исходной точки до администратора домена. BloodHound отлично визуализирует граф атак, но по умолчанию не даёт возможности «запомнить» конкретные ребра, которые мы использовали в своей атаке. А ведь именно эти ребра — ключевые шаги, которые мы хотим продемонстрировать в отчете: чтобы заказчик видел не просто абстрактные пути, а реальную цепочку действий, которую мы воспроизвели.

Tag_Tier_Zero и не только

Добавление меток (label) или определенных свойств узлам позволяют группировать узлы по общему признаку и использовать их в запросах Cypher вместо общего перечисления. Так, например, для всех рабочих станций можно добавить метку "Workstation", а для всех серверов "Server" и в зависимости от потребностей использовать эти метки в запросах.

Фильтрация локальных групп в BloodHound

В статье мы определили, что есть проходимые и непроходимые связи. Ребра локальных групп LocalToComputer и MemberOfLocalGroup являются непроходимыми. Исключая их мы можем потерять интересные маршруты. Исправим эту ситуацию.

Проходимые и непроходимые связи в BloodHound

Специалисты, которые самостоятельно пишут Cypher запросы для коротких путей, знают, что в некоторых случаях neo4j выдает не те графы, которые хочется увидеть. Особенно, когда строятся короткие пути от общих групп до группы доменных администраторов. Часто рисуются графы, связанные с шаблонами сертификатов и членством в локальных группах и не только в привилегированных. Эти графы практически невозможно преобразовать в цепочку атаки.