
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 بشكل نظيف |
CI/CD — إجراءات GitHub
يحتوي PhantomFS على سير عمل في .github/workflows/build.yml يقوم بالتجميع لـ x64 و ARM64 بالتوازي، وينشر إصدارًا على GitHub عند كل علامة إصدار.
البناء من المصدر
# يتطلب .NET Framework 4.8 SDK أو أدوات بناء Visual Studio
csc.exe /platform:x64 /r:System.Xml.dll /out:PhantomFS.exe src\PhantomFS.cs
csc.exe موجود عادةً في:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
أفكار للنشر
- فخ محطة العمل — شغّله كمهمة مجدولة عند تسجيل الدخول؛ أي حركة جانبية إلى
\\hostname\PhantomFS\Virtualتُطلق تنبيهًا فوريًا مع اسم المستخدم المهاجم وعنوان IP المصدر - كناري خادم الملفات — ضع مشاركة
\Financeتشير إلى الجذر الافتراضي بجوار مشاركة المالية الحقيقية؛ تسجيل الجلسة عن بُعد يحدد بالضبط أي حساب تصفّح الطُعم - جهاز المطور — اعرض مفاتيح AWS ومفاتيح SSH وهمية في
~\Documents؛ الهجمات الداخلية أو هجمات سلسلة التوريد تُطلق التنبيهات قبل تسريب البيانات - شريحة معزولة — اضبط
resolveRemoteIPs=falseلتخطي DNS في البيئات التي يتم فيها حظر الاستعلامات الخارجية؛ لا يزال يتم التقاط اسم جهاز NetBIOS
الرعاية
PhantomFS هو برنامج مجاني ومفتوح المصدر ومرخص بموجب MIT. إذا وفر لك الوقت — أو أمسك بمهاجم حقيقي — يُرجى التفكير في رعاية التطوير المستمر.
يتلقى الرعاة:
- أولوية في الرد على المشكلات
- وصول مبكر إلى القوالب والميزات الجديدة
- ذكرًا في ملاحظات الإصدار
الرعاة من الشركات (500 دولار+/شهر) يتلقون قناة Slack خاصة للدعم المباشر وطلبات الميزات.
الترخيص
MIT License
Copyright (c) 2026 Alloy Secure
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
إشعار العلامة التجارية: PhantomFS™ هي علامة تجارية لشركة Alloy Secure. جميع الحقوق محفوظة.
إخلاء المسؤولية — الاستخدام المقبول
يُوفّر PhantomFS لأغراض الدفاع الأمني القانونية فقط — بما في ذلك كشف التسلل، وأبحاث التهديدات، واختبار الاختراق المصرّح به على الأنظمة التي تمتلكها أو لديك إذن كتابي صريح لمراقبتها.
أنت المسؤول الوحيد عن ضمان أن استخدامك لـ PhantomFS يتوافق مع جميع القوانين المحلية والوطنية والدولية المعمول بها، بما في ذلك على سبيل المثال لا الحصر قوانين الاحتيال الحاسوبي، والتنصت، والخصوصية، وقوانين العمل. قد يكون نشر PhantomFS على أنظمة أو شبكات دون إذن مناسب غير قانوني.
المؤلفون والمساهمون في PhantomFS:
- لا يقدمون أية ضمانات، صريحة أو ضمنية، بخصوص الملاءمة لأي غرض معين
- لا يتحملون أية مسؤولية عن أي أضرار مباشرة أو غير مباشرة أو عرضية أو تبعية تنشأ عن استخدام أو سوء استخدام هذا البرنامج
- ليسوا مسؤولين عن أي فقدان للبيانات أو تلف للنظام أو مسؤولية قانونية أو ضرر لأطراف ثالثة ناتج عن نشر PhantomFS في أي بيئة
الاستخدام على مسؤوليتك الخاصة. باستخدامك لـ PhantomFS، تقر بأنك قد قرأت إخلاء المسؤولية هذا، وتفهمه، وتوافق على الالتزام بشروطه.
إشعار العلامة التجارية: PhantomFS™ هي علامة تجارية لشركة Alloy Secure. جميع الحقوق محفوظة.
الإقرارات
بُني على واجهة برمجة تطبيقات نظام الملفات المُسقَط لنظام Windows — نفس التقنية التي تشغل WSL2 وملفات OneDrive عند الطلب.
مستوحى من عملي كباحث في Thinkst 💚 https://citation.thinkst.com/talk/94782