Как установить и использовать CrackMapExec на Kali Linux

CrackMapExec как пользоваться

В этой статье мы научимся использовать CrackMapExec на Kali Linux. Я использовал этот инструмент много раз, как для атаки, так и в целях защиты от атак и могу подробно о нем рассказать.

Еще по теме: Способы про­писать­ся в сис­теме при пентесте

Что такое CrackMapExec

Crackmapexec, также известный как CME, представляет собой инструмент пост-эксплуатации. Разработчик инструмента описывает его как «швейцарский армейский нож для тестирования сетей на проникновение», что, на мой взгляд, является подходящим описанием.

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

Стенд для использования CrackMapExec

Для примера использовался следующий стенд:

  • Цель — Windows Server
  • Атакующая машина — Kali Linux

Конфигурация систем:

Сервер Windows

  • Домен — ignite.local
  • Пользователь — Administrator
  • Пароль — Ignite@987
  • IP-адрес — 192.168.1.105

Клиент Windows

  • ОС — Windows 10
  • IP-адрес — 192.168.1.106
  • Пользователи — kavish, geet, aarti, yashika
  • Пароль — Password@1

Установка CrackMapExec

Установка очень проста:

Установка CrackMapExec

Если приведенная выше команда вызывает какие-либо проблемы, попробуйте обновить Kali Linux.

Использование CrackMapExec

Перечисление IP-адресов сети

Для обнаружения IP-адресов целевой сети, используйте команду:

CrackMapExec Перечисление IP-адресов сети

Синтаксис CrackMapExec выглядит следующим образом:

Пример команды:

CrackMapExec Перечисление IP-адресов сети

Перечисление пользователей

Для перечисления всех пользователей целевой системы, используется параметр user:

CrackMapExec Перечисление пользователей

Перечисление групп пользователей

Для получения информации о группах целевой системы:

CrackMapExec Перечисление групп пользователей

Поиск текстовых файлов

Чтобы получить всю информацию о текстовых файлах на целевой системе:

CrackMapExec Поиск текстовых файлов

Поиск log-файлов

Точно так же, чтобы получить информацию о файлах журнала:

CrackMapExec Поиск log-файлов

Обнаружение общих ресурсов (шар)

Чтобы узнать, какие папки являются общими и получить информацию о правах доступа:

CrackMapExec Обнаружение общих ресурсов

Просмотр активных сессий

Для просмотра активных сессий:

CrackMapExec Просмотр активных сессий

Просмотр политики паролей

Чтобы узнать политики паролей, которые были применены в целевой системе:

CrackMapExec Просмотр политики паролей

Выполнение вышеуказанной команды отобразит подробную информацию о политиках паролей.

Список логических дисков

Для получения информации о логических дисках:

CrackMapExec Список логических дисков

Брутфорс имени пользователя

С помощью CrackMapExec вы также можете брутить имя пользователя. Можно указать один хост или диапазон IP-адресов:

CrackMapExec Брутфорс имени пользователя

Брутфорс пароля

CME позволяет брутить пароли определенной системы или всей сети. Вот пример брута пароля всех машин в сети:

CrackMapExec Брутфорс пароля

Атака по словарю

Для атаки могут быть использованы, как пользовательские, так и созданные словари. В этом примере будет использован созданный словарь, как для имен пользователей, так и для паролей.

Эта атака может быть проведена против всех машин сети или против одной системы. Использование диапазона IP-адресов:

CrackMapExec Атака по словарю

Дампинг учетных данных SAM

SAM — это сокращение от Security Account Manager, которое управляет всеми учетными записями пользователей и их паролями. Механизм похож на базу данных. Все пароли хэшируются, а затем сохраняются в SAM.

Используя CME, мы можем сдампим  хеши учетных данных SAM:

CrackMapExec Дампинг учетных данных SAM

Дампинг учетных данных LSA

Локальный центр безопасности (LSA) — это защищенный системный процесс, который аутентифицирует и регистрирует пользователей на локальном компьютере. Учетные данные домена используются операционной системой и аутентифицируются локальным администратором безопасности (LSA). Следовательно, LSA имеет доступ к учетным данным, и мы воспользуемся этим фактом для сбора учетных данных с помощью CME:

CrackMapExec Дамп учетных данных LSA

Дамп учетных данных NTDS (DRSUAPI)

NTDS расшифровывается как New Technologies Directory Services, а DIT расшифровывается как Информационное дерево каталогов. Этот файл работает в роли базы данных Active Directory и хранит все ее данные, включая все учетные данные.

Чтобы сдампить хэши NTDS, используйте команду:

Дамп учетных данных NTDS (DRSUAPI)

Дамп учетных данных NTDS (VSS)

Другой способ получить учетные данные из NTDS — через VSS, т. е. теневую копию тома:

CrackMapExec Дамп учетных данных NTDS (VSS)

Pass the Hash

После того, как мы сдампили хеш, нужно применить какой-нибудь другой инструмент для передачи хеша. С CME можно использовать команду:

CrackMapExec Pass the Hash

Про атаку Pass the Hash:

Password Spraying

