• Открыта запись на вторую часть курса по анонимности и безопасности в сети интернет "Paranoid II" от команды codeby. Анонимные роутеры, Подъём, настройка и администрирование Tor-ноды, Работа с железом ПК, Удаление аппаратных закладок, Минимизация рисков, Авторские разработки и многое другое. Подробнее ...

Статья Выполнение макросов из .docx файлов с удаленной инъекцией шаблона

Tayrus

Tayrus

Grey Team
13.04.2017
360
731
В этом посте я хочу поговорить и показать метод выполнения кода, который был показан мне не так давно. Этот метод позволяет создать документ .DOCX, который загрузит и позволит пользователю выполнять макросы с помощью удаленного файла шаблона .DOTM. Эта атака частично входит в открытое наступление инструменты безопасности(линк я удалил), как уже рассказывали Циско Талос, в блоге и инструменте с открытым исходным кодом он рассматривается только как атака кражи учетных данных, обычно по протоколу SMB. В этом блоге будет подробно рассказано, как использовать этот метод для загрузки шаблона с поддержкой макросов по HTTP(S) в методе, поддерживающем прокси, в документ .DOCX .

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

Другая причина, по которой эта атака будет чаще получаться, заключается в том, что само вложение не содержит вредоносного кода. Сам макрос не виден никакими статическими блоками развертки электронной почты. В случае, если цель использует sandbox для "детонирования" вложений электронной почты, можно использовать различные методы уклонения от sandbox, такие как правила modrewrite или ограничение IP-адреса, чтобы предотвратить возможность извлечения вредоносного шаблона.

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

В своих блогах и тренингах, которые я предоставляю другим, я стремлюсь показать примеры, используя бесплатные и открытые инструменты. Я делаю это, потому что я хочу, чтобы те, кто читает этот блог, мог попробовать его самостоятельно, и не хочу заставлять людей покупать коммерческие инструменты. По этой причине, я пройдусь по всем шагам для создания удаленного шаблона документа для выполнения пэйлоада PowerShell Empire . Чтобы придерживаться цели этого поста, я не буду подробно описывать, как создать листенер или макрос в Empire здесь. Есть много учебников там о том, как это сделать уже есть. Я просто пройдусь по созданию документов для выполнения макроса.

Для того, чтобы эта атака работала, нам нужно создать шаблон ворда с включенными макросом (.dotm расширение файла), который содержит наш вредоносный макрос Империи. Откройте Word и поставьте галочку на Developer:




Затем откройте редактор Visual Basic во вкладке Developer и дважды щелкните на элемент ThisDocument в текущем проекте, чтобы открыть окно кода. Вставьте код макроса в это окно:



Дайте шаблону имя и сохраните файл как a .dotm формата. Обратите внимание, что имя обычно видно пользователю, поэтому я рекомендую что-то, доброкачественное, такое как ‘InvoiceTemplate.dotm’.

Поскольку я просто использую макрос по умолчанию из PowerShell Empire, он быстро ловится windows defender, поэтому я собираюсь отключить его для демонстрации. Если ваша цель использует windows defender, вам нужно будет выбрать другой инструмент или выполнить обфускацию, пока вы не сможете получить рабочий макрос.

На данный момент, я, как правило, хочу проверить мой шаблон и макрос, просто дважды нажав на документ, убеждаюсь, что я получаю кнопку "enable content" и что я получаю агент, когда я нажимаю на нее.




Это работает!

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




Измените документ по мере необходимости, чтобы соответствовать вашему сценарию фишинга, чтобы ваш пользователь мог нажать кнопку "Enable Content". Сохраните документ в .docx формате.

Затем найдите документ и щелкните правой кнопкой мыши и переименуйте расширение в документе из .docx в .zip. Извлеките содержимое zip-файла в папку и перейдите к этой папке.

Примечание: с выпуском Office 2007, Microsoft представила форматы, которые заканчиваются буквой " х ". Каждый из этих форматов просто zip файлы, содержащие в основном .xml and .rel файлы. Можно вручную отредактировать документ и его свойства, изменив эти файлы, а затем повторно сжать содержимое.

Перейдите к ‘.\word\_rels\’ и откройте ‘settings.xml.rels’ с помощью текстового редактора, такого как блокнот.




В теге, содержащий тип с attachedTemplate будет параметр, который говорит ворду, откуда скачивать шаблон, при открытии этого .docx файла. В настоящее время шаблон загружается из локальной файловой системы.



Ключ в том, что это значение будет принимать веб-URL. Мы можем изменить значение, чтобы оно было удаленным. В этом случае я размещу свой документ с поддержкой макросов на GitHub.



