
नेटवर्क पर Apple उपकरणों को CVE-2018-4407 (खराब पैकेट हैंडलिंग में हीप ओवरफ्लो) के साथ गड़बड़ करना
CVE-2018-4407 (https://lgtm.com/blog/apple_xnu_icmp_error_CVE-2018-4407), इस ट्वीट और इस वीडियो पर आधारित। यह बग हीप ओवरफ़्लो भेद्यता है जो खराब पैकेट हैंडलिंग में होती है जब OS खराब पैकेट के सेगमेंट वाला ICMP संदेश प्रेषक को वापस भेजने का प्रयास करता है।

यह POC लंबे TCP/IP हेडर विकल्पों वाले खराब TCP पैकेट डेटा भेजकर कमजोर Apple उपकरणों को क्रैश कर देता है, ताकि जब उपकरण त्रुटि संदेश भेजने का प्रयास करे तो ICMP संदेश ओवरफ़्लो हो जाए। आपको सीधे उपकरण को नेटवर्क पैकेट डेटा भेजने की क्षमता की आवश्यकता है (जैसे, उसी स्थानीय नेटवर्क पर)।
निम्नलिखित ऑपरेटिंग सिस्टम संस्करण और उपकरण कमजोर हैं:
केवल शैक्षिक उद्देश्यों के लिए। इस स्क्रिप्ट का उपयोग अवैध गतिविधियों के लिए न करें। लेखक किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं है।
सुनिश्चित करें कि आपके पास Python 3 और scapy है।
pip install scapy
# या
pip3 install scapy
आपको स्क्रिप्ट को रूट के रूप में चलाने की आवश्यकता हो सकती है।
192.168.1.0/24 सबनेट पर खराब पैकेट भेजें।
sudo ./appledos.py 192.168.1.0/24
पैकेट भेजने के बाद IP दिखाता है।
sudo ./appledos.py --verbose 192.168.1.0/24
192.168.1.0/24 सबनेट पर लगातार खराब पैकेट भेजें।
sudo ./appledos.py --continuous 192.168.1.0/24
गंतव्य पोर्ट बदलें (डिफ़ॉल्ट: 80)। आप किसी भी पोर्ट में बदल सकते हैं क्योंकि उपकरण किसी भी पोर्ट पर आने वाले किसी भी पैकेट का जवाब देंगे, लेकिन आप होस्ट या नेटवर्क में पोर्ट ब्लॉकिंग या फ़ायरवॉल के बारे में चिंता करना चाह सकते हैं।
sudo ./appledos.py --continuous --port 22 192.168.1.0/24
केवल एक IP पर खराब पैकेट भेजें।
sudo ./appledos.py 192.168.1.118
अधिकतम वर्कर्स सेट करें (डिफ़ॉल्ट: 100)।
sudo ./appledos.py --worker 10 192.168.1.0/24
यह स्क्रिप्ट scapy का उपयोग करती है और macOS जैसे OS से मल्टी-थ्रेड के साथ पैकेट डेटा भेजते समय /dev/bpf (Berkeley Packet Filter) को संभालने के लिए ज्ञात समस्या है। यदि आपको No /dev/bpf handle is available मिलता है, तो वर्कर संख्या को 1 या 2 तक कम करने का प्रयास करें। या, आप प्रदर्शन वीडियो की तरह Linux का उपयोग कर सकते हैं।