Schlüsselpunkte
- Kennen Sie Ihre Protokollquellen: Windows erfasst RDP-Aktivitäten im Sicherheitsprotokoll, im Protokoll TerminalServices-LocalSessionManager/Operational und im Protokoll TerminalServices-RemoteConnectionManager/Operational.
- Nutzen Sie die passenden Ereignis-IDs: 1149 (Netzwerkverbindung), 4624/4625 (erfolgreiche/fehlgeschlagene Anmeldung), 21–25, 39 und 40 (Sitzungsverlauf) sowie 4778/4779 (Wiederverbindung/Trennung).
- Exporte mit Get-WinEvent skripten: Verwenden Sie „Get-WinEvent“ aus PowerShell zusammen mit „-FilterHashtable“, um RDP-Ereignisse aus den Protokollen Sicherheit, LSM und RCM auszulesen und als CSV zu exportieren.
- Erstellen Sie Sitzungs-Zeitleisten durch Korrelation von Ereignissen: Ordnen Sie Ereignis 1149 dem Ereignis 4624 zu (innerhalb von ±1 Minute), um eine Verbindung mit einem authentifizierten Benutzerkonto und einer Quell-IP zu verknüpfen.
- Ergänzen Sie Serverprotokolle um clientseitige Artefakte: Der Registry-Schlüssel „HKCU\Software\Microsoft\Terminal Server Client\Default“ protokolliert kürzlich kontaktierte RDP-Ziele, sofern mstsc.exe verwendet wird.
- Protokolle aufbewahren und zentralisieren: Erhöhen Sie die Größe des Sicherheitsprotokolls über den Standardwert hinaus, archivieren Sie Protokolle vor dem Überschreiben und zentralisieren Sie RDP-Daten über die Windows-Ereignisweiterleitung oder ein SIEM.
Remote Desktop Protocol (RDP) hinterlässt Spuren in verschiedenen Windows-Protokollen. Die Herausforderung besteht darin, interaktive Remote-Sitzungen von Konsolenanmeldungen zu unterscheiden und die einzelnen Ereignisse zu einer schlüssigen Gesamtdarstellung zusammenzufügen. Dieser Artikel liefert Ereignis-IDs, Filter und ein einfaches Korrelationsmuster sowie clientseitige Artefakte und praktische Tipps aus der forensischen Praxis und aus Administrationsleitfäden.
Diese Windows-Protokolle erfassen RDP-Aktivitäten
Drei Ereigniskanäle sind relevant:
- das Sicherheitsprotokoll (Authentifizierungsereignisse 4624, 4625, 4634, 4647, 4778, 4779),
- das Protokoll TerminalServices-LocalSessionManager/Operational (Sitzungsverlauf, Ereignisse 21–25, 39, 40) und
- das Protokoll TerminalServices-RemoteConnectionManager/Operational (Verbindungsereignis 1149 vor der Authentifizierung).
Jeder Kanal erfasst eine andere Phase einer RDP-Verbindung: Netzwerkkontakt, Authentifizierung und Verwaltung der aktiven Sitzung. Für eine lückenlose Audit-Zeitleiste brauchen Sie daher alle drei.
Verbindungsverlauf prüfen und eine Zeitleiste aufbauen
Um den Verbindungsverlauf zu prüfen und eine Zeitleiste aufzubauen, ordnen Sie die Ereignisquellen zu, lesen den Verlauf aus, korrelieren Ereignisse zu Sitzungen, erfassen Fehlschläge, ergänzen Artefakte, zentralisieren und bewahren die Daten auf und werten die Ergebnisse aus.
📌 Voraussetzungen:
- Lokale Administratorrechte oder gleichwertige Rechte auf den Zielsystemen
- PowerShell-Remoting oder direkter Zugriff auf die Ereignisanzeige
- Eine zentrale Freigabe oder ein SIEM zur Ablage von Exporten und Ausführungsprotokollen
- Optional die Windows-Ereignisweiterleitung, um Lücken durch überschriebene Protokolle zu vermeiden
Schritt 1: Ereignisquellen zuordnen
📌 Anwendungsfall: Sie müssen ermitteln, welche Windows-Ereigniskanäle Authentifizierungsereignisse erfassen und welche den Kontext zu RDP-Sitzungen und -Verbindungen für die Untersuchung liefern.
- Drücken Sie Win + R, geben Sie „eventvwr.msc“ ein und drücken Sie die Eingabetaste.
- Navigieren Sie zu folgendem Ort:
- Sicherheit Anwendungs- und Dienstprotokolle > Microsoft > Windows > TerminalServices-LocalSessionManager > Operational TerminalServices-RemoteConnectionManager > Operational
- Prüfen Sie die wichtigsten Ereignis-IDs nach Kontext:
- Authentifizierung (Sicherheitsprotokoll): 4624, 4625, 4634, 4647
- RDP-Verbindung (vor der Anmeldung): 1149
- RDP-Sitzungsaktivität (nach der Anmeldung): 21, 22, 23, 24, 25), 39, 40
- RDP-Wiederverbindung/-Trennung (Sicherheitsprotokoll): 4778, 4779
Hinweis: Die Ereignis-IDs 39 und 40 helfen dabei, eine formell getrennte Sitzung (Start > Trennen) von einem einfach geschlossenen RDP-Fenster zu unterscheiden. Die Ereignis-IDs 4778 und 4779 aus dem Sicherheitsprotokoll bilden denselben Ablauf von Wiederverbindung und Trennung ab und enthalten zusätzlich die Client-IP-Adresse. Das macht sie für die Quellenzuordnung besonders nützlich.
Übersichtstabelle aller Ereignis-IDs
| Ereignis-ID | Protokoll | Beschreibung | Phase |
| 1149 | RCM/Operational | Netzwerkverbindung hergestellt (vor der Authentifizierung) | Verbindung |
| 4624 | Sicherheit | Erfolgreiche Anmeldung (Filter LogonType 10, 7, 3) | Authentifizierung |
| 4625 | Sicherheit | Fehlgeschlagener Anmeldeversuch | Authentifizierung |
| 4778 | Sicherheit | Sitzung mit Fensterstation wiederverbunden | Wiederverbindung |
| 4779 | Sicherheit | Sitzung von Fensterstation getrennt | Trennung |
| 21 | LSM/Operational | Sitzungsanmeldung erfolgreich | Sitzung |
| 22 | LSM/Operational | Benachrichtigung über Shell-Start | Sitzung |
| 23 | LSM/Operational | Abmeldung der Sitzung erfolgreich | Abmeldung |
| 24 | LSM/Operational | Sitzung wurde getrennt | Trennung |
| 25 | LSM/Operational | Wiederverbindung der Sitzung erfolgreich | Wiederverbindung |
| 39 | LSM/Operational | Sitzung durch Benutzer:in oder Admin getrennt (formell) | Trennung |
| 40 | LSM/Operational | Sitzung mit Ursachencode getrennt | Trennung |
| 4634 | Sicherheit | Konto wurde abgemeldet | Abmeldung |
| 4647 | Sicherheit | Durch Benutzer:in ausgelöste Abmeldung | Abmeldung |
Schritt 2: Verlauf mit PowerShell auslesen
📌 Anwendungsfall: Exportieren Sie relevante RDP-Ereignisse aus mehreren Kanälen zur Analyse oder Archivierung.
Hinweis: Verwenden Sie für alle Abfragen von Ereignisprotokollen Get-WinEvent. Das ältere Cmdlet Get-EventLog stützt sich auf eine veraltete Win32-API, liefert in manchen Szenarien ungenaue Ergebnisse und wurde in PowerShell 7 vollständig entfernt. Alle Skripte in diesem Artikel verwenden daher Get-WinEvent.
- Drücken Sie Win, geben Sie „PowerShell“ ein und klicken Sie dann auf Als Administrator ausführen.
- Kopieren Sie das folgende Skript in die Eingabeaufforderung und drücken Sie anschließend die Eingabetaste:
# Security Log (success & failure)Get-WinEvent -FilterHashtable @{LogName = 'Security'Id = 4624,4625StartTime = (Get-Date).AddDays(-7)} | ForEach-Object {$xml = [xml]$_.ToXml()[PSCustomObject]@{TimeCreated = $_.TimeCreatedEventID = $_.IdLogonType = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq 'LogonType' }).'#text'User = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq 'TargetUserName' }).'#text'IpAddress = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq 'IpAddress' }).'#text'}} | Export-Csv C:\Logs\SecurityEvents_WithLogonType.csv -NoTypeInformation |
- Verwenden Sie anschließend das folgende Skript:
Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" |Export-Csv C:\Logs\LSM_Events.csv -NoTypeInformation |
Schritt 3: Ereignisse zu Sitzungen korrelieren
📌 Anwendungsfall: Erstellen Sie Sitzungs-Zeitleisten, indem Sie Anmeldungen, IP-Adressen und Sitzungsdauern miteinander verknüpfen.
- Ordnen Sie Ereignis 1149 (RCM) dem Ereignis 4624 (LogonType 10) zu:
- Korrelieren Sie über Benutzernamen und Zeitstempel ± 1 Minute.
Hinweis: Filtern Sie außerdem nach LogonType 7 (Wiederverbindung mit einer bestehenden Sitzung) und LogonType 3 (RDP auf Netzwerkebene in bestimmten Konfigurationen). Wenn Sie ausschließlich nach LogonType 10 filtern, übersehen Sie womöglich Wiederverbindungsereignisse.
- Korrelieren Sie über Benutzernamen und Zeitstempel ± 1 Minute.
- Ziehen Sie LSM 22 (Shell-Start) heran, um eine aktive Sitzung zu bestätigen.
- Bestimmen Sie das Sitzungsende über LSM 23 oder 24.
- Berechnen Sie die Sitzungsdauer anhand der Zeitstempel.
Schritt 4: Fehlschläge und Anomalien erfassen
📌 Anwendungsfall: Erkennen Sie Brute-Force-Angriffe, Credential Spraying oder Kontomissbrauch.
- Öffnen Sie Ereignisanzeige > Windows-Protokolle > Sicherheit.
- Klicken Sie rechts auf Aktuelles Protokoll filtern…
- Geben Sie unter Ereignis-IDs „4625“ ein und klicken Sie dann auf „OK“.
- Doppelklicken Sie auf ein beliebiges Ereignis, um es zu öffnen. Achten Sie auf der Registerkarte Allgemein oder Details auf Folgendes:
- TargetUserName (wer betroffen war)
- IpAddress (woher der Versuch kam)
- Status/SubStatus (warum er fehlgeschlagen ist)
Schritt 5: Artefakte ergänzen
📌 Anwendungsfall: Korrelieren Sie von der Workstation der Administrator:innen aus, wenn serverseitige Protokolle fehlen.
- Drücken Sie Win + R, geben Sie „regedit“ ein und drücken Sie dann die Eingabetaste.
- Navigieren Sie zu diesem Ort:
- HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default
- Rechts sehen Sie Einträge wie MRU0, MRU1 und MRU2, die Servernamen oder IP-Adressen enthalten. Notieren Sie die Ziele, die für Sie relevant sind.
Hinweis: Die Registry-Schlüssel HKCU\Software\Microsoft\Terminal Server Client\Default werden vom integrierten Tool Remotedesktopverbindung (mstsc.exe) befüllt, das weiterhin für direkte Peer-to-Peer-Verbindungen per RDP unterstützt wird. Wenn Ihr Unternehmen Windows App einsetzt (Microsofts Nachfolger der alten Remote Desktop Store-App und des MSI-Clients, erforderlich für Verbindungen zu Azure Virtual Desktop, Windows 365 und Microsoft Dev Box), sind diese Registry-Schlüssel möglicherweise nicht vorhanden. Prüfen Sie in diesem Fall die Windows App-spezifischen Artefakte oder Sitzungsprotokolle im Azure-Portal oder in Intune. Wurde die RDP-Verbindung nicht von dieser Workstation aus aufgebaut oder kam ein Drittanbieter-Tool für den Fernzugriff zum Einsatz, fehlen diese Artefakte unabhängig vom Client.
Gehen Sie anschließend wie folgt vor:
- Öffnen Sie den Datei-Explorer.
- Fügen Sie Folgendes in die Adressleiste ein:
- %AppData%\Microsoft\Windows\Recent\AutomaticDestinations\
- Sortieren Sie nach Änderungsdatum.
- Achten Sie auf große oder kürzlich geänderte Dateien. Diese lassen sich mit forensischen Tools auswerten, aber schon ihr Vorhandensein und ihre Zeitstempel sind aufschlussreich.
Gehen Sie als Nächstes wie folgt vor:
- Wechseln Sie im Datei-Explorer zu diesem Ort:
- C:\Users\<username>\Documents\
- Geben Sie oben rechts in das Suchfeld Folgendes ein:
- *.rdp
- Notieren Sie alle Dateinamen und deren Änderungsdaten.
Hinweis: .rdp-Dateien sind optionale clientseitige Artefakte und nur dann vorhanden, wenn jemand eine RDP-Verbindungsdatei manuell gespeichert hat. Fehlen sie, schließt das eine RDP-Nutzung nicht aus.
Schritt 6: Zentralisieren und aufbewahren
📌 Anwendungsfall: Sorgen Sie für durchgehende Transparenz und verhindern Sie den Verlust von Protokollen.
- Drücken Sie Win + R, geben Sie „eventvwr.msc“ ein und drücken Sie dann die Eingabetaste.
- Gehen Sie zu Windows-Protokolle > Sicherheit.
- Klicken Sie mit der rechten Maustaste auf Sicherheit und wählen Sie Eigenschaften.
- Setzen Sie die maximale Protokollgröße auf einen höheren Wert.
- Wählen Sie je nach Bedarf „Ereignisse überschreiben“ oder „Protokoll bei Erreichen der maximalen Größe archivieren“ und klicken Sie dann auf „OK“.
Hinweis: Für das Sicherheitsprotokoll gibt es keine einheitlich empfohlene Größe. Üblich ist es, die Protokollgröße am erwarteten Ereignisaufkommen und an der gewünschten Aufbewahrungsdauer auszurichten.
Um eine Kopie zu sichern, gehen Sie wie folgt vor:
- Klicken Sie in der Ereignisanzeige mit der rechten Maustaste auf Sicherheit > Alle Ereignisse speichern unter…
- Wählen Sie einen Speicherort, zum Beispiel C:\Logs\Security_<date>.evtx.
- Verfahren Sie ebenso mit folgenden Protokollen:
- TerminalServices-LocalSessionManager / Operational
- TerminalServices-RemoteConnectionManager / Operational
Schritt 7: Ergebnisse operativ nutzen
📌 Anwendungsfall: Machen Sie aus Daten konkrete Maßnahmen und sichern Sie die Audit-Integrität.
- Erstellen Sie Tickets für wiederholte Fehlschläge, neue Quell-IPs oder fehlende Protokollabdeckung.
- Hängen Sie die Zeitleiste an Vorfallsberichte und vierteljährliche Service-Reviews an.
- Prüfen Sie monatlich die Abdeckung der Sitzungsaufzeichnung und die Zugriffsausnahmen.
Best Practices für Audit und Aufbewahrung des Remotedesktop-Verbindungsverlaufs
Die folgende Tabelle fasst die Best Practices zusammen, die Sie beim Prüfen des Remotedesktop-Verbindungsverlaufs beachten sollten:
| Vorgehen | Zweck | Nutzen |
| Sicherheit, LSM und RCM in den Blick nehmen | Breitere Abdeckung | Schnellere, sichere Ersteinschätzung |
| Nach LogonType 10 und Ereignis-IDs filtern | Korrekte Einordnung | Klare Trennung von RDP und Konsole |
| Ereignisse vor und nach der Authentifizierung verknüpfen | Quellenzuordnung | Präzise Zuordnung von Benutzerkonto und IP |
| Auf CSV und JSON normalisieren | Nachweise | Wiederholbare Audits und QBRs |
| Protokolle weiterleiten und aufbewahren | Verlässlichkeit | Zeitleisten sind bei Bedarf verfügbar |
NinjaOne unterstützt Sie beim Prüfen Ihres Remotedesktop-Verbindungsverlaufs
Mit NinjaOne stellen Sie Skripte für Erfassung und Überwachung nach Geräterolle bereit, sammeln und analysieren Ereignisprotokolldaten zentral, hängen relevante Erkenntnisse an die IT-Dokumentation an und konfigurieren Alarmierungen, die bei auffälligen Zuständen (etwa Häufungen von Fehlschlägen oder ungewöhnlicher Aktivität) Tickets erstellen. Einige Windows-spezifische Konfigurationen wie die Ereignisweiterleitung müssen auf Ebene des Betriebssystems aktiviert werden.
So behalten Sie Ihren RDP-Verlauf im Griff
Mit präzisen Filtern und einem einfachen Korrelationsmuster bleibt Ihr RDP-Verlauf nachvollziehbar. Kombinieren Sie Serverereignisse mit Client-Artefakten und planen Sie Exporte ein, um festzuhalten, wer sich wann und von wo verbunden hat. So liegen die Nachweise für Audits und Untersuchungen gleich mit bereit.
Verwandte Themen:
- Was ist das Remote Desktop Protocol (RDP)?
- Remote Desktop Protocol (RDP) auf Workstations mit PowerShell aktivieren oder deaktivieren
- Remotedesktopbenutzer:innen in Windows konfigurieren
- Unerwartete RDP-Sitzungen mit Ereignisprotokollen und PowerShell überwachen
- Best Practices für die Absicherung des Remotedesktop-Zugriffs in KMU-Umgebungen
