Den RDP-Bitmap-Cache im Browser analysieren
Schritt für Schritt: bcache*.bmc und Cache*.bin im kostenlosen Browser-Parser laden, Kacheln sichten, Collage und Bildschirm aufbauen, Beweise exportieren.
Kurz gesagt. Sichern Sie Terminal Server Client\Cache für jeden Benutzer auf dem Quellsystem, legen Sie den Ordner oder die ZIP in RDP Bitmap Cache Parser ab, lesen Sie das Fenster Befunde und arbeiten Sie dann die Tabs ab: Galerie (mit Zuerst prüfen und Einfarbige Kacheln und Duplikate ausblenden), Collage (Kacheln pro Zeile anpassen), Rekonstruieren (Kacheln auf ein Raster legen) und Liste. Exportieren Sie CSV, JSON, eine ZIP mit PNG- oder BMP-Kacheln im Stil von bmc-tools oder den rekonstruierten Bildschirm. Die Dekodierung läuft als WebAssembly in Ihrem Browser; die Dateien werden nie hochgeladen.
Dies ist das praktische Gegenstück zum Leitfaden zur RDP-Bitmap-Cache-Forensik. Die Beispiele nutzen das eingebaute Beispiel, das synthetisch und fiktiv ist: Es wurde für dieses Werkzeug erzeugt und stammt nicht aus einem echten Fall.
Bevor Sie beginnen
| Sie brauchen | Warum |
|---|---|
Den Ordner Cache jedes Benutzers, vom Quellsystem | Dort schreibt der Client den Cache |
Den Pfadteil Users\<name>\ | Das Werkzeug ordnet jede Datei diesem Konto zu |
| Einen aktuellen Desktop-Browser | Die Dekodierung läuft als WebAssembly in einem Web Worker |
| Optional: bmc-tools | Zum Gegenprüfen wichtiger Kacheln |
Schritt 1: Cache-Ordner sichern
Schließen Sie offene Remotedesktopsitzungen und kopieren Sie dann den Ordner für jedes Profil. Die PowerShell-Schleife, die die Website zeigt:
Get-ChildItem C:\Users -Directory | ForEach-Object {
$rel = "Users\$($_.Name)\AppData\Local\Microsoft\Terminal Server Client\Cache"
if (Test-Path "C:\$rel") { robocopy "C:\$rel" "C:\triage\$rel" /E /B /R:0 /W:0 /NP /NDL /NFL | Out-Null }
}
tar -a -c -f C:\triage\rdpcache.zip -C C:\triage Users
KAPE (--target RDPCache), Velociraptor (Windows.Triage.Targets mit dem Target RDPCache) und ein eingebundenes Abbild funktionieren ebenfalls; siehe Speicherort und Sicherung des RDP-Bitmap-Caches. Hashen Sie, was Sie gesichert haben.
Schritt 2: Dateien laden
Öffnen Sie die Startseite des Werkzeugs. Sie können ablegen:
- einzelne Dateien (
bcache*.bmc,Cache*.bin); - einen Ordner, zum Beispiel ein kopiertes Profil;
- eine ZIP: Sammlungen von KAPE und Velociraptor sowie gepackte Profile werden im Browser geöffnet.
Alternativ nutzen Sie Dateien auswählen oder Ordner auswählen. Um die Oberfläche zuerst kennenzulernen, klicken Sie auf Beispiel laden. Der Arbeitsbereich wechselt automatisch in den Vollbildmodus; mit Esc verlassen Sie ihn.
Das Beispiel enthält zwei Dateien aus einem fiktiven Profil svc_backup: Cache0000.bin (32 bpp, 47 Kacheln) und bcache22.bmc (16 bpp, 15 Kacheln, davon 10 RLE-komprimiert).
Schritt 3: Das Befunde-Fenster lesen
Bevor Sie sich eine einzige Kachel ansehen, lesen Sie die Zusammenfassung:
- Konten, die den RDP-Client benutzt haben, aus den Pfaden.
- Konsolenartige Kacheln: wo Befehle lesbar sein könnten.
- Slot-Reste: Fragmente älterer Kacheln in
.bmc-Slots (Slot-Rest). - Nicht dekodierbare Kacheln, falls vorhanden.
- Der Hinweis, dass Kacheln keine Zeitstempel haben. Das Werkzeug zeigt keinen Zeitraum an und erfindet keinen; datieren Sie die Sitzungen über Artefakte auf dem Quellsystem.
Schritt 4: Die Galerie sichten
Der Tab Galerie zeigt jede Kachel mit ihrem Index in der Cache-Reihenfolge. Zwei Bedienelemente erledigen den Großteil der Arbeit:
| Bedienelement | Wirkung |
|---|---|
| Einfarbige Kacheln und Duplikate ausblenden | Entfernt einfarbige Kacheln und Kacheln, die mit einer früheren identisch sind |
| Zuerst prüfen | Behält konsolenartige und textartige Kacheln |
Die Triage-Hinweise sind Heuristiken:
| Hinweis | Bedeutung |
|---|---|
| Konsolenartig | Textähnlicher Inhalt auf dunklem Hintergrund; Befehle könnten lesbar sein |
| Textartig | Flacher Hintergrund mit vielen scharfen Kanten |
| Slot-Rest | Überbleibsel einer älteren Kachel in einem .bmc-Slot |
| Einfarbig | Eine einzige Farbe |
| Duplikat | Identisch mit einer früheren Kachel |
| Nicht dekodiert | Die Kachel konnte nicht dekodiert werden |
Sie können Kacheln übersehen und harmlose markieren. Sie sagen Ihnen, was sich zuerst zu lesen lohnt, mehr nicht. Im Beispiel bringt Zuerst prüfen die Konsolenkacheln mit dem Befehl rclone.exe copy und die frühere Ansicht mit tar -xf tools.zip -C C:\ProgramData\Intel nach oben.
Schritt 5: Eine Kachel untersuchen
Klicken Sie auf eine Kachel, um ihre Details zu öffnen: Cache-Schlüssel, Breite und Höhe, Farbtiefe, Kompression (Interleaved RLE oder keine), Datei-Offset und Triage-Hinweis. Über den Offset können Sie die Kachel in einem Hex-Editor prüfen. Eine einzelne Kachel lässt sich für Ihre Notizen als PNG exportieren.
Denken Sie bei 8-Bit-Kacheln daran, dass die Farben nur näherungsweise stimmen: Die Palette wird nicht im Cache gespeichert.
Schritt 6: Eine Collage erstellen
Der Tab Collage legt alle Kacheln in einem Bild aus. Stellen Sie die Kacheln pro Zeile ein und wählen Sie eine Anordnung: Cache-Reihenfolge (Kachel 0 oben links) oder bmc-tools-Anordnung (dieselbe Anordnung wie die Collage von bmc-tools, für den direkten Vergleich).
Stellen Sie im Beispiel 7 Kacheln pro Zeile ein. Die mittleren Zeilen (Kacheln 7–20) liegen übereinander, und der rclone-Befehl lässt sich über die Kacheln hinweg lesen; die erste und die letzte Zeile verrutschen, weil identische Teile nur einmal zwischengespeichert wurden. RDP-Bildschirme aus Cache-Kacheln rekonstruieren erklärt diesen Effekt. Exportieren Sie die Collage als PNG.
Schritt 7: Einen Bildschirm rekonstruieren
Der Tab Rekonstruieren ist ein Raster. Ziehen Sie eine Kachel auf eine Zelle, oder wählen Sie eine Kachel und klicken Sie auf eine Zelle. Legen Sie zuerst die passenden Zeilen, füllen Sie dann Titelleiste und leere Konsolenbereiche, indem Sie dieselbe Kachel in mehreren Zellen verwenden. Lassen Sie Zellen leer, wenn Sie unsicher sind.
Exportieren Sie die Fläche als PNG und das Layout-JSON, das festhält, welche Kachel wohin gelegt wurde. Legen Sie beides in die Fallakte, damit ein Prüfer Ihre Platzierung nachvollziehen kann.
Schritt 8: Die Beweise exportieren
| Export | Inhalt |
|---|---|
| CSV / JSON | Das Kachelinventar mit seinen Metadaten |
| ZIP der Kacheln | Jede Kachel als PNG oder als BMP mit Namen wie in der Ausgabe von bmc-tools (<file>_<NNNN>.bmp), dazu eine tiles.csv |
| Einzelne Kachel als PNG, Collage als PNG | Für den Bericht |
| PNG aus Rekonstruieren + Layout-JSON | Der wiederhergestellte Bildschirm und wie er entstanden ist |
Dank der BMP-Benennung können Sie die Kacheln an Werkzeuge übergeben, die auf der Ausgabe von bmc-tools aufbauen, etwa RdpCacheStitcher. Der Tab Liste zeigt die Kacheln als Liste.
Grenzen, die Sie kennen sollten
- Keine Texterkennung (OCR) und kein automatisches Zusammensetzen: Sie lesen und platzieren die Kacheln selbst.
- Kacheln, die schmaler als 64 Pixel sind, verwenden ihre eigene Breite als Stride; bmc-tools nimmt 64 an, schmale Kacheln können sich zwischen den Werkzeugen also unterscheiden.
- Der Decoder ist eine unabhängige Implementierung (MS-RDPBCGR und MS-RDPEGDI von Microsoft sowie öffentliche Forschung) und wurde mit synthetischen und von Hand erstellten Dateien Kachel für Kachel gegen bmc-tools der ANSSI validiert. Vergleichen Sie in echten Fällen wichtige Kacheln mit bmc-tools; siehe RDP-Cache-Parser im Vergleich.
RDP Bitmap Cache Parser ist ein unabhängiges Projekt, weder mit Microsoft verbunden noch von Microsoft unterstützt.