• XSS.stack #1 – первый литературный журнал от юзеров форума

Погружение в пентест AD. Инструменты разведки(не про PowerView). Часть 2

Knodb

floppy-диск
Пользователь
Регистрация
20.08.2021
Сообщения
8
Реакции
16
Всем привет. За окном осень, а это значит я опять лишён покоя пора возвращаеться в рабочий ритм. В начале лета я пытался запустить цикл статей об изучении пентеста AD с нуля, который так и не получил жизнь. Первая часть
Тем не менее, я не забил на на эту тему и с переменным успехом продолжал постигать основы и тренироваться. Теперь, имея за плечами, хоть какие-то знания я рад сообщить, что мы продолжаем. Как и ранее скажу, что я лишь учусь и все комментарии, советы и объективную критику жду в комментариях.Ну чтож, не будем медлить и перейдем к сути.

В этой будет краткий обзор инструментов для разведки ВРУЧНУЮ. Многие знают эти инструментмы, многие нет. Но как известно идеальных вещей не бывает, у всех есть свои недостатки и достоинства.
О них и пойдет речь далее. Во второй части этой статьи(которая как я надеюсь выйдет через пару недель) я постараюсь разобрать уже более серьезные инструменты для автоматического или полу-автоматического сбора даннах.

ADExplorer
Это неплохой инструмент из набора Sysinternals, подходящий для новичков. Он может подойти, если вы оказались на машине, но не смогли повыситься и у вас нет кредов.
Можно без проблем затянуть его на машину(0 детектов), запустить через консоль и забрать себе снимок или же юзать прямо через RDP.
Запуск через командную строку(не забываем про стандартную для сиснтернелов -accepteula)
ADExplorer64.exe -snapshot 'ИмяDC' ./ad.dat


1 (2).png

Далее тащим его на машину и открываем

2.png


Стоит помнить, что это создает много шума и база достаточно увеситстая, так что нужно посмотреть размер и решить стоит ли ее тащить к себе или лучше быстро глянуть на хосте(если RDP доступ)
Теперь составляем LDAP запрос. Наример этот покажет пользователей, которых можно скерберосить.

3.png


Тут обращу ваше внимание, что мы выбираем class только для того, чтобы выбирать из атрибутов этого конкретного класса.
Тоесть если бы мы не указали фильтр samaccounttype, то поиск выдал бы объекты ЛЮБЫХ классов.

Из плюсов
Это подписанный модуль микрософт
Графический интерфейс достаточно удобный, очень хорошо помогает в понимании самой базы AD
Можно визуализировать запросы ldap
Можно составлять кастомные запросы, через GUI
Можно сделать снимок AD и работать с ним удаленно

Из минусов
Нельзя автоматизировать получечение интересующей информации
Нет удобного просмотра ACE

Итог: Этим инструментом нельзя провести полноценную разведку(как минимум из-за отсутсвия удобной инерпретации ACL объектов), но как по мне он хорош для новичков, которым пока что тяжело ориентироваться в консольных утилитах.
Или, как говорилось выше, если мы оказались на хосте, без локал админа, без кред и хотим быстро глянуть общую информация о сети, ее размеры, какие в ней машины, описание пользователей, UAC и т.д

UPD: Недавно узнал, что существует инструмент, который конверирует базу этого инструмента в формат bloodhound'a.




AdFind
В целом хороший инструмент, о котором не знает только кто не читал маны конти ленивый.
Интересной его особенностью помимо 32 детектов на ВТ является, то что запускается он только если имеет название exe'шника adfind.
По сути единственное, что он делает это вызывает запрос по определенному фильтру.

Ключ -c просто распечатает количество найденных объектов.
C помощью ключа -f можно указать ldap фильтр для поиска, а с -b указать путь в котором ищем объекты.
UPD: когда я сказал, что он простой, то сделал ошибку. Наберите Adfind.exe /?? и посмотрите на настраиваемых список агрументов...

4 (2).png

