Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
linux_screenshot_xwindows — Volatility-Plugin zum Extrahieren von X-Screenshots aus einem Speicherabbild | Kitploit
Tools/GitHubGitHub/eurecom-s3/linux_screenshot_xwindows
SpeicherforensikForensikInformationsbeschaffungDigitale Forensik
GitHubeurecom-s3/linux_screenshot_xwindows

linux_screenshot_xwindows

Volatility-Plugin zum Extrahieren von X-Screenshots aus einem Speicherabbild

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
375vor 8 JahrenVon Kitploit geprüft

Einleitung

Das Ziel dieses Volatility-Plugins ist es, einen Screenshot aller offenen X-Fenster aus einem Speicherauszug zu extrahieren.

Vorherige Arbeiten

Das Volatility-Plugin linux_xwindows von Adam Bridge (https://github.com/bridgeythegeek/linux_xwindows) extrahiert verschiedene Metadaten aus den bei X registrierten Fensterobjekten, die durch das Durchlaufen der Datenstrukturen des X-Servers identifiziert werden. Für jedes Fenster listet es beispielsweise die Fensterkoordinaten, die Breiten- und Höhenabmessungen sowie die Fensterkennung auf. Adams README enthält eine gute Diskussion dieser Details, daher empfehlen wir, sie zu lesen, wenn Sie interessiert sind!

Als Referenz finden Sie hier eine Abbildung, die die Kernstrukturen von X und ihre Abhängigkeiten darstellt: Alt text

Übersicht

Um diese Screenshots zu extrahieren, verwenden wir einen Teil des X-Server-Codes wieder.

Das Plugin dumpet zunächst die Speicherzuordnungen des X-Servers. Diese Zuordnungen werden dann zusammen mit der Ausgabe von Adams Plugin als Eingabe an ein C-Programm (loader) übergeben. Dieses C-Programm führt mmap (mit dem MAP_FIXED-Flag) der Speicherzuordnungen von Xorg in seinen eigenen Adressraum durch. Auf diese Weise rekonstruieren wir den Adressraum von Xorg und stellen sicher, dass keine Referenz zwischen Code und Daten unterbrochen wird. Der Loader ruft dann eine Funktion (compGetImage) auf, die im Xorg-Code enthalten ist, und speichert das Ergebnis in einer Datei. Wir haben diese "magische" Funktion identifiziert, indem wir untersucht haben, wie X während der normalen Nutzung eine Anfrage für einen Screenshot bedient. Glücklicherweise kann diese Funktion immer genau gefunden werden, da struct _Screen einen Zeiger darauf enthält.

Ein weiterer Vorteil dieses Ansatzes ist, dass er den Screenshot auch dann abrufen kann, wenn der Bildschirm zum Zeitpunkt des Dumpens gesperrt war, und sogar von Fenstern, die hinter anderen Fenstern versteckt sind.

Verwendung

Nach dem Klonen dieses Repositorys kompilieren Sie den Loader:

gcc -Wall -o loader loader.c

Um die Plugins zu verwenden:

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

Um die Ergebnisse von xwd in png zu konvertieren:

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

Getestete Version von Xorg

Wir haben den Screenshot erfolgreich aus den folgenden Konfigurationen abgerufen:

  1. Ubuntu 14.04 LTS - X.Org X Server 1.15.1 (Veröffentlichungsdatum: 2014-04-13)

  2. Ubuntu 16-04 LTS - X.Org X Server 1.18.4 (Veröffentlichungsdatum: 2016-07-19)

  3. Debian 9 Testing - X.Org X Server 1.19.6 (Veröffentlichungsdatum: 2017-12-20)

  4. Kubuntu 18.04 LTS - X.Org X Server 1.19.6 (Veröffentlichungsdatum: 2017-12-20)

Hinweise

Ein paar zufällige, aber wichtige Hinweise:

  1. Um den Prozess auf nur „drawable“-Bilder zu beschränken, wählen wir im Volatility-Plugin nur die Bilder mit angemessener Größe aus.

  2. Dieses Tool funktioniert nur, wenn Xorg Software-Rendering verwendet. Dies ist normalerweise nicht der Fall auf physischen Maschinen, wurde aber standardmäßig auf den von uns getesteten VirtualBox-Maschinen verwendet.

  3. Vergessen Sie nicht, dass Sie nahtlos Code ausführen, der aus einem Speicherauszug extrahiert wurde. Es ist wahrscheinlich nicht schwierig für einen Angreifer, den Dump zu manipulieren und Code-Ausführung auf Ihrem Rechner zu erlangen. Treffen Sie daher die notwendigen Vorsichtsmaßnahmen.

Autoren

Dieses Projekt wurde während eines Semesterprojekts im Herbst 2017 an der Eurecom abgeschlossen und von zwei Eurecom-Studenten realisiert: Hamdi Ammar und Ahmed Mkadem. Es wurde betreut von Fabio Pagani und Davide Balzarotti.

Tool herunterladen