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

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

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

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

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

Категории

Все категории
Loading categories
PPLdump — Сделать дамп памяти PPL с помощью эксплойта пользовательского режима. | Kitploit
Инструменты/GitHubGitHub/itm4n/ppldump
Повышение привилегийКриминалистика памятиЭксплуатацияRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных ФайловArchived
GitHubitm4n/ppldump

PPLdump

Сделать дамп памяти PPL с помощью эксплойта пользовательского режима.

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

Популярное

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

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

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

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

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

PPLdump

⚠️ 2022-07-24 - Начиная с Windows 10 21H2 10.0.19044.1826 (обновление июля 2022 года), эксплойт, реализованный в PPLdump, больше не работает. Патч в NTDLL теперь предотвращает загрузку PPL Known DLLs. Подробнее здесь.

Этот инструмент реализует пользовательский эксплойт, который изначально был рассмотрен Джеймсом Форшоу (James Forshaw, он же @tiraniddo) — в этой статье блога — для дампа памяти любого PPL с правами администратора.

Я написал две статьи в блоге об этом инструменте. Первая часть посвящена концепциям защищённых процессов, а вторая — самой технике обхода.

  • Часть #1 статьи: Do You Really Know About LSA Protection (RunAsPPL)?
  • Часть #2 статьи: Bypassing LSA Protection in Userland

Использование

Просто запустите исполняемый файл без аргументов, и вы получите подробную справку/использование.

root@kitploit:~
c:\Temp>PPLdump64.exe
 _____ _____ __      _
|  _  |  _  |  |   _| |_ _ _____ ___
|   __|   __|  |__| . | | |     | . |  version 0.4
|__|  |__|  |_____|___|___|_|_|_|  _|  by @itm4n
                                |_|

Description:
  Dump the memory of a Protected Process Light (PPL) with a *userland* exploit

Usage:
  PPLdump.exe [-v] [-d] [-f] <PROC_NAME|PROC_ID> <DUMP_FILE>

Arguments:
  PROC_NAME  The name of a Process to dump
  PROC_ID    The ID of a Process to dump
  DUMP_FILE  The path of the output dump file

Options:
  -v         (Verbose) Enable verbose mode
  -d         (Debug) Enable debug mode (implies verbose)
  -f         (Force) Bypass DefineDosDevice error check

Examples:
  PPLdump.exe lsass.exe lsass.dmp
  PPLdump.exe -v 720 out.dmp

Часто задаваемые вопросы

Работает ли это на всех версиях Windows?

Прежде всего, PPL были введены в Windows 8.1, поэтому более старые версии Windows, очевидно, не поддерживаются. Этот проект в основном нацелен на Windows 10 (и её серверные редакции), но я также тестировал его на более старых версиях. Вы найдёте сводную таблицу тестов, которые я провёл, в одноимённом разделе.

Чем он отличается от других инструментов?

Другие инструменты обхода PPL обычно выполняют произвольный код в ядре через цифровую подпись драйвера. Этот отличается тем, что использует только пользовательские трюки и работает (почти) бесфайлово.

"Пользовательский режим", говорите?!

Этот инструмент использует очень умный трюк, который изначально был рассмотрен Джеймсом Форшоу в 2018 году (см. раздел "Благодарности"). Он включает использование функции API DefineDosDevice для обмана системы и создания произвольной записи Known DLL. Поскольку PPL не проверяют цифровую подпись Known DLL, это впоследствии можно использовать для атаки подмены DLL и выполнения произвольного кода внутри PPL.

Действительно ли это "бесфайлово"?

Хотя этот инструмент на втором этапе выполняет атаку подмены DLL, он не создаёт новый файл DLL на диске. Вместо этого он использует транзакцию NTFS, чтобы виртуально заменить содержимое существующей DLL — техника, напрямую вдохновлённая работой @_ForrestOrr (см. раздел "Благодарности").

Может ли этот инструмент вызвать DoS?

Краткий ответ — "нет". Во-первых, он не использует прямой доступ к ядру, поэтому нет риска вызвать BSOD с этой точки зрения. В худшем случае инструмент может не удалить созданную запись Known DLL, но это не вызовет отказ в обслуживании. Она просто останется там до следующей перезагрузки машины. Поскольку созданная запись будет просто символической ссылкой, указывающей на несуществующую секцию, система в конечном итоге вернётся к расположению по умолчанию (т.е. папке System32), так что это не повлияет на другие программы, работающие на машине.

Тесты

⚠️ Эксплойт не работает на полностью обновлённых машинах Windows 8.1 / Server 2012 R2. Мне ещё предстоит выяснить, какой патч вызвал ошибку.

root@kitploit:~
[-] DefineDosDevice failed with error code 6 - The handle is invalid.

⚠️ На Windows 8.1 / Server 2012 R2 вам, возможно, также придётся скомпилировать двоичный файл статически (см. "Инструкции по сборке" ниже).

Инструкции по сборке

Это решение Visual Studio состоит из двух проектов (исполняемого файла и DLL полезной нагрузки), которые необходимо компилировать в определённом порядке. Всё предварительно настроено, поэтому вам нужно лишь следовать этим простым инструкциям. Скомпилированная DLL полезной нагрузки автоматически встраивается в конечный исполняемый файл.

  1. Откройте решение в Visual Studio 2019.
  2. Выберите Release / x64 или Release / x86 в зависимости от архитектуры целевой машины.
  3. Build > Build Solution.

На Windows 8.1 / Server 2012 R2 вам, возможно, придётся скомпилировать двоичный файл статически.

  1. Щёлкните правой кнопкой мыши проект PPLdump.
  2. Перейдите в Свойства конфигурации > C/C++ > Генерация кода.
  3. Выберите Многопоточный (/MT) в качестве параметра Библиотека времени выполнения.
  4. Выполните сборку решения.

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

  • @tiraniddo — Windows Exploitation Tricks: Exploiting Arbitrary Object Directory Creation for Local Elevation of Privilege
    https://googleprojectzero.blogspot.com/2018/08/windows-exploitation-tricks-exploiting.html
  • @_ForrestOrr — Masking Malicious Memory Artifacts – Part I: Phantom DLL Hollowing
    https://www.forrest-orr.net/post/malicious-memory-artifacts-part-i-dll-hollowing
Скачать инструмент
Версия WindowsСборкаРедакцияАрхитектураАдминистраторSYSTEM
Windows 10 20H219042Prox64✔️✔️
Windows 10 20H219042Prox86✔️✔️
Windows 10 190918363Prox64✔️✔️
Windows 10 150710240Educationalx64✔️✔️
Windows 10 150710240Homex64✔️✔️
Windows 10 150710240Prox64✔️✔️
Windows Server 201917763Standardx64✔️✔️
Windows Server 201917763Essentialsx64✔️✔️
Windows 8.19600Prox64⚠️⚠️
Windows Server 2012 R29600Standardx64⚠️⚠️