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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/ufrisk/pcileech
Повышение привилегийКриминалистика памятиЭксплуатацияПост-эксплуатацияЦифровая криминалистикаТестирование на ПроникновениеАппаратная БезопасностьRed TeamingИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubufrisk/pcileech
7.9k1.0k141 месяц назадПроверено Kitploit

Популярное

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

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

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

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

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

pcileech

Программное обеспечение для атак с прямым доступом к памяти (DMA)

Репозиторий

PCILeech: Краткое описание

PCILeech использует аппаратные устройства PCIe для чтения и записи памяти целевой системы. Это достигается с помощью DMA через PCIe. Драйверы на целевой системе не требуются.

PCILeech также работает без аппаратного обеспечения совместно с широким спектром программных методов получения памяти, поддерживаемых библиотекой LeechCore, включая захват удаленной оперативной памяти с помощью DumpIt или WinPmem. PCILeech также поддерживает локальный захват памяти и ряд форматов файлов дампа памяти.

PCILeech поддерживает несколько устройств для захвата памяти. Как аппаратных, так и программных. Аппаратура на базе USB3380 может читать только 4 ГБ памяти в собственном режиме, но может читать всю память, если в ядро целевой системы сначала будет загружен модуль ядра (KMD). Аппаратура на базе FPGA и программные методы могут читать всю память.

PCILeech способен внедрять широкий спектр имплантов ядра в целевые ядра, предоставляя легкий доступ к оперативной памяти и файловой системе через «смонтированный диск». Также возможно удаление требования пароля при входе, загрузка неподписанных драйверов, выполнение кода и запуск системных оболочек. PCILeech работает на Windows и Linux. Поддерживаемые целевые системы — это x64 версии: UEFI, Linux, FreeBSD и Windows. Для этого требуется доступ на запись к памяти (аппаратура USB3380, аппаратура FPGA, LiveCloudKd или CVE-2018-1038 «Total Meltdown»).

Для начала клонируйте исходники из репозитория или загрузите последние бинарные файлы, модули и конфигурационные файлы.

Графический интерфейс PushPin для PCILeech делает типичные задачи RedTeam очень простыми. Обратите внимание, что PushPin не является частью официального дистрибутива PCILeech.

Возможности:

  • Извлекать память из целевой системы со скоростью >150 МБ/с.
  • Извлекать удаленную память из удаленного LeechService.
  • Записывать данные в память целевой системы.
  • Доступ к 4 ГБ памяти в собственном режиме DMA (аппаратура USB3380).
  • Доступ ко всей памяти в собственном режиме DMA (аппаратура FPGA).
  • Доступ ко всей памяти при загрузке модуля ядра (KMD).
  • Необработанный доступ к PCIe TLP (аппаратура FPGA).
  • Монтировать оперативную память как файл [Linux, Windows, macOS Sierra*].
  • Монтировать файловую систему как диск [Linux, Windows, macOS Sierra*].
  • Выполнять код ядра на целевой системе.
  • Запускать системную оболочку и другие исполняемые файлы [Windows].
  • Извлекать и отправлять файлы [Linux, FreeBSD, Windows, macOS Sierra*].
  • Патчить / Разблокировать (убрать требование пароля) [Windows, macOS Sierra*].
  • Легко создавать собственный шелл-код ядра и/или пользовательские сигнатуры.
  • Подключаться к удаленному LeechAgent по сети для удаленного:
    • Сбора дампа физической памяти по сети.
    • Выполнения скриптов анализа памяти на Python на удаленном хосте.
  • Еще больше функций, не перечисленных здесь ...

*) macOS High Sierra и выше не поддерживаются.

Методы захвата памяти:

PCILeech поддерживает как аппаратные, так и программные методы захвата памяти. Весь захват памяти обрабатывается библиотекой LeechCore.

Аппаратные методы захвата памяти:

Ниже приведена сводка поддерживаемых аппаратных методов захвата памяти. Все аппаратные методы захвата памяти поддерживаются как в Windows, так и в Linux. Однако методы на базе FPGA имеют небольшое снижение производительности в Linux и достигают максимума примерно 90 МБ/с по сравнению с 150 МБ/с в Windows.

Программные методы захвата памяти:

Ниже приведена сводка поддерживаемых программных методов захвата памяти. Обратите внимание, что LeechService предоставляет только сетевое подключение к удаленной библиотеке LeechCore. После подключения можно использовать как аппаратные, так и программные методы захвата памяти.

