Réseau et accès distant
Traces de connexions RDP
Fiche forensique RDP : ID côté cible (4624 type 10, 1149, 21 à 25, 131) et traces côté source (clés Terminal Server Client, Default.rdp, événement 1024).
- Emplacement
- C:\Windows\System32\winevt\Logs\Microsoft-Windows-TerminalServices-*.evtx
- Prouve
- Qui s'est connecté en RDP, depuis quelle IP, quand, et vers quels hôtes un utilisateur s'est connecté
- Horodatages
- SystemTime des événements en UTC ; LastWrite des clés client Servers et Default en FILETIME, UTC ; modification $SI de Default.rdp, UTC
- Rétention
- Journaux Operational RDP petits, en rotation rapide sur serveur chargé ; clés MRU et Servers persistantes jusqu'à suppression par l'utilisateur
- Accès
- Administrateur pour exporter les EVTX (verrouillés à chaud : wevtutil ou KAPE EventLogs-RDP) ; clés client dans NTUSER.DAT, verrouillé en session
- Preuve de
- Réseau et accès distant
- Type
- Journal d'événements
- Windows
- Vista / 78 / 8.11011
- Cible KAPE
- EventLogs-RDPRegistryHivesUser
- Velociraptor
- Windows.Triage.Targets:EventLogs-RDPRegistryHivesUser
Outils
Comparer tous les outilsPrésentation
Les sessions RDP (Remote Desktop Protocol) laissent des traces aux deux extrémités. Sur la cible (la machine à laquelle on se connecte), plusieurs canaux de journaux enregistrent la connexion réseau, l'authentification et le cycle de vie de la session. Sur la source (la machine d'où l'utilisateur se connecte), le client Bureau à distance (mstsc.exe) conserve un historique des serveurs et des noms d'utilisateur, ainsi que son propre journal. Ensemble, ils constituent la principale preuve d'un mouvement latéral interactif.
Emplacement
Côté cible (journaux dans C:\Windows\System32\winevt\Logs\) :
| Canal | Événements |
|---|---|
Security | 4624 (connexion de type 10, ou 7 en reconnexion/déverrouillage), 4625, 4634/4647, 4778 (session reconnectée), 4779 (session déconnectée) |
Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational | 1149 : authentification réussie pour une connexion réseau (utilisateur, domaine, IP source) |
Microsoft-Windows-TerminalServices-LocalSessionManager/Operational | 21 ouverture de session, 22 démarrage du shell, 23 fermeture, 24 déconnexion, 25 reconnexion (chacun avec l'adresse source) |
Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational | 131 : le serveur a accepté une nouvelle connexion TCP (IP et port du client) |
Côté source :
| Emplacement | Contenu |
|---|---|
NTUSER.DAT\Software\Microsoft\Terminal Server Client\Default | MRU0…MRU9 : serveurs récents saisis dans le client |
NTUSER.DAT\Software\Microsoft\Terminal Server Client\Servers\<hôte> | UsernameHint (compte utilisé), CertHash |
C:\Users\<user>\Documents\Default.rdp (caché) | Paramètres de la dernière connexion, dont full address |
Microsoft-Windows-TerminalServices-RDPClient/Operational | 1024 : le client tente de se connecter à un serveur ; 1102 : le client a initié une connexion multi-transport vers une IP |
%LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache\ | Cache bitmap RDP |
Ce que l'artefact prouve
- Côté cible : un compte s'est authentifié en RDP depuis une IP source à un moment donné, et la durée de la session (ouverture → déconnexion/fermeture).
- Côté source : un utilisateur de cette machine s'est connecté (ou a tenté de le faire) à ces hôtes, avec tel nom de compte.
- Le 1149 seul prouve l'authentification réussie d'une connexion réseau, pas une ouverture de session interactive complète ; confirmez avec 4624 type 10 et LocalSessionManager 21/22.
Champs clés
| Champ | Où | Signification |
|---|---|---|
LogonType | 4624 | 10 = RemoteInteractive ; 7 = déverrouillage/reconnexion (types de connexion) |
IpAddress, WorkstationName | 4624 / 4625 | Source de la connexion (le nom de poste est le nom NetBIOS du client) |
TargetLogonId | 4624 | Relie la connexion aux événements suivants de la même session |
User, Session ID, Source Network Address | LocalSessionManager 21 à 25 | Cycle de vie de la session par utilisateur |
UsernameHint | Clé Servers | Compte saisi par l'utilisateur pour cet hôte |
Horodatages
| Horodatage | Positionné quand | Format | Pièges |
|---|---|---|---|
SystemTime de l'événement | Enregistrement de l'événement | UTC | Les visionneuses affichent l'heure locale ; normalisez avant de corréler |
LastWrite de Servers\<hôte> | Première connexion ou changement de réglages pour cet hôte | FILETIME, UTC | Pas mis à jour à chaque connexion |
LastWrite de Default | Mise à jour de la liste MRU | FILETIME, UTC | Ne date que le MRU0 le plus récent |
Modification $SI de Default.rdp | Le client a enregistré ses derniers réglages | NTFS, UTC | Dernière connexion uniquement |
Rétention et effacement
- Les canaux Operational liés à RDP sont petits et tournent vite sur un serveur chargé ; le journal Security peut tourner encore plus vite.
- Un utilisateur peut retirer des serveurs de l'historique du client, ce qui supprime la valeur
MRUet la sous-cléServers;Default.rdp, le journal RDPClient et le cache bitmap peuvent subsister. - L'effacement des journaux produit 1102 / 104 ; vérifiez les copies du SIEM et les clichés instantanés.
Collecte
- Cible KAPE :
EventLogs-RDP(Security, System et les canaux RDP) etRegistryHivesUserpour les clés du client ;RDPCacheetRDPLogsexistent pour les fichiers associés. - Velociraptor (
Windows.Triage.Targets) :EventLogs-RDPetRegistryHivesUser;Windows.EventLogs.RDPAuthetWindows.Registry.RDPles analysent en direct. - Commandes natives :
Get-WinEvent -LogName 'Microsoft-Windows-TerminalServices-LocalSessionManager/Operational' | Where-Object Id -in 21,22,23,24,25
Get-WinEvent -LogName 'Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational' | Where-Object Id -eq 1149
reg query "HKCU\Software\Microsoft\Terminal Server Client" /s
Outils d'analyse
- EvtxECmd (Eric Zimmerman) : maps pour tous les canaux RDP ; filtrez par ID dans Timeline Explorer.
- Hayabusa / Chainsaw : synthèses de connexions RDP et règles Sigma intégrées.
- Registry Explorer / RegRipper (plugin
tsclient) : clés Terminal Server Client. - Velociraptor :
Windows.EventLogs.RDPAuth,Windows.Registry.RDP.
Conseils d'investigation
- Construisez un tableau par session sur la cible : 131 (TCP) → 1149 (authentification) → 4624 type 10 → 21/22 → 24/25 → 23 ; les étapes manquantes indiquent souvent ce qui a échoué.
- Les IP sources des 1149 et 21 désignent la prochaine machine à examiner ; sur cette source, confirmez avec la clé
Servers,mstsc.exedans UserAssist et la Jump List de mstsc. - Des connexions depuis
127.0.0.1ou::1évoquent un RDP tunnelé par une redirection de port locale (via SSH ou un proxy inverse, par exemple). - Le cache bitmap du client peut montrer ce que l'utilisateur a réellement vu à l'écran distant.
- Des comptes de service ou des comptes locaux récemment créés utilisant RDP sont une piste forte ; vérifiez la création de comptes (4720) dans SAM et comptes utilisateurs.
Artefacts liés
- Cache bitmap RDPFiche cache bitmap RDP : fichiers bcache*.bmc et Cache*.bin du client RDP, ce que révèlent les tuiles d'écran, horodatages, reconstitution avec bmc-tools.
- Journaux d'événements Windows (EVTX)Fiche des journaux d'événements Windows : emplacements EVTX, ID indispensables (connexions, processus, services, effacement), rétention, audit et outils.
- Jump ListsFiche Jump Lists : AutomaticDestinations et CustomDestinations, AppID, entrées DestList avec dernier accès, nombre d'accès, épinglage, et JLECmd.
- UserAssistFiche UserAssist : clés GUID de NTUSER.DAT, noms en ROT13, nombre d'exécutions, temps au premier plan et dernière exécution des programmes lancés.
- Ruche SAM et comptes utilisateursFiche ruche SAM : comptes locaux, RID, dernière connexion et changement de mot de passe, compteurs, groupes, ProfileList et ID d'événements liés aux comptes.
- Journaux du pare-feu WindowsFiche pare-feu Windows : format et réglages de pfirewall.log, événements de règles 2004-2006, audit WFP 5156/5157, règles dans le registre et abus de netsh.
- Serveur et client OpenSSHFiche OpenSSH sous Windows : journal de sshd, sshd_config et clés d'hôte, persistance par authorized_keys, known_hosts, traces du client et tunnels inversés.
- DPAPI et Gestionnaire d'identifiantsFiche DPAPI et Gestionnaire d'identifiants : clés maîtresses, coffre Windows, secrets stockés, prérequis de déchiffrement hors ligne et traces de vol.
- Outils d'accès distant (RMM)Fiche RMM et outils d'accès distant : AnyDesk, TeamViewer, ScreenConnect, leurs journaux, IDs de connexion, IP et horodatages, et comment traquer l'abus.
Termes du glossaire
- Type d'ouverture de session (logon type)Le champ numérique des événements 4624 et 4625 qui indique comment un compte s'est connecté : console, réseau, service, RDP, cache, etc.
- Mouvement latéralDéplacement d'un attaquant d'un hôte compromis vers d'autres machines du réseau, via RDP, SMB, PsExec, WMI, WinRM ou tâches et services distants.
- ID d'événement WindowsLe numéro qui identifie un type d'événement au sein d'un fournisseur donné ; il n'a de sens qu'associé à ce fournisseur et à son canal.
- NTUSER.DATLa ruche du Registre propre à chaque utilisateur, stockée dans son profil et chargée comme HKEY_CURRENT_USER, riche en traces d'activité.