Réseau et accès distant
Cache bitmap RDP
Fiche 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.
- Emplacement
- %LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache\
- Prouve
- Des fragments de ce qu'un utilisateur a vu sur des écrans distants lors de sessions RDP
- Horodatages
- Pas d'heure par tuile ; dates $SI des fichiers (NTFS, UTC) approximent les sessions ; dater via les événements RDPClient 1024/1102
- Rétention
- Taille limitée, tuiles anciennes écrasées par les nouvelles sessions ; absent si le cache persistant est désactivé ; perdu si le dossier est vidé
- Accès
- Dossier du profil utilisateur sur l'hôte source RDP ; lisible par l'utilisateur ou un administrateur, copie avec robocopy
- Preuve de
- Réseau et accès distant
- Type
- Fichier / système de fichiers
- Windows
- XPVista / 78 / 8.11011
- Cible KAPE
- RDPCache
- Velociraptor
- Windows.Triage.Targets:RDPCache
Outils
Comparer tous les outilsPrésentation
Pour économiser de la bande passante, le client Bureau à distance (mstsc.exe) met en cache, sur la machine cliente, de petites tuiles bitmap de l'écran distant, qu'il réutilise au lieu de les retélécharger. Quand la mise en cache persistante est active (option « Mise en cache persistante des bitmaps » du client, activée par défaut), ces tuiles sont écrites sur disque dans le profil de l'utilisateur. Réassemblées, elles montrent des morceaux de ce que l'utilisateur a vu sur l'hôte distant : fenêtres, invites de commandes, noms de fichiers, outils.
Emplacement
| Version de Windows | Chemin | Fichiers |
|---|---|---|
| XP | C:\Documents and Settings\<user>\Local Settings\Application Data\Microsoft\Terminal Server Client\Cache\ | bcache*.bmc |
| Vista / 7 | C:\Users\<user>\AppData\Local\Microsoft\Terminal Server Client\Cache\ | bcache*.bmc et/ou Cache000N.bin selon la version du client |
| 8 / 10 / 11 | C:\Users\<user>\AppData\Local\Microsoft\Terminal Server Client\Cache\ | Cache0000.bin, Cache0001.bin… |
Le cache est propre à chaque utilisateur, sur la source de la connexion RDP, pas sur le serveur.
Ce que l'artefact prouve
- L'utilisateur de ce profil a eu des sessions RDP avec un contenu graphique, et les tuiles montrent ce qui était affiché : bureaux distants, fenêtres ouvertes, commandes saisies, listes de dossiers, boîtes de dialogue.
- Combiné aux traces de connexions RDP côté source, il relie un utilisateur à une activité sur un système distant.
- Il n'identifie pas à lui seul l'hôte distant, et les tuiles ne sont pas ordonnées dans le temps ; la reconstitution est partielle.
Champs clés
| Élément | Signification |
|---|---|
| Tuile | Bitmap, en général jusqu'à 64 × 64 pixels |
| Ordre dans le cache | Les tuiles sont stockées dans l'ordre du cache ; bmc-tools peut aussi produire un « collage » de toutes les tuiles |
Nom de fichier (Cache000N.bin) | Fichiers de cache distincts, souvent un par connexion récente ou génération de cache |
Horodatages
| Horodatage | Positionné quand | Format | Pièges |
|---|---|---|---|
| Création / modification $SI du fichier de cache | Création / dernière écriture du fichier par le client | NTFS, UTC | Donne une idée des dates de session ; pas d'heure par tuile |
| Événements du client RDP (1024, 1102) | Tentatives de connexion | UTC | À utiliser pour dater les sessions dont proviennent les tuiles |
Rétention et effacement
- Le cache a une taille limitée ; les tuiles anciennes sont écrasées à mesure que de nouvelles sessions ajoutent du contenu.
- Désactiver la mise en cache persistante (option du client ou
bitmapcachepersistenable:i:0dans un fichier.rdp) l'empêche ; vider le dossier le supprime. - Des fichiers de cache supprimés peuvent parfois être récupérés dans l'espace non alloué ou les clichés instantanés.
Collecte
- Cible KAPE :
RDPCache - Velociraptor (
Windows.Triage.Targets) :RDPCache;Windows.Forensics.RDPCacheextrait les tuiles sur les postes en direct. - Commandes natives :
robocopy "C:\Users\bob\AppData\Local\Microsoft\Terminal Server Client\Cache" E:\case\rdpcache /COPY:DAT
Outils d'analyse
- bmc-tools (ANSSI, open source) : extrait les tuiles des fichiers
.bmcet.bin, avec une option de collage (bmc-tools.py -s <cache> -d <sortie> -b). - RdpCacheStitcher (BSI, open source) : aide à reconstituer les écrans en plaçant les tuiles sur un canevas.
- Velociraptor :
Windows.Forensics.RDPCache.
Conseils d'investigation
- Parcourez d'abord le collage : invites de commandes, fenêtres PowerShell, explorateurs de fichiers et outils distants se repèrent facilement, même en fragments.
- Le texte visible dans les tuiles (noms de serveurs, d'utilisateurs, adresses IP) aide à identifier l'hôte distant quand les clés de registre du client ont été effacées.
- Corrélez avec les clés de registre et les événements RDPClient côté source pour attribuer chaque fichier de cache à une session.
- Le poste de rebond d'un attaquant contient souvent le cache le plus riche : collectez-le tôt, avant que de nouvelles sessions n'écrasent les tuiles.
Artefacts liés
- Traces de connexions RDPFiche 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).
- 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.
- 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.
Termes du glossaire
- 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.
- Carving de fichiersLa récupération de fichiers à partir de données brutes grâce à des signatures de contenu (en-têtes, pieds), sans métadonnées du système de fichiers.