Установка PCILeech:

Пожалуйста, убедитесь, что у вас самая последняя версия PCILeech, посетив репозиторий PCILeech на GitHub: https://github.com/ufrisk/pcileech

Загрузите последние бинарные файлы, модули и конфигурационные файлы из последнего релиза. Также можно клонировать репозиторий и собрать из исходников.

Windows:

Пожалуйста, ознакомьтесь с руководством PCILeech на Windows для получения информации о запуске PCILeech в Windows.

Если используется аппаратура USB3380, необходимо установить драйвер Google Android USB. Загрузите драйвер Google Android USB с: http://developer.android.com/sdk/win-usb.html#download Распакуйте драйвер.
Если используется FPGA с дополнительной картой FT601 USB3 или PCIeScreamer, необходимо установить драйверы FTDI. Загрузите 64-битную версию FTD3XX.dll с сайта FTDI и поместите её рядом с pcileech.exe.
Чтобы смонтировать оперативную память и файловую систему целевой системы как диск в Windows, необходимо установить библиотеку файловой системы Dokany2. Пожалуйста, загрузите и установите последнюю стабильную версию Dokany2 по адресу: https://github.com/dokan-dev/dokany/releases/latest

Linux:

Пожалуйста, ознакомьтесь с руководством PCILeech на Linux для получения информации о запуске PCILeech в Linux.

Примеры:

Пожалуйста, посмотрите страницы вики проекта для дополнительных примеров. Вики находится в стадии наполнения, информация может отсутствовать.

Монтирование оперативной памяти и файловой системы целевой системы, требует загрузки KMD. В этом примере используется 0x11abc000.

  • pcileech.exe mount -kmd 0x11abc000

Показать справку для конкретного импланта ядра, в данном случае импланта lx64_filepull.

  • pcileech.exe lx64_filepull -help

Показать справку для команды dump.

  • pcileech.exe dump -help

Сделать дамп всей памяти из целевой системы, при условии, что модуль ядра загружен по адресу: 0x7fffe000.

  • pcileech.exe dump -kmd 0x7fffe000

Принудительный дамп памяти ниже 4 ГБ, включая доступные устройства с отображением в память, с использованием более стабильного подхода USB2 на USB3380.

  • pcileech.exe dump -force -device usb3380://usb=2

Получение PCIe TLP (пакетов уровня транзакций) и вывод их на экран (требуется правильно настроенная плата FPGA).

  • pcileech.exe tlp -vv -wait 1000

Зондирование/перечисление памяти целевой системы на предмет читаемых страниц памяти и максимального объема памяти. (Только аппаратура FPGA).

  • pcileech.exe probe

Дамп всей памяти между адресами min и max, не останавливаться при сбоях страниц. Собственный доступ к 64-битной памяти поддерживается только на аппаратуре FPGA.

  • pcileech.exe dump -min 0x0 -max 0x21e5fffff -force

Дамп всей памяти, попытаться найти карту памяти из реестра целевой системы, чтобы избежать дампа потенциально недействительной памяти, которая может заморозить цель.

  • pcileech.exe dump -memmap auto

Принудительное использование конкретного устройства (вместо автоматического обнаружения по умолчанию). Устройство pmem не обнаруживается автоматически.

  • pcileech.exe pagedisplay -min 0x1000 -device pmem

Дамп удаленной памяти из удаленного LeechAgent с использованием соединения, зашифрованного и взаимно аутентифицированного через Kerberos.

  • pcileech.exe dump -device pmem -remote rpc://[email protected]

Выполнение скрипта анализа на Python find-rwx.py на удаленном компьютере с использованием встроенной среды Python LeechAgent.

  • pcileech.exe agent-execpy -in find-rwx.py -device pmem -remote rpc://[email protected]

Патч виртуальной памяти процесса с pid 432 (в данном примере lsass.exe).

  • pcileech.exe patch -pid 432 -sig unlock_win10x64.sig

Ограничения/Известные проблемы:

  • Не работает, если ОС использует IOMMU/VT-d. Это стандартное поведение в macOS (если не отключено в режиме восстановления). Windows 10/11 с включенными функциями безопасности на основе виртуализации работает не полностью.
  • Последние версии Windows и Linux блокируют DMA по умолчанию.

Сообщество PCILeech и MemProcFS:

