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

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

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

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

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

Категории

Все категории
Loading categories
PhantomFS — Ханипот Windows, использующий ProjFS для создания файлов-приманок, которые при обращении к ним вызывают события в Event Log и уведомления на рабочем столе, с журналированием удаленных сессий SMB для обнаружения бокового перемещения. | Kitploit
Инструменты/GitHubGitHub/alloysecuregroup/phantomfs
Оборонительные ИнструментыОбнаружение ВторженийРеагирование на Инциденты
GitHuballoysecuregroup/phantomfs

PhantomFS

Ханипот Windows, использующий ProjFS для создания файлов-приманок, которые при обращении к ним вызывают события в Event Log и уведомления на рабочем столе, с журналированием удаленных сессий SMB для обнаружения бокового перемещения.

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

Популярное

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

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

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

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

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

PhantomFS — Фальшивые файлы. Настоящая безопасность.

Фальшивые файлы. Настоящая безопасность.
Виртуальная файловая система-приманка для Windows — заманите атакующих в каталог, который выглядит настоящим, а затем поймайте их с поличным.

MIT License Platform .NET 4.8 Sponsor


Что такое PhantomFS?

PhantomFS использует Windows Projected File System (ProjFS) для отображения виртуального каталога, заполненного правдоподобными файлами-приманками — финансовые отчёты, SSH-ключи, учётные данные API, таблицы HR, NDA, — которые существуют только в памяти. Никакие данные никогда не записываются на диск, пока атакующий (или инсайдер) не откроет один из них.

В момент касания файла PhantomFS:

  • Записывает запись в Журнал событий Windows (журнал приложений, источник PhantomFS)
  • Отправляет Toast-уведомление на активный сеанс рабочего стола
  • Логирует точное имя файла, временную метку и контекст процесса
  • При доступе через сетевую папку — захватывает имя пользователя SMB и исходный адрес

Поскольку у легитимных пользователей нет причин открывать файлы, которые они туда не помещали, каждое предупреждение является высокодостоверным. Никакой настройки, никакого машинного обучения, никаких облачных зависимостей — только родной драйвер Windows и один исполняемый файл.


Возможности


Требования

  • Windows 10 версии 1809 (сборка 17763) или новее — рекомендуется Windows 11
  • .NET Framework 4.8
  • Включённая дополнительная функция Windows Projected File System (Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart)
  • Права администратора для запуска виртуального корня

Быстрый старт

Простые команды (рекомендуется)

  1. Скачайте PhantomFS-v1.1.0-x64.zip из Releases и распакуйте его
  2. Запустите от имени администратора — включите ProjFS, Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
  3. Выполните .\PhantomFS.exe --virtroot C:\PhantomFS\Virtual\Documents --syntheticonly
  4. Перейдите в C:\PhantomFS\Virtual\Documents в Проводнике — вы увидите файлы-приманки
  5. Откройте один из них — наблюдайте отправку Toast и проверьте Просмотр событий → Журналы Windows → Приложение

Конфигурация

Все настройки находятся в PhantomFS.exe.config. Все ключи необязательны — пропуск ключа приводит к использованию значения по умолчанию, указанного в таблице.

Используйте PhantomFS Profile Builder для генерации различных профилей конфигурации под ваши сценарии развёртывания:

  • https://alloysecuregroup.github.io/PhantomFS/

Раздел <settings>

root@kitploit:~
<settings>
  <enableEventLog>true</enableEventLog>
  <enableToast>true</enableToast>
  <alertOnOpen>true</alertOnOpen>
  <alertOnRead>true</alertOnRead>
  <toastCooldownSeconds>15</toastCooldownSeconds>
  <verbose>false</verbose>
  <virtRoot></virtRoot>
  <sourceRoot></sourceRoot>
  <syntheticOnly>true</syntheticOnly>

  <!-- v1.1.0 — автоматическая очистка -->
  <autoCleanupEnabled>true</autoCleanupEnabled>
  <autoCleanupDelaySeconds>300</autoCleanupDelaySeconds>

  <!-- v1.1.0 — логирование удалённых сессий -->
  <resolveRemoteIPs>true</resolveRemoteIPs>
</settings>

Логирование удалённых сессий

