Skip to content

Cómo analizar la caché de mapas de bits RDP en el navegador

Paso a paso: cargue bcache*.bmc y Cache*.bin en un parser gratuito en el navegador, haga triaje, arme un collage, reconstruya una pantalla y exporte.

Publicado el 6 min de lectura

Resumen. Recolecte Terminal Server Client\Cache de cada usuario del equipo de origen, suelte la carpeta o el ZIP en RDP Bitmap Cache Parser, lea el panel Hallazgos y recorra las pestañas: Galería (con Revisar primero y Ocultar mosaicos lisos y duplicados), Collage (ajuste los mosaicos por fila), Reconstruir (coloque mosaicos en una cuadrícula) y Lista. Exporte CSV, JSON, un ZIP de mosaicos en PNG o en BMP al estilo bmc-tools, o la pantalla reconstruida. La decodificación se ejecuta en WebAssembly dentro de su navegador; los archivos nunca se suben.

Este es el complemento práctico de la guía de análisis forense de la caché de mapas de bits RDP. Los ejemplos usan el ejemplo integrado, que es sintético y ficticio: se generó para esta herramienta y no procede de un caso real.

Antes de empezar

NecesitaPor qué
La carpeta Cache de cada usuario, del equipo de origenEs donde el cliente escribe la caché
La parte Users\<name>\ de la rutaLa herramienta atribuye cada archivo a esa cuenta
Un navegador de escritorio actualLa decodificación se ejecuta como WebAssembly en un Web Worker
Opcional: bmc-toolsPara contrastar los mosaicos importantes

Paso 1: recolectar la carpeta de caché

Cierre las sesiones de Escritorio remoto abiertas y copie la carpeta de cada perfil. El bucle de PowerShell que muestra el sitio:

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 con el target RDPCache) y una imagen montada también sirven; vea ubicación y adquisición de la caché de mapas de bits RDP. Calcule el hash de lo recolectado.

Paso 2: cargar los archivos

Abra la página de inicio de la herramienta. Puede soltar:

  • archivos sueltos (bcache*.bmc, Cache*.bin);
  • una carpeta, por ejemplo un perfil copiado;
  • un ZIP: las colecciones de KAPE y Velociraptor y los perfiles comprimidos se abren en el navegador.

Para aprender primero la interfaz, pulse Probar un ejemplo. El espacio de trabajo pasa a pantalla completa automáticamente; pulse Esc para salir.

El ejemplo contiene dos archivos de un perfil ficticio svc_backup: Cache0000.bin (32 bpp, 47 mosaicos) y bcache22.bmc (16 bpp, 15 mosaicos, 10 de ellos comprimidos con RLE).

Paso 3: leer el panel Hallazgos

Antes de mirar un solo mosaico, lea el resumen:

  • Cuentas que usaron el cliente RDP, según las rutas.
  • Mosaicos tipo consola: donde puede haber comandos legibles.
  • Restos de ranura: fragmentos de mosaicos anteriores en ranuras .bmc (resto de ranura).
  • Mosaicos no decodificables, si los hay.
  • El recordatorio de que los mosaicos no tienen marcas de tiempo. La herramienta no muestra ningún intervalo de tiempo ni se lo inventa; feche las sesiones con los artefactos del equipo de origen.

Paso 4: hacer triaje en la galería

La pestaña Galería muestra cada mosaico con su índice en el orden de caché. Dos controles hacen la mayor parte del trabajo:

ControlEfecto
Ocultar mosaicos lisos y duplicadosQuita los mosaicos de un solo color y los idénticos a uno anterior
Revisar primeroConserva los mosaicos tipo consola y tipo texto

Las pistas de triaje son heurísticas:

PistaSignificado
Tipo consolaContenido parecido a texto sobre fondo oscuro; puede haber comandos legibles
Tipo textoFondo uniforme con muchos bordes nítidos
Resto de ranuraSobrante de un mosaico anterior en una ranura .bmc
LisoUn solo color
DuplicadoIdéntico a un mosaico anterior
No decodificadoEl mosaico no se pudo decodificar

