0 знаков
10. Поиск хостов с помощью CrackMapExec
Изучаемые инструменты- CrackMapExec
Кратко- CrackMapExec - известный инструмент для тестирования сетей под управлением Active Directory.
- Инструмент CrackMapExec считается "швейцарским" ножом для тестирования инфраструктуры, построенной на основе Active Directory.
- CrackMapExec имеет огромные возможности, включая перечисление пользователей и выполнение атак в стиле psexec.
- Инструмент использует многопоточность и собственные вызовы WinAPI для работы с сеансами и дампом хэшей из SAM.
- CrackMapExec активно использует библиотеку скриптов Impacket и набор инструментов PowerSploit для работы с сетевыми протоколами.
- CrackMapExec имеет собственную базу данных, в которой хранятся найденные учетные данные.
- Инструмент полезен как для атакующих, так и для защищающихся команд.
Введение
Начнем с самого простого и известного инструмента для тестирования сетей под управлением Active Directory - CrackMapExec. С ним мы встретимся ещё неоднократно и с каждым разом будем погружаться в него все глубже.
Для доступа необходимо авторизоваться на сайте Codebra.
Поиск доступных хостов при помощи CrackMapExec
Для чего инструмент CrackMapExec
Прежде чем начать пользоваться инструментом CrackMapExec, давайте кратко познакомимся с ним. По мере прохождения уроков будем погружаться в этот инструмент более детально.
Инструмент CrackMapExec считается "швейцарским" ножом для тестирования на проникновение инфраструктуры, построенной на основе Active Directory. Список возможностей огромный: от перечисления пользователей до выполнения атак в стиле psexec, дампа NTDS.dit и многого другого.
Инструмент CrackMapExec использует многопоточность и только собственные вызовы WinAPI для работы с сеансами, дампа хэшей из SAM и так далее. Он активно использует библиотеку скриптов Impacket (с ним встретимся далее еще много раз) и набор инструментов PowerSploit для работы с сетевыми протоколами.
Кроме того, CrackMapExec имеет собственную базу данных, в которой хранятся найденные учетные данные.
Несмотря на то, что CrackMapExec предназначен в первую очередь для атакующих (красных) команд, он также будет полезным для защищающихся (синих) команд: оценка привилегий учетной записи, поиск возможных неправильных настроек, моделирование атак и так далее.
Базовые параметры CrackMapExec и нотация CIDR
crackmapexec --help
Для доступа необходимо авторизоваться на сайте Codebra.
В GOAD развернуты пять виртуальных машин, все они находятся в одной подсети 192.168.56.0/24
:
192.168.56.10
sevenkingdoms.local192.168.56.11
north.sevenkingdoms.local192.168.56.12
essos.local192.168.56.22
castelblack.north.sevenkingdoms.local192.168.56.23
braavos.essos.local
Перейдем к инструменту CrackMapExec. Каждый протокол поддерживает нотацию CIDR, например:
crackmapexec <protocol> essos.local
crackmapexec <protocol> 192.168.56.12 192.168.56.22
crackmapexec <protocol> 192.168.56.0/24
crackmapexec <protocol> 192.168.56.0-23
crackmapexec <protocol> ~/list_targets.txt
Для доступа необходимо авторизоваться на сайте Codebra.
Введем команду crackmapexec --help
и узнаем, какие протоколы нам доступны:
Для доступа необходимо авторизоваться на сайте Codebra.
Использование учетных данных в CrackMapExec
Каждый протокол поддерживает использование учетных данных в той или иной мере. Более подробно нужно смотреть в Wiki. По мере углубления в материал будем знакомиться с другими способами использования учетных данных. Чаще всего, чтобы использовать учетные данные в CrackMapExec, используется следующая команда:
crackmapexec <protocol> <target(s)> -u username -p password
После ключа -u
указывается имя пользователя, а после -p
пишется пароль. Например, у нас есть учетная записи khal.drogo
, принадлежащая домену essos.local
. Проверим, что у нас на руках правильные учетные данные для пользователя khal.drogo
.
crackmapexec smb 192.168.56.12 -u 'khal.drogo' -p 'horse'
Для доступа необходимо авторизоваться на сайте Codebra.
В данном примере необязательно было использовать одинарные кавычки, но если в учетных данных встречаются специальные символы, то использование кавычек обязательно.
Может быть ситуация, что учетные данные начинаются с тире (-
), что может вызвать ошибку.
Для доступа необходимо авторизоваться на сайте Codebra.
Чтобы исправить эту ошибку, достаточно использовать длинный формат аргументов:
crackmapexec smb 192.168.56.12 -u='-khal.drogo' -p='-horse'
Для доступа необходимо авторизоваться на сайте Codebra.
ПримечаниеПользователя
-khal.drogo
не существует, поэтому ошибкаSTATUS_LOGON_FAILURE
Использование учетных данных из базы данных cmedb
Как мы говорили ранее, найденные учетные данные (введенные в CrackMapExec) сохраняются в его базе данных, содержимое которой можно посмотреть следующей командой:
cmedb
В cmedb
вводим команду creds
:
Для доступа необходимо авторизоваться на сайте Codebra.
Если мы не хотим вводить учетные данные пользователя khal.drogo
и хотим их использовать, то достаточно применить ключ -id
:
crackmapexec smb 192.168.56.12 -id 1
Для доступа необходимо авторизоваться на сайте Codebra.
С другими возможностями CrackMapExec будем знакомиться далее, когда будет такая необходимость, а пока перейдем к сканированию подсети и поиску хостов для дальнейшего тестирования.
Сканирование подсети при помощи CrackMapExec
Для нас будет удобно просканировать следующим образом:
crackmapexec smb 192.168.56.0-23
Для доступа необходимо авторизоваться на сайте Codebra.
Эта простая команда возвращает много полезной информации. Давайте разбираться. Во-первых, мы видим три домена:
essos.local
(2 IP-адреса):BRAAVOS
(Windows Server 2016) (подпись SMB пакетов выключена, SMBv1 включена)MEEREEN
(Windows Server 2019) (подпись SMB пакетов включена, SMBv1 включена)sevenkingdoms.local
(1 IP-адрес):KINGSLANDING
(Windows Server 2019) (подпись SMB пакетов включена, SMBv1 выключена)north.sevenkingdoms.local
(2 IP-адреса):CASTELBLACK
(windows server 2019) (подпись SMB пакетов выключена, SMBv1 выключена)WINTERFELL
(windows server 2019) (подпись SMB пакетов включена, SMBv1 выключена)
Мы нашли три домена, значит существует три контролера домена (DC), которые нам предстоит найти. По умолчанию у DC подпись SMB включена, поэтому можно предположить: 192.168.56.10
, 192.168.56.11
и 192.168.56.12
- IP-адреса контролеров домена. Убедимся в этом далее еще раз.
Источники и похожее- [ссылка доступна авторизованным пользователям]
Тест
Похожие уроки Codebra
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