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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
PhantomFS — Windowsのプロジェクテッドファイルシステム機能を利用し、許可されたプロセスにのみペイロードを提供する | Kitploit
ツール/GitHubGitHub/s1lkys/phantomfs
暗号化/復号化ツールペイロード生成レッドチーミングペイロード開発
GitHubs1lkys/phantomfs

PhantomFS

Windowsのプロジェクテッドファイルシステム機能を利用し、許可されたプロセスにのみペイロードを提供する

リポジトリを見る
25337ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

PhantomFS

ProjFS プロバイダー。ファイルの内容が、それを読み取るプロセスに依存するように投影します。ペイロードは AES-256-CBC で暗号化されてディスクに保存され、実行時にのみメモリ内で復号化されます。許可されたプロセスが読み取ろうとするとペイロードがディスクに書き込まれるため、これは EDR をバイパスするものではありません。それ以外のプロセスはアクセス拒否されます。これは一部のアナリストを怒らせるかもしれません。彼らのツールはそれを読み取れないか、単にデコイをロードするだけだからです。しかし、これは reparse point を使用した 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

Example:
PhantomFS.exe C:\Staging -file mimikatz.enc -key 7ed5a44412447be587b2ca2e4eacb17d41c869360663ae0fea1d0caca159483c -decoy C:\Windows\System32\calc.exe

結果: C:\Staging\calc.exe がファイルシステムに現れます。

  • cmd.exe が読み取ると、復号化された mimikatz のバイト列が得られます
  • それ以外のプロセスは、実際の calc.exe のバイト列と Null パディングが得られます
  • 許可されていないプロセスからの削除/名前変更の試みはブロックされます

ビルド

VS2022 で PhantomFS.sln を開き、x64 Release でビルドします。Windows SDK (ProjFS ヘッダー + ライブラリ) が必要です。

前提条件

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

プロバイダーは中整合性で実行され、管理者権限は不要です (ProjFS 機能の有効化には管理者権限が必要です)。

CLI リファレンス

キー生成

root@kitploit:~
PhantomFS.exe -keygen

暗号化

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

フォーマット: [16バイトのランダムIV][AES-256-CBC暗号文(PKCS7パディング付き)]

提供

root@kitploit:~
PhantomFS.exe <root_dir> -file <payload.enc> -key <hex> -decoy <benign_file>
    [-name <virtual_filename>]
    [-allow <process_substring>]  (repeatable, default: powershell.exe, pwsh.exe, cmd.exe)
    [-deny-read <process_substring>]  (repeatable)
    [-quiet]

動作の仕組み

ProjFS コールバックは、すべてのファイルアクセス時に TriggeringProcessImageFileName を受け取ります:

  • GetFileDataCallback: プロセスをルールに照らし合わせ、ペイロードまたはデコイのバイト列を提供します
  • NotificationCallback PRE_DELETE: 許可されていないプロセスによる削除をブロックします
  • FILE_HANDLE_CLOSED: PrjDeleteFile を呼び出して強制的に再ハイドレートします

再ハイドレーションのトリックが必要なのは、ProjFS が最初の読み取り後にファイルの内容をキャッシュするためです。これがないと、2番目のリーダーは最初のリーダーが受け取った内容をそのまま取得することになります。

検出の対象となる表面

  • PrjStartVirtualizing API 呼び出し
  • IO_REPARSE_TAG_PROJFS 再解析ポイント
  • ProjFS Windows 機能が有効
  • 高度 189800 の PrjFlt ミニフィルター (fltmc.exe)
  • Microsoft-Windows-ProjFS ETW プロバイダー
  • 頻繁なファイル状態遷移 (ハイドレート -> プレースホルダー)

インスピレーション:

  • https://www.huntress.com/blog/windows-projected-file-system-mechanics
ツールをダウンロード