Skip to content

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.

Veröffentlicht am 6 Min. Lesezeit

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 brauchenWarum
Den Ordner Cache jedes Benutzers, vom QuellsystemDort schreibt der Client den Cache
Den Pfadteil Users\<name>\Das Werkzeug ordnet jede Datei diesem Konto zu
Einen aktuellen Desktop-BrowserDie Dekodierung läuft als WebAssembly in einem Web Worker
Optional: bmc-toolsZum 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:

BedienelementWirkung
Einfarbige Kacheln und Duplikate ausblendenEntfernt einfarbige Kacheln und Kacheln, die mit einer früheren identisch sind
Zuerst prüfenBehält konsolenartige und textartige Kacheln

Die Triage-Hinweise sind Heuristiken:

HinweisBedeutung
KonsolenartigTextähnlicher Inhalt auf dunklem Hintergrund; Befehle könnten lesbar sein
TextartigFlacher Hintergrund mit vielen scharfen Kanten
Slot-RestÜberbleibsel einer älteren Kachel in einem .bmc-Slot
EinfarbigEine einzige Farbe
DuplikatIdentisch mit einer früheren Kachel
Nicht dekodiertDie 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

ExportInhalt
CSV / JSONDas Kachelinventar mit seinen Metadaten
ZIP der KachelnJede 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 PNGFür den Bericht
PNG aus Rekonstruieren + Layout-JSONDer 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.

Verwandte Artikel

Verwandte Artikel

bmc-tools, RdpCacheStitcher und RDP Bitmap Cache Parser im Vergleich: was jedes Werkzeug kann, wo es in einen Fall passt und wo das Browser-Werkzeug endet.
Welche Artefakte auf dem RDP-Quellsystem zeigen, wohin und wann sich ein Benutzer verbunden hat, und wie Sie damit den Inhalt des Bitmap-Caches einordnen.
Warum eine RDP-Cache-Collage stellenweise passt und stellenweise verrutscht, wie Sie die Breite wählen und einen Bildschirm Kachel für Kachel neu aufbauen.