Skip to content

RDP-Cache-Parser im Vergleich: bmc-tools und Alternativen

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.

Veröffentlicht am 6 Min. Lesezeit

Kurz gesagt. bmc-tools (ANSSI, Python) ist der Referenzdecoder für den RDP-Bitmap-Cache und das Werkzeug, das Sie zitieren sollten. RdpCacheStitcher (BSI) ist eine GUI, die hilft, von bmc-tools exportierte Kacheln zu Bildschirmen zusammenzusetzen. RDP Bitmap Cache Parser dekodiert dieselben Dateien im Browser, mit einem eigenen, unabhängig entwickelten Decoder, der gegen bmc-tools validiert wurde, dazu eine Galerie mit Triage-Hinweisen, eine Collage, eine Rekonstruktionsfläche und Exporte. Eine zweite Meinung ersetzt es nicht: Vergleichen Sie in echten Fällen wichtige Kacheln mit bmc-tools.

Wenn Sie ein Werkzeug suchen, weil Sie gerade einen Ordner Terminal Server Client\Cache gefunden haben, erklärt der Leitfaden zur RDP-Bitmap-Cache-Forensik, was Sie vor sich haben.

Die drei Werkzeuge im Überblick

bmc-toolsRdpCacheStitcherRDP Bitmap Cache Parser
BetreuerANSSI (Frankreich)BSI (Deutschland)Unabhängig (diese Website)
FormPython-KommandozeilenskriptDesktop-GUIWebseite, WebAssembly in einem Web Worker
Eingabebcache*.bmc, Cache*.binVon bmc-tools exportierte Kachelnbcache*.bmc, Cache*.bin, Ordner, ZIPs
DekodierungJa (Referenz)Nein, nutzt exportierte KachelnJa (unabhängig, gegen bmc-tools validiert)
CollageJa (-b, Breite -w)Nicht ihr ZweckJa, einstellbar, zwei Anordnungen
BildschirmrekonstruktionNeinJa, ihr ZweckManuelle Fläche
Slot-ResteExport mit -oArbeitet mit exportierten KachelnAngezeigt und markiert
InstallationPythonDownloadKeine
LizenzCeCILL 2.1Siehe RepositoryKostenlos nutzbar

RdpCacheStitcher beschreiben wir nur so weit, wie wir sicher sind; den vollen Funktionsumfang entnehmen Sie Repository und Handbuch.

bmc-tools

bmc-tools ist die Referenzimplementierung. Ein Großteil der öffentlichen Arbeit zu diesem Artefakt stützt sich auf das Reverse Engineering der Formate BMC und Cache*.bin durch bmc-tools. Unser eigener Decoder ist eine separate Implementierung: Er entstand auf Grundlage der von Microsoft veröffentlichten Protokollspezifikationen (MS-RDPBCGR und MS-RDPEGDI) und der öffentlichen Beschreibung der Dateien durch CERT-FR (Bulletin CERTFR-2016-ACT-017) und wurde Kachel für Kachel gegen bmc-tools validiert. Die Dekompression von Kacheln (Interleaved RLE) wird seit Version 3.00 aus dem Jahr 2022 unterstützt.

Optionen:

OptionZweck
-sQuelldatei oder -ordner
-dZielordner
-cAnzahl der zu extrahierenden Kacheln
-vAusführliche Ausgabe
-o / --oldAuch alte Daten in Slots exportieren (Reste)
-bEine Collage-Bitmap erzeugen
-wBreite der Collage in Kacheln pro Zeile (Standard 64)
-kAusgabeordner im Stil von KAPE

Ausgabe: eine BMP pro Kachel mit dem Namen <file>_<NNNN>.bmp und <file>_collage.bmp, wenn eine Collage angefordert wird.

Stärken: das Referenzverhalten, skriptfähig, einfach über viele Sammlungen hinweg auszuführen, zitierfähig. Abwägungen: eine Python-Umgebung auf dem Analyserechner, und anschließend blättern Sie Hunderte oder Tausende BMP-Dateien in einem Bildbetrachter durch.

RdpCacheStitcher

RdpCacheStitcher, veröffentlicht vom BSI, ist eine GUI, die hilft, exportierte Kacheln zu Bildschirmen zusammenzusetzen. Als Eingabe dienen die von bmc-tools exportierten Kacheln. Nutzen Sie es, wenn es darum geht, ganze Bildschirme wiederherzustellen, und Sie dafür eine eigene Desktop-Anwendung möchten.

Stärken: eigens für die Rekonstruktion gebaut. Abwägungen: ein zweiter Schritt nach bmc-tools und eine Desktop-Installation.

RDP Bitmap Cache Parser

Das Werkzeug auf dieser Website dekodiert beide Formate im Browser. Die Dateien verlassen den Rechner nie: Die Dekodierung läuft in Rust, kompiliert zu WebAssembly, in einem Web Worker.

