SOC Prime Bias: Kritisch

21 Jan. 2026 19:10

Operation Verdeckter Zugriff: Waffengestützte LNK-basierte Spear-Phishing-Angriffe auf Argentiniens Justizsektor zur Verbreitung eines versteckten RAT

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Folgen
Operation Verdeckter Zugriff: Waffengestützte LNK-basierte Spear-Phishing-Angriffe auf Argentiniens Justizsektor zur Verbreitung eines versteckten RAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Seqrite identifizierte eine Spear-Phishing-Operation, die eine bewaffnete LNK-Verknüpfung bereitstellt, gepaart mit einem bösartigen BAT-Loader. Nach der Ausführung lädt der Loader einen Rust-basierten Remote-Access-Trojaner aus einem GitHub-Repository herunter, führt Anti-Analyse-Prüfungen durch und etabliert einen widerstandsfähigen Kommando-und-Kontroll-Kanal. Die Aktivität wird als Angriff auf Argentiniens Justizorganisationen und angrenzende Regierungseinheiten bewertet. Um die Wahrscheinlichkeit einer Ausführung zu erhöhen, fügen die Angreifer legitime aussehende PDF-Köderinhalte in das Lieferpaket ein.

Untersuchung

Analysten untersuchten das ZIP-Archiv, das die LNK-, BAT- und PDF-Dateien enthält, und rekonstruierten dann die PowerShell-Befehlssequenz, die den BAT-Loader auslöste. Sie profilierten die Funktionalität des RAT, einschließlich Anti-VM/Anti-Sandbox-Prüfungen, Host-Erkennung und System-Fingerprinting, Einrichtung von Persistenz und verschlüsselter Aufgabenübertragung über C2. Die beobachteten Verhaltensweisen wurden relevanten MITRE ATT&CK-Techniken zugeordnet, mit bemerkenswerten Mustern wie Maskerade, PowerShell-Ausführungsrichtlinien-Umgehung und sekundärer/Backup-C2-Logik, um die Konnektivität aufrechtzuerhalten, falls die primären Kanäle ausfallen.

Minderung

Wenden Sie strikte Durchführungsrichtlinien für Verknüpfungen (LNK) an, insbesondere von benutzerbeschreibbaren Standorten und komprimierten Archiven, und erzwingen Sie gehärtete PowerShell-Ausführungsrichtlinien mit zentralisiertem Logging. Beschränken oder routen Sie den ausgehenden Zugriff auf nicht autorisierte GitHub-Repositories und alarmieren Sie bei verdächtigen Download- und Ausführungsmustern aus Skript-Interpretern. Überwachen Sie die Persistenz über Run-Registrierungswerte oder geplante Aufgaben mit anomalen oder neu beobachteten Namen. Wo möglich, implementieren Sie Erkennungen, die häufige Anti-Analyse-Verhaltensweisen aufdecken, und stellen Sie sicher, dass Benutzer, die mit PDFs umgehen, mit den geringsten Rechten arbeiten, um den Explosionsradius einer erfolgreichen Ausführung zu reduzieren.

Antwort

Lösen Sie Alarme aus, wenn die bewaffnete LNK erstellt oder ausgeführt wird, und wenn die zugehörige PowerShell-Aufrufkette beobachtet wird. Suchen Sie proaktiv nach dem heruntergeladenen msedge_proxy.exe-Artefakt und allen zugehörigen Persistenzeinträgen im Registry oder Aufgabenplaner. Isolieren Sie betroffene Endpunkte, beenden Sie den bösartigen Prozessbaum und entfernen Sie alle erstellten geplanten Aufgaben und Run-Schlüssel-Werte. Führen Sie eine vollständige forensische Überprüfung durch, um den Umfang zu validieren, zu bestätigen, ob Daten gestaffelt oder exfiltriert wurden, und zusätzliche Hosts zu identifizieren, die dem gleichen ZIP/LNK-Liefermuster ausgesetzt sind.

