CrackMapExec: универсальный инструмент для тестирования безопасности Windows-сетей

CrackMapExec: универсальный инструмент для тестирования безопасности Windows-сетей

Инструмент, который любят хакеры и ненавидят админы

CrackMapExec (сокращённо CME) — это один из самых мощных и «вкусных» инструментов для тестирования безопасности Windows-сетей, в особенности — инфраструктур, построенных на базе Active Directory. Он позволяет проводить атаки на протоколы SMB, RDP, WinRM, LDAP и MSSQL, сканировать сеть, проверять логины и пароли, вытаскивать хэши и многое другое. Всё это — в рамках одной командной строки.

По сути, это как швейцарский нож для пентестера, только не с лезвием, а с десятком модулей для lateral movement и эскалации привилегий в корпоративной сети.

Зачем нужен CrackMapExec

Если вы когда-либо пытались провести аудит Windows-сети вручную, то вы знаете, насколько это муторно. CrackMapExec позволяет автоматизировать рутину, такую как:

  • Проверка валидности учётных данных (логин/пароль, NTLM-хэш);
  • Определение, у каких учёток есть админ-доступ к хостам;
  • Сканирование служб: SMB, RDP, WinRM, MSSQL и прочее;
  • Получение списка пользователей, групп, сессий, расшаренных ресурсов;
  • Сбор хэшей NTLM и Kerberos ticket'ов (Pass-the-Hash, Pass-the-Ticket);
  • Загрузка и выполнение команд или скриптов на удалённых машинах.

Как работает CME

CrackMapExec написан на Python и построен как модульный инструмент. Это означает, что он может быть расширен дополнительными плагинами и скриптами, но даже «из коробки» умеет страшно много.

Принцип простой: указываем список IP-адресов (или диапазон), учётные данные — и инструмент сам начинает работу по всем поддерживаемым протоколам. Для SMB, к примеру, он сразу определяет, к каким хостам есть доступ, где логин валиден, где пользователь админ и так далее.

Ключевые возможности CrackMapExec

Аутентификация по разным схемам

Поддерживаются:

  • Логин/пароль
  • NTLM-хэши (Pass-the-Hash)
  • Kerberos билеты (Pass-the-Ticket)
  • SSH-ключи (для Linux-модулей)

Массовая проверка логинов

Можно протестировать одну или несколько учёток сразу по всем хостам:

cme smb 192.168.1.0/24 -u users.txt -p passwords.txt

Определение админских прав

Показывает, на каких машинах учётка является локальным админом:

cme smb targets.txt -u admin -p password --local-auth

Сбор хэшей и билетов

Инструмент может использовать secretsdump для извлечения хэшей:

cme smb 192.168.1.10 -u admin -H hash --ntds

Запуск команд на удалёнке

Если учётка админская, можно выполнить команду на всех машинах в сети:

cme smb 192.168.1.0/24 -u admin -p pass --exec-method smbexec -x "ipconfig /all"

Загрузка и запуск скриптов

Можно подгрузить и выполнить PowerShell-скрипт или EXE на удалённых машинах.

Поддержка Mimikatz и других инструментов

CME может использовать встроенные плагины, включая запуск Mimikatz через PowerShell Remoting — что открывает огромные возможности для получения учётных данных и токенов.

Установка и запуск

Самый простой способ — через pipx или ручная установка из исходников.

Через pipx:

pipx install crackmapexec

Из исходников:

git clone https://github.com/byt3bl33d3r/CrackMapExec cd CrackMapExec pip install -r requirements.txt python setup.py install

Обратите внимание: на Windows не работает. CrackMapExec предназначен для Linux/MacOS.

Поддерживаемые протоколы

CrackMapExec поддерживает работу с рядом сетевых протоколов:

  • SMB — главный вектор;
  • WinRM — удалённый запуск PowerShell-команд;
  • LDAP — сбор информации об AD;
  • MSSQL — логин, выполнение запросов, RCE;
  • RDP — проверка логина/пароля через NLA;
  • FTP/SSH — сканирование и аутентификация.

Модули и плагины

CrackMapExec поддерживает пользовательские модули. Примеры:

  • mimikatz.py — запуск Mimikatz через WinRM;
  • kerberoast.py — автоматический Kerberoasting;
  • powerview.py — PowerView для обхода AD;
  • bloodhound.py — сбор данных для BloodHound.

Как выглядит типичная атака с CME

Вот сценарий, который может разыграть пентестер (или атакующий):

  1. Сканирует сеть на открытые порты SMB.
  2. Пробует пары логин/пароль из базы (или хэши).
  3. Получает доступ к машине с админскими правами.
  4. Запускает Mimikatz и тащит хэши других пользователей.
  5. Расширяет доступ до всей сети.

Контрмеры: как защититься от CME

Если вы сисадмин, вас сейчас уже начало знобить. Вот что можно сделать:

  • Отключить SMBv1, SMB Signing обязательно включить;
  • Ограничить доступ к WinRM, SMB, MSSQL по IP;
  • Использовать LAPS для уникальных локальных паролей;
  • Настроить EDR и SIEM для отслеживания массовых логинов и lateral movement;
  • Запретить хранение паролей в системах без необходимости;
  • Ограничить использование административных прав на рабочих станциях.

Юридическая и этическая сторона

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

Заключение

CrackMapExec — это один из самых продвинутых и автоматизированных инструментов для аудита безопасности Windows-сетей. Он объединяет возможности десятка утилит в одном фреймворке, позволяя быстро находить уязвимые точки и двигаться по сети. В умелых руках — это незаменимый помощник. В руках злоумышленника — кошмар для администратора.

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

CrackMapExec Windows Active Directory SMB аудит безопасности пентест сетевой сканер lateral movement hash dumping
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Умеешь в ИБ?

Делись! Ближайший CIRF* уже 20 мая. Мероприятие бесплатное, но надо зарегистрироваться*

Реклама. 18+. ООО «МКО Системы», ИНН 7709458650
*Corporate incident response and forensics - корпоративное реагирование на инциденты и форензика.

Юрий Кочетов

Здесь я делюсь своими не самыми полезными, но крайне забавными мыслями о том, как устроен этот мир. Если вы устали от скучных советов и правильных решений, то вам точно сюда.