Microsoft Office – DDE Атаки

Microsoft Office — это распространенное приложение, которое разворачивается в каждой организации.

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

Исторически выполнение кода в офисе Microsoft выполнялось с использованием макросов.

Однако SensePost обнаружил другой способ выполнения произвольного кода с использованием протокола DDE (Dynamic Data Exchange).

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

Статья DDE Payloads может использоваться вместе с этим постом для производства пэйлоадов.

Word

В Microsoft Word самым простым способом является вставка кода в поля, как он был описан в исходном сообщении SensePost, и вставить полезную нагрузку внутри формулы.

 Insert-> Quick Parts-> Field 

Добавление следующего пэйлоада в скобках приведет к появлению некоторого диалогового окна при следующем открытии файла.

Если пользователь выбирает параметр «Yes», полезная нагрузка будет выполнена.

 {DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe"} 

В качестве альтернативы можно использовать макрос, чтобы вставить пэйлоад в поле кода, как описано в  блоге Пол Ричи.

 ''' Programmatically inserts a new field code into a word document at the current selection index.
''' This is of type "wdFieldDDEAuto" which is a field code which executes Dynamic Data Exchange (DDE)
''' When the document is opened. This includes an example PoC which launches calc.exe
Public Sub FieldCodeFun()
' Payload String
Dim payload As String
payload = """c:\\windows\\system32\\calc.exe"" ""/c calc.exe"""
' Insert our payload as a field code
Selection.Collapse Direction:=wdCollapseEnd
ActiveDocument.Fields.Add Range:=Selection.Range, _
Type:=wdFieldDDEAuto, Text:=payload
End Sub 

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

Майк Чумак сделал большое открытие, которое было обсуждено в его блоге относительно загрузки вредоносного DDE из другого документа Word, который находится снаружи.

Код поля INCLUDE может использоваться с этим вектором атаки в сочетании с внешним URL-адресом.

Excel

В Microsoft Excel DDE пэйлоад может быть использован с использованием формул.

Следующие две формулы будут выполнять код (калькулятор в этом случае) со второй формулой, чтобы обмануть сообщение диалогового окна, чтобы сделать его более легитимным.

 =cmd|'/c calc.exe'!A1
=MSEXCEL|'\..\..\..\Windows\System32\cmd.exe /c calc.exe'!'' 

Появится следующее диалоговое окно, когда пользователь откроет вредоносную электронную таблицу Excel.

Вторая формула по-прежнему будет выполнять код, но сообщение в диалоговом окне будет изменено, и вместо того, чтобы попросить пользователя запустить CMD.EXE, он попросит его запустить MSEXCEL.exe.

Outlook

В Outlook существуют различные места, где может выполняться пэйлоад DDE.

В зависимости от ситуации каждый метод может быть полезен.

Например, если были получены учетные данные домена, было бы легче набрать электронное сообщение и отправить нескольким другим пользователям, чтобы получить больше оболочек внутри организации.

Сообщение

Отправка сообщения Outlook, содержащего DDE, также может автоматически выполнять код.

То же самое относится и к сообщениям электронной почты, которые отправляются в виде вложений.

Однако сообщение электронной почты должно быть отправлено в формате RTF и доставлено как RTF, поскольку некоторые почтовые службы преобразуют все электронные письма в HTML, что сделает пэйлоад DDE неработоспособным.

Когда сообщение поступит во входящий почтовый ящик пользователя, DDE будет выполняться при просмотре в этом сообщении.

Контакт

Создание нового контакта или модификация существующего и размещение полезной нагрузки DDE в области заметок может привести к выполнению кода.
Контакт должен быть отправлен целевому пользователю.
Когда пользователь откроет контакт, он выполнит встроеннй пэйлоад DDE.

Приглашение в календаре

Эта же концепция применяется и через приглашения по календарю.

Отправка приглашения на собрание с помощью пэйлоада DDE приведет к выполнению кода, если пользователь повзаимодействует с этим приглашением (откроет или отменит).

Полезные ссылки

 

¯\_(ツ)_/¯

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40