Ques/Help/Req BloodHound. Натаскиваем ищейку на поиск NTLM Relay

XakeR

Member
Регистрация
13.05.2006
Сообщения
1 912
Реакции
0
Баллы
16
Местоположение
Ukraine
Прежде чем применять технику NTLM Relay, необходимо собрать информацию об исследуемом объекте и выбрать первоочередные цели. Но как это сделать, если атакуемая сеть насчитывает многие десятки или сотни узлов? На помощь придет очень полезный и удобный инструмент — BloodHound!

info​


Рекомендуем начать знакомство с атаками NTLM Relay со статей «Гид по NTLM Relay. Захватываем NTLM-аутентификацию для Relay-атаки» и «Гид по NTLM Relay, часть 2. Проводим Relay-атаки».



Описание проблемы​


С использованием атаки NTLM Relay можно захватить зачастую не одну машину, а иногда даже весь домен. Такая атака может быть крайне эффективной, но сначала нужно качественно проанализировать информацию об интересующей нас цели. Это несложно, когда мы находимся в относительно небольшом домене, но чем обширнее сетевая инфраструктура, тем труднее становится изучать взаимосвязи объектов и выискивать пути повышения привилегий. Попробуем разобраться, как проводить качественный анализ в подобных случаях.

Для анализа взаимосвязей был придуман инструмент BloodHound. Со своей работой он справляется неплохо, представляет архитектуру домена в виде графа, ищет пути для повышения привилегий и прочее. Но «из коробки» у него не очень много прикладных возможностей. Поэтому полезно будет научиться искать с помощью BloodHound необычные векторы, например для Relay-атак.

BloodHound наиболее эффективен для анализа сетей и доменов, насчитывающих сотни тысяч объектов, десятки тысяч машин. С таким доменом крайне тяжело взаимодействовать, некоторые методы анализа вообще перестают работать.

Бывает, что ты можешь захватить много машин с помощью релея, но не знаешь, какую выбрать для атаки. В этом случае можно воспользоваться графами для поиска самой интересной цели.

Очевидно, что так или иначе технику Relay-атаки можно наложить на теорию графов, где машины — это вершины, а ребра — это возможные релеи, но вот с деталями надо разобраться.



Анализ существующих решений​


Для начала заглянем в Google и попробуем найти готовые решения. При поиске кастомных запросов для BloodHound можно наткнуться на некоторые наработки, например:

  • ly4k/Certipy;
  • CompassSecurity/BloodHoundQueries;
  • hausec/BloodHound-Custom-Queries.

Именно для Relay-атак существует несколько крутых запросов, в частности для ESC8. С ним все достаточно просто: он выводит центры сертификации с включенным WebEnroll. На эти центры сертификации можно выполнить Relay-атаку, далее дело техники.

Второй запрос от CompassSecurity, более навороченный, предназначен для поиска в сети компьютеров, входящих в группу локальных администраторов других машин. Выглядит он так:

{ «name«: «Computers Local Admin to Another Computer«, «category«: «Relay«, «queryList«: [ { «final«: false, «title«: «Select a Domain...«, «query«: «MATCH (n:Domain) RETURN n.name ORDER BY n.name DESC« }, { «final«: true, «query«: «MATCH p = (c1:Computer {domain: $result})-[r1:AdminTo]->(c2:Computer) RETURN p UNION ALL MATCH p = (c3:Computer {domain: $result})-[r2:MemberOf|HasSIDHistory*1..]->(g:Group)-[r3:AdminTo]->(c4:Computer) RETURN p« } ] }

Вот какие результаты можно получить, используя этот запрос.

Результат выполнения запроса на поиск машин в локальных админах машин

Очень много машин неявно находится друг у друга в группе локальных администраторов, что создает множество векторов для их захвата. На рисунке выше показана общая картина, а если ее приблизить и рассмотреть внимательнее, мы увидим следующее.

Множество машин являются админами на нескольких других машинахОдна машина является админом на множестве машин

Вот такой красивый «цветочек» из серверов Exchange встречается очень часто.

«Цветочек» из серверов Exchange

Получился результативный анализ взаимосвязей компьютеров — с помощью этой информации можно поднять привилегии в домене. Когда вывод BloodHound содержит большое количество машин, проверить все вручную становится проблематично. Если названия компьютеров ни о чем тебе не говорят, непонятно, какую следует захватывать в первую очередь. А что самое важное — на хосте может быть включен SMB signing, и тогда у нас вообще ничего не получится.

info​


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

Бывает, что мы не можем получить информацию о локальных админах на конкретной машине. Но зато можем предположить по названиям групп или их описаниям, зачем они были созданы. Например, имя ADM_Servers_backups говорит само за себя. Также зачастую машины и пользователи включены в одну группу. Если вдруг два этих условия будут соблюдены, мы можем пробовать повысить привилегии с помощью релея. Для поиска смешанного членства в группах можно использовать запрос от Hausec:

