Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
linux_screenshot_xwindows — Plugin Volatility pour extraire X captures d'écran d'un dump mémoire | Kitploit
Outils/GitHubGitHub/eurecom-s3/linux_screenshot_xwindows
Criminalistique MémoireAnalyse ForensiqueCollecte d'InformationsCriminalistique Numérique
GitHubeurecom-s3/linux_screenshot_xwindows

linux_screenshot_xwindows

Plugin Volatility pour extraire X captures d'écran d'un dump mémoire

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
375il y a 8 ansVérifié par Kitploit

Introduction

L'objectif de ce plugin volatility est d'extraire une capture d'écran de toutes les fenêtres X ouvertes à partir d'un dump mémoire.

Travaux antérieurs

Le plugin volatility linux_xwindows réalisé par Adam Bridge (https://github.com/bridgeythegeek/linux_xwindows) extrait diverses métadonnées des objets fenêtre enregistrés dans X, qui sont identifiés en parcourant les structures de données du serveur X. Par exemple, pour chaque fenêtre, il liste les coordonnées de la fenêtre, les dimensions de largeur et hauteur, et l'identifiant de la fenêtre. Le README d'Adam contient une bonne discussion sur ces détails, donc nous suggérons de les lire si vous êtes intéressé !

À titre de référence, voici une figure représentant les structures principales de X et leurs interdépendances : Alt text

Aperçu

Pour extraire ces captures d'écran, nous réutilisons une partie du code du serveur X.

Le plugin commence par dumper les mappages mémoire du serveur X. Ces mappages sont ensuite donnés en entrée à un programme C (loader), ainsi que la sortie du plugin d'Adam. Ce programme C effectue un mmap (avec le flag MAP_FIXED) des mappages mémoire de Xorg dans son propre espace d'adressage. De cette manière, nous recréons l'espace d'adressage de Xorg, en garantissant qu'aucune référence entre code et données n'est brisée. Le chargeur appelle ensuite une fonction (compGetImage) contenue dans le code de Xorg et sauvegarde le résultat dans un fichier. Nous avons identifié cette fonction « magique » en observant comment X sert une requête de capture d'écran lors d'une utilisation normale. Heureusement, cette fonction peut toujours être trouvée avec précision car struct _Screen contient un pointeur vers elle.

Une autre bonne caractéristique de cette approche est qu'elle permet de récupérer la capture d'écran même si l'écran était verrouillé au moment du dump, et même des fenêtres cachées derrière d'autres fenêtres !

Utilisation

Après avoir cloné ce dépôt, compilez le chargeur :

gcc -Wall -o loader loader.c

Pour utiliser les plugins :

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

Pour convertir les résultats de xwd en png :

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

Version testée de Xorg

Nous avons réussi à récupérer la capture d'écran à partir des configurations suivantes :

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

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

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

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

Notes

Quelques notes aléatoires mais importantes :

  1. Afin de limiter le processus aux seules images « dessinables », nous sélectionnons dans le plugin volatility uniquement les images de taille raisonnable.

  2. Cet outil ne fonctionne *qu'*avec le rendu logiciel de Xorg. Ce n'est généralement pas le cas sur les machines physiques mais c'était utilisé par défaut sur les machines VirtualBox que nous avons testées.

  3. N'oubliez pas que vous exécutez sans couture du code extrait d'un dump mémoire. Il n'est probablement pas difficile pour un attaquant de falsifier le dump et d'obtenir une exécution de code sur votre machine. Prenez donc les précautions nécessaires.

Auteurs

Ce projet a été réalisé dans le cadre d'un projet semestriel à l'automne 2017 à Eurecom, et réalisé par deux étudiants d'Eurecom : Hamdi Ammar et Ahmed Mkadem. Il a été supervisé par Fabio Pagani et Davide Balzarotti

Télécharger l’outil