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

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

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

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

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

Категории

Все категории
Loading categories
PhantomFS — Доставка полезных нагрузок только разрешённым процессам с использованием Windows projected file system | Kitploit
Инструменты/GitHubGitHub/s1lkys/phantomfs
Инструменты шифрования/дешифрованияГенерация полезной нагрузкиRed TeamingРазработка Полезной Нагрузки
GitHubs1lkys/phantomfs

PhantomFS

Доставка полезных нагрузок только разрешённым процессам с использованием Windows projected file system

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

Популярное

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

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

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

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

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

PhantomFS

Провайдер ProjFS. Проецирует файлы, содержимое которых зависит от того, какой процесс их читает. Полезная нагрузка хранится на диске в зашифрованном виде (AES-256-CBC), расшифровывается только в памяти во время выполнения. Это не должно обходить EDR, так как полезная нагрузка будет записана на диск, когда разрешённые процессы попытаются её прочитать. Всё остальное получает отказ в доступе.
Это может разозлить некоторых аналитиков, так как их инструменты не прочитают файл или просто загрузят приманку. Но вы легко увидите, что это ProjFS, использующий точку повторной обработки.

Рабочий процесс

root@kitploit:~
1) Generate key:     PhantomFS.exe -keygen
2) Encrypt payload:  PhantomFS.exe -encrypt mimikatz.exe -key <key> -out mimikatz.enc
3) Serve:            PhantomFS.exe C:\Staging -file mimikatz.enc -key <key> -decoy C:\Windows\System32\calc.exe

Пример:
PhantomFS.exe C:\Staging -file mimikatz.enc -key 7ed5a44412447be587b2ca2e4eacb17d41c869360663ae0fea1d0caca159483c -decoy C:\Windows\System32\calc.exe

Результат: в файловой системе появляется C:\Staging\calc.exe.

  • cmd.exe при чтении получает расшифрованные байты mimikatz
  • Всё остальное получает настоящие байты calc.exe с добавлением нулей
  • Попытки удалить/переименовать из неразрешённых процессов блокируются

Сборка

VS2022, откройте PhantomFS.sln, соберите конфигурацию x64 Release. Требуется Windows SDK (заголовочные файлы и библиотеки ProjFS).

Предварительные требования

root@kitploit:~
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

Провайдер работает со средним уровнем целостности, права администратора не требуются (для активации функции ProjFS нужны права администратора).

Справочник по CLI

Keygen

root@kitploit:~
PhantomFS.exe -keygen

Encrypt

root@kitploit:~
PhantomFS.exe -encrypt <input> -key <64_hex_chars> -out <output.enc>

Формат: [16 байт случайного IV][AES-256-CBC шифротекст с дополнением PKCS7]

Serve

root@kitploit:~
PhantomFS.exe <root_dir> -file <payload.enc> -key <hex> -decoy <benign_file>
    [-name <virtual_filename>]
    [-allow <process_substring>]  (повторяемый, по умолчанию: powershell.exe, pwsh.exe, cmd.exe)
    [-deny-read <process_substring>]  (повторяемый)
    [-quiet]

Как это работает

Обратные вызовы ProjFS получают TriggeringProcessImageFileName при каждом обращении к файлу:

  • GetFileDataCallback: проверяет процесс по правилам, отдаёт байты полезной нагрузки или приманки
  • NotificationCallback PRE_DELETE: блокирует удаление неразрешёнными процессами
  • FILE_HANDLE_CLOSED: вызывает PrjDeleteFile, чтобы принудительно выполнить повторное заполнение

Уловка с повторным заполнением необходима, так как ProjFS кэширует содержимое файла после первого чтения. Без этого второй читатель получил бы то же самое, что и первый.

Поверхность обнаружения

  • Вызов API PrjStartVirtualizing
  • Точки повторной обработки IO_REPARSE_TAG_PROJFS
  • Включённая функция Windows ProjFS
  • Минифильтр PrjFlt на высоте 189800 (fltmc.exe)
  • Поставщик ETW Microsoft-Windows-ProjFS
  • Частые переходы состояния файла (гидратированный -> заполнитель)

Вдохновение:

  • https://www.huntress.com/blog/windows-projected-file-system-mechanics
Скачать инструмент