
مستعرضة ويندوز تستخدم ProjFS لإسقاط ملفات شركية تؤدي إلى تنبيهات في سجل الأحداث وسطح المكتب عند الوصول إليها، مع تسجيل جلسات SMB عن بعد للكشف عن الحركة الجانبية.
ملفات وهمية. أمان حقيقي.
نظام ملفات فخ افتراضي لنظام Windows — اجذب المهاجمين إلى دليل يبدو حقيقيًا، ثم أمسك بهم متلبسين.
يستخدم PhantomFS نظام الملفات المُسقَط لنظام Windows (ProjFS) لإنشاء دليل افتراضي مليء بملفات شرك مقنعة — تقارير مالية، مفاتيح SSH، بيانات اعتماد API، جداول بيانات الموارد البشرية، اتفاقيات عدم الإفشاء — والتي توجد فقط في الذاكرة. لا تُكتب أية بيانات على القرص مطلقًا حتى يفتحها مهاجم (أو تهديد داخلي).
في اللحظة التي يتم فيها لمس ملف، يقوم PhantomFS بما يلي:
PhantomFS)لأن المستخدمين الشرعيين ليس لديهم سبب لفتح ملفات لم يضعوها هناك، فإن كل تنبيه يكون موثوقًا به بدرجة عالية. لا ضبط، لا تعلم آلي، لا اعتماديات سحابية — فقط برنامج تشغيل 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 — لا حاجة إلى مثبّت |
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart)PhantomFS-v1.1.0-x64.zip من الإصدارات وفك ضغطهEnable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart.\PhantomFS.exe --virtroot C:\PhantomFS\Virtual\Documents --syntheticonlyC:\PhantomFS\Virtual\Documents في المستكشف — سترى ملفات الشركجميع الإعدادات موجودة في 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]
متطلبات التسجيل عن بُعد:
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 بشكل نظيف |