Гостевая статья ntlm_theft: генератор полезной нагрузки файла для принудительного раскрытия хеша ntlm

  • Автор темы Автор темы Zer0must2b
  • Дата начала Дата начала
1_fkymIN5yrSphT4QATId90g.png



Приветствую коллегу энтузиаста безопасности! Сегодня я хочу познакомить вас с новым мною написанным средством безопасности ntlm_theft , которое теперь доступно на GitHub . Это инструмент, который генерирует несколько различных файлов (18 на момент написания), которые могут быть использованы злоумышленником, чтобы обманным путем заставить пользователей раскрыть свои хеши NetNTLMv2.

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

NTLMv2 Hash Theft
Кража хешей NTLMv2 не является новой уязвимостью, она существует уже более 20 лет. Когда пользователь Windows пытается подключиться к SMB-серверу, если сервер запрашивает аутентификацию, клиент автоматически предоставит его, если специально не ограничен. Отправляемая аутентификация имеет вид хэша, который затем может быть взломан для выявления пароля пользователя, вошедшего в систему.

При проведении оценок безопасности большинство консультантов будут знакомы с этой проблемой безопасности из-за того, что Лоран Гаффи использовал инструмент Responder . Этот инструмент может заставить клиентов в локальной сети раскрывать свои хэши, используя отравления LLMNR, NBT-NS и MDNS.

1_qH8yRdhcCBlSCldTRV4pow.png



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

Введите: ntlm_theft
Итак, из того, что я видел до сих пор, эти атаки на основе документов раскрывают хэш после 4 различных типов взаимодействия с пользователем.

1. Пользователь просматривает папку с документом внутри.
2. Пользователь открывает документ.
3. Пользователь открывает документ и принимает всплывающее окно.
4. Пользователь нажимает на ссылку в приложении чата

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

Итак, то, что я попытался сделать здесь, - это собрать их в единый блог и предоставить вам инструмент для быстрой генерации документов атаки. Это должно быть особенно полезно в Linux, где у вас может не быть доступа к Microsoft Office для создания некоторых документов.

Еще одно преимущество ntlm_theft заключается в том, что вы можете визуально увидеть все типы атак с использованием файлов краж NTLMv2, которые вы можете использовать, проверить, какие из них все еще работают, проверить их по AV и посмотреть, могут ли они обойти системы безопасности шлюза электронной почты.

В ntlm_theft есть 18 атак, которые я протестировал на полностью исправленную версию Windows 10, Microsoft Word, Microsoft Excel, Windows Media Player, Chrome, Internet Explorer, Microsoft Edge и Java, и все они по-прежнему работают, кроме четырех (SCF, Autorun.inf, desktop.ini и Zoom), которые по-прежнему включены для атак на старые операционные системы. Кроме того, Защитник Windows не помечает ни один из них, поскольку все они являются «законными» файлами.

1_xBh6L9JIgHVe9Rli423JgQ.png



Итак, для чего вы можете использовать ntlm_theft? Помимо очевидного ответа на фишинг, вы также можете использовать его для проверки своих антивирусных и почтовых шлюзов. Просто сгенерируйте документы, переместите их в свою систему и запустите AV-сканирование в папке, которую он создает. Либо отправьте каждое письмо по электронной почте через корпоративный почтовый шлюз и проверьте, какие из них помечены, а какие пропущены.

ntlm_theft поддерживает следующие типы файлов и специальные атаки:

  • Перейдите к папке, содержащей
    1. .url - через поле URL
    2. .url - через поле ICONFILE
    3. desktop.ini - через поле IconResource (не работает в последних Windows)
    4. .scf - через поле ICONFILE (не работает в последних Windows )
    5. autorun.inf через поле OPEN (не работает в последних версиях Windows)
  • Открыть документ
    6. .xml - через внешнюю таблицу стилей Microsoft Word
    7. .xml - через поле Microsoft Word includepicture
    8. .htm - через Chrome & IE & Edge img src (только если открыт локально, не размещен)
    9. .docx - через Поле Microsoft Word includepicture
    10. .docx - через внешний шаблон Microsoft Word
    11. .docx - через набор фреймов Microsoft Word webSettings
    12. .xlsx - через внешнюю ячейку Microsoft Excel
    13. .asx - через плейлист Windows Media Player (лучше, первичное открытие)
    14. .m3u - через плейлист Windows Media Player (что еще хуже, Win10 сначала открывается в Groovy)
    15. .jnlp - через внешний jar-
    файл Java 16. .application - через любой браузер (должен быть загружен через браузер или не будет работать)
  • Открыть документ и принять всплывающее окно
    17. .pdf - через Adobe Acrobat Reader
  • Нажмите ссылку в программе чата
    18. .txt - отформатированная ссылка для вставки в Zoom чат
Запуск ntlm_theft
ntlm_theft может быть запущен с рядом различных опций. Вы всегда указываете IP-адрес SMB-сервера вашей коллекции и базовое имя для файлов, а затем выбираете «все» типы файлов, определенный тип файлов (например, .rtf) или только современные в настоящее время рабочие типы файлов. , Это можно увидеть в приведенных ниже примерах:

[I]# python3 ntlm_theft.py — generate all — ip 127.0.0.1 — filename board-meeting2020[/I]

1_pP8eeKJP5qs_JmMeLGsGFw.png


[I]python3 ntlm_theft.py — generate rtf — server 192.168.0.24 — filename boardmeeting[/I]

1_Mw1H5vS_YZ0v744WQcdTKg.png


python3 ntlm_theft.py — generate modern — server 192.168.0.24 — filename boardmeeting

1_cGsaDkllaDJj6-BfFHsTug.png


Со временем я собираюсь обновить инструмент, так как эти атаки удалены из последней версии Windows, поэтому использование флага «modern» должно быть наиболее надежным по сравнению с современными версиями Windows.

На изображении ниже вы видите, как ntlm_theft генерирует документы, мы загружаем респондент на наш сервер «192.168.1.103», открываем файл .rtf на нашей виртуальной машине с windows 10 и начинаем получать хэши NTLMv2.

1_fkymIN5yrSphT4QATId90g (1).png


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

1) Заблокируйте порт 445 на внешнем брандмауэре. На самом деле никто не должен подключаться к SMB через Интернет.
2) Рассмотрим групповые политики, чтобы остановить весь исходящий smb-доступ, если это не требуется для конкретных хостов или рабочих станций.
3) Проанализируйте конкретные поля в этих документах, в которых хранятся IP-адреса, и создайте правила для шлюзов AV и электронной почты для обнаружения документов такого типа. Реально эти функции очень редки и редко используются в документах, используемых обычным пользователем.

Я просто хотел бы закончить быстро спасибо , , , deepzec , rocketscientist911 и для оригинальных статей и инструментов , на некоторых из этих атак. Я не смог бы создать этот инструмент без вашего общего знания.

Большое спасибо за то, что вы нашли время прочитать этот пост, надеюсь, вы нашли его информативным и полезным, и я желаю вам удачи в тестировании безопасности NTLMv2!

Greenwolf/ntlm_theft

Источник:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!