Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
linux_screenshot_xwindows — Plugin di Volatility per estrarre X screenshot da un dump di memoria | Kitploit
Strumenti/GitHubGitHub/eurecom-s3/linux_screenshot_xwindows
Memory ForensicsInformatica ForenseRaccolta InformazioniDigital Forensics
GitHubeurecom-s3/linux_screenshot_xwindows

linux_screenshot_xwindows

Plugin di Volatility per estrarre X screenshot da un dump di memoria

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
3758 anni faRevisionato da Kitploit

Introduzione

L'obiettivo di questo plugin per Volatility è estrarre uno screenshot di tutte le finestre X aperte da un dump di memoria.

Lavori precedenti

Il plugin di Volatility linux_xwindows realizzato da Adam Bridge (https://github.com/bridgeythegeek/linux_xwindows) estrae vari metadati dagli oggetti finestra registrati in X, che vengono identificati percorrendo le strutture dati del server X. Ad esempio, per ogni finestra elenca le coordinate, le dimensioni di larghezza e altezza e l'identificatore della finestra. Il README di Adam contiene una buona discussione su questi dettagli, quindi suggeriamo di leggerlo se siete interessati!

Come riferimento, qui trovate una figura che rappresenta le strutture principali di X e le loro interdipendenze: Alt text

Panoramica

Per estrarre questi screenshot riutilizziamo parte del codice del server X.

Il plugin prima di tutto scarica i mapping di memoria del server X. Questi mapping vengono poi passati in input a un programma C (loader), insieme all'output del plugin di Adam. Questo programma C esegue mmap (con il flag MAP_FIXED) dei mapping di memoria di Xorg nel proprio spazio di indirizzi. In questo modo ricreiamo lo spazio di indirizzi di Xorg, assicurando che nessun riferimento tra codice e dati venga interrotto. Il loader quindi chiama una funzione (compGetImage) contenuta nel codice di Xorg e salva il risultato in un file. Abbiamo identificato questa funzione "magica" osservando come X gestisce una richiesta di screenshot durante l'uso normale. Fortunatamente, questa funzione può sempre essere trovata con precisione poiché struct _Screen contiene un puntatore ad essa.

Un'altra buona caratteristica di questo approccio è che è in grado di recuperare lo screenshot anche se lo schermo era bloccato al momento del dump, e persino di finestre nascoste dietro altre finestre!

Utilizzo

Dopo aver clonato questo repository, compila il loader:

gcc -Wall -o loader loader.c

Per utilizzare i plugin:

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

Per convertire i risultati da xwd a png:

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

Versioni testate di Xorg

Abbiamo recuperato con successo lo screenshot dalle seguenti configurazioni:

  1. Ubuntu 14.04 LTS - X.Org X Server 1.15.1 (Data di rilascio: 2014-04-13)

  2. Ubuntu 16.04 LTS - X.Org X Server 1.18.4 (Data di rilascio: 2016-07-19)

  3. Debian 9 Testing - X.Org X Server 1.19.6 (Data di rilascio: 2017-12-20)

  4. Kubuntu 18.04 LTS - X.Org X Server 1.19.6 (Data di rilascio: 2017-12-20)

Note

Alcune note casuali ma importanti:

  1. Per limitare il processo solo alle immagini "disegnabili" selezioniamo nel plugin di Volatility solo le immagini con dimensioni ragionevoli.

  2. Questo strumento funziona solo se Xorg utilizza il rendering software. Di solito non è così sulle macchine fisiche, ma era utilizzato per default sulle macchine VirtualBox che abbiamo testato.

  3. Non dimenticare che stai eseguendo senza soluzione di continuità codice estratto da un dump di memoria. Probabilmente non è difficile per un attaccante manomettere il dump e ottenere l'esecuzione di codice sulla tua macchina. Quindi prendi le precauzioni necessarie.

Autori

Questo progetto è stato completato durante un Progetto Semestrale nell'autunno 2017 all'Eurecom, e realizzato da due studenti Eurecom: Hamdi Ammar e Ahmed Mkadem. È stato supervisionato da Fabio Pagani e Davide Balzarotti.

Scarica lo strumento