Password Spraying — это атака, при которой мы получаем доступ к учетным записям, используя одни и те же пароли для одних и тех же имен пользователей, пока не найдем правильный. С CME мы можем выполнять атаку Password Spraying двумя способами.

В первом методе мы будем использовать параметр --rid-brute. Для использования этого параметра синтаксис будет следующим:

Следуя приведенному выше синтаксису, команда выглядит так:

CrackMapExec Password Spraying

Другой способ Password Spraying — использование -continue-on-success, и мы будем использовать этот параметр с нашим пользовательским словарем, в котором есть все имена пользователей. Содержимое словаря показано на изображении ниже с помощью команды cat.

Для атаки Password Spraying используется команда:

CrackMapExec Password Spraying

См. также Лучшие инструменты для атаки Password Spraying.

Удаленное выполнение команд

Теперь, когда мы изучили различные способы получения пароля, давайте воспользуемся им, поскольку CME позволяет удаленно выполнять команды.

Мы можем использовать команду quser для получения информации о пользователях. И команду logoff для выхода из целевой системы.

Синтаксис для удаленного выполнения команд:

Следуя приведенному выше синтаксису, команды будут таким образом:

CrackMapExec Удаленное выполнение команд

И, как вы можете видеть на изображении выше, наши команды успешно выполняются.

Удаленное выполнение команды atexec

Следующая команда выполнит команду с помощью службы планировщика заданий:

CrackMapExec Удаленное выполнение команды atexec

Удаленное выполнение команды wmiexec

Следующая команда выполнит команду с помощью службы инструментария управления Windows (WMI):

CrackMapExec Удаленное выполнение команды wmiexec

Для выполнения задач на удаленном компьютере с помощью CME, можно также использовать командлеты PowerShell:

CrackMapExec командлеты PowerShell

Это реализуется благодаря возможности удаленного выполнения команд через WMI

Мы также можем напрямую запустить команду WMI, используя CME. Для этого используется параметр wmi:

CrackMapExec командлеты PowerShell

Модули

Если из вышеперечисленных вариантов у вас нет соблазна добавить CME в свой набор инструментов, держу пари, что следующее убедит вас в кратчайшие сроки. CME также предоставляет различные модули, которые используют сторонние инструменты, такие как Mimikatz, Metasploit Framework и т. д.

Для просмотра всех доступных моделей CME, используйте команду:

CrackMapExec Модули

Теперь давайте разберемся, как их использовать.

Модули Mimikatz

Во-первых, мы запустим Mimikatz напрямую как модуль, не передавая ему никаких других аргументов. Синтаксис такой:

Пример команды:

CrackMapExec Модули Mimikatz

Так что теперь, как вы можете видеть на изображении выше, запуск модуля Mimikatz без каких-либо других аргументов отобразит системные учетные данные в виде хешей.

Теперь давайте попробуем передать в качестве аргумента команду Mimikatz:

Использование CrackMapExec Модули Mimikatz

Итак, команда отлаживает все привилегии, как показано на изображении выше. Теперь попробуем запустить другую команду:

Как пользоваться CrackMapExec Модули Mimikatz

Следовательно, выполнение приведенной выше команды отобразит все хеши пароля для входа в систему. Таким образом, вы также можете указать дополнительный аргумент:

Как пользоваться CrackMapExec Модули Mimikatz

Теперь мы можем использовать различные методы получения доступа к целевой машине.

См. также Как используя Mimikatz на Kali Linux извлечь хеши Windows

Модуль Wdigest

Еще один модуль, который нам представляет CME, — это wdigest. Этот модуль создаст ключ реестра, благодаря которому пароли хранятся в памяти. Чтобы использовать этот модуль, введите следующую команду:

Как использовать CrackMapExec Модуль Wdigest

И, как вы можете видеть на изображении выше, ключ реестра создан.

Модуль enum_dns

Этот модуль собирает всю информацию о целевом DNS и отображает ее в консоли. Чтобы использовать этот модуль, используйте следующую команду:

Как использовать Модуль enum_dns

И, как вы можете видеть на изображении выше, вся информация сбрасывается на консоль.

Модуль web_delivery

Для этого модуля сначала откройте Metasploit Framework с помощью команды msfconsole, а затем, для запуска web_delivery, выполните команды:

Использование Модуль web_delivery

Это создаст ссылку, как показано на изображении выше. Скопируйте эту ссылку и удаленно выполните ее на целевой машине через CME, используя следующую команду:

Использование Модуль web_delivery

И как только приведенная выше команда будет выполнена, вы получите сессию Meterpreter и сможете удаленно манипулировать компьютером.

См. также Полный список основных команд Meterpreter

Заключение

Перечисление (Enumeration) — сложная задача в любом тестировании на проникновение. Но, как видите, с помощью CrackMapExec, это реализуется намного проще и быстрее. Горизонтальное перемещение «Lateral Movement» может занять много времени, если оно не выполняется должным образом. Но с помощью CME это делать настолько просто, что может быть по силам любому скрипт-кидди или начинающему хакеру.

ПОЛЕЗНЫЕ ССЫЛКИ:

ВКонтакте
OK
Telegram
WhatsApp
Viber

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *