
PhantomFS v1.2.20
Pot de miel Windows utilisant ProjFS pour projeter des fichiers leurres qui déclenchent des alertes dans le Journal des événements et sur le bureau lorsqu'ils sont consultés, avec enregistrement des sessions distantes SMB pour la détection des mouvements latéraux.
Faux fichiers. Vraie sécurité.
Système de fichiers virtuels honeypot pour Windows — attirez les attaquants dans un répertoire qui a l'air réel, puis prenez-les sur le fait.
Qu'est-ce que PhantomFS ?
PhantomFS utilise le système de fichiers projeté Windows (ProjFS) pour afficher un répertoire virtuel rempli de fichiers leurres convaincants — rapports financiers, clés SSH, identifiants API, feuilles de calcul RH, NDA — qui n'existent qu'en mémoire. Aucune donnée n'est jamais écrite sur le disque tant qu'un attaquant (ou une menace interne) n'en ouvre un.
Au moment où un fichier est touché, PhantomFS :
- Écrit une entrée dans le journal des événements Windows (journal Application, source
PhantomFS) - Déclenche une notification Toast sur la session de bureau active
- Enregistre le nom exact du fichier, l'horodatage et le contexte du processus
- Lorsqu'il est accédé via un partage réseau — capture le nom d'utilisateur SMB et l'adresse source
Comme les utilisateurs légitimes n'ont aucune raison d'ouvrir des fichiers qu'ils n'ont pas placés là, chaque alerte est de haute fiabilité. Pas de réglage, pas de ML, pas de dépendances cloud — juste un pilote Windows natif et un exécutable unique.
Fonctionnalités
| Fonctionnalité | Détails |
|---|---|
| Leurres sans empreinte | Les fichiers sont projetés à la demande — rien n'est écrit sur le disque sauf si un attaquant lit un fichier |
| Journal des événements Windows | ID d'événement 1001 (lecture de fichier), 1002 (création d'espace réservé), 1003 (démarrage), 1004 (arrêt) |
| Alertes Toast | Notification de bureau immédiate via Windows PowerShell — fonctionne même via RDP |
| Journalisation de session distante | Nom d'utilisateur SMB et adresse source capturés via NetSessionEnum lorsque le PID 4 déclenche l'accès |
| Nettoyage automatique | Les fichiers synthétiques matérialisés sont supprimés après un délai configurable ; retour à l'état virtuel lors du prochain accès |
| Modèles configurables | PDF, XLSX, DOCX, JSON, CSV, PEM, texte brut — tous servis à partir de modèles XML dans la configuration |
| Refroidissement par fichier | Limitation configurable (15 s par défaut) pour éviter une avalanche d'alertes lorsqu'un outil lit plusieurs blocs |
| Liste de fichiers synthétiques | Liste XML prête à l'emploi de noms de fichiers convaincants avec des tailles d'octets réalistes |
| Exécutable unique | PhantomFS.exe + PhantomFS.exe.config — pas d'installateur requis |
Prérequis
- Windows 10 version 1809 (Build 17763) ou ultérieure — Windows 11 recommandé
- .NET Framework 4.8
- Fonctionnalité optionnelle Système de fichiers projeté Windows activée (
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart) - Privilèges d'administrateur pour démarrer la racine virtuelle
Démarrage rapide
Commandes simples (recommandées)
- Téléchargez
PhantomFS-v1.1.0-x64.zipdepuis Releases et extrayez-le - Exécutez en tant qu'administrateur — activez ProjFS,
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart - Exécutez
.\PhantomFS.exe --virtroot C:\PhantomFS\Virtual\Documents --syntheticonly - Parcourez
C:\PhantomFS\Virtual\Documentsdans l'Explorateur — vous verrez les fichiers leurres - Ouvrez-en un — regardez la notification Toast se déclencher et vérifiez Observateur d'événements → Journaux Windows → Application
Configuration
Tous les paramètres se trouvent dans PhantomFS.exe.config. Toutes les clés sont facultatives — omettre une clé utilise la valeur par défaut indiquée dans le tableau.
Utilisez le Générateur de profil PhantomFS pour créer différents profils de configuration pour vos scénarios de déploiement :
Section <settings>
<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 — nettoyage automatique -->
<autoCleanupEnabled>true</autoCleanupEnabled>
<autoCleanupDelaySeconds>300</autoCleanupDelaySeconds>
<!-- v1.1.0 — journalisation de session distante -->
<resolveRemoteIPs>true</resolveRemoteIPs>
</settings>
| Clé | Valeur par défaut | Depuis | Description |
|---|---|---|---|
enableEventLog | true | 1.0.0 | Écriture dans le journal des événements Windows (Application) |
enableToast | true | 1.0.0 | Envoi d'une notification Toast sur le bureau |
alertOnOpen | true | 1.0.0 | Alerte lors de la première création d'un espace réservé (parcours du répertoire) |
alertOnRead | true | 1.0.0 | Alerte lorsque les données du fichier sont réellement lues |
toastCooldownSeconds | 15 | 1.0.0 | Secondes minimales entre les Toasts pour le même chemin de fichier |
verbose | false | 1.0.0 | Sortie console supplémentaire pour le diagnostic |
virtRoot | (argument 1) | 1.0.0 | Remplacement du chemin racine virtuel depuis la configuration plutôt que la ligne de commande |
sourceRoot | (vide) | 1.0.0 | Répertoire de sauvegarde réel facultatif — laisser vide pour le mode synthétique uniquement |
syntheticOnly | true | 1.0.0 | Servir uniquement les fichiers listés dans <syntheticFileList> |
autoCleanupEnabled | true | 1.1.0 | Supprimer les fichiers synthétiques matérialisés après le délai et revenir à l'état virtuel |
autoCleanupDelaySeconds | 300 | 1.1.0 | Secondes après la matérialisation avant la suppression du fichier (le minuteur de nettoyage s'exécute toutes les 30 s) |
resolveRemoteIPs | true | 1.1.0 | Résolution DNS du nom d'hôte client SMB en adresse IP ; définir sur false si la latence de résolution est inacceptable |
Journalisation de session distante
Lorsqu'un fichier est accédé via un partage SMB, PhantomFS détecte le PID 4 (le processus Système Windows / pilote SMB noyau) comme appelant et appelle automatiquement NetSessionEnum pour identifier l'utilisateur distant. L'entrée du journal des événements et la notification Toast incluront :
PhantomFS — Lecture du contenu d'un fichier leurre
Fichier : Documents\Rapport_Financier_T4_2024.pdf
Processus : Système (PID 4)
Distant : CORP\jsmith @ DESKTOP-A1B2C3D [192.168.1.45]
Prérequis pour la journalisation distante :
- Le service Serveur doit être en cours d'exécution (il démarre automatiquement dès qu'un partage est actif)
- PhantomFS doit être exécuté sur la machine hébergeant le partage
resolveRemoteIPsnécessite que la machine cliente soit résolvable via DNS