
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.
Fake Files. Echte Sicherheit.
Virtuelles Honeypot-Dateisystem für Windows — locke Angreifer in ein Verzeichnis, das echt aussieht, und erwische sie auf frischer Tat.
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:
PhantomFS)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.
| Funktion | Details |
|---|---|
| Fußabdruckfreie Lockdateien | Dateien werden bei Bedarf projiziert – nichts wird auf die Festplatte geschrieben, es sei denn, ein Angreifer liest eine Datei |
| Windows-Ereignisprotokoll | Ereignis-ID 1001 (Datei gelesen), 1002 (Platzhalter erstellt), 1003 (gestartet), 1004 (gestoppt) |
| Toast-Warnungen | Sofortige Desktop-Benachrichtigung über Windows PowerShell – funktioniert sogar über RDP |
| Protokollierung entfernter Sitzungen | SMB-Benutzername und Quelladresse erfasst über NetSessionEnum, wenn PID 4 den Zugriff auslöst |
| Automatische Bereinigung | Hydrierte synthetische Dateien werden nach einer konfigurierbaren Verzögerung gelöscht; kehrt beim nächsten Zugriff zum virtuellen Zustand zurück |
| Konfigurierbare Vorlagen | PDF, XLSX, DOCX, JSON, CSV, PEM, Klartext – alle aus XML-Vorlagen in der Konfiguration |
| Cooldown pro Datei | Konfigurierbare Drosselung (Standard 15 s) verhindert Warnungsfluten, wenn ein Tool mehrere Blöcke liest |
| Liste synthetischer Dateien | Einfügbare XML-Liste überzeugender Dateinamen mit realistischen Bytegrößen |
| Einzelne ausführbare Datei | PhantomFS.exe + PhantomFS.exe.config – kein Installationsprogramm erforderlich |
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart)PhantomFS-v1.1.0-x64.zip von Releases herunter und entpacken Sie esEnable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart.\PhantomFS.exe --virtroot C:\PhantomFS\Virtual\Documents --syntheticonly ausführenC:\PhantomFS\Virtual\Documents – Sie sehen die LockdateienAlle 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üssel | Standard | Seit | Beschreibung |
|---|---|---|---|
enableEventLog | true | 1.0.0 | In das Windows-Anwendungsereignisprotokoll schreiben |
enableToast | true | 1.0.0 | Desktop-Toast-Benachrichtigung senden |
alertOnOpen | true | 1.0.0 | Warnen, wenn ein Platzhalter zum ersten Mal erstellt wird (Verzeichnis durchsuchen) |
alertOnRead | true | 1.0.0 | Warnen, wenn Dateidaten tatsächlich gelesen werden |
toastCooldownSeconds | 15 | 1.0.0 | Mindestsekunden zwischen Toasts für denselben Dateipfad |
verbose | false | 1.0.0 | Zusä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.0 | Optionales echtes Hintergrundverzeichnis – für den Nur-Synthetik-Modus leer lassen |
syntheticOnly | true | 1.0.0 | Nur die in <syntheticFileList> aufgeführten Dateien ausliefern |
autoCleanupEnabled | true | 1.1.0 | Materialisierte synthetische Dateien nach der Verzögerung löschen und in den virtuellen Zustand zurückversetzen |
autoCleanupDelaySeconds | 300 | 1.1.0 | Sekunden nach der Hydrierung, bevor die Datei gelöscht wird (Bereinigungstimer läuft alle 30 s) |
resolveRemoteIPs | true | 1.1.0 | DNS-Auflösung des SMB-Client-Hostnamens zu einer IP-Adresse; auf false setzen, wenn die Nachschlageverzögerung nicht akzeptabel ist |
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:
resolveRemoteIPs erfordert, dass der Client-Computer über DNS auflösbar ist