Всем привет. За окном осень, а это значит я опять лишён покоя пора возвращаеться в рабочий ритм. В начале лета я пытался запустить цикл статей об изучении пентеста AD с нуля, который так и не получил жизнь. Первая часть
Тем не менее, я не забил на на эту тему и с переменным успехом продолжал постигать основы и тренироваться. Теперь, имея за плечами, хоть какие-то знания я рад сообщить, что мы продолжаем. Как и ранее скажу, что я лишь учусь и все комментарии, советы и объективную критику жду в комментариях.Ну чтож, не будем медлить и перейдем к сути.
В этой будет краткий обзор инструментов для разведки ВРУЧНУЮ. Многие знают эти инструментмы, многие нет. Но как известно идеальных вещей не бывает, у всех есть свои недостатки и достоинства.
О них и пойдет речь далее. Во второй части этой статьи(которая как я надеюсь выйдет через пару недель) я постараюсь разобрать уже более серьезные инструменты для автоматического или полу-автоматического сбора даннах.
ADExplorer
Это неплохой инструмент из набора Sysinternals, подходящий для новичков. Он может подойти, если вы оказались на машине, но не смогли повыситься и у вас нет кредов.
Можно без проблем затянуть его на машину(0 детектов), запустить через консоль и забрать себе снимок или же юзать прямо через RDP.
Запуск через командную строку(не забываем про стандартную для сиснтернелов -accepteula)
ADExplorer64.exe -snapshot 'ИмяDC' ./ad.dat
Далее тащим его на машину и открываем
Стоит помнить, что это создает много шума и база достаточно увеситстая, так что нужно посмотреть размер и решить стоит ли ее тащить к себе или лучше быстро глянуть на хосте(если RDP доступ)
Теперь составляем LDAP запрос. Наример этот покажет пользователей, которых можно скерберосить.
Тут обращу ваше внимание, что мы выбираем class только для того, чтобы выбирать из атрибутов этого конкретного класса.
Тоесть если бы мы не указали фильтр samaccounttype, то поиск выдал бы объекты ЛЮБЫХ классов.
Из плюсов
Это подписанный модуль микрософт
Графический интерфейс достаточно удобный, очень хорошо помогает в понимании самой базы AD
Можно визуализировать запросы ldap
Можно составлять кастомные запросы, через GUI
Можно сделать снимок AD и работать с ним удаленно
Из минусов
Нельзя автоматизировать получечение интересующей информации
Нет удобного просмотра ACE
Итог: Этим инструментом нельзя провести полноценную разведку(как минимум из-за отсутсвия удобной инерпретации ACL объектов), но как по мне он хорош для новичков, которым пока что тяжело ориентироваться в консольных утилитах.
Или, как говорилось выше, если мы оказались на хосте, без локал админа, без кред и хотим быстро глянуть общую информация о сети, ее размеры, какие в ней машины, описание пользователей, UAC и т.д
UPD: Недавно узнал, что существует инструмент, который конверирует базу этого инструмента в формат bloodhound'a.
AdFind
В целом хороший инструмент, о котором не знает толькокто не читал маны конти ленивый.
Интересной его особенностью помимо 32 детектов на ВТ является, то что запускается он только если имеет название exe'шника adfind.
По сути единственное, что он делает это вызывает запрос по определенному фильтру.
Ключ -c просто распечатает количество найденных объектов.
C помощью ключа -f можно указать ldap фильтр для поиска, а с -b указать путь в котором ищем объекты.
UPD: когда я сказал, что он простой, то сделал ошибку. Наберите Adfind.exe /?? и посмотрите на настраиваемых список агрументов...
Пример вывода
Из плюсов
Простой в использовании
Можно запрашивать только интересующую информацию, не создавая лишнего шума
Из минусов
Нужно патчить, чтобы изменить имя
Закрытый исходный код
Вывод: Учитывая высокий рейтинг детектов(как на сам бинарь, так и потенциально на LDAP запросы) данный инструмент затруднительлно использовать сейчас(имхо).
Было бы преступлением протсо сказать аля инструмент гумно он палится по LDAP'y. Дабы не быть голословным покажу как можно (относительно) удобно просматривать LDAP запросы, приходящие на DC.
Надеюсь, что все слышали про ETW, но вы не представляете насколько интересна для исследования эта штука. Поэтому сегодня будет небольшое погружение и в нее.
Ниже проделанные действия рекомендую проделывать в своей лабе, где только 2 используемых компа(можно вообще один DC оставить), дабы не было много мусора.
Переходим в Perfomance Monitor
И создаем нового получателя ETW сообщений
Задаем имя и выбираем Create manually. Жмем далее.
Отвечаем как показано на картинке.
Выбираем поставщика с таким именем
Теперь запускаем сборищк. Результат будет хранится, там куда указывает стрелка.
Когда вы сделали все необходимые запросы жмете stop. Иначе файла не будет видно. И конвертируете в удобный вам формат, csv как пример.
Вернемся к adfind. Я 3 раза запросил через него разные данные и сравнил результат. Как видно, несмотря на то, что я запрашиваю разные данные(2 сымые нижние строки) он делает одинаковые запросы(выделенные строки), которые можно отследить и пресекать на корню всю его активность.
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 - показать пользователей уязвимых к керберостингу. Как видим мой тестовый домен безопасен и у меня их нет
Синтаксис LDAP'a реально простой. Вы можете потренироваться на ADexplorer, который трасформирует выбранные вами в графическом интерфейсе данные в текстовый LDAP запрос.
Итог: хороший инструмент, жалко, что не везде получается его запустить.
Ping Castle
Автоматический сканер, который в один клик, позволит получить представление о сложности предстоящего пентеста.
На моем тестовом домене показывает довольно высокий уровень угрозы. Но не стоит радоваться раньше времени. Это лишь значит, что нам есть на что здесь обратить внимания.
Запускаем и перед нами предстает информация о пользователях, компьютерах, группах, трастах, гпо, парольной политике и многом другом и все это в одном месте(html отчете).
Например я не знал, что в дефолтных ГПО хранятся настройки привелегий.
Можно экспортировать пользователей и компьютеры в отдельный файлик одной командой
PingCastle.exe --export users
Из интересного еще имеется возможность запустить дополнительные проверки по типу антивирусного ПО, скана на Zerologon,Запущен ли spooler, установлены инструменты для удаленного администрирования и так далее.
Итог: сканер, авторматизирующий рутину и выдающий приятный вывод. Как и инструменты, о которых говорилось выше его нельзя использовать как единственный инструмент для разведки, но взглянуть на него опредленно стоит.
Пару слов о PowerSploit
Про сам powerview поговорим как-нибудь в другой раз. Почему-то я долго не замечал такую интересную фичу, как сравниватель схемы(или как это назвать?
)Некоторые приложения модифицируют схему AD, добавляя объектам кастомные свойства. Иногда в них хранится ценная инфомация. В любом случае стоит на них взглянуть.
Параметр -Class принимает значения только user и computer. Но можно самостоятельно расширить его и для других объектов
И закончим сегодня 2-мя инструментами, написанными на python. На линухе они работают, на винде не тестил.
Первый ldapdomaindump - этот инструмент полезен тем, что генерирует отчет в 3 форматах, среди которых пристуствует приятночитаемый HTML отчет по компьютерам, пользователям, группам, трастам.
На этом собственно его особенности заканчиваются.
Следующий гость msldap - имеет много интересных возможностей, но с точки зрения разведки нас интересуют такие команды, как
spns - показать аккаунты, уязвимые для керберостинга
asrep - думаю вы сами догадались
query *запрос* - сделать простой запрос
В целом, предоставляет достаточно возможностей из коробки, рекомендую ознакомится с ним однозначно, если еще нет.
На сегодня мой рассказ окончен. Мы рассмотрели несколько интересных на мой взгляд инструментов. Надеюсь вы подчерпнули для себя что-то новое. Как видно инструментов для ручной разведки много, но все они требуют от операторамного времени, чтобы он знал что ищет. Поэтому в следущий раз я расскажу вам как же ускорить этот процесс использую автоматические и полуавтоматические тулзы. Спасибо за внимание!
Тем не менее, я не забил на на эту тему и с переменным успехом продолжал постигать основы и тренироваться. Теперь, имея за плечами, хоть какие-то знания я рад сообщить, что мы продолжаем. Как и ранее скажу, что я лишь учусь и все комментарии, советы и объективную критику жду в комментариях.Ну чтож, не будем медлить и перейдем к сути.
В этой будет краткий обзор инструментов для разведки ВРУЧНУЮ. Многие знают эти инструментмы, многие нет. Но как известно идеальных вещей не бывает, у всех есть свои недостатки и достоинства.
О них и пойдет речь далее. Во второй части этой статьи(которая как я надеюсь выйдет через пару недель) я постараюсь разобрать уже более серьезные инструменты для автоматического или полу-автоматического сбора даннах.
ADExplorer
Это неплохой инструмент из набора Sysinternals, подходящий для новичков. Он может подойти, если вы оказались на машине, но не смогли повыситься и у вас нет кредов.
Можно без проблем затянуть его на машину(0 детектов), запустить через консоль и забрать себе снимок или же юзать прямо через RDP.
Запуск через командную строку(не забываем про стандартную для сиснтернелов -accepteula)
ADExplorer64.exe -snapshot 'ИмяDC' ./ad.dat
Далее тащим его на машину и открываем
Стоит помнить, что это создает много шума и база достаточно увеситстая, так что нужно посмотреть размер и решить стоит ли ее тащить к себе или лучше быстро глянуть на хосте(если RDP доступ)
Теперь составляем LDAP запрос. Наример этот покажет пользователей, которых можно скерберосить.
Тут обращу ваше внимание, что мы выбираем class только для того, чтобы выбирать из атрибутов этого конкретного класса.
Тоесть если бы мы не указали фильтр samaccounttype, то поиск выдал бы объекты ЛЮБЫХ классов.
Из плюсов
Это подписанный модуль микрософт
Графический интерфейс достаточно удобный, очень хорошо помогает в понимании самой базы AD
Можно визуализировать запросы ldap
Можно составлять кастомные запросы, через GUI
Можно сделать снимок AD и работать с ним удаленно
Из минусов
Нельзя автоматизировать получечение интересующей информации
Нет удобного просмотра ACE
Итог: Этим инструментом нельзя провести полноценную разведку(как минимум из-за отсутсвия удобной инерпретации ACL объектов), но как по мне он хорош для новичков, которым пока что тяжело ориентироваться в консольных утилитах.
Или, как говорилось выше, если мы оказались на хосте, без локал админа, без кред и хотим быстро глянуть общую информация о сети, ее размеры, какие в ней машины, описание пользователей, UAC и т.д
UPD: Недавно узнал, что существует инструмент, который конверирует базу этого инструмента в формат bloodhound'a.
AdFind
В целом хороший инструмент, о котором не знает только
Интересной его особенностью помимо 32 детектов на ВТ является, то что запускается он только если имеет название exe'шника adfind.
По сути единственное, что он делает это вызывает запрос по определенному фильтру.
Ключ -c просто распечатает количество найденных объектов.
C помощью ключа -f можно указать ldap фильтр для поиска, а с -b указать путь в котором ищем объекты.
UPD: когда я сказал, что он простой, то сделал ошибку. Наберите Adfind.exe /?? и посмотрите на настраиваемых список агрументов...
Пример вывода
Из плюсов
Простой в использовании
Можно запрашивать только интересующую информацию, не создавая лишнего шума
Из минусов
Нужно патчить, чтобы изменить имя
Закрытый исходный код
Вывод: Учитывая высокий рейтинг детектов(как на сам бинарь, так и потенциально на LDAP запросы) данный инструмент затруднительлно использовать сейчас(имхо).
Было бы преступлением протсо сказать аля инструмент гумно он палится по LDAP'y. Дабы не быть голословным покажу как можно (относительно) удобно просматривать LDAP запросы, приходящие на DC.
Надеюсь, что все слышали про ETW, но вы не представляете насколько интересна для исследования эта штука. Поэтому сегодня будет небольшое погружение и в нее.
Ниже проделанные действия рекомендую проделывать в своей лабе, где только 2 используемых компа(можно вообще один DC оставить), дабы не было много мусора.
Переходим в Perfomance Monitor
И создаем нового получателя ETW сообщений
Задаем имя и выбираем Create manually. Жмем далее.
Отвечаем как показано на картинке.
Выбираем поставщика с таким именем
Теперь запускаем сборищк. Результат будет хранится, там куда указывает стрелка.
Когда вы сделали все необходимые запросы жмете stop. Иначе файла не будет видно. И конвертируете в удобный вам формат, csv как пример.
tracerpt -l “.\DataCollector01.etl” -of CSV
Вернемся к adfind. Я 3 раза запросил через него разные данные и сравнил результат. Как видно, несмотря на то, что я запрашиваю разные данные(2 сымые нижние строки) он делает одинаковые запросы(выделенные строки), которые можно отследить и пресекать на корню всю его активность.
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 - показать пользователей уязвимых к керберостингу. Как видим мой тестовый домен безопасен и у меня их нет
Синтаксис LDAP'a реально простой. Вы можете потренироваться на ADexplorer, который трасформирует выбранные вами в графическом интерфейсе данные в текстовый LDAP запрос.
Итог: хороший инструмент, жалко, что не везде получается его запустить.
Ping Castle
Автоматический сканер, который в один клик, позволит получить представление о сложности предстоящего пентеста.
На моем тестовом домене показывает довольно высокий уровень угрозы. Но не стоит радоваться раньше времени. Это лишь значит, что нам есть на что здесь обратить внимания.
Запускаем и перед нами предстает информация о пользователях, компьютерах, группах, трастах, гпо, парольной политике и многом другом и все это в одном месте(html отчете).
Например я не знал, что в дефолтных ГПО хранятся настройки привелегий.
Можно экспортировать пользователей и компьютеры в отдельный файлик одной командой
PingCastle.exe --export users
Из интересного еще имеется возможность запустить дополнительные проверки по типу антивирусного ПО, скана на Zerologon,Запущен ли spooler, установлены инструменты для удаленного администрирования и так далее.
Итог: сканер, авторматизирующий рутину и выдающий приятный вывод. Как и инструменты, о которых говорилось выше его нельзя использовать как единственный инструмент для разведки, но взглянуть на него опредленно стоит.
Пару слов о PowerSploit
Про сам powerview поговорим как-нибудь в другой раз. Почему-то я долго не замечал такую интересную фичу, как сравниватель схемы(или как это назвать?
Параметр -Class принимает значения только user и computer. Но можно самостоятельно расширить его и для других объектов
Invoke-CompareAttributesForClass -Class user | Where-Object {$_.SideIndicator -eq "=>"}
И закончим сегодня 2-мя инструментами, написанными на python. На линухе они работают, на винде не тестил.
Первый ldapdomaindump - этот инструмент полезен тем, что генерирует отчет в 3 форматах, среди которых пристуствует приятночитаемый HTML отчет по компьютерам, пользователям, группам, трастам.
На этом собственно его особенности заканчиваются.
Следующий гость msldap - имеет много интересных возможностей, но с точки зрения разведки нас интересуют такие команды, как
spns - показать аккаунты, уязвимые для керберостинга
asrep - думаю вы сами догадались
query *запрос* - сделать простой запрос
В целом, предоставляет достаточно возможностей из коробки, рекомендую ознакомится с ним однозначно, если еще нет.
На сегодня мой рассказ окончен. Мы рассмотрели несколько интересных на мой взгляд инструментов. Надеюсь вы подчерпнули для себя что-то новое. Как видно инструментов для ручной разведки много, но все они требуют от оператора
Последнее редактирование: