CrackMapExec (CME) — популярный инструмент для проведения пентестов в локальной сети и анализа защищенности сетей Windows. Он выполняет сканирование сети и выявляет хосты и службы, а также находит расшаренные (общие) ресурсы, пользователей и группы пользователей. Давайте разберемся, как используя CrackMapExec получить информацию об общих ресурсах, учетных записях и политиках паролей подключенных к сети машин.
Еще по теме: Список всех модулей CrackMapExec
Информации об учетных записях и SMB в CrackMapExec
В качестве примера будут использованы упражнения из Hack The Box Academy.
Для лучшего понимания и углубления, рекомендую изучить наш мануал по использованию CrackMapExec.
Сбор информации об SMB
Инструмент собирает важную SMB-информацию, такую как полное доменное имя (FQDN), которое помогает определить, подключена ли машина к домену, версию и архитектуру Windows (x86/x64), а также версию SMB.
Также можно определить, включена ли функция подписи SMB, что позволяет выявить машины, которые могут быть использованы для кражи хешей и Relay-атак.
Чтобы перечислить информацию о SMB, запустите crackmapexec, укажите протокол SMB и укажите IP-адреса (отдельно в файле или используя диапазоны CIDR).
1 |
crackmapexec smb 10.129.204.177 |
На скрине показана информация о SMB целевой машины.
Перечисление учетных записей пользователей
Еще одна вещь, на которую следует обратить внимание при сетевой разведке, — это определение учетных записей пользователей. Можно составить список пользователей машин, на которых разрешены анонимные сессии, а затем провести на них парольные атаки. Или же искать AS-REP учетные записи, которые могут быть взломаны для получения доступа к домену (см. Атака AS-REP Roasting).
Для перечисления пользователей используется параметр --users, который перечисляет всех пользователей на целевых машинах и сохраняет их в файл с помощью параметра --export.
Инструмент не предлагает специальной опции для анонимных сессий; вместо этого можно передать пустую строку для имени пользователя ( -u) и пароля ( -p).
1 |
crackmapexec smb 10.129.204.177 -u '' -p '' --users |
Что мне нравится в опции --users, это то, что она отображает не только учетные записи пользователей, но и их описание, где иногда можно найти учетные данные, которые можно использовать, или информацию о типе учетной записи, например, служебные учетные записи.
Перечисление политик паролей
При проведении пенттестов сети распространенной ошибкой является невнимание к политике паролей. Это может привести к блокировке учетных записей или выходу из строя сети.
Понимание политики паролей, особенно порога блокировки, сложности и длины пароля, имеет решающее значение в планировании атак Password Spraying или брутфорса.
Чтобы посмотреть на политику паролей, выполняется crackmapexec с опцией --pass-pol. На скриншоте ниже порог блокировки установлен как None, что означает, что учетные записи никогда не будут заблокированы.
В реальных сценариях некоторые организации могут устанавливать низкий порог в 3 или 5 неудачных попыток, в то время как другие выбирают более высокий порог в 10 или более попыток, чтобы уменьшить количество случайных блокировок.
1 |
crackmapexec smb 10.129.204.177 -u '' -p '' --pass-pol |
На скрине политика паролей целевой машины.
Перечисление общих папок SMB
Общие папки — лучшее место для поиска полезной информации; в них можно найти такие важные данные, как конфиденциальные документы, финансовые отчеты или учетные данные привилегированных пользователей, которые помогут проникнуть глубоко в сеть.
Для получения списка доступных общих ресурсов используется команда crackmapexec с параметром --shares и произвольным именем пользователя для параметра -u, например « guest».
Обратите внимание, что утилита не принимает пустые строки в качестве имен пользователей при выполнении опции shares, поэтому необходимо указать случайное имя пользователя.
1 |
crackmapexec smb 10.129.29.43 -u guest -p '' --shares |
На скрине выше показаны общие ресурсы SMB и их разрешения.
На рисунке ниже показана ошибка отказа в доступе при передаче пустых строк в качестве имени пользователя.
Также для отображения файлов и каталогов общей папки можно использовать параметры --spider с именем ресурса и —regex . В приведенном ниже примере выводится содержимое общего ресурса IT.
1 |
crackmapexec smb 10.129.203.121 -u guest -p '' --spider IT --regex . |
На снимке экрана показано содержимое ресурса IT.
Заключение
CrackMapExec отличный инструмент пентестеров, который помогает обнаруживать уязвимости, анализировать безопасность и повышать уровень защиты сетейе.
В следующих статьях мы рассмотрим другие сценарии использования CrackMapExec, атаки Password Spraying и Relay SMB.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Способы прописаться в системе при пентесте
- Перечисление и обнаружение SMB в локальной сети
- Эксплуатация уязвимости CVE-2022-27228 и атака NTLM Relay