
Codifica uno script PowerShell nei pixel di un file PNG e genera un one-liner per eseguirlo.
Codifica uno script PowerShell nei pixel di un file PNG e genera un one-liner per eseguirlo
Invoke-PSImage prende uno script PowerShell e codifica i byte dello script nei pixel di un'immagine PNG. Genera un one-liner per eseguirlo sia da un file che dal web.
Può creare una nuova immagine usando solo i dati del payload, oppure incorporare il payload nei byte meno significativi di un'immagine esistente in modo che sembri una vera foto. L'immagine viene salvata come PNG e può essere compressa senza perdita di qualità senza compromettere la capacità di eseguire il payload, poiché i dati sono memorizzati nei colori stessi. Quando si creano nuove immagini, gli script PowerShell normali vengono effettivamente compressi in modo significativo, producendo solitamente un PNG con una dimensione del file ~50% dello script originale.
Con il metodo di incorporamento, i 4 bit meno significativi di 2 valori di colore in ciascun pixel vengono utilizzati per contenere il payload. La qualità dell'immagine ne risentirà, ma rimane comunque decente. Può accettare la maggior parte dei tipi di immagine come input, ma l'output sarà sempre un PNG perché deve essere lossless. Ogni pixel dell'immagine viene utilizzato per contenere un byte dello script, quindi avrai bisogno di un'immagine con almeno tanti pixel quanti byte nel tuo script. È abbastanza semplice: ad esempio, Invoke-Mimikatz si inserisce in un'immagine 1920x1200.
-Script [percorso file] Il percorso dello script da incorporare nell'immagine.
-Out [percorso file] Il file in cui salvare l'immagine risultante (l'immagine sarà un PNG)
-Image [percorso file] L'immagine in cui incorporare lo script. (opzionale)
-WebRequest Genera un comando per leggere l'immagine dal web utilizzando Net.WebClient. Dovrai ospitare l'immagine e inserire l'URL nel comando.
-PictureBox Genera un comando per leggere l'immagine dal web utilizzando System.Windows.Forms.PictureBox. Dovrai ospitare l'immagine e inserire l'URL nel comando.
Crea un'immagine con lo script "Invoke-Mimikatz.ps1" incorporato e genera un one-liner da eseguire dal disco:
PS>Import-Module .\Invoke-PSImage.ps1
PS>Invoke-PSImage -Script .\Invoke-Mimikatz.ps1 -Out .\evil-kiwi.png -Image .\kiwi.jpg
[Oneliner to execute from a file]
Crea un'immagine con lo script "Invoke-Mimikatz.ps1" incorporato e genera un one-liner da eseguire dal web (dovrai comunque ospitare l'immagine e modificare l'URL):
PS>Import-Module .\Invoke-PSImage.ps1
PS>Invoke-PSImage -Script .\Invoke-Mimikatz.ps1 -Out .\evil-kiwi.png -Image .\kiwi.jpg -WebRequest
[Oneliner to execute from the web]
Esecuzione di un'immagine ospitata sul web:
