
PhantomFS v1.2.20
विंडोज हनीपॉट जो ProjFS का उपयोग करके डिकॉय फ़ाइलें प्रोजेक्ट करता है, जो एक्सेस किए जाने पर Event Log और डेस्कटॉप अलर्ट ट्रिगर करती हैं, और लैटरल मूवमेंट डिटेक्शन के लिए SMB रिमोट सेशन लॉगिंग के साथ।
नकली फ़ाइलें। वास्तविक सुरक्षा।
विंडोज़ के लिए वर्चुअल हनीपॉट फ़ाइल सिस्टम — हमलावरों को एक ऐसी निर्देशिका में फंसाएँ जो वास्तविक लगे, फिर उन्हें रंगे हाथों पकड़ें।
PhantomFS क्या है?
PhantomFS Windows Projected File System (ProjFS) का उपयोग करके एक वर्चुअल निर्देशिका सतह पर लाता है जो ठोस डिकॉय फ़ाइलों से भरी होती है — वित्तीय रिपोर्ट, SSH कुंजियाँ, API क्रेडेंशियल, HR स्प्रेडशीट, NDA — जो केवल मेमोरी में मौजूद होती हैं। जब तक कोई हमलावर (या आंतरिक खतरा) उनमें से किसी एक को नहीं खोलता, तब तक डिस्क पर कोई डेटा नहीं लिखा जाता।
जिस क्षण कोई फ़ाइल छुई जाती है, PhantomFS:
- Windows Event Log में एक प्रविष्टि लिखता है (Application log, स्रोत
PhantomFS) - सक्रिय डेस्कटॉप सत्र पर Toast सूचना भेजता है
- सटीक फ़ाइल नाम, टाइमस्टैम्प और प्रक्रिया संदर्भ लॉग करता है
- नेटवर्क शेयर पर एक्सेस किए जाने पर — SMB उपयोगकर्ता नाम और स्रोत पता कैप्चर करता है
क्योंकि वैध उपयोगकर्ताओं के पास उन फ़ाइलों को खोलने का कोई कारण नहीं है जो उन्होंने वहाँ नहीं रखी, हर अलर्ट उच्च-विश्वास वाला होता है। कोई ट्यूनिंग नहीं, कोई ML नहीं, कोई क्लाउड निर्भरता नहीं — बस एक मूल Windows ड्राइवर और एक एकल निष्पादन योग्य।
सुविधाएँ
| सुविधा | विवरण |
|---|---|
| ज़ीरो-फ़ुटप्रिंट डिकॉय | फ़ाइलें मांग पर प्रोजेक्ट की जाती हैं — जब तक कोई हमलावर फ़ाइल नहीं पढ़ता, तब तक डिस्क पर कुछ नहीं लिखा जाता |
| Windows Event Log | Event ID 1001 (फ़ाइल पढ़ना), 1002 (प्लेसहोल्डर बनाया गया), 1003 (शुरू हुआ), 1004 (रोका गया) |
| Toast अलर्ट | Windows PowerShell के माध्यम से तत्काल डेस्कटॉप सूचना — RDP पर भी काम करती है |
| दूरस्थ सत्र लॉगिंग | PID 4 द्वारा एक्सेस ट्रिगर होने पर NetSessionEnum के माध्यम से SMB उपयोगकर्ता नाम और स्रोत पता कैप्चर किया जाता है |
| ऑटो-क्लीनअप | कॉन्फ़िगरेबल विलंब के बाद हाइड्रेटेड सिंथेटिक फ़ाइलें हटा दी जाती हैं; अगली एक्सेस पर वापस वर्चुअल में बदल जाती हैं |
| कॉन्फ़िगरेबल टेम्पलेट | 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 Projected File System वैकल्पिक सुविधा सक्षम (
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart) - वर्चुअल रूट शुरू करने के लिए व्यवस्थापक विशेषाधिकार
त्वरित आरंभ
सरल कमांड (अनुशंसित)
- Releases से
PhantomFS-v1.1.0-x64.zipडाउनलोड करें और इसे निकालें - व्यवस्थापक के रूप में चलाएँ — ProjFS सक्षम करें,
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart .\PhantomFS.exe --virtroot C:\PhantomFS\Virtual\Documents --syntheticonlyनिष्पादित करें- Explorer में
C:\PhantomFS\Virtual\Documentsपर ब्राउज़ करें — आप डिकॉय फ़ाइलें देखेंगे - एक खोलें — Toast को फायर होते देखें और Event Viewer → Windows Logs → Application की जाँच करें
कॉन्फ़िगरेशन
सभी सेटिंग्स PhantomFS.exe.config में रहती हैं। सभी कुंजियाँ वैकल्पिक हैं — किसी कुंजी को छोड़ने पर तालिका में दिखाए गए डिफ़ॉल्ट का उपयोग होता है।
अपने परिनियोजन परिदृश्यों के लिए विभिन्न कॉन्फ़िग प्रोफ़ाइल उत्पन्न करने हेतु PhantomFS Profile Builder का उपयोग करें:
<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>
| कुंजी | डिफ़ॉल्ट | संस्करण | विवरण |
|---|---|---|---|
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 | एक ही फ़ाइल पथ के लिए Toasts के बीच न्यूनतम सेकंड |
verbose | false | 1.0.0 | निदान के लिए अतिरिक्त कंसोल आउटपुट |
virtRoot | (arg 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 (Windows सिस्टम प्रक्रिया / कर्नेल SMB ड्राइवर) को कॉलर के रूप में पहचानता है और स्वचालित रूप से NetSessionEnum को दूरस्थ उपयोगकर्ता की पहचान करने के लिए कॉल करता है। Event Log प्रविष्टि और Toast सूचना में शामिल होगा:
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]
दूरस्थ लॉगिंग के लिए आवश्यकताएँ:
- Server सेवा चल रही होनी चाहिए (जब भी कोई शेयर सक्रिय होता है तो यह स्वचालित रूप से शुरू होती है)
- 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