You are here: Home » Анализ уязвимостей » CrackMapExec

CrackMapExec

Описание CrackMapExec

CrackMapExec – это инструмент всё-в-одном для тестирования окружения Windows/Active Directory. Он вдохновлён/основывается на предыдущих наработках, в том числе, в качестве субмодуля включает репозиторий PowerSploit.

Программа умеет перечислять вошедших пользователей и индексировать общие папки SMB, выполнять атаки в стиле psexec, автоматические Mimikatz/Shellcode/DLL инъекции в память с использованием Powershell, дампинг NTDS.dit и другое!

Самыми большими улучшениями по сравнению с предыдущими инструментами являются:

  • Чистые скрипты Python, не требуются внешние инструменты
  • Полностью параллельная многопоточность
  • Для обнаружения сеансов, пользователей, дампинга хешей SAM  и т.д. использует ТОЛЬКО родные вызовы WinAPI
  • Незаметна для сканеров безопасности (для дампа учётных данных в простом тексте, инжекта шеллкода и т.д. не загружаются бинарные файлы)

Домашняя страница: https://github.com/byt3bl33d3r/CrackMapExec

Автор: byt3bl33d3r

Лицензия: Упрощённая BSD

Справка по CrackMapExec

использование: 

                       crackmapexec.py [-h] [-v] [-t ПОТОКИ] [-id CRED_ID]
                       [-u [ИМЯ_ПОЛЬЗОВАТЕЛЯ [ИМЯ_ПОЛЬЗОВАТЕЛЯ ...]]] [-d ДОМЕН]
                       [-p [ПАРОЛЬ [ПАРОЛЬ ...]] | -H [HASH [HASH ...]]]
                       [-m MODULE] [-o [ОПЦИЯ_МОДУЛЯ [ОПЦИЯ_МОДУЛЯ ...]]]
                       [--module-info] [--share SHARE] [--smb-port {139,445}]
                       [--mssql-port ПОРТ] [--server {http,https}]
                       [--server-host ХОСТ] [--server-port PORT]
                       [--local-auth] [--timeout TIMEOUT] [--verbose] [--sam]
                       [--lsa] [--ntds {vss,drsuapi}] [--ntds-history]
                       [--ntds-pwdLastSet] [--wdigest {enable,disable}]
                       [--shares] [--uac] [--sessions] [--disks] [--users]
                       [--rid-brute [MAX_RID]] [--pass-pol] [--lusers]
                       [--wmi ЗАПРОС] [--wmi-namespace ПРОСТРАНСТВО_ИМЁН]
                       [--spider [ПАПКА]] [--content]
                       [--exclude-dirs СПИСОК_ДИРЕКТОРИЙ]
                       [--pattern [ОБРАЗЕЦ [ОБРАЗЕЦ...]] | --regex
                       [РЕГУЛЯРНОЕ_ВЫРАЖЕНИЕ [РЕГУЛЯРНОЕ_ВЫРАЖЕНИЕ ...]]] [--depth ГЛУБИНА]
                       [--exec-method {atexec,smbexec,wmiexec}] [--force-ps32]
                       [--no-output] [-x КОМАНДА] [-X КОМАНДА_ PowerShell] [--mssql]
                       [--mssql-query ЗАПРОС]
                       [цель [цель...]]
Позиционные аргументы:
  цель                  Один или несколько IP цели, диапазон(ы), CIDR, хосты(ы), FQDN или файл(ы) содержащий список целей

Опциональные аргументы:
  -h, --help            показать справку и выйти
  -v, --version         показать версию программы и выйти
  -t ПОТОКИ             Установить количество одновременно используемых потоков (по умолчанию 100)
  -id CRED_ID           ID учётных данных базы данных для использования в аутентификации
  -u [ИМЯ_ПОЛЬЗОВАТЕЛЯ [ИМЯ_ПОЛЬЗОВАТЕЛЯ ...]]
                        Имя(имена) или файл(ы) содержащих имена пользователей
  -d ДОМЕН              Имя домена
  -p [ПАРОЛЬ [ПАРОЛЬ ...]]
                        Пароль(и) или файл(ы) содержащие пароли
  -H [ХЕШ [ХЕШ ...]]    NTLM хеш(и) или файл(ы) содержащие NTLM хеши
  -m МОДУЛЬ, --module МОДУЛЬ
                        Модуль полезной нагрузки для использования
  -o [ОПЦИЯ_МОДУЛЯ [ОПЦИЯ_МОДУЛЯ ...]]
                        Опции модуля полезной нагрузки
  --module-info         Показать информацию о модули
  --share ОБЩАЯ_ПАПКА   Указать общую папку (по умолчанию: C$)
  --smb-port {139,445}  Порт SMB (по умолчанию: 445)
  --mssql-port ПОРТ     Порт MSSQL (по умолчанию: 1433)
  --server {http,https}
                        Использовать выбранный сервер (по умолчанию: https)
  --server-host ХОСТ    IP для привязки к серверу (по умолчанию: 0.0.0.0)
  --server-port ПОРТ    Запустить сервер на указанном порту
  --local-auth          Локальная аутентификация к каждой цели
  --timeout TIMEOUT     Максимальное время в секундах для каждого потока (по умолчанию: 20)
  --verbose             Включить вербальный режим

