LNK-Ausführung erkennen: präparierte Verknüpfungen als Einfallstor

Kurzfassung: Eine Windows-Verknüpfung (.lnk) zeigt auf ein Ziel mit Argumenten - und genau das macht sie zum Einfallstor. Angreifer tarnen eine .lnk als Dokument, hinterlegen als Ziel eine versteckte PowerShell oder cmd und liefern sie per Phishing, oft in einem Archiv. Ein Doppelklick führt den Befehl aus, als Kind von explorer.exe. Eine .lnk im Autostart-Ordner sorgt zusätzlich für Persistenz. Die Erkennung setzt an drei Stellen an: dem Skript-Host unter explorer, der auffälligen Kommandozeile und der .lnk im Autostart. Drei sigma-cli-validierte Sigma-Regeln, Härtung und der Test im Lab. Serie "Angriff erkennen".

Zum Abschluss der Execution-Reihe steht die Technik, die den Menschen braucht: die präparierte Verknüpfung. Nach den signierten Interpretern MSHTA sowie Regsvr32 und Rundll32 ist die .lnk der klassische Weg, über den ein Angriff per Phishing auf dem Endpunkt startet. Eine Verknüpfung ist eine kleine Datei, die auf ein Programm und dessen Argumente zeigt. Tarnt man das Symbol als PDF oder Word und hinterlegt als Ziel eine versteckte PowerShell, wird aus dem harmlos wirkenden Doppelklick die Ausführung von fremdem Code. Der Beitrag nimmt die Erkennung in den Blick und bleibt auf der Verteidigerseite.

Einordnung in ATT&CK: Die geöffnete Schaddatei ist User Execution: Malicious File (T1204.002) in der Taktik Execution (TA0002). Die zweite Seite ist die Persistenz: eine Verknüpfung im Autostart ist Shortcut Modification (T1547.009) in der Taktik Persistence (TA0003). Der Beitrag behandelt beide Seiten - die Ausführung beim Öffnen und den Fortbestand über den Neustart.

Was der Angreifer tut

Der Missbrauch einer Verknüpfung läuft auf der Ebene des Prinzips, nicht als Anleitung, in wenigen Schritten ab:

  • Die Verknüpfung bauen. Als Ziel dient eine Shell oder ein Skript-Host, die Argumente tragen den versteckten Befehl - das Symbol wird als Dokument getarnt.
  • Tarnen und ausliefern. Die .lnk wird oft in einem Archiv oder Abbild verpackt, um an Filtern vorbeizukommen und das Mark of the Web zu umgehen, und per Phishing zugestellt.
  • Den Nutzer klicken lassen. Ein Doppelklick startet das hinterlegte Ziel als Kind von explorer.exe - der Befehl läuft, ohne dass ein sichtbares Programm erscheint.
  • Bleiben. Oft wird zusätzlich eine Verknüpfung in den Autostart-Ordner gelegt, damit der Code bei jeder Anmeldung erneut startet.

Für die Erkennung ist entscheidend: Der Elternprozess explorer.exe verrät den Doppelklick, die Kommandozeile den versteckten Befehl, und die .lnk im Autostart die Persistenz.

Welche Logquellen die Technik zeigt

  • Prozess-Telemetrie. Event 4688 und Sysmon Event 1 zeigen den Prozess, der unter explorer.exe startet, samt vollständiger Kommandozeile - hier wird der versteckte Befehl sichtbar.
  • Dateianlage. Sysmon Event 11 meldet neu angelegte Dateien; eine .lnk im Startup-Ordner ist das Zeichen der Persistenz.
  • Mark of the Web. Aus dem Internet stammende Dateien tragen eine Herkunftsmarke; ihr Fehlen bei einer aus einem Archiv entpackten .lnk ist ein Hinweis, siehe Mark of the Web und HTML-Smuggling.
  • Die nachgelagerte Aktion. Startet die Verknüpfung eine PowerShell oder ein LOLBin, greifen die LOLBins-Erkennung und die Endpunkt-Telemetrie, siehe Sysmon einrichten.

Das Muster im Log

