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

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

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
WinPmem — Многоплатформенный инструмент для сбора памяти. | Kitploit
Инструменты/GitHubGitHub/velocidex/winpmem
Криминалистика памятиФорензикаЦифровая криминалистикаРеагирование на Инциденты
GitHubvelocidex/winpmem

WinPmem

Многоплатформенный инструмент для сбора памяти.

Репозиторий
1.0k14910 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

WinPmem -- инструмент для извлечения физической памяти

alt text

WinPmem долгое время был драйвером для извлечения памяти с открытым исходным кодом в Windows. Ранее он находился в проекте Rekall, но недавно был отделен в собственный репозиторий.

Это версия для Windows. Версия для Linux, Linpmem, находится по адресу: https://github.com/Velocidex/Linpmem

Авторские права

Этот код был первоначально разработан в Google, но выпущен под лицензией Apache.

Описание

WinPmem — это инструмент для извлечения физической памяти со следующими возможностями:

  • Открытый исходный код

  • Поддержка Win7 - Win 10, x86 + x64. WDK7600 может использоваться для поддержки WinXP. По умолчанию предоставляемые исполняемые файлы WinPmem будут скомпилированы с WDK10, поддерживая Win7 - Win10 и имея более современный код.

  • Три независимых метода чтения, с двумя методами создания полного дампа памяти. Один метод всегда должен работать даже при наличии руткитов режима ядра.

  • Поддержка образов сырых дампов памяти (raw).

  • Используется интерфейс чтения устройства вместо записи образа из ядра, как в некоторых других имиджерах. Это позволяет иметь сложный имиджер в пользовательском пространстве (например, копирование по сети, хеширование и т.д.), а также проводить анализ на работающей системе (например, можно запускать непосредственно на устройстве).

Файлы в этом каталоге (включая исходные коды WinPmem и подписанные бинарные файлы) доступны по следующей лицензии: Apache License, Version 2.0

Как использовать

Существует два исполняемых файла WinPmem: winpmem_mini_x86.exe и winpmem_mini_x64.exe. Обе версии содержат оба драйвера (32- и 64-разрядные версии).

Слово mini в имени бинарного файла означает, что этот имиджер является простым имиджером — он может создавать образы только в формате RAW. Ранее мы выпускали имиджер WinPmem на основе AFF4, но он еще не обновлен до нового драйвера. Сообщите нам, если вам нужен имиджер на основе AFF4.

Инструмент извлечения на Python winpmem.py

Программа на Python в настоящее время находится в разработке, но работает как демонстрация того, как можно использовать имиджер из Python.

winpmem_mini_x64.exe (автономный исполняемый файл)

Эта программа наиболее проста в использовании для реагирования на инциденты, так как не требует других зависимостей, кроме самого исполняемого файла. Программа автоматически загружает правильный драйвер (32- или 64-разрядный) и является самодостаточной.

Примеры:

winpmem_mini_x64.exe physmem.raw

Записывает сырой образ в physmem.raw, используя метод извлечения по умолчанию.

winpmem_mini_x64.exe

Выводит справку по использованию / краткое руководство.

Для извлечения сырого образа с использованием конкретно метода MmMapIoSpace:

winpmem.exe -1 myimage.raw

Драйвер будет автоматически выгружен после извлечения образа!

Ограничения

Из-за того, как Microsoft спроектировала функцию MJ READ, чтение из физической памяти в Winpmem завершится ошибкой STATUS_INVALID_PARAMETER, если указан физический адрес больше половины максимального значения UINT64. Например, это верно, если кто-то хочет читать из более высоких частей физической памяти и имеет огромный объем физической памяти (более 9,223,372,036,854,775,807). Это звучит крайне маловероятно, но современные объемы оперативной памяти продолжают расти.

Экспериментальная поддержка записи

Исходный код WinPmem поддерживает как запись в память, так и чтение. Эта возможность является отличным учебным инструментом, поскольку многие методы сокрытия руткитов можно эмулировать путем прямой записи в память.

Эту функцию следует использовать с крайней осторожностью!

ПРИМЕЧАНИЕ: Поскольку это довольно опасная возможность, в подписанных бинарных драйверах поддержка записи отключена. Вы можете пересобрать драйверы для создания тестовых подписанных бинарных файлов, если хотите использовать эту функцию. Неподписанные бинарные файлы (фактически самоподписанные с тестовым сертификатом) не могут загружаться в обычной системе, поскольку они являются тестовыми самоподписанными, но вы можете разрешить загрузку неподписанных драйверов в тестовой системе, выполнив команду (см. https://docs.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option:

Bcdedit.exe -set TESTSIGNING ON

и перезагрузитесь. Вы увидите небольшой текст "Test Mode" на рабочем столе, напоминающий, что эта машина настроена на тестовые подписанные драйверы.

Кроме того, поддержка записи должна быть включена во время загрузки:

winpmem.exe -w -l

Это загрузит драйверы и включит поддержку записи.

Благодарности

Winpmem, как и Linpmem, не существовали бы без работы наших предшественников из (теперь завершенного) проекта REKALL: https://github.com/google/rekall.

Этот проект также был бы невозможен без поддержки широкого сообщества DFIR:

  • Мы хотели бы поблагодарить Emre Tinaztepe и Mehmet GÖKSU из Binalyze.

Наши участники с открытым исходным кодом:

  • Viviane Zwanger
  • Mike Cohen
Скачать инструмент