Zurück zu den Updates
New releaseAug 14, 2026

PhantomFS v1.2.20

Windows-Honeypot, der ProjFS verwendet, um Köderdateien zu projizieren, die bei Zugriff Ereignisprotokoll- und Desktop-Warnungen auslösen, mit SMB-Fernsitzungsprotokollierung zur Erkennung von Lateral Movements.

Teilen

PhantomFS — Fake Files. Real Security.

Fake Files. Echte Sicherheit.
Virtuelles Honeypot-Dateisystem für Windows — locke Angreifer in ein Verzeichnis, das echt aussieht, und erwische sie auf frischer Tat.

MIT License Platform .NET 4.8 Sponsor


Was ist PhantomFS?

PhantomFS nutzt das Windows Projected File System (ProjFS), um ein virtuelles Verzeichnis voller überzeugender Lockdateien einzublenden – Finanzberichte, SSH-Schlüssel, API-Zugangsdaten, HR-Tabellen, NDAs – die nur im Speicher existieren. Es werden niemals Daten auf die Festplatte geschrieben, bis ein Angreifer (oder Insider-Bedrohung) eine Datei öffnet.

In dem Moment, in dem eine Datei berührt wird, macht PhantomFS Folgendes:

  • Schreibt einen Windows-Ereignisprotokolleintrag (Anwendungsprotokoll, Quelle PhantomFS)
  • Sendet eine Toast-Benachrichtigung an die aktive Desktop-Sitzung
  • Protokolliert den genauen Dateinamen, Zeitstempel und Prozesskontext
  • Bei Zugriff über eine Netzwerkfreigabe – erfasst den SMB-Benutzernamen und die Quelladresse

Da legitime Benutzer keinen Grund haben, Dateien zu öffnen, die sie nicht selbst dort abgelegt haben, ist jede Warnung hochzuverlässig. Kein Tuning, kein ML, keine Cloud-Abhängigkeiten – nur ein nativer Windows-Treiber und eine einzelne ausführbare Datei.


Funktionen

FunktionDetails
Fußabdruckfreie LockdateienDateien werden bei Bedarf projiziert – nichts wird auf die Festplatte geschrieben, es sei denn, ein Angreifer liest eine Datei
Windows-EreignisprotokollEreignis-ID 1001 (Datei gelesen), 1002 (Platzhalter erstellt), 1003 (gestartet), 1004 (gestoppt)
Toast-WarnungenSofortige Desktop-Benachrichtigung über Windows PowerShell – funktioniert sogar über RDP
Protokollierung entfernter SitzungenSMB-Benutzername und Quelladresse erfasst über NetSessionEnum, wenn PID 4 den Zugriff auslöst
Automatische BereinigungHydrierte synthetische Dateien werden nach einer konfigurierbaren Verzögerung gelöscht; kehrt beim nächsten Zugriff zum virtuellen Zustand zurück
Konfigurierbare VorlagenPDF, XLSX, DOCX, JSON, CSV, PEM, Klartext – alle aus XML-Vorlagen in der Konfiguration
Cooldown pro DateiKonfigurierbare Drosselung (Standard 15 s) verhindert Warnungsfluten, wenn ein Tool mehrere Blöcke liest
Liste synthetischer DateienEinfügbare XML-Liste überzeugender Dateinamen mit realistischen Bytegrößen
Einzelne ausführbare DateiPhantomFS.exe + PhantomFS.exe.config – kein Installationsprogramm erforderlich

Voraussetzungen

  • Windows 10 Version 1809 (Build 17763) oder höher – Windows 11 empfohlen
  • .NET Framework 4.8
  • Windows Projected File System optionale Funktion aktiviert (Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart)
  • Administratorrechte zum Starten des virtuellen Stammverzeichnisses

Schnellstart