Когда к файлу обращаются через общую папку SMB, PhantomFS обнаруживает PID 4 (системный процесс Windows / драйвер SMB ядра) как вызывающий и автоматически вызывает NetSessionEnum для идентификации удалённого пользователя. Запись в журнале событий и Toast-уведомление будут содержать:

root@kitploit:~
PhantomFS — Honeypot File Content Read
File    : Documents\Q4_Financial_Report_2024.pdf
Process : System (PID 4)
Remote  : CORP\jsmith @ DESKTOP-A1B2C3D  [192.168.1.45]

Требования для удалённого логирования:

  • Служба Server должна быть запущена (она запускается автоматически, когда общая папка активна)
  • PhantomFS должен работать на машине, на которой размещена общая папка
  • Для resolveRemoteIPs необходимо, чтобы клиентская машина была разрешима через DNS

Поведение автоматической очистки

После того как синтетический файл открыт и гидратирован (содержимое записано на диск), фоновый таймер проверяет каждые 30 секунд и удаляет файлы, время гидратации которых превышает autoCleanupDelaySeconds. Удалённый файл возвращается к виртуальному заполнителю ProjFS — при следующем доступе снова срабатывает обратный вызов ProjFS, как если бы файл никогда не был открыт.

Файлы, которые всё ещё открыты в момент срабатывания таймера очистки, пропускаются без ошибки и повторно проверяются в следующем 30-секундном цикле.

Добавление файлов-приманок

Добавьте записи в раздел <syntheticFileList> в конфигурации:

root@kitploit:~
\Documents,true,0,1744586986
\Documents\Q4_Financial_Report_2024.pdf,false,8192,1744586986
\Documents\Employee_Salaries_2024.xlsx,false,4096,1743942586
\IT\Keys,true,0,1744586986
\IT\Keys\deploy_key.pem,false,3247,1742354986

Добавление шаблонов содержимого

root@kitploit:~
<syntheticTemplates>
  <template name="my_custom_file.txt"><![CDATA[
    ... ваше содержимое файла здесь ...
  ]]></template>
</syntheticTemplates>

Справочник по журналу событий

Откройте Просмотр событий → Журналы Windows → Приложение и отфильтруйте по источнику PhantomFS.


CI/CD — GitHub Actions

PhantomFS поставляется с рабочим процессом по пути .github/workflows/build.yml, который одновременно компилирует для x64 и ARM64 и публикует GitHub Release для каждого тега версии.


Сборка из исходного кода

root@kitploit:~
# Требуется .NET Framework 4.8 SDK или инструменты сборки Visual Studio
csc.exe /platform:x64 /r:System.Xml.dll /out:PhantomFS.exe src\PhantomFS.cs

csc.exe обычно находится в:

root@kitploit:~
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe

Идеи для развёртывания

  • Ловушка на рабочей станции — запускайте как запланированное задание при входе в систему; любое боковое перемещение к \\hostname\PhantomFS\Virtual немедленно отправляет предупреждение с именем пользователя и исходным IP атакующего
  • Канарейка на файловом сервере — разместите общую папку \Finance, указывающую на виртуальный корень рядом с реальной общей папкой финансов; удалённое логирование сессии идентифицирует, какая именно учётная запись просматривала приманку
  • Машина разработчика — отобразите фальшивые ключи AWS и SSH в ~\Documents; атаки инсайдеров или цепочки поставок вызывают предупреждения до эксфильтрации
  • Изолированный сегмент — установите resolveRemoteIPs=false, чтобы пропустить DNS в средах, где внешние запросы заблокированы; имя машины NetBIOS всё равно захватывается


Спонсорство

PhantomFS является бесплатным, открытым и лицензированным по MIT. Если он сэкономил вам время — или поймал реального злоумышленника — пожалуйста, рассмотрите возможность спонсирования дальнейшей разработки.

❤ Спонсировать на GitHub

Спонсоры получают:

  • Приоритетные ответы на вопросы
  • Ранний доступ к новым шаблонам и функциям
  • Упоминание в заметках о релизе

Корпоративные спонсоры ($500+/мес) получают приватный канал Slack для прямой поддержки и запросов функций.


Лицензия

root@kitploit:~
MIT License

Copyright (c) 2026 Alloy Secure

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Уведомление о товарном знаке: PhantomFS™ является товарным знаком Alloy Secure. Все права защищены.


Отказ от ответственности — допустимое использование