Сбор учётных данных:
  Опции для сбора учётных данных

  --sam                 Дамп хешей SAM с целевых систем
  --lsa                 Дамп секретов LSA с целевых систем
  --ntds {vss,drsuapi}  Дампить NTDS.dit с целевых DCs используя указанный метод
                        (drsuapi является более быстрым)
  --ntds-history        Дамп истории паролей NTDS.dit 
  --ntds-pwdLastSet     Показать атрибуты pwdLastSet для каждого аккаунта NTDS.dit
  --wdigest {enable,disable}
                        Создать/Удалить ключ регистра 'UseLogonCredential' включающий дампинг учётных данных WDigest на Windows >= 8.1

Составление карты/Перечисление:
  Опции для маппинга/перечисления

  --shares              Перечислить шары и доступ
  --uac                 Проверить статус UAC 
  --sessions            Перечислить активные сессии
  --disks               Перечислить диски
  --users               Перечислить пользователей
  --rid-brute [MAX_RID]
                        Перечислить пользователей брут-форсингом RID (по умолчанию: 4000)
  --pass-pol            Дамп политики паролей
  --lusers              Перечислить вошедших пользователей
  --wmi ЗАПРОС          Выдать указанный запрос WMI 
  --wmi-namespace ПРОСТРАНСТВО_ИМЁН
                        Пространство имён WMI (по умолчанию: //./root/cimv2)

Индексация:
  Опции для индексации общих папок

  --spider [ПАПКА]      Папка для индексации (по умолчанию: root directory)
  --content             Включить поиск по содержимому файлов
  --exclude-dirs СПИСОК_ДИРЕКТОРИЙ
                        Директории для исключения из индексации
  --pattern [ОБРАЗЕЦ [ОБРАЗЕЦ ...]]
                        Образец(ы) для поиска в каталогах, именах файлов и содержимом файлов
  --regex [РЕГУЛЯРНОЕ_ВЫРАЖЕНИЕ [РЕГУЛЯРНОЕ_ВЫРАЖЕНИЕ ...]]
                        Регулярное выражение(я) для поиска в каталогах, именах файлов и содержимом файлов
  --depth ГЛУБИНА       Глубина рекурсивной индексации (по умолчанию: 10)

Исполнение команд:
  Опции для выполнения команд

  --exec-method {atexec,smbexec,wmiexec}
                        Метод исполнения команд. Игнорируется в режиме MSSQL (по умолчанию: wmiexec)
  --force-ps32          Принудительно исполнять команды PowerShell в 32-битном процессе
  --no-output           Не получать вывод команд
  -x КОМАНДА            Выполнить указанную команду
  -X КОМАНДА_ PowerShell Выполнить указанную команду PowerShell 

Взаимодействие с MSSQL:
  Опции для взаимодействия с БД MSSQL

  --mssql               Переключить CME в режим MSSQL. Если указаны учётные данные, то проведёт аутентификацию в отношении всех найденных БД MSSQL
  --mssql-query ЗАПРОС  Выполнить указанный запрос в отношении БД MSSQL

Руководство по CrackMapExec

Страница man отсутствует.

Примеры запуска CrackMapExec

Просканировать подсеть 192.168.1.0/24 на наличие подключённых Windows машин:

python crackmapexec.py 192.168.1.0/24

Установка CrackMapExec

Установка в Kali Linux

Предполагается что вы суперпользователь (root).

sudo apt-get install python-dev python-setuptools libpcap0.8-dev libnetfilter-queue-dev libssl-dev libjpeg-dev libxml2-dev libxslt1-dev libcapstone3 libcapstone-dev libxml2-dev libxslt1-dev libffi-dev virtualenvwrapper
git clone https://github.com/byt3bl33d3r/CrackMapExec.git
cd CrackMapExec/
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
echo 'source /usr/share/virtualenvwrapper/virtualenvwrapper.sh' >> ~/.bashrc
git submodule init && git submodule update --recursive
mkvirtualenv CME
workon CME
echo 'CME' > ../.venv
pip install -r requirements.txt
python crackmapexec.py --help
cd setup/
./setup_database.py
cd ..

Установка в BlackArch

Программа предустановлена в BlackArch.
sudo pacman -S python2-setuptools libnetfilter_queue libpcap libjpeg-turbo capstone
sudo pip install virtualenvwrapper gevent termcolor netaddr
git clone https://github.com/byt3bl33d3r/CrackMapExec.git
cd CrackMapExec/
source /usr/bin/virtualenvwrapper.sh
echo '/usr/bin/virtualenvwrapper.sh' >> ~/.bashrc
git submodule init && git submodule update --recursive
mkvirtualenv CME
workon CME
echo 'CME' > ../.venv
pip install -r requirements.txt
python crackmapexec.py --help
cd setup/
./setup_database.py
cd ..

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты CrackMapExec

cme_discovery

cme_lusers

cme_netuser

Инструкции по CrackMapExec

Ссылки на инструкции будут добавлены позже.

Близкие программы:

Рекомендуемые статьи: