Volver a actualizaciones
Nuevo releaseAug 14, 2026

PhantomFS v1.2.20

Honeypot de Windows que utiliza ProjFS para proyectar archivos señuelo que generan alertas en el Registro de Eventos y en el escritorio cuando se accede a ellos, con registro de sesiones SMB remotas para la detección de movimientos laterales.

Compartir

PhantomFS — Fake Files. Real Security.

Archivos Falsos. Seguridad Real.
Sistema de archivos honeypot virtual para Windows: atraiga a los atacantes a un directorio que parece real y luego atrápelos en el acto.

MIT License Platform .NET 4.8 Sponsor


¿Qué es PhantomFS?

PhantomFS utiliza el Sistema de Archivos Proyectado de Windows (ProjFS) para mostrar un directorio virtual lleno de archivos señuelo convincentes: informes financieros, claves SSH, credenciales de API, hojas de cálculo de RR.HH., acuerdos de confidencialidad (NDA), que existen solo en la memoria. Nunca se escribe ningún dato en el disco hasta que un atacante (o amenaza interna) abre uno.

En el momento en que se toca un archivo, PhantomFS:

  • Escribe una entrada en el Registro de Eventos de Windows (registro de Aplicaciones, origen PhantomFS)
  • Dispara una notificación Toast en la sesión de escritorio activa
  • Registra el nombre exacto del archivo, la marca de tiempo y el contexto del proceso
  • Cuando se accede a través de un recurso compartido de red: captura el nombre de usuario SMB y la dirección de origen

Debido a que los usuarios legítimos no tienen motivo para abrir archivos que ellos no colocaron allí, cada alerta es de alta confianza. Sin ajustes, sin aprendizaje automático, sin dependencias en la nube: solo un controlador nativo de Windows y un único ejecutable.


Características

CaracterísticaDetalles
Señuelos de huella ceroLos archivos se proyectan bajo demanda; nada se escribe en el disco a menos que un atacante lea un archivo
Registro de Eventos de WindowsID de evento 1001 (lectura de archivo), 1002 (creación de marcador de posición), 1003 (iniciado), 1004 (detenido)
Alertas ToastNotificación inmediata en el escritorio mediante Windows PowerShell; funciona incluso a través de RDP
Registro de sesiones remotasNombre de usuario SMB y dirección de origen capturados mediante NetSessionEnum cuando el PID 4 desencadena el acceso
Limpieza automáticaLos archivos sintéticos hidratados se eliminan después de un retardo configurable; se revierten a virtuales en el próximo acceso
Plantillas configurablesPDF, XLSX, DOCX, JSON, CSV, PEM, texto plano; todos servidos desde plantillas XML en la configuración
Enfriamiento por archivoLimitación configurable (predeterminado 15 s) evita inundaciones de alertas cuando una herramienta lee múltiples fragmentos
Lista de archivos sintéticosLista XML que se puede incorporar con nombres de archivo convincentes y tamaños en bytes realistas
Ejecutable únicoPhantomFS.exe + PhantomFS.exe.config; no requiere instalador

Requisitos

  • Windows 10 versión 1809 (compilación 17763) o posterior; se recomienda Windows 11
  • .NET Framework 4.8
  • Característica opcional Sistema de Archivos Proyectado de Windows habilitada (Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart)
  • Privilegios de administrador para iniciar la raíz virtual

Inicio Rápido

Comandos Simples (recomendado)

  1. Descargue PhantomFS-v1.1.0-x64.zip desde Releases y extráigalo
  2. Ejecute como Administrador; habilite ProjFS: Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
  3. Ejecute .\PhantomFS.exe --virtroot C:\PhantomFS\Virtual\Documents --syntheticonly
  4. Navegue a C:\PhantomFS\Virtual\Documents en el Explorador; verá los archivos señuelo
  5. Abra uno; observe la notificación Toast y revise Visor de Eventos → Registros de Windows → Aplicación

Configuración

Toda la configuración reside en PhantomFS.exe.config. Todas las claves son opcionales: omitir una clave usa el valor predeterminado que se muestra en la tabla.

Use el PhantomFS Profile Builder para generar diferentes perfiles de configuración según sus escenarios de implementación:

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

  <!-- v1.1.0 — remote session logging -->
  <resolveRemoteIPs>true</resolveRemoteIPs>
</settings>
ClaveValor predeterminadoDesdeDescripción
enableEventLogtrue1.0.0Escribir en el registro de eventos de Aplicaciones de Windows
enableToasttrue1.0.0Enviar notificación Toast de escritorio
alertOnOpentrue1.0.0Alertar cuando se crea un marcador de posición por primera vez (exploración de directorio)
alertOnReadtrue1.0.0Alertar cuando realmente se leen los datos del archivo
toastCooldownSeconds151.0.0Segundos mínimos entre notificaciones Toast para la misma ruta de archivo
verbosefalse1.0.0Salida adicional en la consola para diagnósticos
virtRoot(arg 1)1.0.0Sobrescribir la ruta raíz virtual desde la configuración en lugar de la línea de comandos
sourceRoot(vacío)1.0.0Directorio de respaldo real opcional; dejar vacío para modo solo sintético
syntheticOnlytrue1.0.0Servir solo los archivos listados en <syntheticFileList>
autoCleanupEnabledtrue1.1.0Eliminar archivos sintéticos materializados después del retardo y revertir a virtuales
autoCleanupDelaySeconds3001.1.0Segundos después de la hidratación antes de que el archivo sea eliminado (el temporizador de limpieza se ejecuta cada 30 s)
resolveRemoteIPstrue1.1.0Resolver DNS el nombre de host del cliente SMB a una dirección IP; establecer en false si la latencia de búsqueda es inaceptable

Registro de Sesiones Remotas

Cuando se accede a un archivo a través de un recurso compartido SMB, PhantomFS detecta el PID 4 (el proceso Sistema de Windows / controlador SMB del kernel) como el llamador y llama automáticamente a NetSessionEnum para identificar al usuario remoto. La entrada del Registro de Eventos y la notificación Toast incluirán:

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]

Requisitos para el registro remoto:

  • El servicio Server debe estar en ejecución (se inicia automáticamente cuando hay un recurso compartido activo)
  • PhantomFS debe estar ejecutándose en la máquina que aloja el recurso compartido
  • resolveRemoteIPs requiere que la máquina cliente sea resoluble a través de DNS

Categorías