Пример вывода
5 (2).png


Из плюсов
Простой в использовании
Можно запрашивать только интересующую информацию, не создавая лишнего шума

Из минусов
Нужно патчить, чтобы изменить имя
Закрытый исходный код

Вывод: Учитывая высокий рейтинг детектов(как на сам бинарь, так и потенциально на LDAP запросы) данный инструмент затруднительлно использовать сейчас(имхо).


Было бы преступлением протсо сказать аля инструмент гумно он палится по LDAP'y. Дабы не быть голословным покажу как можно (относительно) удобно просматривать LDAP запросы, приходящие на DC.
Надеюсь, что все слышали про ETW, но вы не представляете насколько интересна для исследования эта штука. Поэтому сегодня будет небольшое погружение и в нее.
Ниже проделанные действия рекомендую проделывать в своей лабе, где только 2 используемых компа(можно вообще один DC оставить), дабы не было много мусора.

Переходим в Perfomance Monitor
И создаем нового получателя ETW сообщений

12.png

Задаем имя и выбираем Create manually. Жмем далее.
Отвечаем как показано на картинке.

13.png

Выбираем поставщика с таким именем
14.png


Теперь запускаем сборищк. Результат будет хранится, там куда указывает стрелка.
15.png


Когда вы сделали все необходимые запросы жмете stop. Иначе файла не будет видно. И конвертируете в удобный вам формат, csv как пример.

tracerpt -l “.\DataCollector01.etl” -of CSV

16 (2).png



Вернемся к adfind. Я 3 раза запросил через него разные данные и сравнил результат. Как видно, несмотря на то, что я запрашиваю разные данные(2 сымые нижние строки) он делает одинаковые запросы(выделенные строки), которые можно отследить и пресекать на корню всю его активность.

17.png






dsquery
родная программа от microsoft. По функционалу очень похожа на предыдующую, но не имеет детектов.
Казалось бы зачем тогда нужен adfind? К сожалению, и тут не обошлось без подводных камней. dsquery установлен далеко не везде.
По моим наблюдением он всегда доступен на DC, а вот с рабочими станциями и серверами все обстоит не очень.
Я пытался перенести этот exe'шник с DC на рабочую станцию, но он не выдавал никакого результата. Если кто знает возможно ли это пофискить(и как), буду рад услышать.
Тем не менее если нам повезло и dsquery все же имеется, то использовать его очень просто.
dsquery * -filter "caм LDAP запрос" -attr "интересущюие аттрибуты(можно выбрать все используя *)"
Пример:
dsquery * -filter "(objectclass=computer)" -attr serviceprincipalname - показать spn у всех комьютеров

dsquery * -filter "(samaccounttype=805306368)" -attr serviceprincipalname - показать пользователей уязвимых к керберостингу. Как видим мой тестовый домен безопасен и у меня их нет :)
11 (2).png


Синтаксис LDAP'a реально простой. Вы можете потренироваться на ADexplorer, который трасформирует выбранные вами в графическом интерфейсе данные в текстовый LDAP запрос.
Итог: хороший инструмент, жалко, что не везде получается его запустить.




Ping Castle
Автоматический сканер, который в один клик, позволит получить представление о сложности предстоящего пентеста.
6.png


На моем тестовом домене показывает довольно высокий уровень угрозы. Но не стоит радоваться раньше времени. Это лишь значит, что нам есть на что здесь обратить внимания.
Запускаем и перед нами предстает информация о пользователях, компьютерах, группах, трастах, гпо, парольной политике и многом другом и все это в одном месте(html отчете).

Например я не знал, что в дефолтных ГПО хранятся настройки привелегий.
7.png


Можно экспортировать пользователей и компьютеры в отдельный файлик одной командой
PingCastle.exe --export users
8 (2).png


Из интересного еще имеется возможность запустить дополнительные проверки по типу антивирусного ПО, скана на Zerologon,Запущен ли spooler, установлены инструменты для удаленного администрирования и так далее.
9 (2).png


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



