Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
linux_screenshot_xwindows — Volatility插件,用于从内存转储中提取X张截图 | Kitploit
工具/GitHubGitHub/eurecom-s3/linux_screenshot_xwindows
内存取证取证分析信息收集数字取证
GitHubeurecom-s3/linux_screenshot_xwindows

linux_screenshot_xwindows

Volatility插件,用于从内存转储中提取X张截图

查看仓库
375148年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

简介

本 Volatility 插件的目标是从内存转储中提取所有打开的 X 窗口的屏幕截图。

先前工作

由 Adam Bridge(https://github.com/bridgeythegeek/linux_xwindows)实现的 Volatility 插件 linux_xwindows 提取了注册到 X 的窗口对象的各种元数据,这些元数据通过遍历 X 服务器的数据结构进行识别。例如,对于每个窗口,它会列出窗口坐标、宽度和高度尺寸以及窗口标识符。Adam 的 README 对这些细节有很好的讨论,如果您感兴趣,建议阅读!

作为参考,这里有一张图展示了 X 的核心结构及其相互依赖关系: Alt text

概述

为了提取这些屏幕截图,我们重用了部分 X 服务器代码。

该插件首先转储 X 服务器的内存映射。然后,这些映射与 Adam 插件的输出一起作为输入提供给一个 C 程序(loader)。这个 C 程序使用 MAP_FIXED 标志将 Xorg 的内存映射 mmap 到自己的地址空间。这样,我们重新创建了 Xorg 的地址空间,确保代码和数据之间的所有引用都不会被破坏。然后,加载器调用 Xorg 代码中包含的函数(compGetImage)并将结果保存到文件中。我们通过观察 X 在正常使用期间如何处理屏幕截图请求来识别这个“神奇”的函数。幸运的是,由于 struct _Screen 包含一个指向该函数的指针,因此总能准确地找到它。

这种方法的另一个优点是,即使屏幕在转储时被锁定,甚至对于隐藏在其它窗口后面的窗口,它也能获取屏幕截图!

使用方法

克隆此仓库后,编译加载器:

gcc -Wall -o loader loader.c

使用插件:

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

将结果从 xwd 转换为 png:

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

已测试的 Xorg 版本

我们已成功从以下配置中获取屏幕截图:

  1. Ubuntu 14.04 LTS - X.Org X Server 1.15.1(发布日期:2014-04-13)

  2. Ubuntu 16.04 LTS - X.Org X Server 1.18.4(发布日期:2016-07-19)

  3. Debian 9 Testing - X.Org X Server 1.19.6(发布日期:2017-12-20)

  4. Kubuntu 18.04 LTS - X.Org X Server 1.19.6(发布日期:2017-12-20)

注意事项

一些随机但重要的注意事项:

  1. 为了将处理过程限制为仅“可绘制的”图像,我们在 volatility 插件中只选择尺寸合理的图像。

  2. 此工具仅在 Xorg 使用软件渲染时有效。这在物理机器上通常不适用,但在我们测试的 VirtualBox 机器上默认使用了软件渲染。

  3. 不要忘记,您正在无缝运行从内存转储中提取的代码。攻击者篡改转储并在您的机器上获得代码执行权限可能并不难。因此,请采取必要的预防措施。

作者

本项目于 2017 年秋季在 Eurecom 的学期项目中完成,由两名 Eurecom 学生实现:Hamdi Ammar 和 Ahmed Mkadem。项目指导人为 Fabio Pagani 和 Davide Balzarotti。

下载工具