„graph TB %% Class definitions classDef action fill:#99ccff classDef artifact fill:#cccccc classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Nodes artifact_email_zip[„<b>Artefakt</b> – Bösartige E-Mail-ZIP<br/><b>Inhalt</b>: Enthält LNK-Datei und Täuschungs-PDF.“] class artifact_email_zip artifact artifact_lnk[„<b>Artefakt</b> – LNK-Datei (info/juicio-grunt-posting.pdf.lnk)<br/><b>Technik</b>: T1027.012 Icon-Schmuggel“] class artifact_lnk artifact attack_initial_access[„<b>Aktion</b> – T1566.001 Spear-Phishing-Anhang<br/><b>Beschreibung</b>: Zustellung der bösartigen ZIP per E-Mail.“] class attack_initial_access action attack_user_execution[„<b>Aktion</b> – T1204.002 Bösartige Datei-Ausführung<br/><b>Beschreibung</b>: Benutzer klickt auf die LNK, die als PDF getarnt ist.“] class attack_user_execution action defense_evasion_icon[„<b>Aktion</b> – T1027.012 LNK-Icon-Schmuggel<br/><b>Beschreibung</b>: LNK verwendet PDF-Icon zur Tarnung.“] class defense_evasion_icon action execution_powershell[„<b>Aktion</b> – T1059.001 PowerShell & T1059.003 Windows-Befehlszeile<br/><b>Beschreibung</b>: LNK startet PowerShell mit Bypass und verstecktem Fenster, das einen BAT-Loader ausführt.“] class execution_powershell action defense_evasion_obfusc[„<b>Aktion</b> – T1027 Verschlüsselte/Verborgene Befehle<br/><b>Beschreibung</b>: PowerShell-Befehl und C2-Nachrichten sind Base64u2011-kodiert.“] class defense_evasion_obfusc action artifact_bat[„<b>Artefakt</b> – health-check.bat<br/><b>Zweck</b>: Lädt msedge_proxy.exe herunter und speichert es.“] class artifact_bat artifact malware_rust_rat[„<b>Malware</b> – msedge_proxy.exe (Rust RAT)<br/><b>Techniken</b>: T1497.001 Virtualisierungs-/Sandbox-Umgehung, T1622 Debugger-Umgehung, T1547.001 Registrierungsschlüssel, T1053.005 Geplanter Task“] class malware_rust_rat malware defense_evasion_sandbox[„<b>Aktion</b> – T1497.001 Virtualisierungs-/Sandbox-Umgehung & T1622 Debugger-Umgehung<br/><b>Beschreibung</b>: Überprüft Registrierung, Treiber, MAC-Präfixe, Sandbox-Ordner, IsDebuggerPresent.“] class defense_evasion_sandbox action persistence_registry[„<b>Aktion</b> – T1547.001 Registrierungsschlüssel / Startup-Ordner<br/><b>Beschreibung</b>: Erstellt HKCU-Lauf-Einträge zur Persistenz.“] class persistence_registry action persistence_task[„<b>Aktion</b> – T1053.005 Geplanter Task<br/><b>Beschreibung</b>: Registriert einen geplanten Task über schtasks mit verzögerter Ausführung.“] class persistence_task action discovery_system[„<b>Aktion</b> – T1082 Systeminformationen-Erfassung<br/><b>Beschreibung</b>: Sammelt Hostnamen, Benutzernamen, Betriebssystemversion, Berechtigungsstufe.“] class discovery_system action discovery_process[„<b>Aktion</b> – T1057 Prozess-Erfassung<br/><b>Beschreibung</b>: Führt tasklist aus, um Analysetools und VM-Prozesse zu erkennen.“] class discovery_process action collection_local[„<b>Aktion</b> – T1005 Daten vom lokalen System<br/><b>Beschreibung</b>: Sammelt Dateien zur Exfiltration.“] class collection_local action c2_app_layer[„<b>Aktion</b> – T1071 Anwendungsprotokoll & T1573 Verschlüsselte Verbindung<br/><b>Beschreibung</b>: Kommuniziert mit dem C2-Server über HTTP(S) mittels verschlüsselter Nutzdaten.“] class c2_app_layer action c2_encoding[„<b>Aktion</b> – T1132.001 Datenkodierung (Base64)<br/><b>Beschreibung</b>: Alle C2-Befehle sind Base64u2011-kodiert.“] class c2_encoding action exfiltration[„<b>Aktion</b> – T1041 Exfiltration über C2-Kanal<br/><b>Beschreibung</b>: Sendet gesammelte Daten über denselben C2-Kanal.“] class exfiltration action %% Flow connections artifact_email_zip u002du002d>|enthält| artifact_lnk artifact_email_zip u002du002d>|liefert| attack_initial_access attack_initial_access u002du002d>|führt zu| attack_user_execution attack_user_execution u002du002d>|löst aus| defense_evasion_icon defense_evasion_icon u002du002d>|führt zu| execution_powershell execution_powershell u002du002d>|startet| artifact_bat artifact_bat u002du002d>|lädt herunter| malware_rust_rat malware_rust_rat u002du002d>|führt aus| defense_evasion_sandbox defense_evasion_sandbox u002du002d>|etabliert| persistence_registry persistence_registry u002du002d>|fügt hinzu| persistence_task persistence_task u002du002d>|ermöglicht| discovery_system discovery_system u002du002d>|versorgt| discovery_process discovery_process u002du002d>|sammelt| collection_local collection_local u002du002d>|sendet an| c2_app_layer c2_app_layer u002du002d>|verwendet| c2_encoding c2_encoding u002du002d>|transportiert| exfiltration %% Apply classes class artifact_email_zip,artifact_lnk,artifact_bat artifact class attack_initial_access,attack_user_execution,defense_evasion_icon,execution_powershell,defense_evasion_obfusc,defense_evasion_sandbox,persistence_registry,persistence_task,discovery_system,discovery_process,collection_local,c2_app_layer,c2_encoding,exfiltration action class malware_rust_rat malware „

