
PhantomFS v1.2.20
مستعرضة ويندوز تستخدم ProjFS لإسقاط ملفات شركية تؤدي إلى تنبيهات في سجل الأحداث وسطح المكتب عند الوصول إليها، مع تسجيل جلسات SMB عن بعد للكشف عن الحركة الجانبية.
ملفات وهمية. أمان حقيقي.
نظام ملفات فخ افتراضي لنظام Windows — اجذب المهاجمين إلى دليل يبدو حقيقيًا، ثم أمسك بهم متلبسين.
ما هو PhantomFS؟
يستخدم PhantomFS نظام الملفات المُسقَط لنظام Windows (ProjFS) لإنشاء دليل افتراضي مليء بملفات شرك مقنعة — تقارير مالية، مفاتيح SSH، بيانات اعتماد API، جداول بيانات الموارد البشرية، اتفاقيات عدم الإفشاء — والتي توجد فقط في الذاكرة. لا تُكتب أية بيانات على القرص مطلقًا حتى يفتحها مهاجم (أو تهديد داخلي).
في اللحظة التي يتم فيها لمس ملف، يقوم PhantomFS بما يلي:
- يكتب إدخالاً في سجل أحداث Windows (سجل التطبيقات، المصدر
PhantomFS) - يُصدر إشعار Toast لجلسة سطح المكتب النشطة
- يسجل اسم الملف الدقيق والطابع الزمني وسياق العملية
- عند الوصول عبر مشاركة شبكة — يلتقط اسم مستخدم SMB وعنوان المصدر
لأن المستخدمين الشرعيين ليس لديهم سبب لفتح ملفات لم يضعوها هناك، فإن كل تنبيه يكون موثوقًا به بدرجة عالية. لا ضبط، لا تعلم آلي، لا اعتماديات سحابية — فقط برنامج تشغيل Windows أصلي وملف تنفيذي واحد.
الميزات
| الميزة | التفاصيل |
|---|---|
| شرك بدون بصمة | تُسقَط الملفات عند الطلب — لا شيء يُكتب على القرص إلا إذا قرأ المهاجم ملفًا |
| سجل أحداث Windows | معرف الحدث 1001 (قراءة ملف)، 1002 (إنشاء عنصر نائب)، 1003 (بدء التشغيل)، 1004 (إيقاف التشغيل) |
| تنبيهات Toast | إشعار فوري لسطح المكتب عبر PowerShell لنظام Windows — يعمل حتى عبر RDP |
| تسجيل الجلسات عن بُعد | اسم مستخدم SMB وعنوان المصدر يتم التقاطهما عبر NetSessionEnum عندما تُشغّل العملية PID 4 الوصول |
| التنظيف التلقائي | حذف الملفات الاصطناعية المادية بعد مهلة قابلة للتكوين؛ العودة إلى الوضع الافتراضي عند الوصول التالي |
| قوالب قابلة للتكوين | PDF، XLSX، DOCX، JSON، CSV، PEM، نص عادي — كلها تُقدَّم من قوالب XML في الإعدادات |
| فترة تهدئة لكل ملف | حد قابل للتكوين (افتراضي 15 ثانية) يمنع فيض التنبيهات عند قراءة أداة لعدة أجزاء |
| قائمة ملفات اصطناعية | قائمة XML جاهزة بأسماء ملفات مقنعة وأحجام بايت واقعية |
| ملف تنفيذي واحد | PhantomFS.exe + PhantomFS.exe.config — لا حاجة إلى مثبّت |
المتطلبات
- Windows 10 الإصدار 1809 (Build 17763) أو أحدث — يُوصى بـ Windows 11
- .NET Framework 4.8
- تفعيل ميزة نظام الملفات المُسقَط لنظام Windows الاختيارية (
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart) - صلاحيات المسؤول لبدء الجذر الافتراضي
البدء السريع
الأوامر البسيطة (مُوصى بها)
- قم بتنزيل
PhantomFS-v1.1.0-x64.zipمن الإصدارات وفك ضغطه - شغّله كمسؤول — فعّل ProjFS،
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart - نفّذ الأمر
.\PhantomFS.exe --virtroot C:\PhantomFS\Virtual\Documents --syntheticonly - تصفّح
C:\PhantomFS\Virtual\Documentsفي المستكشف — سترى ملفات الشرك - افتح أحدها — شاهد إشعار Toast وتحقق من عارض الأحداث → سجلات Windows → التطبيق
الإعدادات
جميع الإعدادات موجودة في PhantomFS.exe.config. جميع المفاتيح اختيارية — حذف المفتاح يعني استخدام القيمة الافتراضية الموضحة في الجدول.
استخدم منشئ ملفات تعريف PhantomFS لإنشاء ملفات تعريف إعدادات مختلفة لسيناريوهات النشر الخاصة بك:
قسم <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 — التنظيف التلقائي -->
<autoCleanupEnabled>true</autoCleanupEnabled>
<autoCleanupDelaySeconds>300</autoCleanupDelaySeconds>
<!-- v1.1.0 — تسجيل الجلسات عن بُعد -->
<resolveRemoteIPs>true</resolveRemoteIPs>
</settings>
| المفتاح | القيمة الافتراضية | منذ | الوصف |
|---|---|---|---|
enableEventLog | true | 1.0.0 | الكتابة إلى سجل أحداث التطبيقات في Windows |
enableToast | true | 1.0.0 | إرسال إشعار Toast لسطح المكتب |
alertOnOpen | true | 1.0.0 | التنبيه عند إنشاء عنصر نائب لأول مرة (تصفح الدليل) |
alertOnRead | true | 1.0.0 | التنبيه عند قراءة بيانات الملف فعليًا |
toastCooldownSeconds | 15 | 1.0.0 | الحد الأدنى بالثواني بين إشعارات Toast لنفس مسار الملف |
verbose | false | 1.0.0 | إخراج إضافي لوحدة التحكم للتشخيص |
virtRoot | (الوسيطة 1) | 1.0.0 | تجاوز مسار الجذر الافتراضي من الإعدادات بدلاً من سطر الأوامر |
sourceRoot | (فارغ) | 1.0.0 | دليل خلفي حقيقي اختياري — اتركه فارغًا لوضع الاصطناعية فقط |
syntheticOnly | true | 1.0.0 | خدمة الملفات المدرجة في <syntheticFileList فقط |
autoCleanupEnabled | true | 1.1.0 | حذف الملفات الاصطناعية المادية بعد المهلة والعودة إلى الوضع الافتراضي |
autoCleanupDelaySeconds | 300 | 1.1.0 | الثواني بعد الترطيب قبل حذف الملف (مؤقت التنظيف يعمل كل 30 ثانية) |
resolveRemoteIPs | true | 1.1.0 | حل اسم مضيف عميل SMB إلى عنوان IP عبر DNS؛ اضبطه على false إذا كان زمن البحث غير مقبول |
تسجيل الجلسات عن بُعد
عند الوصول إلى ملف عبر مشاركة SMB، يكتشف PhantomFS العملية PID 4 (عملية النظام الأساسية / برنامج تشغيل SMB الأساسي) كمتصل ويستدعي تلقائيًا NetSessionEnum لتحديد المستخدم البعيد. سيتضمن إدخال سجل الأحداث وإشعار Toast ما يلي:
PhantomFS — قراءة محتوى ملف شرك
الملف : Documents\Q4_Financial_Report_2024.pdf
العملية : System (PID 4)
البعيد : CORP\jsmith @ DESKTOP-A1B2C3D [192.168.1.45]
متطلبات التسجيل عن بُعد:
- يجب تشغيل خدمة الخادم (تبدأ تلقائيًا بمجرد تفعيل المشاركة)
- يجب تشغيل PhantomFS على الجهاز المستضيف للمشاركة
resolveRemoteIPsيتطلب أن يكون جهاز العميل قابلًا للحل عبر DNS
سلوك التنظيف التلقائي
بعد فتح ملف اصطناعي وترطيبه (كتابة المحتوى على القرص)، يعمل مؤقت خلفي كل 30 ثانية ويحذف الملفات التي يتجاوز زمن ترطيبها autoCleanupDelaySeconds. يعود الملف المحذوف إلى عنصر نائب افتراضي في ProjFS — يؤدي الوصول التالي إلى إعادة تشغيل رد النداء الخاص بـ ProjFS كما لو أن الملف لم يُفتح أبدًا.
يتم تخطي الملفات التي لا تزال مفتوحة عند تشغيل مؤقت التنظيف دون خطأ وإعادة المحاولة في الدورة التالية التي تبلغ 30 ثانية.
إضافة ملفات الشرك
أضف إدخالات تحت <syntheticFileList> في الإعدادات:
\Documents,true,0,1744586986
\Documents\Q4_Financial_Report_2024.pdf,false,8192,1744586986
\Documents\Employee_Salaries_2024.xlsx,false,4096,1743942586
\IT\Keys,true,0,1744586986
\IT\Keys\deploy_key.pem,false,3247,1742354986
إضافة قوالب المحتوى
<syntheticTemplates>
<template name="my_custom_file.txt"><![CDATA[
... محتوى ملفك هنا ...
]]></template>
</syntheticTemplates>
مرجع سجل الأحداث
افتح عارض الأحداث → سجلات Windows → التطبيق وقم بالتصفية حسب المصدر PhantomFS.
| معرف الحدث | المستوى | المعنى |
|---|---|---|
| 1001 | تحذير | تمت قراءة بيانات ملف شرك (يتضمن المستخدم البعيد/IP عند الاقتضاء) |
| 1002 | تحذير | تم إنشاء عنصر نائب لملف شرك (تم تصفح/ stat للملف) |
| 1003 | معلومات | بدأ تشغيل PhantomFS — تم تسجيل مسار الجذر الافتراضي والإعدادات |
| 1004 | معلومات | توقف PhantomFS بشكل نظيف |