Всё это кажется сложным? Или просто хотите задать быстрый вопрос? Присоединяйтесь к серверу сообщества PCILeech и MemProcFS DMA в Discord!

Сборка:

Бинарные файлы находятся в разделе релизов этого репозитория. Если вы хотите собрать собственную версию, это возможно. Пожалуйста, посмотрите PCILeech на Windows или PCILeech на Linux для получения дополнительной информации о сборке PCILeech. PCILeech также зависит от LeechCore и, опционально (для некоторых дополнительных функций), от The Memory Process File System, которые должны быть собраны отдельно.

Участие в разработке:

PCILeech, MemProcFS и LeechCore являются открытыми, но не с открытым участием. PCILeech, MemProcFS и LeechCore предлагают очень гибкую архитектуру плагинов, которая позволяет вносить вклад в виде плагинов. Если вы хотите внести вклад, отличный от плагина, в основные проекты, пожалуйста, свяжитесь со мной перед началом разработки.

Ссылки:

  • Twitter: Twitter
  • Discord: Discord - PCILeech/MemProcFS
  • PCILeech: https://github.com/ufrisk/pcileech
  • PCILeech FPGA: https://github.com/ufrisk/pcileech-fpga
  • LeechCore: https://github.com/ufrisk/LeechCore
  • MemProcFS: https://github.com/ufrisk/MemProcFS
  • Блог: http://blog.frizk.net
  • PushPin: Графический интерфейс для PCILeech: https://github.com/LuckyPi/PushPin

Журнал изменений:

Предыдущие релизы (нажмите, чтобы развернуть):

v1.0-v3.6

  • Первый релиз и различные обновления. Пожалуйста, смотрите отдельные релизы для получения дополнительной информации.

v4.0

  • Крупная очистка и внутренние рефакторинги.
  • Автоматическое обнаружение максимального объема памяти FPGA и более стабильная стратегия дампа.
  • Новые стабильные инжекты ядра для Windows 10 с аппаратурой FPGA на системах без функций безопасности на основе виртуализации.
  • Инжекты в пользовательском режиме (экспериментально).
  • Удаление встроенной поддержки устройств — теперь используется библиотека LeechCore leechcore.dll/leechcore.so. Новые устройства включают:
    • Файлы дампа памяти (непрерывные дампы и дампы краха Microsoft).
    • Файлы сохранения Hyper-V.
    • Живая память через DumpIt / WinPmem.
    • Удаленные устройства через опцию -remote.
  • Удаление API и встроенной Memory Process File System — пожалуйста, используйте более мощные API в LeechCore и Memory Process File System.
  • Множество других изменений и обновлений синтаксиса.

v4.1

  • Поддержка LeechAgent — удаленный захват и анализ памяти.

v4.2

  • Обновления сигнатур:
    • Модуль ядра Linux - LINUX_X64_48 (последние версии)
    • Модуль ядра Win10 1903 - WIN10_X64_2 (требуется версия PCILeech для Windows)

v4.3

  • Исправления ошибок.
  • Поддержка нового устройства (NeTV2 / RawUDP) через библиотеку LeechCore.

v4.4

  • Исправления ошибок и улучшения стабильности.
  • Поддержка библиотеки MemProcFS v3.
  • Подпись бинарных файлов.

v4.10

  • Поддержка Linux для встроенных сигнатур Windows 10 (зависимость от MemProcFS v4.0).
  • Отдельные релизы для Windows и Linux.
  • Общая очистка.

v4.11

  • Поддержка памяти живых виртуальных машин VMWare Workstation/Player.
  • Поддержка удаленного анализа памяти с помощью команды LeechAgent agent-forensic.
    • Удаленный запуск режима криминалистики MemProcFS.
    • Извлечение данных JSON, совместимых с ElasticSearch.

v4.12

  • Поддержка 32-битных версий (бинарный файл pcileech).

v4.13

  • Исправления ошибок.
  • Улучшения монтирования:
    • Поддержка файловой системы хоста Windows: переход на Dokany2 (NB! Должен быть установлен Dokany2!).
    • Поддержка файловой системы хоста Linux: добавлена поддержка FUSE.
      Пример: ./pcileech mount /home/user/fusemnt/leechfs -kmd <your_kmd_address>
    • Теперь возможен доступ к другим локальным дискам, кроме C:, на целевых системах Windows.
  • Поддержка Visual Studio 2022.