Angriffsfluss

Simulation Ausführung

Voraussetzung: Der Telemetrie- & Basislinien-Pre-Flight-Check muss bestanden sein.

Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die die Erkennungsregel auslösen soll. Die Befehle und die Erzählung MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.

  • Angriffs-Narrativ & Befehle:

    1. Erstkompromiss: Der Angreifer sendet eine Spear-Phishing-E-Mail mit einem bewaffneten .lnk Verknüpfung, die auf einen justiziellen Mitarbeiter abzielt. Die Verknüpfung verweist auf einen PowerShell-Befehl, der mit -ExecutionPolicy Bypass und einem versteckten Fenster ausgeführt wird, um Verdacht zu vermeiden.

    2. Ausführungsablauf: Wenn der Benutzer auf die Verknüpfung klickt, führt Windows den folgenden Befehl aus, der health-check.batstartet. Die Batch-Datei enthält die eigentliche bösartige Nutzlast (z.B. einen PowerShell-Downloader, der einen RAT abruft).

       powershell.exe -ep bypass -w hidden -f health-check.bat
    3. Nutzdatenbereitstellung: health-check.bat führt einen leisen HTTP GET zu einem bösartigen C2 aus, schreibt die Nutzlast in %TEMP%, und führt sie aus.

  • Regressionstest-Skript: Das untenstehende Skript reproduziert die genaue Telemetrie durch Erstellen von health-check.bat mit harmlosen Inhalten (um den Test sicher zu halten) und dann Ausführung des PowerShell-Befehls.

    # -------------------------------------------------
    # Simulationsskript – Bewaffnete LNK PowerShell Ausführung
    # -------------------------------------------------
    # 1. Erstellen Sie eine Dummy health-check.bat (harmlos für Tests)
    $batPath = "$env:TEMPhealth-check.bat"
    Set-Content -Path $batPath -Value '@echo off & echo Simulated payload executed' -Encoding ASCII
    
    # 2. Führen Sie PowerShell mit den genauen Flags und Skriptnamen aus
    $psCommand = "powershell.exe -ep bypass -w hidden -f `"$batPath`""
    Write-Host "Executing: $psCommand"
    Start-Process -FilePath "powershell.exe" -ArgumentList "-ep", "bypass", "-w", "hidden", "-f", $batPath -NoNewWindow
    
    # 3. Warten Sie einige Sekunden, um sicherzustellen, dass Protokolle generiert werden
    Start-Sleep -Seconds 5
    # -------------------------------------------------
  • Bereinigungskommandos: Entfernen Sie die Test-Batch-Datei und alle verbleibenden Prozesse.

    # Bereinigen Sie die Dummy health-check.bat
    Remove-Item -Path "$env:TEMPhealth-check.bat" -ErrorAction SilentlyContinue
    
    # Stellen Sie sicher, dass keine verbleibenden PowerShell-Instanzen vom Test übrig bleiben
    Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Stop-Process -Force