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

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

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

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

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

Категории

Все категории
Loading categories
ProcessHider — Инструмент пост-эксплуатации для сокрытия процессов от мониторинговых приложений | Kitploit
Инструменты/GitHubGitHub/m00nrise/processhider
Повышение привилегийМеханизмы персистентностиОбход IDS/IPSПост-эксплуатацияТестирование на ПроникновениеRed Teaming
GitHubm00nrise/processhider

ProcessHider

Инструмент пост-эксплуатации для сокрытия процессов от мониторинговых приложений

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

Популярное

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

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

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

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

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

#ProcessHider

Создано M00nRise

ВАЖНОЕ ПРИМЕЧАНИЕ

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

Описание

ProcessHider — это инструмент пост-эксплуатации, предназначенный для сокрытия процессов от средств мониторинга, таких как Task Manager и Process Explorer, тем самым предотвращая обнаружение процессов полезной нагрузки администраторами. Инструмент работает как на 32-битных, так и на 64-битных версиях, автоматически определяя версию ОС и используя соответствующую версию инструмента.

ProcessHider доступен в виде EXE-файла или скрипта PowerShell.

Лицензия

Этот инструмент распространяется под лицензией BSD-3:

Copyright (c) 2016, M00nRise

Все права защищены.

Настоящим предоставляется разрешение, бесплатно, любому лицу, получившему копию данного программного обеспечения и сопутствующей документации (далее — «Программное обеспечение»), на использование Программного обеспечения без ограничений, включая, без ограничения, права на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также на разрешение лицам, которым Программное обеспечение предоставлено, делать это при соблюдении следующих условий:

Указанное выше уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ КОММЕРЧЕСКОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ КОНКРЕТНОЙ ЦЕЛИ И ОТСУТСТВИЯ НАРУШЕНИЙ. НИ В КОЕМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, КАК В СВЯЗИ С ДОГОВОРОМ, ДЕЛИКТОМ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ИЗ ИСПОЛЬЗОВАНИЯ ИЛИ ДРУГИХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

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

Чтобы собрать проект, используйте «build-me.bat», находящийся в корневом каталоге. Существуют две версии полного скрипта: EXE и PowerShell.

Чтобы использовать EXE, вызовите основной файл ProcessHider, который находится в MainFile, из командной строки, используя следующие параметры:

  • -i — укажите идентификаторы процессов, которые хотите скрыть, разделённые запятыми (без пробелов!)
  • -n — укажите имена процессов, которые хотите скрыть, разделённые запятыми (снова без пробелов)
  • -x — укажите приложения мониторинга, которых хотите избежать, кроме используемых по умолчанию (powershell.exe,taskmgr.exe,procexp.exe,procexp64.exe,perfmon.exe)

Чтобы использовать PowerShell, используйте Powershell\Output\fullScript.ps1 с теми же аргументами, что и для EXE.

Пример использования:

root@kitploit:~
`ProcessHider -i 5454,3672 -n "chrome.exe,notepad.exe" -x "cmd.exe"`

Примечание: необходимо использовать хотя бы один из параметров -i или -n. Хайдер позаботится о том, чтобы скрыть и сам себя.

Внешние библиотеки и зависимости

Проект использует следующие библиотеки и проекты:

Скрипт findvs взят из EasyHook: https://easyhook.github.io/

Invoke-ReflectivePEInjection от clymb3r, доступен по адресу https://github.com/PowerShellMafia/PowerSploit/blob/master/CodeExecution/Invoke-ReflectivePEInjection.ps1

Xgetopt от Hans Dietrich, доступен по адресу http://www.codeproject.com/Articles/1940/XGetopt-A-Unix-compatible-getopt-for-MFC-and-Win32

NtHookEngine от Daniel Pistelli, доступен по адресу http://www.codeproject.com/Articles/21414/Powerful-x-x-Mini-Hook-Engine

ReflectiveDLLInjection от Stephen Fewer из Harmony Security, доступен по адресу https://github.com/stephenfewer/ReflectiveDLLInjection

«Easy way to set up global API hooks» от Sergey Podobry, Apriorit Inc, доступен по адресу http://www.codeproject.com/Articles/49319/Easy-way-to-set-up-global-API-hooks

Нет зависимости ни от этих библиотек, ни от VC++ runtime, так как все они статически слинкованы

Структура и работа

Сначала хайдер проверяет, является ли ОС 32- или 64-битной, и выбирает соответствующую версию для использования. Затем он запускает демон, который ищет одно из запрещённых средств мониторинга. Когда находит — использует внедрение DLL для запуска полезной нагрузки, которая перехватывает вызов NtQuerySystemInformation — метод, используемый средствами ОС для перечисления активных процессов, и удаляет каждый из указанных процессов (а также демон) из результатов.

Вклад

Вклад приветствуется. При работе со скриптами PowerShell убедитесь, что вы работаете не с «fullScript», а с «daemon-integration» и «Invoke-ReflectivePEInjectionLite», так как скрипт сборки использует эти файлы как источники для fullScript/

Проблемы и планы

Проблемы:

  • Инжектор PowerShell (Invoke-ReflectivePEInjection) чрезвычайно медленный. Необходимо улучшить этот скрипт.
  • Иногда хайдер вылетает при внедрении (похоже, когда процесс закрывается).
  • Иногда PowerShell вылетает после попытки получить список процессов с помощью «Get-Process».
  • Внедрение сразу при загрузке процесса может вызвать его сбой (особенно Process Explorer). Сейчас это исправлено с помощью короткой задержки, но требуется лучшее решение, так как задержка иногда заметна.

Планы:

  • Найти способ перехватывать вызовы «tasklist.exe» — сейчас он слишком быстрый (возможно, также используя другой API-вызов?).
  • Создать версию этого инструмента на PowerShell.
  • Создать более элегантный способ передачи аргументов во внедрённую DLL.
  • Заменить использование связного списка на шаблон C++11.
Скачать инструмент