Das klarste Signal ist die Elternkette: Ein Skript-Host wie PowerShell, cmd oder wscript, der direkt unter explorer.exe startet, passt zu einem Doppelklick auf eine Verknüpfung und nicht zum Alltag. Dazu kommt die Kommandozeile - ein codierter Befehl, ein verstecktes Fenster oder das Nachladen aus dem Netz haben beim normalen Öffnen einer Datei keinen Platz. Das dritte Signal ist die .lnk im Autostart-Ordner: Sie wird bei jeder Anmeldung ausgeführt und ist ein starkes Zeichen für Persistenz. Ein regulärer Doppelklick öffnet ein Dokument in seiner Anwendung, nicht eine Shell mit Argumenten. Wie immer trennt der Blick auf Elternprozess, Argument und Zielpfad den Alltag vom Angriff.

Drei Sigma-Regeln

Die Regeln sind mit sigma-cli geprüft. Die erste nimmt den Skript-Host unter explorer, die zweite die auffällige Kommandozeile, die dritte die .lnk im Autostart. Die zweite ist die spezifischste, die erste die breiteste.

1. Skript-Host unter explorer.exe (T1204.002). Ein Skript-Host oder LOLBin als Kind der Windows-Shell - das breite Signal für den Doppelklick. Die Regel steht auf level: medium.

Sigma
title: explorer.exe startet einen Skript-Host oder ein LOLBin
id: 4e8a2c15-7b63-4d09-9f21-5a6c3e1b84d2
status: experimental
description: |
  Erkennt einen Skript-Host oder ein LOLBin, dessen Elternprozess explorer.exe ist. Oeffnet ein
  Nutzer eine praeparierte Verknuepfung (.lnk), startet die Windows-Shell das hinterlegte Ziel als
  Kind von explorer.exe. Ein Doppelklick auf cmd oder powershell direkt aus dem Explorer ist
  ungewoehnlich und ein typisches Zeichen einer per LNK ausgeloesten Ausfuehrung.
references:
  - https://attack.mitre.org/techniques/T1204/002/
author: blue-team.net
tags:
  - attack.execution
  - attack.t1204.002
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    ParentImage|endswith: '\explorer.exe'
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\pwsh.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
      - '\rundll32.exe'
      - '\regsvr32.exe'
  condition: selection
falsepositives:
  - Power-User und Administratoren starten Shells oder Skripte direkt aus dem Explorer; bekannte Faelle nach Konto ausnehmen
level: medium

2. Verdächtige Kommandozeile aus explorer.exe (T1204.002). Codierter Befehl, verstecktes Fenster oder Nachladen aus dem Netz unter der Shell - das spezifische Signal. Auf level: high.

Sigma
title: Verdaechtige Kommandozeile aus explorer.exe gestartet
id: 7c3f9b28-5a14-4e62-8d70-2b6a4c1e95f3
status: experimental
description: |
  Erkennt einen Prozess mit auffaelliger Kommandozeile, dessen Elternprozess explorer.exe ist -
  codierte Befehle, versteckte Fenster, Nachladen aus dem Netz oder direkte Skriptausfuehrung.
  Praeparierte Verknuepfungen (.lnk) tragen ihr Ziel in der Kommandozeile; wird eine solche Datei
  geoeffnet, startet die Shell den Befehl als Kind von explorer.exe. Das ist das spezifische Signal
  einer per LNK ausgeloesten Ausfuehrung.
references:
  - https://attack.mitre.org/techniques/T1204/002/
author: blue-team.net
tags:
  - attack.execution
  - attack.t1204.002
logsource:
  product: windows
  category: process_creation
detection:
  sel_parent:
    ParentImage|endswith: '\explorer.exe'
  sel_susp:
    CommandLine|contains:
      - '-enc'
      - 'EncodedCommand'
      - 'FromBase64String'
      - 'DownloadString'
      - 'DownloadFile'
      - 'Invoke-WebRequest'
      - 'IEX'
      - 'WindowStyle Hidden'
      - '-nop'
      - 'http://'
      - 'https://'
  condition: sel_parent and sel_susp
falsepositives:
  - Einzelne legitime Verknuepfungen oeffnen Webseiten oder Skripte; bekannte Faelle nach Ziel und Konto ausnehmen
level: high

3. LNK-Datei im Autostart (T1547.009). Eine neu angelegte Verknüpfung im Startup-Ordner - das Zeichen der Persistenz. Ebenfalls level: high.

Sigma
title: LNK-Datei im Autostart angelegt
id: 2d6b8e41-9c35-4a17-b803-5f1a7c3e46b9
status: experimental
description: |
  Erkennt das Anlegen einer Verknuepfung (.lnk) in einem Autostart-Verzeichnis. Eine LNK im
  Startup-Ordner wird bei jeder Anmeldung ausgefuehrt - ein einfacher und haeufiger Weg zur
  Persistenz (Shortcut Modification). Legitime Software legt dort selten dynamisch Verknuepfungen an.
