Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
linux_screenshot_xwindows — Plugin de Volatility para extraer X capturas de pantalla de un volcado de memoria | Kitploit
Herramientas/GitHubGitHub/eurecom-s3/linux_screenshot_xwindows
Forensia de MemoriaAnálisis ForenseRecopilación de InformaciónForensia Digital
GitHubeurecom-s3/linux_screenshot_xwindows

linux_screenshot_xwindows

Plugin de Volatility para extraer X capturas de pantalla de un volcado de memoria

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
3753hace 8 añosRevisado por Kitploit

Introducción

El objetivo de este plugin de volatilidad es extraer una captura de pantalla de todas las ventanas X abiertas a partir de un volcado de memoria.

Trabajo previo

El plugin de volatilidad linux_xwindows realizado por Adam Bridge (https://github.com/bridgeythegeek/linux_xwindows) extrae varios metadatos de los objetos de ventana registrados en X, que se identifican recorriendo las estructuras de datos del servidor X. Por ejemplo, para cada ventana enumera las coordenadas de la ventana, las dimensiones de ancho y alto, y el identificador de la ventana. El README de Adam contiene una buena discusión sobre estos detalles, ¡así que sugerimos leerlo si estás interesado!

Como referencia, aquí puedes encontrar una figura que representa las estructuras centrales de X y sus interdependencias: Texto alternativo

Resumen

Para extraer estas capturas de pantalla reutilizamos parte del código del servidor X.

El plugin primero vuelca los mapeos de memoria del servidor X. Estos mapeos se proporcionan como entrada a un programa en C (loader), junto con la salida del plugin de Adam. Este programa en C hace mmap (con la bandera MAP_FIXED) de los mapeos de memoria de Xorg en su propio espacio de direcciones. De esta manera recreamos el espacio de direcciones de Xorg, asegurando que no se rompa ninguna referencia entre código y datos. El loader luego llama a una función (compGetImage) contenida en el código de Xorg y guarda el resultado en un archivo. Identificamos esta función "mágica" observando cómo X atiende una solicitud de captura de pantalla durante el uso normal. Afortunadamente, esta función siempre se puede encontrar con precisión ya que struct _Screen contiene un puntero a ella.

Otra buena característica de este enfoque es que es capaz de recuperar la captura de pantalla incluso si la pantalla estaba bloqueada en el momento del volcado, ¡e incluso de ventanas ocultas detrás de otras ventanas!

Uso

Después de clonar este repositorio, compila el loader:

gcc -Wall -o loader loader.c

Para usar los plugins:

vol.py --plugins=$PWD/plugins/ --profile=XXX -f ./vbox.dmp linux_screenshot_xwindows --out-dir /tmp/xwds/

Para convertir los resultados de xwd a png:

find /tmp/xwds/ -type f -name "*.xwd" -exec convert {} {}.png \;

Versiones probadas de Xorg

Recuperamos exitosamente la captura de pantalla de las siguientes configuraciones:

  1. Ubuntu 14.04 LTS - X.Org X Server 1.15.1 (Fecha de lanzamiento: 2014-04-13)

  2. Ubuntu 16-04 LTS - X.Org X Server 1.18.4 (Fecha de lanzamiento: 2016-07-19)

  3. Debian 9 Testing - X.Org X Server 1.19.6 (Fecha de lanzamiento: 2017-12-20)

  4. Kubuntu 18.04 LTS - X.Org X Server 1.19.6 (Fecha de lanzamiento: 2017-12-20)

Notas

Algunas notas importantes, pero aleatorias:

  1. Para limitar el proceso solo a imágenes "drawable", seleccionamos en el plugin de volatilidad únicamente las imágenes con un tamaño razonable.

  2. Esta herramienta funciona solo si Xorg utiliza renderizado por software. Esto no suele ser el caso en máquinas físicas, pero se usaba por defecto en las máquinas VirtualBox que probamos.

  3. No olvides que estás ejecutando código extraído de un volcado de memoria. Probablemente no sea difícil para un atacante manipular el volcado y obtener ejecución de código en tu máquina. Así que toma las precauciones necesarias.

Autores

Este proyecto se completó durante un Proyecto Semestral en el otoño de 2017 en Eurecom, y fue realizado por dos estudiantes de Eurecom: Hamdi Ammar y Ahmed Mkadem. Fue supervisado por Fabio Pagani y Davide Balzarotti.

Descargar herramienta