Kurzfassung: SSH ist der Pfad der seitlichen Bewegung in gemischten Umgebungen - und längst auch auf Windows, wo OpenSSH ab Werk mitläuft. Mit gestohlenem Schlüssel oder Passwort springt ein Angreifer von Host zu Host, oft unter dem Radar Windows-fokussierter Teams. Drei Stellen verraten ihn: die eingehende Sitzung, die als Shell endet, ein neu eingetragener Schlüssel in authorized_keys und ein SSH-Tunnel zum Pivot. Drei sigma-cli-validierte Sigma-Regeln, Härtung und der Test im Lab. Serie "Angriff erkennen".
Dieser Beitrag schließt den Lateral-Movement-Teil der Welle ab. Nach den Windows-Remote-Services - RDP, SMB, WinRM, DCOM und dem Session-Hijacking - fehlt der Weg, der quer durch gemischte Umgebungen führt: SSH. Lange galt es als reines Linux-Thema, doch seit OpenSSH fester Bestandteil von Windows ist, verbindet SSH Windows-Clients, Linux-Server und Netzwerkgeräte gleichermaßen. Genau diese Brücke nutzen Angreifer, und oft fällt sie durch das Raster, weil das Monitoring auf die Windows-Seite konzentriert ist. Der Beitrag bleibt auf der Verteidigerseite und bleibt konzeptionell.
Einordnung in ATT&CK: Die Technik ist Remote Services: SSH (T1021.004) in der Taktik Lateral Movement (TA0008). Sie setzt gültige Zugangsdaten voraus - ein Passwort oder, häufiger, einen privaten Schlüssel.
Was der Angreifer tut
Seitliche Bewegung über SSH läuft auf der Ebene des Prinzips, nicht als Anleitung, in wenigen Schritten ab:
- Zugangsdaten beschaffen. Der Angreifer sammelt Passwörter oder - wertvoller - private SSH-Schlüssel, die auf kompromittierten Hosts oft ungeschützt herumliegen.
- Zur nächsten Station verbinden. Mit diesen Daten baut er eine SSH-Sitzung zum nächsten Host auf und führt dort Befehle aus.
- Den Zugang absichern. Ein eigener öffentlicher Schlüssel in authorized_keys sorgt für dauerhaften, passwortlosen Zugang - eine leise Dauerkarte.
- Tiefer vordringen. Über Port-Weiterleitung und Tunnel pivotiert er von einem erreichbaren Host zu Systemen, die sonst abgeschottet wären.
Für die Erkennung ist entscheidend: Jeder dieser Schritte berührt eine beobachtbare Stelle - die eingehende Sitzung, die Schlüsseldatei und die Tunnel-Schalter des Clients.
Welche Logquellen die Technik zeigt
- Prozess-Telemetrie. Event 4688 und Sysmon Event 1 zeigen unter Windows die eingehende SSH-Sitzung als Kindprozess von sshd sowie den SSH-Client mit Tunnel-Schaltern.
- Datei-Telemetrie. Sysmon Event 11 (FileCreate) zeigt Änderungen an authorized_keys und an der administrators_authorized_keys - dafür muss Sysmon Dateiereignisse erfassen, siehe Sysmon einrichten.
- Die Linux-Seite. Auf Linux liefern auditd, journald und die sshd-Logs das Gegenstück - Anmeldungen, Schlüsselnutzung und gestartete Prozesse. Mehr dazu im Linux-Sicherheitsmonitoring.
- Netzwerk-Telemetrie. Zeek sieht die SSH-Verbindungen auf Port 22 und deckt ungewöhnliche Host-zu-Host-Paare und Tunnel auf, die ein einzelner Host nicht erkennt.
Das Muster im Log
Das klarste Signal auf der Windows-Seite ist sshd als Elternprozess einer Shell: Eine eingehende SSH-Sitzung, die eine cmd.exe oder PowerShell öffnet, ist Fernausführung und auf einem Arbeitsplatz ohne SSH-Verwaltung sehr auffällig. Eine neue Zeile in authorized_keys ist ebenso verräterisch, weil sie passwortlosen Dauerzugang schafft. Der SSH-Client mit den Schaltern für Port-Weiterleitung verrät den Pivot - harmlos im Alltag einzelner Administratoren, verdächtig von einem Host, der sonst nie tunnelt. Wie bei den anderen Remote Services gilt: Eine Host-zu-Host-Verbindung, die nicht ins normale Bild passt, ist der Kern des Verdachts - und in gemischten Umgebungen gehört dazu zwingend auch die Linux-Seite.
Drei Sigma-Regeln
Die Regeln sind mit sigma-cli geprüft und über alle Backends sauber übersetzbar. Die erste nutzt die eingehende Sitzung, die zweite die Schlüsseldatei, die dritte die Tunnel-Schalter. Die ersten beiden sind die tragenden, weil sie konkrete Fernausführung und dauerhaften Zugang anzeigen.
1. Eingehende SSH-Sitzung startet eine Shell (T1021.004). sshd als Elternteil einer Kommandozeile. Die Regel steht auf level: high.
title: Eingehende SSH-Sitzung startet eine Shell
id: 3a8c1f52-6b47-4d09-9e21-7c4a2b8d65e3
status: experimental
description: |
Erkennt eine Shell oder einen Skript-Host, dessen Elternprozess sshd ist. Unter Windows
OpenSSH laeuft jede eingehende SSH-Sitzung im Dienst sshd; ein daraus gestarteter Befehl
ist Fernausfuehrung ueber SSH. Auf Hosts, die keine SSH-Fernverwaltung erwarten, ist das
ein deutliches Zeichen fuer seitliche Bewegung.
references:
- https://attack.mitre.org/techniques/T1021/004/
author: blue-team.net
tags:
- attack.lateral-movement
- attack.t1021.004
logsource:
product: windows
category: process_creation
detection:
selection:
ParentImage|endswith: '\sshd.exe'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\wscript.exe'
- '\cscript.exe'
condition: selection
falsepositives:
- Legitime SSH-Fernverwaltung; bekannte Verwaltungshosts und Konten als Baseline ausnehmen
level: high
2. Änderung an authorized_keys (T1021.004). Ein neu eingetragener Schlüssel für passwortlosen Zugang. Ebenfalls level: high.
title: Aenderung an authorized_keys fuer SSH-Zugang
id: 9f2d7b41-5a38-4c60-8b19-3e6a1c4d92b7
status: experimental
description: |
Erkennt das Anlegen oder Veraendern einer authorized_keys-Datei. Wer einen eigenen
oeffentlichen Schluessel hier eintraegt, verschafft sich passwortlosen SSH-Zugang zum
Konto - ein beliebter Weg, um seitliche Bewegung dauerhaft abzusichern. Auch die
administrators_authorized_keys unter Windows OpenSSH gehoert dazu.
references:
- https://attack.mitre.org/techniques/T1021/004/
author: blue-team.net
tags:
- attack.lateral-movement
- attack.t1021.004
logsource:
product: windows
category: file_event
detection:
selection:
TargetFilename|endswith:
- '\.ssh\authorized_keys'
- '\administrators_authorized_keys'
condition: selection
falsepositives:
- Legitime Schluesselverteilung durch Administration oder Automatisierung; bekannte Konten ausnehmen
level: high
3. SSH-Client mit Tunnel (T1021.004). Port-Weiterleitung als Pivot-Signal. level: medium, weil Administratoren Tunnel auch legitim nutzen.
title: SSH-Client mit Port-Weiterleitung oder Tunnel
id: 1c6e4b90-7a28-4d35-b0f2-5a9c3e7d81b4
status: experimental
description: |
Erkennt den SSH-Client mit Schaltern fuer Port-Weiterleitung oder Tunnel. Mit lokaler,
entfernter oder dynamischer Weiterleitung baut ein Angreifer ueber einen erreichbaren
Host einen Pivot zu Systemen auf, die sonst nicht erreichbar waeren. Als Admin-Werkzeug
kommt ssh auch legitim vor, die Weiterleitungs-Schalter sind aber das Pivot-Signal.
references:
- https://attack.mitre.org/techniques/T1021/004/
author: blue-team.net
tags:
- attack.lateral-movement
- attack.t1021.004
logsource:
product: windows
category: process_creation
detection:
sel_img:
Image|endswith: '\ssh.exe'
sel_flags:
CommandLine|contains:
- ' -L '
- ' -R '
- ' -D '
- ' -w '
condition: sel_img and sel_flags
falsepositives:
- Administratoren, die SSH-Tunnel fuer legitime Zwecke nutzen; bekannte Konten und Ziele ausnehmen
level: medium
Härtung: der Angriff, der ins Leere läuft
- Schlüssel schützen. Private Schlüssel mit Passphrase versehen, zentral verwalten und authorized_keys auf unerwartete Einträge überwachen.
- SSH einschränken. Den SSH-Dienst nur dort aktivieren, wo er gebraucht wird, und den Zugang per Firewall und Konfiguration auf Verwaltungsquellen begrenzen.
- Tunnel unterbinden. Port-Weiterleitung in der sshd-Konfiguration abschalten, wo sie nicht gebraucht wird, damit Pivoting ins Leere läuft.
- Die Linux-Seite mitnehmen. Server und Netzwerkgeräte genauso überwachen wie Windows - der blinde Fleck entsteht genau dort, siehe Linux-Sicherheitsmonitoring.
Der Test
Die Erkennung lässt sich im Lab gefahrlos prüfen, auf isolierten Systemen mit aktivem Sysmon und laufendem OpenSSH:
- Für Regel 1 von einem Testhost aus per SSH einen harmlosen Befehl auf einem Windows-Ziel ausführen. sshd muss als Elternteil der Shell in Event 4688 erscheinen.
- Für Regel 2 einen Testschlüssel in eine authorized_keys-Datei eintragen. Sysmon Event 11 muss die Änderung zeigen.
- Für Regel 3 den SSH-Client mit einer Port-Weiterleitung starten. Event 4688 muss die Kommandozeile mit dem Schalter zeigen. Breiter wird der Test mit den Fällen zu T1021.004 aus Atomic Red Team.
Fehlalarme und Tuning
- Legitime SSH-Verwaltung. In gemischten Umgebungen ist SSH Alltag. Regel 1 nach Verwaltungshosts und -konten als Baseline ausnehmen.
- Schlüsselverteilung. Automatisierung trägt manchmal Schlüssel ein. Für Regel 2 die bekannten Verteilkonten dokumentieren und filtern.
- Admin-Tunnel. Einzelne Administratoren nutzen Port-Weiterleitung legitim. Für Regel 3 nach Konto und Ziel ausnehmen, statt die Regel zu entschärfen.
- Korrelation schlägt Einzelregel. Wer eingehende Sitzung, Schlüsseländerung und Tunnel über Windows- und Linux-Telemetrie hinweg verknüpft, trennt Administration und echten Angriff zuverlässiger als jede Einzelregel.
Fazit
SSH ist die Brücke, die gemischte Umgebungen verbindet - und deshalb der Pfad der seitlichen Bewegung, der Windows-fokussierten Teams am leichtesten entgeht. Die verlässlichen Signale sind die eingehende Sitzung als Shell-Starter, der neue Schlüssel in authorized_keys und der SSH-Tunnel zum Pivot. Die wirksamste Härtung schützt die Schlüssel, begrenzt den SSH-Zugang und bezieht die Linux-Seite konsequent ins Monitoring ein. Damit ist der Lateral-Movement-Teil der Welle abgeschlossen - von RDP über SMB, WinRM, DCOM und Session-Hijacking bis SSH. Verwandt sind der RDP-Missbrauch und die Pass-the-Hash-Technik, beide ebenfalls auf gestohlene Zugangsdaten angewiesen. Weitere Techniken dieser Taktik sammelt das Lexikon nach Taktik unter Lateral Movement.