Einfache Befehle (empfohlen)

  1. Laden Sie PhantomFS-v1.1.0-x64.zip von Releases herunter und entpacken Sie es
  2. Als Administrator ausführen – ProjFS aktivieren, Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
  3. .\PhantomFS.exe --virtroot C:\PhantomFS\Virtual\Documents --syntheticonly ausführen
  4. Navigieren Sie im Explorer zu C:\PhantomFS\Virtual\Documents – Sie sehen die Lockdateien
  5. Öffnen Sie eine – beobachten Sie die Toast-Benachrichtigung und überprüfen Sie Ereignisanzeige → Windows-Protokolle → Anwendung

Konfiguration

Alle Einstellungen befinden sich in PhantomFS.exe.config. Alle Schlüssel sind optional – das Weglassen eines Schlüssels verwendet den in der Tabelle angegebenen Standardwert.

Verwenden Sie den PhantomFS-Profil-Builder, um verschiedene Konfigurationsprofile für Ihre Bereitstellungsszenarien zu erstellen:

<settings>-Abschnitt

<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 — automatische Bereinigung -->
  <autoCleanupEnabled>true</autoCleanupEnabled>
  <autoCleanupDelaySeconds>300</autoCleanupDelaySeconds>

  <!-- v1.1.0 — Protokollierung entfernter Sitzungen -->
  <resolveRemoteIPs>true</resolveRemoteIPs>
</settings>
SchlüsselStandardSeitBeschreibung
enableEventLogtrue1.0.0In das Windows-Anwendungsereignisprotokoll schreiben
enableToasttrue1.0.0Desktop-Toast-Benachrichtigung senden
alertOnOpentrue1.0.0Warnen, wenn ein Platzhalter zum ersten Mal erstellt wird (Verzeichnis durchsuchen)
alertOnReadtrue1.0.0Warnen, wenn Dateidaten tatsächlich gelesen werden
toastCooldownSeconds151.0.0Mindestsekunden zwischen Toasts für denselben Dateipfad
verbosefalse1.0.0Zusätzliche Konsolenausgabe für Diagnose
virtRoot(Argument 1)1.0.0Überschreibt den Pfad des virtuellen Stammverzeichnisses aus der Konfiguration anstelle der Befehlszeile
sourceRoot(leer)1.0.0Optionales echtes Hintergrundverzeichnis – für den Nur-Synthetik-Modus leer lassen
syntheticOnlytrue1.0.0Nur die in <syntheticFileList> aufgeführten Dateien ausliefern
autoCleanupEnabledtrue1.1.0Materialisierte synthetische Dateien nach der Verzögerung löschen und in den virtuellen Zustand zurückversetzen
autoCleanupDelaySeconds3001.1.0Sekunden nach der Hydrierung, bevor die Datei gelöscht wird (Bereinigungstimer läuft alle 30 s)
resolveRemoteIPstrue1.1.0DNS-Auflösung des SMB-Client-Hostnamens zu einer IP-Adresse; auf false setzen, wenn die Nachschlageverzögerung nicht akzeptabel ist

Protokollierung entfernter Sitzungen

Wenn über eine SMB-Freigabe auf eine Datei zugegriffen wird, erkennt PhantomFS PID 4 (den Windows-Systemprozess / SMB-Kernel-Treiber) als Aufrufer und ruft automatisch NetSessionEnum auf, um den entfernten Benutzer zu identifizieren. Der Ereignisprotokolleintrag und die Toast-Benachrichtigung enthalten dann:

PhantomFS — Honeypot-Dateiinhalt gelesen
Datei    : Documents\Q4_Financial_Report_2024.pdf
Prozess  : System (PID 4)
Remote   : CORP\jsmith @ DESKTOP-A1B2C3D  [192.168.1.45]

Voraussetzungen für die Fernprotokollierung:

  • Der Serverdienst muss ausgeführt werden (er startet automatisch, sobald eine Freigabe aktiv ist)
  • PhantomFS muss auf dem Computer ausgeführt werden, der die Freigabe hostet
  • resolveRemoteIPs erfordert, dass der Client-Computer über DNS auflösbar ist

Verhalten der automatischen Bereinigung

Kategorien