#nosoc blog
$^\xi xpec_tthe ^un \xi xpecte_d$
Obfuscation: Shellcode als UUIDs tarnen - Teil 1
Im letzten Blogpost beschäftigten wir uns mit der Entwicklung eines calc.exe Shellcodes. Die Injection-Methode, die ich hierbei zum Testen nutzte, wurde vom Windows Defender sofort blockiert. Somit musste ich Loader und Shellcode entsprechend anpassen.
Mir kam die Idee, die OpCodes in ein String-Array umzuwandeln, welches mit UUIDs gefüllt ist. Diese müssen dann entsprechend vor der Injection wieder in Bytes umgewandelt werden. Hierzu habe ich einen En- und Decoder geschrieben, welcher genau dies macht.
Shellcode Injection Teil 4
In diesem Beitrag beschäftigen wir uns nur nebenher mit der Verschleierung von Shellcodes. An diesem Punkt wollte ich einen Custom-Shellcode entwickeln, um mehr über die Funktionsweise zu lernen.
Folgende Anforderungen sollten hierbei erfüllt sein:
- Start von
calc.exe
auf einem Windows Rechner - 64-Bit Code
- Vermeiden von Null-Bytes
Shellcode Injection Teil 3
In der Regel werden Shellcode Injections dazu benutzt, eine Reverse Shell zu initiieren. Jedoch kann es unter manchen Umständen nötig sein, den Code für die Shell erst im zweiten Schritt zu laden.
In diesem Blogpost zeige ich, wie wir eine Shellcode Injection nutzen können, um eine Datei mittels HTTP zu laden und anschließend auszuführen.
Shellcode Injection Teil 2
In Teil 1 der Shellcode Injection Reihe haben wir eine Reverse Shell aus einem lokalen Prozess heraus gestartet. in Teil 2 schleusen wir den Shellcode direkt in einen Prozess ein. Diese Form der Injection wird in der Regel vom Windows Defender erkannt, so dass wir wieder einige Obfuscation Methoden einsetzen.
Wir benutzen einen 64-Bit Shellcode und setzen (bis auf eine Ausnahme) die gleichen Tools wie in Teil 1 ein. Den Quellcode könnt ihr im Github Repository herunterladen.
Shellcode Injection Teil 1
In dieser Beitragsreihe beschäftigen wir uns mit Shellcode, wie man diesen in Prozesse einschleust und einigen Techniken zur Verschleierung der Binärdateien. Im ersten Teil schauen wir uns an, wie man Shellcode aus einem lokalen Prozess heraus ausführt. Zusätzlich verschleiern wir das Programm so, dass der Defender es nicht mehr als Bedrohung erkennt.
Alle benötigten Dateien findet ihr im Repository