Was es rund um den Decoder ergänzt:

  • Einlesen von Dateien, Ordnern und ZIPs (KAPE, Velociraptor, gepackte Profile), wobei jede Datei dem Konto aus Users\<name>\ im Pfad zugeordnet wird.
  • Befunde: Konten, die den RDP-Client benutzt haben, konsolenartige Kacheln, Slot-Reste, nicht dekodierbare Kacheln und ein Hinweis, dass Kacheln keine Zeitstempel tragen.
  • Galerie mit Kachelindex und Cache-Reihenfolge, Triage-Hinweisen (Konsolenartig, Textartig, Slot-Rest, Einfarbig, Duplikat, Nicht dekodiert), einem Filter Zuerst prüfen und Einfarbige Kacheln und Duplikate ausblenden.
  • Collage mit einstellbaren Kacheln pro Zeile, in Cache-Reihenfolge oder bmc-tools-Anordnung, passend zur Anordnung von _collage.bmp aus bmc-tools.
  • Rekonstruieren: eine Rasterfläche, um Kacheln von Hand zu platzieren, exportiert als PNG plus Layout-JSON.
  • Kacheldetails: Schlüssel, Größe, Farbtiefe, Kompression, Datei-Offset.
  • Exporte: CSV, JSON, eine ZIP der Kacheln als PNG oder als BMP mit Namen wie in der Ausgabe von bmc-tools (mit einer tiles.csv), einzelne Kachel als PNG, Collage als PNG.

Ehrliche Grenzen

GrenzeWas tun
Keine Texterkennung (OCR)Text selbst lesen und in den Notizen abschreiben
Kein automatisches ZusammensetzenKacheln auf der Fläche Rekonstruieren von Hand platzieren oder RdpCacheStitcher nutzen
Heuristische Hinweise können etwas übersehen oder zu viel markierenAls Lesereihenfolge behandeln, nicht als Befunde
8-Bit-Farben nur näherungsweiseDie Palette liegt nicht im Cache; auf Formen und Text stützen
Schmale Kacheln mit eigener Breite als Stride dekodiertbmc-tools nimmt 64 an; bei schmalen Kacheln beide vergleichen
Dekomprimierte 8- und 32-Bit-Kacheln in ihrer echten Farbtiefe angezeigt; planar komprimierte 32-Bit-Kacheln dekodiertbmc-tools stellt dekomprimierte Kacheln mit 16 Bit dar und überspringt planar komprimierte; bei diesen Kacheln mit Unterschieden rechnen
Mit synthetischen und von Hand erstellten Dateien validiertIn echten Fällen wichtige Kacheln mit bmc-tools gegenprüfen
Läuft in einem Browser-TabSehr große Sammlungen hängen vom Speicher des Browsers ab

Das Werkzeug zeigt keinen Zeitraum an, weil der Cache keine Zeiten enthält. Die Datierung erfolgt über Artefakte auf dem Quellsystem.

Welches wann

SituationEmpfohlenes Werkzeug
Schneller Blick auf einen Cache-Ordner auf einem Analyse-Laptop ohne PythonRDP Bitmap Cache Parser
Stapelverarbeitung vieler Sammlungen in einer Pipelinebmc-tools
Ganze Bildschirme mit einem eigenen Desktop-Werkzeug wiederherstellenbmc-tools, dann RdpCacheStitcher
Triage: Welche Kacheln soll ich zuerst lesen?RDP Bitmap Cache Parser (Zuerst prüfen)
Ein Befund, der in einen Bericht gehtMit zwei Werkzeugen dekodieren und vergleichen
Kacheln mit einem Kollegen teilen, der mit bmc-tools arbeitetBMP-ZIP aus RDP Bitmap Cache Parser (Benennung wie bmc-tools)

Die Werkzeuge ergänzen sich gut. Ein praktikabler Weg: im Browser sichten, die BMP-ZIP exportieren, dann in RdpCacheStitcher oder auf der Fläche Rekonstruieren wiederherstellen und bmc-tools für die Kacheln, die Sie zitieren, erneut auf die Originale anwenden.

Ein Werkzeug gegen ein anderes prüfen

Für eine Kachel, die Sie zitieren möchten:

  1. Notieren Sie Index und Datei-Offset aus dem Detailfenster der Kachel.
  2. Führen Sie bmc-tools auf derselben Datei aus und öffnen Sie die entsprechende BMP (Zuordnung über den Index, bei abweichender Nummerierung über den Inhalt).
  3. Vergleichen Sie die Bilder. Unterschiede sind am ehesten bei schmalen Kacheln (Stride), 8-Bit-Kacheln (Palette), dekomprimierten 8- und 32-Bit-Kacheln (bmc-tools stellt sie mit 16 Bit dar) und planar komprimierten 32-Bit-Kacheln zu erwarten, die bmc-tools überspringt.
  4. Halten Sie beides in Ihren Notizen fest.

Eine Schritt-für-Schritt-Anleitung für den Browser-Ablauf finden Sie unter den RDP-Bitmap-Cache im Browser analysieren.

Verwandte Artikel

Verwandte Artikel

Schritt für Schritt: bcache*.bmc und Cache*.bin im kostenlosen Browser-Parser laden, Kacheln sichten, Collage und Bildschirm aufbauen, Beweise exportieren.
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.