Pueden pasar por alto mosaicos y marcar otros inofensivos. Le indican qué conviene leer primero, nada más. En el ejemplo, Revisar primero saca a la luz los mosaicos de consola con el comando rclone.exe copy y la vista anterior de tar -xf tools.zip -C C:\ProgramData\Intel.

Paso 5: inspeccionar un mosaico

Haga clic en un mosaico para abrir su detalle: clave de caché, ancho y alto, profundidad de color, compresión (RLE entrelazado o ninguna), desplazamiento en el archivo y pista de triaje. El desplazamiento le permite comprobar el mosaico en un editor hexadecimal. Un mosaico individual puede exportarse como PNG para sus notas.

En los mosaicos de 8 bits, recuerde que los colores son aproximados: la paleta no se guarda en la caché.

Paso 6: armar un collage

La pestaña Collage dispone todos los mosaicos en una sola imagen. Defina el número de mosaicos por fila y elija una disposición: Orden de caché (mosaico 0 arriba a la izquierda) o Disposición de bmc-tools (la misma distribución que el collage de bmc-tools, para compararlos lado a lado).

En el ejemplo, ponga 7 mosaicos por fila. Las filas centrales (mosaicos 7–20) se alinean y el comando rclone se lee de corrido; la primera y la última fila se desplazan, porque las piezas idénticas se guardaron una sola vez. Reconstruir pantallas RDP a partir de los mosaicos de caché explica el efecto. Exporte el collage como PNG.

Paso 7: reconstruir una pantalla

La pestaña Reconstruir es una cuadrícula. Arrastre un mosaico a una celda, o seleccione un mosaico y haga clic en una celda. Coloque primero las filas alineadas y después complete la barra de título y las zonas vacías de la consola reutilizando el mismo mosaico en varias celdas. Deje las celdas vacías cuando no esté seguro.

Exporte el lienzo como PNG y el JSON de disposición, que registra qué mosaico va en cada sitio. Incluya ambos en el expediente para que un revisor pueda comprobar su colocación.

Paso 8: exportar la evidencia

ExportaciónContenido
CSV / JSONEl inventario de mosaicos con sus metadatos
ZIP de mosaicosCada mosaico en PNG, o en BMP con nombres como la salida de bmc-tools (<file>_<NNNN>.bmp), más un tiles.csv dentro
PNG de un mosaico, PNG del collagePara el informe
PNG de Reconstruir + JSON de disposiciónLa pantalla reconstruida y cómo se construyó

Los nombres BMP le permiten pasar los mosaicos a herramientas pensadas para la salida de bmc-tools, como RdpCacheStitcher. La pestaña Lista ofrece una vista en lista de los mosaicos.

Límites que conviene tener presentes

  • Sin OCR y sin unión automática: usted lee y coloca los mosaicos.
  • Los mosaicos de menos de 64 píxeles de ancho usan su propio ancho como paso de fila; bmc-tools asume 64, así que los mosaicos estrechos pueden diferir entre herramientas.
  • El decodificador es una implementación independiente (MS-RDPBCGR y MS-RDPEGDI de Microsoft e investigación pública) y se ha validado mosaico a mosaico con bmc-tools de la ANSSI, sobre archivos sintéticos y construidos a mano. En casos reales, compare los mosaicos importantes con bmc-tools; vea la comparativa de parsers de caché RDP.

RDP Bitmap Cache Parser es un proyecto independiente, no afiliado a Microsoft ni respaldado por ella.

Artículos relacionados

Artículos relacionados

bmc-tools, RdpCacheStitcher y RDP Bitmap Cache Parser frente a frente: qué hace cada uno, cuándo usarlo en un caso y los límites reales de la herramienta web.
Qué artefactos del equipo de origen RDP muestran adónde y cuándo se conectó un usuario, y cómo usarlos para fechar y atribuir lo que muestra la caché.
Por qué un collage de caché RDP se alinea en unas zonas y se desplaza en otras, cómo elegir su ancho y cómo rehacer una pantalla mosaico a mosaico.