Извлечение хэшей паролей с помощью hashdump в Meterpreter

Kali LinuxBeginner
Практиковаться сейчас

Введение

В этой лабораторной работе вы изучите один из наиболее распространенных методов пост-эксплуатации: извлечение хэшей паролей с скомпрометированной цели под управлением Windows. В частности, вы будете использовать команду hashdump, доступную в полезной нагрузке Meterpreter фреймворка Metasploit. Эти хэши, после получения, могут быть взломаны в автономном режиме для раскрытия паролей пользователей, что позволит дальнейшее повышение привилегий или горизонтальное перемещение в сети.

Для этого образовательного упражнения мы будем работать в симулированной среде Metasploit Framework. Это позволит вам изучить точные команды и рабочий процесс без необходимости настройки сложной сети жертвы/атакующего. Вы начнете с предварительно установленной сессии Meterpreter на симулированной машине под управлением Windows.

Ваши цели:

  • Получить доступ к активной сессии Meterpreter.
  • Использовать команду hashdump для извлечения хэшей паролей.
  • Понять структуру извлеченных хэшей.
  • Сохранить хэши в файл для дальнейшего использования.

Получение сессии Meterpreter с привилегиями SYSTEM

На этом этапе вы запустите симулированную консоль Metasploit и будете взаимодействовать с предварительно установленной сессией Meterpreter. В реальном сценарии получение этой сессии включало бы эксплуатацию уязвимости на целевой машине. Для этой лабораторной работы сессия была подготовлена для вас.

Сначала перейдите в каталог симуляции, созданный скриптом настройки.

cd ~/project/metasploit-simulation

Теперь запустите симулированную консоль Metasploit, выполнив скрипт msfconsole.

./msfconsole

Вы должны увидеть приветственный баннер и приглашение msf6 >. Это означает, что вы находитесь в основной консоли Metasploit. Чтобы увидеть активные сессии, используйте команду sessions с флагом -l (list).

sessions -l

Вы увидите следующий вывод, показывающий одну активную сессию с идентификатором 1.

Active sessions
===============

  Id  Name  Type                     Information                  Connection
  --  ----  ----                     -----------                  ----------
  1         meterpreter x64/windows  NT AUTHORITY\SYSTEM @ WIN-PC  10.0.2.15:4444 -> 10.0.2.16:49152

Вывод показывает, что у нас есть сессия meterpreter, работающая под пользователем NT AUTHORITY\SYSTEM, что является наивысшим уровнем привилегий в системе Windows. Это крайне важно для извлечения хэшей.

Теперь взаимодействуйте с этой сессией, используя ее идентификатор.

sessions -i 1

Ваше приглашение изменится с msf6 > на meterpreter >, подтверждая, что вы теперь находитесь внутри сессии Meterpreter на целевой машине.

Загрузка расширения API priv при необходимости

На этом шаге вы загрузите расширение priv. Это расширение Meterpreter предоставляет команды для повышения привилегий и доступа к конфиденциальным частям операционной системы, таким как база данных Security Account Manager (SAM), где хранятся хэши паролей.

Хотя многие современные полезные нагрузки Meterpreter автоматически загружают необходимые расширения при вызове команды, полезно знать, как загружать их вручную. Это гарантирует наличие необходимой функциональности.

В приглашении meterpreter > введите следующую команду для загрузки расширения priv:

load priv

Симулятор подтвердит успешную загрузку расширения.

[+] Loading extension priv...
[+] Loaded extension: priv

После загрузки расширения priv у вас теперь есть доступ к таким командам, как hashdump.

Запуск модуля пост-эксплуатации hashdump

На этом шаге вы выполните команду hashdump. Эта команда является основной причиной, по которой мы загрузили расширение priv. Она работает путем чтения базы данных SAM непосредственно из памяти системы, обходя защиты на диске. Это возможно, потому что наша сессия запущена с привилегиями SYSTEM.

Теперь, когда вы находитесь в приглашении Meterpreter и загрузили расширение priv, просто выполните команду hashdump.

hashdump

