Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
PhantomFS — Windowsハニーポット:ProjFSを使用してデコイファイルを投影し、アクセスされるとイベントログとデスクトップアラートをトリガー。さらに、SMBリモートセッションのログを記録して横移動検出を実現。 | Kitploit
ツール/GitHubGitHub/alloysecuregroup/phantomfs
防御ツール侵入検知インシデントレスポンス
GitHuballoysecuregroup/phantomfs

PhantomFS

Windowsハニーポット:ProjFSを使用してデコイファイルを投影し、アクセスされるとイベントログとデスクトップアラートをトリガー。さらに、SMBリモートセッションのログを記録して横移動検出を実現。

リポジトリを見る
6845日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

PhantomFS — 偽のファイル。本当のセキュリティ。

偽のファイル。本当のセキュリティ。
Windows向け仮想ハニーポットファイルシステム — 攻撃者を本物に見えるディレクトリにおびき寄せ、現行犯で捕まえます。

MIT License Platform .NET 4.8 Sponsor


PhantomFSとは?

PhantomFSは**Windows Projected File System (ProjFS)**を利用して、記憶域にのみ存在する説得力のあるおとりファイル(財務報告書、SSHキー、API認証情報、人事スプレッドシート、NDAなど)で満たされた仮想ディレクトリを表面化します。攻撃者(または内部脅威)がファイルを開くまで、データがディスクに書き込まれることはありません。

ファイルが触れられた瞬間、PhantomFSは:

  • Windows Event Logエントリを書き込む(アプリケーションログ、ソース PhantomFS)
  • アクティブなデスクトップセッションにToast通知を送信する
  • 正確なファイル名、タイムスタンプ、プロセスコンテキストを記録する
  • ネットワーク共有経由でアクセスされた場合 — SMBユーザー名と送信元アドレスをキャプチャする

正当なユーザーが自分で置いていないファイルを開く理由はないため、すべてのアラートは高信頼性です。チューニング不要、ML不要、クラウド依存なし — ネイティブWindowsドライバと単一の実行可能ファイルのみです。


機能


要件

  • Windows 10 バージョン1809(ビルド17763)以降 — Windows 11推奨
  • .NET Framework 4.8
  • Windows Projected File Systemオプション機能が有効であること(Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart)
  • 仮想ルートを開始するための管理者権限

クイックスタート

シンプルなコマンド(推奨)

  1. Releases から PhantomFS-v1.1.0-x64.zip をダウンロードして展開する
  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プロファイルビルダーを使用して、展開シナリオに応じたさまざまな設定プロファイルを生成してください。

  • 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 — auto-cleanup -->
  <autoCleanupEnabled>true</autoCleanupEnabled>
  <autoCleanupDelaySeconds>300</autoCleanupDelaySeconds>

  <!-- v1.1.0 — remote session logging -->
  <resolveRemoteIPs>true</resolveRemoteIPs>
</settings>

リモートセッションログ

ファイルがSMB共有を介してアクセスされると、PhantomFSは呼び出し元としてPID 4(Windows Systemプロセス / カーネル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[
    ... your file content here ...
  ]]></template>
</syntheticTemplates>

イベントログリファレンス

イベントビューアー → Windowsログ → アプリケーション を開き、ソース PhantomFS でフィルタリングします。


CI/CD — GitHub Actions

PhantomFSには .github/workflows/build.yml にワークフローが含まれており、x64 と ARM64 向けに並行してコンパイルし、バージョンタグごとにGitHub Releaseを公開します。


ソースからのビルド

root@kitploit:~
# Requires .NET Framework 4.8 SDK or Visual Studio Build Tools
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 共有を配置。リモートセッションログがどのアカウントが餌を閲覧したかを正確に特定
  • 開発者マシン — ~\Documents に偽のAWSキーとSSHキーを表示。内部者またはサプライチェーン攻撃がデータ流出前にアラートを発火
  • エアギャップセグメント — 外部ルックアップがブロックされている環境でDNSをスキップするために resolveRemoteIPs=false を設定。NetBIOSマシン名は引き続きキャプチャされる


スポンサーシップ

PhantomFSは無料のオープンソース、MITライセンスです。時間を節約できた場合や、実際の攻撃者を捕まえた場合、継続的な開発のためのスポンサーになることをご検討ください。

❤ Sponsor on 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のファイルオンデマンドを支える同じテクノロジーです。

Inspired by my work as a researcher at Thinkst 💚 https://citation.thinkst.com/talk/94782

ツールをダウンロード
機能詳細
フットプリントゼロのおとりファイルはオンデマンドで投影される — 攻撃者が読み取らない限りディスクに書き込まれない
Windows Event LogイベントID 1001(ファイル読み取り)、1002(プレースホルダ作成)、1003(開始)、1004(停止)
ToastアラートWindows PowerShellを介した即時デスクトップ通知 — RDP経由でも動作
リモートセッションログPID 4がアクセスをトリガーしたときにNetSessionEnumを介してSMBユーザー名と送信元アドレスをキャプチャ
自動クリーンアップ設定可能な遅延後に具体化された合成ファイルを削除し、次回アクセス時に仮想に戻す
設定可能なテンプレートPDF、XLSX、DOCX、JSON、CSV、PEM、プレーンテキスト — すべて設定内のXMLテンプレートから提供
ファイルごとのクールダウン設定可能なスロットル(デフォルト15秒)により、ツールが複数のチャンクを読み取る際のアラート洪水を防止
合成ファイルリスト現実的なバイトサイズを持つ説得力のあるファイル名のドロップインXMLリスト
単一実行ファイルPhantomFS.exe + PhantomFS.exe.config — インストーラー不要
キーデフォルト導入バージョン説明
enableEventLogtrue1.0.0Windowsアプリケーションイベントログに書き込む
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.0SMBクライアントのホスト名をDNS解決してIPアドレスに変換します。ルックアップのレイテンシが許容できない場合は false に設定
イベントIDレベル意味
1001警告おとりファイルのデータが読み取られました(該当する場合はリモートユーザー/IPを含む)
1002警告おとりファイルのプレースホルダが作成されました(ファイルが参照/statされました)
1003情報PhantomFSが起動しました — 仮想ルートパスと設定が記録されました
1004情報PhantomFSが正常に停止しました