После того, как мы сохраним этот файл, мы можем заархивировать содержимое и переименовать файл обратно в a.docx. В следующий раз, когда мы откроем наш .docx, мы можем видеть, что файл скачивается через HTTPS c нашего хостинга для загрузки шаблона.



А теперь наш .docx файл имеет макрос, загруженный в него, давайте запустим наш макрос.



Появляется новое всплывающее окно для пользователя, но это не влияет на пэйлоад. Это связано только с тем, что .docx файлы не предназначены для хранения макросов. Если пользователь нажимает "Enable Content" или имеет макросы, настроенные для автоматического запуска, то мы получаем нашего агента.



Теперь подготовьте свой фишинг, отправьте .docx к пользователю, и ждите обратного вызова!
Источник: .
 
Последнее редактирование модератором:
DefWolf

DefWolf

Mod. Cryptography
Red Team
24.10.2017
312
765
Шрифт текста поменяй, а так интересно.
 
Apton

Apton

Well-known member
17.04.2017
45
141
Хороший материал, спасибо! Частичный разбор вот этотой , немного не успел с ней разобраться.
 
Последнее редактирование:
Apton

Apton

Well-known member
17.04.2017
45
141
В 2007 офисе не работает... Функция AutoOpen() автоматически блокируется Trust Center, макрос будет выполнен только в том случае, если в настройках Trust Center будет выставлена галочка Enable all macros. Поэтому, к сожалению, не очень рабочий метод. Эх....
 
Последнее редактирование:
Apton

Apton

Well-known member
17.04.2017
45
141
Автор точно не в 2007 ворде тестировал этот метод.
Ну это понятное дело, что не в 2007. Просто проблема России в том, что 2007 офис является самым распространенным продуктом.
 
mirolub

mirolub

Member
13.09.2016
10
0
Оч познавательно шрифт нормальный , но не полностью раскрыто .Продолжение в студию.
 
O

ONX

Member
03.02.2017
19
3
Ну это понятное дело, что не в 2007. Просто проблема России в том, что 2007 офис является самым распространенным продуктом.
ну во первых это не так, судя по большей статистике с логов офис 2007 уже не преобладает, во вторых макросы отключены по умолчанию у любого офиса, и нужно чтоы бы клиент обязательно тыкнул в разблокировку, так что тут неважно какая версия, и в третьих почему именно речь про Россию, не благое дело по РФ работать...
 
Apton

Apton

Well-known member
17.04.2017
45
141
почему именно речь про Россию, не благое дело по РФ работать...
В смысле не благое, как поднимать уровень ИБ на предприятиях РФ тогда?
во вторых макросы отключены по умолчанию у любого офиса
А это и ежу понятно, вот что выдает 2007 оффис
Выполнение макросов из .docx файлов с удаленной инъекцией шаблона

После нажатия "ОК" в документе попадает присутствие макроса.
 
Tayrus

Tayrus

Grey Team
13.04.2017
360
731
Оч познавательно шрифт нормальный , но не полностью раскрыто .Продолжение в студию.
Вроде все раскрыто тк.к вас проверили от создания такого документа до получения агента, почему вы считаете что не раскрыто?
 
O

ONX

Member
03.02.2017
19
3
В смысле не благое, как поднимать уровень ИБ на предприятиях РФ тогда?

А это и ежу понятно, вот что выдает 2007 оффис
Посмотреть вложение 20613
После нажатия "ОК" в документе попадает присутствие макроса.
Я всего лишь вижу что у вас практики мало, когда вы пишите что в 2007 не работает и за того что нужно жать ОК, я вам и написал что жать окей нужно во всех версиях офиса, а метод очень даже рабочий, с 1000 разосланных писем, хорошо составленных, хавают метод от 20-до 100 людей, это круче чем какая либо связка для пробива
 
Dr.Lafa

Dr.Lafa

Mod. Hardware
Gold Team
30.12.2016
510
1 036
Не надо такой большой шрифт, не удобно читать
 
  • Нравится
Реакции: The Codeby
Genius1oci

Genius1oci

Well-known member
09.05.2018
45
39
Думаю, что было бы круто добавить обфускацию. Многим будет интересно.
 
Tayrus

Tayrus

Grey Team
13.04.2017
360
731
Думаю, что было бы круто добавить обфускацию. Многим будет интересно.
Если вы имели ввиду обфускацию макроса, то есть специальные инструменты для этого, например unicorn .
PS Так же можете выучить Visual Basic и проводить обфускацию самостоятельно.
 
Genius1oci

Genius1oci

Well-known member
09.05.2018
45
39
Нет, это понятно. Я имею ввиду добавить в статью. Было бы интересно посмотреть решение участников. Хотя, тут тянет на отдельную ветку. За статью, спасибо.
 
Мы в соцсетях:  ТелеграмВконтактеДзенФейсбукТвиттерЮтуб