{ «name«: «Find groups that contain both users and computers«, «queryList«: [ { «final«: true, «query«: «MATCH (c:Computer)-[r:MemberOf*1..]->(groupsWithComps:Group) WITH groupsWithComps MATCH (u:User)-[r:MemberOf*1..]->(groupsWithComps) RETURN DISTINCT(groupsWithComps) as groupsWithCompsAndUsers« } ] }Обезличенный пример выполнения запроса

Добавляем атрибуты​


Стандартных атрибутов, которые собираются с помощью SharpHound.exe или BloodHound.py, нам будет маловато. Поэтому надо добавить свои. Ребята из CompassSecurity написали скрипт для добавления новых атрибутов, а также предложили специальный атрибут nosigning. Однако предварительно нам надо собрать информацию о машинах без SMB signing.

warning​


Дальнейшие действия предполагают обработку значений DNSHostName, а не IP-адресов.

Для сбора информации о наличии SMB signing используем CrackMapExec. О том, как это сделать, подробно написано в статьях «Гид по NTLM Relay. Захватываем NTLM-аутентификацию для Relay-атаки» и «Гид по NTLM Relay, часть 2. Проводим Relay-атаки».

Когда у нас есть список машин без SMB signing, добавляем новый атрибут с помощью следующего скрипта:

python3 BloodHoundLoader.py t.txt -m s

После этого мы можем задействовать запросы, использующие новый атрибут. Все у того же CompassSecurity имеется пара запросов, которые укажут нам путь от машин без SMB signing до домена и до привилегированных объектов. Выглядит это примерно так:

{ «name«: «Shortest Paths from no Signing to High Value Targets«, «category«: «Shortest Paths«, «queryList«: [ { «final«: true, «query«: «MATCH p = allShortestPaths((c:Computer)-[r:{}*1..]->(h)) WHERE NOT c = h AND c.hassigning = false AND h.highvalue = true RETURN p« } ] }{ «name«: «Shortest Paths from no Signing to Domain«, «category«: «Shortest Paths«, «queryList«: [ { «final«: false, «title«: «Select a Domain...«, «query«: «MATCH (d:Domain) RETURN d.name ORDER BY d.name ASC« }, { «final«: true, «query«: «MATCH p = allShortestPaths((c:Computer)-[r:{}*1..]->(d:Domain)) WHERE c.hassigning = false AND d.name = $result RETURN p«, «endNode«: «{}« } ] }Пути повышения до привилегированных целейПути повышения до домена от машин без SMB signing

Круто, но есть нюанс. Эти запросы помогают лишь понять, какую машину было бы полезно захватить, но не каждая машина без SMB signing уязвима для атак. Когда мы не знаем, чей хеш нам прилетит, лучше выполнять релей на машину, от которой имеется путь до захвата домена. Примерами таких случаев служат спуфинг‑атаки или использование ярлыков.

Присоединяйся к сообществу «Xakep.ru»!​


Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

-60%

1 year​


9990 рублей 4000 р.


[TD]

1 month_r​


920 р.
[/TD]

Я уже участник «Xakep.ru»
 

AI G

Moderator
Команда форума
Регистрация
07.09.2023
Сообщения
786
Реакции
2
Баллы
18
Местоположение
Метагалактика
Сайт
golo.pro
Native language | Родной язык
Русский
BloodHound является очень полезным инструментом для анализа сетей и доменов, особенно в случае сетей, насчитывающих множество узлов. Он представляет архитектуру домена в виде графа и позволяет искать пути для повышения привилегий.

Когда атакуемая сеть имеет множество узлов, анализ информации может стать сложной задачей. Однако BloodHound помогает в этом, предоставляя возможность искать необычные векторы атак, такие как NTLM Relay.

Для поиска потенциальных целей для NTLM Relay-атак можно использовать готовые запросы в BloodHound. Например, запрос от CompassSecurity, который ищет машины, входящие в группу локальных администраторов других машин. Это может предоставить множество потенциальных целей для атаки.

Когда результаты анализа содержат большое количество машин, проверить их все вручную может быть сложно. В таких случаях полезно использовать графы для выявления наиболее интересных целей.

Также можно добавить новые атрибуты в BloodHound для расширения его функциональности. Например, можно добавить атрибут, указывающий на наличие SMB signing на машинах. Это позволит проводить более точный анализ и, например, искать пути от машин без SMB signing до домена или до привилегированных объектов.

В целом, BloodHound является ценным инструментом для проведения анализа сетей и доменов, особенно в случае больших сетей с множеством узлов. Он помогает искать потенциальные цели для NTLM Relay-атак и проводить более точные анализы с помощью добавления новых атрибутов.
 
198 238Темы
635 210Сообщения
3 618 425Пользователи
Pandar96Новый пользователь
Верх