Команда выполнится и выведет на экран список имен пользователей и соответствующих им хэшей паролей.

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
labex-user:1001:aad3b435b51404eeaad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c:::

Вы успешно извлекли хэши паролей с симулированной машины Windows. На следующем шаге мы проанализируем структуру этого вывода.

Анализ дампов NTLM-хэшей из базы данных SAM

На этом шаге вы научитесь интерпретировать вывод команды hashdump. Понимание этого формата необходимо для того, чтобы знать, что делать с собранными хэшами.

Давайте рассмотрим одну строку из вывода, который вы получили на предыдущем шаге:

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

Эта строка разделена двоеточиями и содержит несколько полей:

  1. Имя пользователя (Username): Administrator

    • Это имя учетной записи пользователя.
  2. Относительный идентификатор (Relative Identifier, RID): 500

    • Это уникальный идентификатор учетной записи в домене. RID 500 всегда соответствует учетной записи администратора по умолчанию.
  3. LM Hash: aad3b435b51404eeaad3b435b51404ee

    • Это хэш для более старого протокола аутентификации LAN Manager. В современных системах Windows это часто пустой или "нулевой" хэш, как показано здесь. Это конкретное значение указывает на то, что LM-хэш не сохранен.
  4. NTLM Hash: 31d6cfe0d16ae931b73c59d7e0c089c0

    • Это хэш NT LAN Manager, который используется всеми современными версиями Windows. Это тот хэш, который вы будете использовать в автономном инструменте для взлома паролей, таком как John the Ripper или Hashcat.
  5. Комментарий и домашний каталог (Comment and Home Directory): :::

    • Эти последние три поля обычно пусты и не используются для взлома.

Анализируя этот вывод, вы можете идентифицировать активные учетные записи пользователей и, что наиболее важно, их NTLM-хэши, которые представляют их пароли в необратимом формате.

Сохранение хэшей в файл для офлайн-взлома

На этом заключительном этапе вы сохраните собранные хэши в текстовый файл. Стандартной практикой является сохранение доказательств и добычи с скомпрометированной системы для последующего анализа и использования. Хранение хэшей в файле позволяет легко передавать их в программное обеспечение для взлома паролей.

Сначала вам нужно выйти из симулированной среды msfconsole, чтобы вернуться в обычную оболочку Linux. Введите exit в приглашении meterpreter >, чтобы вернуться в приглашение msf6 >, а затем введите exit еще раз.

exit

Теперь вы должны вернуться в приглашение meterpreter >. Введите exit еще раз, чтобы покинуть симуляцию.

exit

Теперь вы должны вернуться в каталог ~/project/metasploit-simulation.

Далее создайте новый файл с именем hashes.txt с помощью текстового редактора nano.

nano hashes.txt

Теперь скопируйте вывод хэшей из вашего терминала (вывод команды hashdump из Шага 3) и вставьте его в редактор nano. Содержимое должно выглядеть следующим образом:

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
labex-user:1001:aad3b435b51404eeaad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c:::

Нажмите Ctrl+X, чтобы выйти из nano, затем Y, чтобы подтвердить сохранение изменений, и, наконец, Enter, чтобы подтвердить имя файла.

Чтобы убедиться, что файл был сохранен правильно, вы можете отобразить его содержимое с помощью команды cat.

cat hashes.txt

Вы успешно сохранили хэши паролей в файл, готовый для офлайн-взлома.

Резюме

В этой лабораторной работе вы успешно выполнили классическую технику пост-эксплуатации с использованием симулированной сессии Meterpreter.

Вы научились:

  • Навигироваться и взаимодействовать с сессиями в консоли Metasploit Framework.
  • Загружать расширения Meterpreter, такие как priv, для получения дополнительной функциональности.
  • Выполнять команду hashdump для извлечения NTLM-хэшей паролей из целевой системы Windows.
  • Понимать формат дампов хэшей, идентифицируя имя пользователя, RID и NTLM-хэш.
  • Сохранять собранные хэши в файл для последующего использования с инструментами для взлома паролей.

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