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

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

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

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

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

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

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


2.png


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

3.png


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

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

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


5.png

6.png

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

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


7.png


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

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

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

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


8.png


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

9.png


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

10.png


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

11.png


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

12.png


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

13.png


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

Tayrus

Red Team
13.04.2017
365
787
BIT
6
Вот кино, как воспроизвести этот метод:
Код:
https://drive.google.com/open?id=1JUGYD5BHeZbdVAZea172Mcq68Sx2mhwp
 
M

mirolub

Кино супер.Не понятно чё там тыкал так быстро. Туалет спешил ?
 
L

Langolier

80кб/c на загрузку(скорость нета), я не мазохист чтобы ждать пока загрузиться видео в 300мб.
Где ты нашёл такой скоростной интернет ?
Оптоволокно ?

Как такое может быть ?
Ты из бункера выходишь в инет или через цепочку Тор - VPN - Тор - и так до 80кб/c ?
 

Tayrus

Red Team
13.04.2017
365
787
BIT
6
Где ты нашёл такой скоростной интернет ?
Оптоволокно ?

Как такое может быть ?
Ты из бункера выходишь в инет или через цепочку Тор - VPN - Тор - и так до 80кб/c ?
Ты не угадал) Говорили будет 1мб/c, ростелеком...
PS На закачку файла 600кб/c на выкладывание 80кб/c
 
L

Langolier

Ты не угадал) Говорили будет 1мб/c, ростелеком...
Это полный пипец.
У тебя имеется на руках какой-то договор с этими Телекомами ?
Если имеется, то посмотри в условиях, нет ли письменно закреплённого обязательства предоставления скорости в 1мб/c ?
Если такой пункт имеется, то собери документы и подавай на этих УРОДОВ в суд .
Даже если ты проиграешь - это ступенька вверх : приобретёшь опыт, потеряешь страх пред судом.
Иначе эту страну - не переделать.

Не пробовал перейти на 3G или 4G ?
 

Tayrus

Red Team
13.04.2017
365
787
BIT
6
Это полный пипец.
У тебя имеется на руках какой-то договор с этими Телекомами ?
Если имеется, то посмотри в условиях, нет ли письменно закреплённого обязательства предоставления скорости в 1мб/c ?
Если такой пункт имеется, то собери документы и подавай на этих УРОДОВ в суд .
Даже если ты проиграешь - это ступенька вверх : приобретёшь опыт, потеряешь страх пред судом.
Иначе эту страну - не переделать.

Не пробовал перейти на 3G или 4G ?
Посмотрим, что смогу сделать. Нет не пробовал.
 

cerruti

One Level
20.11.2018
8
1
BIT
0
В 2007 офисе не работает... Функция AutoOpen() автоматически блокируется Trust Center, макрос будет выполнен только в том случае, если в настройках Trust Center будет выставлена галочка Enable all macros. Поэтому, к сожалению, не очень рабочий метод. Эх....

С такой же проблемой сталкнулся, даже если нажимаю Включить содержимое, макрос не исполняется. Но если в Trust Center выставляю включить все макросы, тогда работает. На машине стоит Win7+Office16.
Как использовать функцию AutoOpen, когда в Trust Center стоит блокировка с уведомлением?
 

crackerjack

New member
24.11.2019
4
0
BIT
1
Ищу специалиста, готового помочь с реализацией сценария атаки через word файл. Заплачу.
 

pjd

One Level
30.09.2020
3
2
BIT
0
Доброго времени суток. Отличная, подробная статья. Немного застрял, там где редактируем settings.xml. Прописал ссылку на свой шаблон, далее сжимаю в zip и переименовываю в docx. Но при запуске не открывается файл, выдает ошибку: проблемы с содержимым. Может подскажете в чем загвоздка?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!