Share
Beitragsbild zu KorPlug-Malware enttarnt: Technische Analyse von TTPs, Kontrollfluss und IOCs

KorPlug-Malware enttarnt: Technische Analyse von TTPs, Kontrollfluss und IOCs

25. August 2025

Dies ist der zweite Teil einer detaillierten Untersuchung der KorPlug-Malware-Familie. Frühere Berichte beschrieben ausführlich den initialen Ladevektor, der DLL-Side-Loading gegen legitime Dienstprogramme einsetzt, um die Ausführung von Schadcode zu ermöglichen.

Die zweite Stufe der Malware wird über eine spezifische Einstiegsfunktion aktiviert. Eine statische Analyse der Binärdatei zeigt, dass die von der Loader-Stufe aufgerufene Initialise-Funktion eine ungewöhnliche Struktur im Kontrollflussdiagramm (CFG) aufweist.

Reverse-Engineering dieser Funktion gestaltet sich aufgrund der implementierten Verschleierungsmechanismen als besonders anspruchsvoll. Sowohl statische Disassemblierung als auch dynamische Analysen stoßen auf erhebliche Schwierigkeiten, die Logik der Funktion nachzuvollziehen.

Die folgende technische Analyse, unterstützt durch die in Tabelle aufgeführten Dateiinformationen, dokumentiert die Methoden, mit denen diese Verschleierungen überwunden wurden und wie verwertbare Informationen über die Ausführungsfähigkeiten der zweiten KorPlug-Stufe gewonnen werden konnten.

SHA-256 Hash b6b239fe0974cf09fe8ee9bc5d0502174836a79c53adccdbb1adeb1f15c6845c
File Size 638976 Bytes (624.00 KB)
File Type x86 PE

Technische Analyse: Rückblick auf Stufe 3

Die Analyse der Endphase, wie in Teil 1 beschrieben, zeigt, dass die entschlüsselte Nutzlast zwar die Standardstruktur einer DLL beibehält, ihre Ausführung jedoch über unkonventionelle Ladeverfahren erfolgt.

Die Probe nutzt eine shellcode-ähnliche Ausführung über den API-Aufruf „EnumSystemGeoID“. Die initiale Bytefolge der Nutzlast enthält Umleitungsanweisungen, die den Ausführungsfluss direkt zur Initialisierungsfunktion führen und so die üblichen Verfahren zum Laden von Windows-DLLs sowie die damit verbundenen Sicherheitsmechanismen umgehen.

Die statische Analyse der Binärdatei in Disassemblierungsumgebungen zeigt, dass die Initialize-Funktion eine komplexe und weit verzweigte Kontrollflussgraphenstruktur (CFG) aufweist. Dieser Bericht beschreibt die Methoden, mit denen die verschleierte CFG in ein verständliches Format überführt wurde, das für Reverse-Engineering geeignet ist, wobei die Integrität der ursprünglichen Ausführungslogik und des Betriebsverhaltens erhalten bleibt.

Shellcode-Aufschlüsselung.

CFG der Initialisierungsfunktion.

Komplexität des CFG und O-LLVM-Verschleierung

Die Komplexität des Kontrollflussgraphen (CFG) geht auf O-LLVM zurück, eine angepasste Variante des LLVM-Compilers, die dafür bekannt ist, Kontrollflussabflachungen, Scheinzweige und Befehlsersetzungen einzusetzen, um Erkennung und Analyse zu erschweren.
Diese Techniken wandeln die Logik in switch-ähnliche Dispatcher um, fügen irreführende Codepfade hinzu und verkomplizieren Befehle – wodurch die Hürden für das Reverse Engineering erheblich steigen.

Bewertungen von Open-Source-Entschleierern wie MODeflattener zeigten in diesem Fall deutliche Grenzen, sodass für eine wirksame Analyse maßgeschneiderte Anpassungen notwendig waren.

Rekonstruktion des CFG

Um die Verschleierung zu durchdringen, kategorisierten Analysten die einzelnen CFG-Komponenten systematisch:

  • den Pre-Dispatcher-Block, erkennbar durch zahlreiche Vorgänger und den einfachen Sprung zum initialen Dispatcher,

  • den Dispatcher, der eine Statusvariable manipuliert, um Ausführungspfade aufzulösen,

  • Backbone-Blöcke, die über JMP-, MOV-, SUB- und JZ-Sequenzen Variablenprüfungen erzwingen,

  • relevante Blöcke, die die Kernlogik der Malware enthalten und in einfache (fest codierte MOV-Zuweisungen) sowie bedingte (CMOVZ-gesteuerte) Typen unterteilt sind,

  • sowie Tail-Blöcke, die lediglich Übergangssprünge darstellen und zur Entfernung markiert wurden.

Diese Klassifizierung machte es möglich, Zuweisungen von Statusvariablen mit legitimen Sprüngen zu verknüpfen und so vorab festgelegte Sequenzen offenzulegen, die die Malware-Funktionalität innerhalb der abgeflachten Struktur erhalten.

Mithilfe von Python und dem angr-Framework wurde ein Entschleierungsskript entwickelt, das die Blockaufzählung, die Katalogisierung von Statuswerten und das Patchen von Binärdateien automatisiert. Es ersetzt verschleierte Sprünge durch direkte oder bedingte Anweisungen, füllt mit NOPs zur Beibehaltung der Ausrichtung und entfernt überflüssige Dispatcher- und Backbone-Elemente. Das Ergebnis ist ein optimierter CFG, der die ursprüngliche Logik widerspiegelt.

Dieser Ansatz entmystifiziert nicht nur das Verhalten von KorPlug – etwa variablengesteuerte Übergänge für modulare Ausführung –, sondern passt sich auch an vergleichbare O-LLVM-Bedrohungen an und übertrifft Tools wie MODeflattener durch die Erkennung allgemeiner Muster. Nach dem Patching werden die Taktiken, Techniken und Verfahren (TTPs) der Malware sichtbar, was Schwachstellenbewertungen und Bedrohungsanalysen erleichtert.

Fazit

Die Methode zeigt, dass sich auch stark abgeflachte Kontrollflussstrukturen, die durch O-LLVM-Verschleierung entstehen, erfolgreich analysieren und entschleiern lassen. Durch die systematische Identifizierung von Verschleierungskomponenten, die Klassifizierung relevanter Blocktypen und gezielte Binärpatches kann die ursprüngliche Ausführungslogik rekonstruiert und das Kernverhalten der Malware offengelegt werden.

Auch wenn diese Implementierung speziell für das KorPlug-Beispiel entwickelt wurde, bietet die Methodik ein flexibles Framework, das sich mit Anpassungen auf ähnliche Verschleierungsschemata übertragen lässt. Damit reiht sich der Ansatz in die Strategien bestehender Tools wie MODeflattener ein, ermöglicht jedoch durch erweiterbare Implementierungen eine breitere Anwendung auf O-LLVM-verschleierte Bedrohungen.

IOCs

SHA-256 Description
b6b239fe0974cf09fe8ee9bc5d0502174836a79c53adccdbb1adeb1f15c6845c The content of the analyzed sample, identified by its SHA-256 hash

Das könnte Ihnen gefallen


Bild/Quelle: https://depositphotos.com/de/home.html

Folgen Sie uns auf X

Folgen Sie uns auf Bluesky