PhantomFS предоставляется только для законных целей оборонной безопасности — включая обнаружение вторжений, исследование угроз и авторизованное тестирование на проникновение в системах, которые вам принадлежат или на мониторинг которых у вас есть явное письменное разрешение.

Вы несёте единоличную ответственность за то, чтобы ваше использование PhantomFS соответствовало всем применимым местным, национальным и международным законам, включая, помимо прочего, законы о компьютерном мошенничестве, прослушивании телефонных разговоров, конфиденциальности и трудовом праве. Развёртывание PhantomFS в системах или сетях без надлежащего разрешения может быть незаконным.

Авторы и участники PhantomFS:

  • Не предоставляют никаких гарантий, явных или подразумеваемых, относительно пригодности для какой-либо конкретной цели
  • Не несут никакой ответственности за любые прямые, косвенные, случайные или косвенные убытки, возникшие в результате использования или неправильного использования этого программного обеспечения
  • Не несут ответственности за любую потерю данных, повреждение системы, юридическую ответственность или вред третьим лицам в результате развёртывания PhantomFS в любой среде

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

Уведомление о товарном знаке: PhantomFS™ является товарным знаком Alloy Secure. Все права защищены.


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

Создан на основе Windows Projected File System API — той же технологии, которая лежит в основе WSL2 и OneDrive Files On-Demand.

Вдохновлён моей работой в качестве исследователя в Thinkst 💚 https://citation.thinkst.com/talk/94782

Скачать инструмент
ФункцияОписание
Приманки с нулевым следомФайлы проецируются по требованию — ничего не записывается на диск, пока атакующий не прочитает файл
Журнал событий WindowsИдентификаторы событий: 1001 (чтение файла), 1002 (создан заполнитель), 1003 (запуск), 1004 (остановка)
Toast-уведомленияМгновенное уведомление на рабочем столе через Windows PowerShell — работает даже через RDP
Логирование удалённых сессийИмя пользователя SMB и исходный адрес захватываются через NetSessionEnum, когда PID 4 инициирует доступ
Автоматическая очисткаГидрированные синтетические файлы удаляются после настраиваемой задержки; при следующем доступе снова становятся виртуальными
Настраиваемые шаблоныPDF, XLSX, DOCX, JSON, CSV, PEM, обычный текст — все предоставляются из XML-шаблонов в конфигурации
Интервал кулдауна на файлНастраиваемая задержка (по умолчанию 15 с) предотвращает лавину оповещений, когда инструмент читает несколько блоков
Список синтетических файловВстраиваемый XML-список правдоподобных имён файлов с реалистичными размерами в байтах
Один исполняемый файлPhantomFS.exe + PhantomFS.exe.config — не требует установки
КлючПо умолчаниюС версииОписание
enableEventLogtrue1.0.0Запись в журнал событий приложений Windows
enableToasttrue1.0.0Отправка Toast-уведомления на рабочий стол
alertOnOpentrue1.0.0Предупреждение при первом создании заполнителя (просмотр каталога)
alertOnReadtrue1.0.0Предупреждение при фактическом чтении данных файла
toastCooldownSeconds151.0.0Минимальное количество секунд между Toast для одного и того же пути файла
verbosefalse1.0.0Дополнительный вывод в консоль для диагностики
virtRoot(арг. 1)1.0.0Переопределение пути виртуального корня из конфигурации, а не из командной строки
sourceRoot(пусто)1.0.0Необязательный реальный резервный каталог — оставьте пустым для режима только синтетики
syntheticOnlytrue1.0.0Обслуживать только файлы, перечисленные в <syntheticFileList>
autoCleanupEnabledtrue1.1.0Удалять материализованные синтетические файлы после задержки и возвращать к виртуальным
autoCleanupDelaySeconds3001.1.0Секунды после гидратации до удаления файла (таймер очистки запускается каждые 30 с)
resolveRemoteIPstrue1.1.0Разрешать DNS-имя клиента SMB в IP-адрес; установите false, если задержка разрешения недопустима
ID событияУровеньЗначение
1001ПредупреждениеПрочитаны данные файла-приманки (включает удалённого пользователя/IP, если применимо)
1002ПредупреждениеСоздан заполнитель файла-приманки (файл просмотрен/получен stat)
1003СведенияPhantomFS запущен — записаны путь виртуального корня и настройки
1004СведенияPhantomFS чисто остановлен