references:
  - https://attack.mitre.org/techniques/T1547/009/
author: blue-team.net
tags:
  - attack.persistence
  - attack.t1547.009
logsource:
  product: windows
  category: file_event
detection:
  selection:
    TargetFilename|endswith: '.lnk'
    TargetFilename|contains: '\Startup\'
  condition: selection
falsepositives:
  - Softwareinstaller legen beim Setup Autostart-Verknuepfungen an; bekannte Installer und Pfade als Baseline ausnehmen
level: high

Härtung: der Angriff, der ins Leere läuft

  • Dateiendungen einblenden. Sichtbare Endungen entlarven eine als Dokument getarnte .lnk; das ist eine einfache, wirksame Maßnahme auf jedem Arbeitsplatz.
  • Office- und Shell-Kindprozesse bremsen. Mit ASR-Regeln (Attack Surface Reduction) das Starten von Skript-Hosts aus Office und das Ausführen von Inhalten aus E-Mail und Archiven unterbinden.
  • Anwendungssteuerung scharf schalten. Mit WDAC oder AppLocker die Ausführung aus Nutzer-, Temp- und Download-Pfaden einschränken - dort landet die entpackte .lnk-Nutzlast.
  • Autostart überwachen. Die Startup-Ordner und die zugehörigen Run-Schlüssel regelmäßig auf neue Verknüpfungen prüfen und die Verhaltensregel scharf schalten.

Der Test

Die Erkennung lässt sich im Lab gefahrlos prüfen, auf isolierten Systemen mit aktivem Sysmon:

  • Für Regel 1 und 2 eine harmlose Test-Verknüpfung bauen, deren Ziel powershell mit einem kurzen, ungefährlichen Befehl ist, und sie per Doppelklick öffnen. Der Prozess muss als Kind von explorer.exe mit der Kommandozeile erscheinen.
  • Für Regel 3 eine .lnk in den eigenen Startup-Ordner legen. Sysmon Event 11 muss die Anlage mit dem Pfad zeigen; danach wieder entfernen.
  • Breiter wird der Test mit den Fällen zu T1204.002 und T1547.009 aus Atomic Red Team.

Fehlalarme und Tuning

  • Power-User und Administratoren. Sie starten Shells und Skripte legitim aus dem Explorer. Für Regel 1 die bekannten Konten ausnehmen; Regel 2 ist durch die Argumente von Natur aus enger.
  • Legitime Verknüpfungen. Einzelne .lnk öffnen Webseiten oder interne Skripte. Für Regel 2 die bekannten Ziele und Konten dokumentieren und filtern.
  • Softwareinstaller. Installer legen beim Setup Autostart-Verknüpfungen an. Für Regel 3 die bekannten Installer und Pfade als Baseline ausnehmen.
  • Korrelation schlägt Einzelregel. Wer Elternprozess, Kommandozeile und die nachgelagerte Aktion zusammen betrachtet, trennt Alltag und echten Angriff zuverlässiger als jede Einzelregel.

Fazit

Die präparierte Verknüpfung ist der Weg, über den ein Angriff den Menschen zum Mitmachen bringt - ein getarntes Symbol, ein versteckter Befehl, ein Doppelklick. Die verlässlichen Signale sind der Skript-Host unter explorer.exe, die auffällige Kommandozeile und die .lnk im Autostart-Ordner für die Persistenz. Die wirksamste Härtung blendet Dateiendungen ein, bremst Shell-Kindprozesse mit ASR-Regeln, schränkt die Ausführung aus Nutzerpfaden ein und überwacht den Autostart. Damit schließt die Execution-Welle: von WMI und Diensten über die signierten Interpreter MSHTA und Regsvr32/Rundll32 bis zur Verknüpfung. Weitere Techniken dieser Taktik sammelt das Lexikon nach Taktik unter Execution.

NH

$ whoami

Norbert Hofmann

Cyber Defense Analyst im Security Operations Center eines Managed Security Service Providers. Red und Blue Teaming, Malware-Analyse, Incident Response und Security-Awareness-Trainings. Finalist bei „Deutschlands bester Hacker“ 2022, mehrere CVE-Einträge für WordPress-Plugins.