Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

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 скриншотов из дампа памяти

Репозиторий
3758 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Введение

Цель этого плагина для volatility — извлечение снимков экрана всех открытых окон X из дампа памяти.

Предыдущая работа

Плагин volatility linux_xwindows, реализованный Адамом Бриджем (https://github.com/bridgeythegeek/linux_xwindows), извлекает различные метаданные из объектов окон, зарегистрированных в X, которые идентифицируются путём обхода структур данных X-сервера. Например, для каждого окна он выводит координаты окна, его ширину и высоту, а также идентификатор окна. В README Адама есть хорошее описание этих деталей, так что мы рекомендуем прочитать его, если вам интересно!

Для справки, вот рисунок, иллюстрирующий основные структуры X и их взаимосвязи: Схема структур X и их взаимосвязей

Обзор

Для извлечения этих снимков мы повторно используем часть кода X-сервера.

Плагин сначала дампит отображения памяти X-сервера. Затем эти отображения подаются на вход C-программе (loader) вместе с результатом плагина Адама. Эта C-программа mmapирует (с флагом MAP_FIXED) отображения памяти Xorg в своё собственное адресное пространство. Таким образом мы воссоздаём адресное пространство Xorg, гарантируя, что ни одна ссылка между кодом и данными не нарушена. Затем загрузчик вызывает функцию (compGetImage), содержащуюся в коде Xorg, и сохраняет результат в файл. Мы определили эту "магическую" функцию, изучив, как 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: Хамди Аммаром и Ахмедом Мкадимом. Руководителями проекта были Фабио Пагани и Давиде Бальцаротти.

Скачать инструмент