Пару слов о PowerSploit
Про сам powerview поговорим как-нибудь в другой раз. Почему-то я долго не замечал такую интересную фичу, как сравниватель схемы(или как это назвать? :) )Некоторые приложения модифицируют схему AD, добавляя объектам кастомные свойства. Иногда в них хранится ценная инфомация. В любом случае стоит на них взглянуть.
Параметр -Class принимает значения только user и computer. Но можно самостоятельно расширить его и для других объектов

Invoke-CompareAttributesForClass -Class user | Where-Object {$_.SideIndicator -eq "=>"}

10 (2).png





И закончим сегодня 2-мя инструментами, написанными на python. На линухе они работают, на винде не тестил.
Первый ldapdomaindump - этот инструмент полезен тем, что генерирует отчет в 3 форматах, среди которых пристуствует приятночитаемый HTML отчет по компьютерам, пользователям, группам, трастам.
На этом собственно его особенности заканчиваются.

Следующий гость msldap - имеет много интересных возможностей, но с точки зрения разведки нас интересуют такие команды, как
spns - показать аккаунты, уязвимые для керберостинга
asrep - думаю вы сами догадались
query *запрос* - сделать простой запрос
В целом, предоставляет достаточно возможностей из коробки, рекомендую ознакомится с ним однозначно, если еще нет.


На сегодня мой рассказ окончен. Мы рассмотрели несколько интересных на мой взгляд инструментов. Надеюсь вы подчерпнули для себя что-то новое. Как видно инструментов для ручной разведки много, но все они требуют от оператора много времени, чтобы он знал что ищет. Поэтому в следущий раз я расскажу вам как же ускорить этот процесс использую автоматические и полуавтоматические тулзы. Спасибо за внимание!
 
Последнее редактирование:
С каких пор адфайнд запускается только если назван adfind.exe ?)
Я тебе больше скажу, его даже криптовать можно
Кстати можно запускать удаленно если добавить пару параметров
Ну и адфайнд и адексплоер это не совсем руками

Но за статью лайк, так держать !
 
Спасибо.
Название статьи родлилось еще перед ее написанием, так что тут не буду спорить))
Ну и адфайнд и адексплоер это не совсем руками


Вот adfind с офф сайта. У меня не запускает, хз в чем дело.
adf (2).png



И немного не понял, что под этим имеется ввиду?
Кстати можно запускать удаленно если добавить пару параметров
 
Интересной его особенностью помимо 32 детектов на ВТ является, то что запускается он только если имеет название exe'шника adfind.
Хорошая шутка, но на самом деле в этом adfind и прочих подобных тулзах нет никакого смысла
Все что вы получаете тулзу с 32 детектами которая делает пару запросов в LDAP.
Нет никакой причины тащить на хост(зачастую являющийся foothold) всякий хлам на который уже везде есть IoCs

dsquery
родная программа от microsoft. По функционалу очень похожа на предыдующую, но не имеет детектов.
От рекона с помощью стандартных тулз винды нужно давно отказаться(Привет quakbot,IcedID)
Понимаю что быстро, удобно и на первый взгляд не имеет детектов, но это не так.

Тут надо понимать что у корп av/edr/xdr есть два способа отреагировать на действие:первое это алерт+блокировка действия на машине(то что на домашних компах и называется "детектом"), после чего машина будет автоматически изолирована и отключена от интернета.
Второй способ - алерт в панельку
Так вот, вы попадаете на самые примитивные детекты используя net,systeminfo,nslookup и прочий набор джентельмена.
Для вас ничего не произошло, ваше действие не заблокировали,но админу в панель упало пару жирных алертов
В конце концов если в компании есть ИБ отдел хост отключат от сети и начнут расследование

Тк рекон проводится на начальных этапах и вы не успели пробиться на другие машины/учетки,то после этого доступ умрет и останется только зайти на форум чтобы написать что пентест мертв и мы его убили
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх