Red Team

Initial Access Simuliert: Makros, LNK und ISO im Isolierten Windows-11-Lab

Por Equipe Basilisk ·

Wir spielen drei klassische Initial-Access-Vektoren in einem abgeschotteten Windows-11-Lab durch, um zu sehen, was das EDR wirklich loggt und wo die Erkennung leise scheitert.

Wer im Red Team arbeitet, weiss: Initial Access bleibt das storrischste Kapitel im Playbook. Office-Makros wurden 2022 fur tot erklart, als Microsoft VBA fur Dateien aus dem Internet standardmassig blockierte, und trotzdem hat Mandiant 2025 weiterhin Storm-0978-Kampagnen kartiert, die .docm-Dateien via HTML Smuggling ausliefern. Wir haben ein Lab gebaut: Windows 11 23H2, Defender for Endpoint im Audit-Modus, Sysmon 15 mit der SwiftOnSecurity-Konfiguration. Drei Vektoren werden durchgespielt: klassisches VBA-Makro, LNK-Datei mit verschleierten Argumenten und ISO mit LNK plus DLL-Side-Loading. Alles offline, in isolierter VLAN, Snapshot vor jedem Lauf. Ziel war nie, das EDR zu brechen, sondern zu verstehen, was es tatsachlich aufzeichnet.

Erster Test: das Makro. Wir bauen ein .docm mit AutoOpen, das WScript.Shell aufruft, um per certutil ein Payload zu laden. Mit aktivem Mark-of-the-Web blockt Defender vor dem Prompt. Strippt man MOTW uber einen geleerten Alternate Data Stream (powershell -Command "Clear-Content -Stream Zone.Identifier"), feuert das Makro durch. In Sysmon EventID 1 sehen wir winword.exe, das cmd.exe mit vollstandiger Command Line spawnt, und EventID 3 mit ausgehender Verbindung auf Port 80. Das matched sauber gegen die Sigma-Regel proc_creation_win_office_susp_child_processes, die viele Teams ohnehin haben. Wer die komplette Defense-Pipeline begreifen will, schaut nochmal in Threat Hunting mit Sigma und Elastic: Vom Indikator zur Detektionsregel und kreuzt das mit Hunting von Living-off-the-Land-Binaries unter Windows mit KQL, denn das Problem ist selten, dass die Regel fehlt, sondern dass niemand sie produktiv aktiviert hat.

Vektor zwei: LNK. Wir erstellen eine Verknupfung, deren Target auf powershell.exe -nop -w hidden -enc zeigt, das Icon stammt aus einer echten PDF. Der LNK reist in einem .zip uber den Browser ein. Hier wird es spannend: SmartScreen bewertet die Reputation des aufgerufenen Binaries, nicht des LNK. PowerShell.exe hat tadellose Reputation, also lauft es durch. Erst AMSI fangt das Ganze, indem es das dekodierte Script im Speicher inspiziert und EventID 4104 aus PowerShell ScriptBlockLogging erzeugt. Ohne aktiviertes ScriptBlockLogging (in vielen Estates immer noch der Default) bleibt der Vektor lautlos. Wer die offensive Kehrseite verstehen will, liest AMSI- und ETW-Bypass fuer Defensive Forschung: Was Blue Teams Wissen Sollten mit Bedacht, und Verteidiger brauchen die Basis aus Windows 11 Hardening fuer Hochrisiko Arbeitsplaetze.

Vektor drei tarnt sich am besten: ISO mit LNK plus legitimer, fur Side-Loading anfalliger DLL. Wir mounten die ISO uber den Auto-Mount-Default des Explorers in Windows 11. Der Nutzer sieht nur eine "PDF", die in Wahrheit der LNK ist, der eine umbenannte Kopie von OneDriveStandaloneUpdater.exe startet, die wiederum unsere version.dll aus dem gleichen Verzeichnis ladt. Da ein Microsoft-signiertes Binary LoadLibrary aufruft, zeigt EventID 7 (Image loaded) zwar die unsignierte DLL, der Parent-Prozess bleibt aber legitim. Defender schweigt. Erst die ASR-Regel Block untrusted unsigned processes that run from USB, auf mounted images erweitert, packt das Verhalten, was Adversary Emulation mit Caldera und MITRE ATT&CK im Unternehmenslab ebenfalls durchgeht.

Im Vergleich der drei Tests zeigt sich: Erkennung hangt weit mehr von Konfiguration ab als vom gewahlten Produkt. Sysmon ohne kuratiertes Schema, PowerShell ohne ScriptBlockLogging, ASR ewig im Audit, MOTW von alten 7zip-Versionen verworfen. Jeder dieser Punkte macht aus einem sichtbaren Vektor einen blinden. Nichts davon ist neu, alle drei Verhalten sind seit Jahren als T1566.001, T1204.002 und T1574.002 im MITRE ATT&CK katalogisiert. Teams, die den Kreislauf aus Purple Team in der Praxis: Aufbau eines Red-Blue-Feedback-Zyklus noch nicht etabliert haben, werden dieselben Lucken weiter wiederentdecken statt sie endgultig zu schliessen.

Wir haben zusatzlich die ganze Kette gefahren und einen minimalen C2 hochgezogen, nur um den Callback zu validieren, auf einer separaten VLAN, damit Simulationsverkehr und Management-Verkehr sich nie vermischen. Die operativen Details dazu stehen in C2-Infra mit Sliver im Isolierten Lab fur Defensive Forschung Aufbauen, bereits dokumentiert. Wichtig: Initial Access endet nicht bei der Execution, er endet bei einem stabilen Beacon, und jeder folgende Hop hat sein eigenes Erkennungsfenster. Wer nur EventID 1 von Sysmon beobachtet und nie mit DNS, TLS-JA3-Fingerprints und Egress-Flows korreliert, verliert die halbe Geschichte.

Praktisches Takeaway: Verbrenn keinen Sprint mit dem Umschreiben von Makro-Obfuskation, solange dein Team weder ScriptBlockLogging aktiviert, noch eine kuratierte Sysmon-Config ausgerollt, noch ASR aus dem Audit-Modus geholt hat. Spiele die drei Vektoren aus diesem Post in einem isolierten, gesnapshotteten Lab ohne Verbindung zur Produktion durch und belege, welche EventID in welcher Phase ausgelost wird. Dokumentiere die Lucke. Erst danach ergibt es Sinn, in lautere Techniken wie Direct Syscalls vorzustossen, die wir in EDR-Umgehung fur Forschung: Direct Syscalls Erklart ohne Romantik behandeln. Ein teures Tool ohne anstandige Konfiguration bleibt ein hubsches Dashboard, wahrend der Gegner uber die freie Wiese nebenan spaziert.

Nenhum comentário ainda

Seja o primeiro a comentar.

Deixe seu comentário

Entre com sua conta Canverly para comentar. Você pode usar a mesma conta em qualquer site da rede.

Entrar com Canverly