v4.14

  • Поддержка виртуальной памяти процессов (только Windows).
    • Команды: search, patch, write, display, pagedisplay
    • Пример: pcileech patch -pid 732 -sig unlock_win10x64.sig

v4.15

  • Поддержка MemProcFS v5.0

v4.16

  • Улучшения производительности FPGA.
  • Добавлена команда none.
  • Добавлены опции -bar-ro и -bar-rw.

v4.17

  • Поддержка I/O BAR.
  • Улучшения Linux:
    • Обновление сигнатуры KMD (LINUX_X64_48) для поддержки последних ядер Ubuntu.
    • Обновление модулей ядра для поддержки последних ядер.
    • Новая сигнатура KMD — LINUX_X64_MAP — укажите System.map ядра целевой системы в опции -in.
    • Новый модуль ядра: lx64_exec_root.
  • Улучшения производительности PCIe FPGA в Linux.v4.18
  • Добавлена команда Benchmark.
  • Обновлены сигнатуры разблокировки.
  • Добавлена опция -psname.

v4.19

  • Улучшения стабильности Linux и улучшения загрузки модулей ядра.
  • Поддержка компиляции с помощью clang в Linux.
  • Поддержка macOS.

Последнее:

  • Исправления ошибок.
  • Поддержка Linux LeechAgent с использованием gRPC (LeechCore v2.21).
  • Добавлено: опция -no-kmd-mem для выборочного отключения доступа к памяти KMD при загрузке KMD (может быть полезна для стабильности в некоторых случаях).
  • Добавлено: -kmd WIN11_X64 — сигнатура KMD для Windows 11 (псевдоним для WIN10_X64_3).
Скачать инструмент
УстройствоТипИнтерфейсСкоростьДоступ к 64-битной памятиДоступ к PCIe TLPСпонсор
проекта
ZDMAFPGAThunderbolt31000MB/sДаДа💖
GBOXFPGAOCuLink400MB/sДаДа💖
LeetDMAFPGAUSB-C190MB/sДаДа💖
CaptainDMA M2FPGAUSB-C190MB/sДаДа💖
CaptainDMA M2 100TFPGAUSB-C220MB/sДаДа💖
CaptainDMA 4.1thFPGAUSB-C190MB/sДаДа💖
CaptainDMA 75TFPGAUSB-C200MB/sДаДа💖
CaptainDMA 100TFPGAUSB-C220MB/sДаДа💖
AC701/FT601FPGAUSB3190MB/sДаДа
USB3380-EVBUSB3380USB3150MB/sНетНет
DMA patched HP iLOBMCTCP1MB/sДаНет
УстройствоТипЭнергозависимостьЗаписьПоддержка LinuxПлагин
RAW physical memory dumpФайлНетНетДаНет
Full Microsoft Crash DumpФайлНетНетДаНет
Full ELF Core DumpФайлНетНетДаНет
VMwareОперативная памятьДаДаНетНет
VMware memory save fileФайлНетНетДаНет
TotalMeltdownCVE-2018-1038ДаДаНетНет
DumpIt /LIVEKDОперативная памятьДаНетНетНет
WinPMEMОперативная памятьДаНетНетНет
LiveKdОперативная памятьДаНетНетНет
LiveCloudKdОперативная памятьДаДаНетДа
Hyper-V Saved StateФайлНетНетНетДа
LeechAgent*УдаленныйНетНет
  • Команда "tlploop".
  • v4.5

    • Исправления ошибок.
    • Поддержка v2 библиотеки захвата памяти LeechCore.
    • Интеграция MemProcFS при работе в Windows.
    • Поддержка пользовательской карты физической памяти (опция -memmap).

    v4.6

    • Поддержка LiveCloudKd.

    v4.7

    • Исправления ошибок.
    • WIN10_X64_3 — новая стабильная сигнатура ядра для Windows 10, включая версию Win10 2004.
    • Обновления сигнатур разблокировки — Win10/Linux (NB! последние ядра Linux пока не поддерживаются).

    v4.8

    • Исправления ошибок.
    • Улучшенная поддержка последних ядер x64 Linux.

    v4.9

    • Исправления ошибок.
    • Обновления сигнатур.
    • Улучшенная поддержка последних ядер x64 Linux (Ubuntu 21.04).
    • Размонтирование смонтированного драйвера при нажатии CTRL+C.