CVE-2024-7479 TeamViewer ड्राइवर स्थापना का अनुचित हस्ताक्षर सत्यापन
लेखक: Marcos Accossatto
केवल प्रदर्शन उद्देश्यों के लिए। पूर्ण एक्सप्लॉइट विंडोज के लिए TeamViewer के संवेदनशील संस्करण पर काम करता है।
परिचय
यह एक्सप्लॉइट PoC Pedro Gabaldon के CVE-2024-7479 के लिए PoC का पायथन कार्यान्वयन है।
इस स्क्रिप्ट में शोषण के लिए IPC प्रोटोकॉल को संभालने के लिए सभी क्लास शामिल हैं।
अंतिम शोषण के लिए, dbutil_2_3.sys ड्राइवर और BYOVDKit प्रोजेक्ट से संकलित निष्पादन योग्य इस स्क्रिप्ट के समान स्थानीय निर्देशिका में मौजूद होना चाहिए।
इस स्क्रिप्ट का TeamViewer 15.57.5 के विरुद्ध परीक्षण किया गया।
स्क्रिप्ट शोषण चरण
यह स्क्रिप्ट भेद्यता का शोषण करने के लिए निम्नलिखित चरण करेगी:
- 127.0.0.1 और पोर्ट 5939 के विरुद्ध एक सॉकेट खोलें।
- यह जाँचने के लिए कि ड्राइवर पहले से स्थापित है या नहीं, निम्नलिखित कमांड लाइन के साथ BYOVDKit.exe निष्पादित करें:
BYOVDKit.exe 1 token 4
- getClientAuth फ़ंक्शन के माध्यम से पहला IPC अनुरोध तैयार करें और इसे सर्वर को भेजें।
- getServerChallengeFromResponse फ़ंक्शन के माध्यम से सर्वर प्रतिक्रिया से response_challenge लें।
- response_challenge और एक "गुप्त" मान को जोड़ें, इसके MD5 हैश मान की गणना करें और फिर इसका उपयोग getClientAuth फ़ंक्शन के माध्यम से दूसरा IPC अनुरोध तैयार करने के लिए करें।
- प्रमाणीकरण पूरा करने के लिए दूसरा अनुरोध भेजें।
- पायथन प्रक्रिया का PID प्राप्त करें, TeamViewer.exe निष्पादन योग्य फ़ाइल का संस्करण ढूंढें और निकालें, getControlRequest फ़ंक्शन के माध्यम से तीसरा IPC अनुरोध तैयार करें और इसे सर्वर को भेजें।
- कॉन्फ़िगरेशन सिंक पूरा होने तक सर्वर से IPC पैकेट पढ़ें (21 पैकेट सामान्य है)
- स्क्रिप्ट निर्देशिका में TeamViewer x64 निर्देशिका से TeamViewerVPN.cat फ़ाइल कॉपी करें।
- स्क्रिप्ट निर्देशिका में TeamViewer x64 निर्देशिका से TeamViewerVPN.inf फ़ाइल कॉपी करें और इसे एक यादृच्छिक inf फ़ाइल के रूप में नाम बदलें।
- स्क्रिप्ट निर्देशिका से dbutil_2_3.sys फ़ाइल का नाम बदलकर TeamViewerVPN.sys करें।
- getInstallDriverRequest फ़ंक्शन के माध्यम से तीसरा IPC अनुरोध तैयार करें और इसे सर्वर को भेजें।
- ड्राइवर स्थापना पूरा करने के लिए उपयोगकर्ता के Install this driver software anyway बटन पर क्लिक करने तक प्रतीक्षा करें और ENTER दबाएँ
- सभी कॉपी/बनाई/नाम बदली गई फ़ाइलों (TeamViewerVPN.cat, TeamViewerVPN.sys और यादृच्छिक .inf फ़ाइल) को हटा दें।
- सिस्टम पर cmd लॉन्च करने के लिए निम्नलिखित कमांड लाइन के साथ BYOVDKit.exe निष्पादित करें:
BYOVDKit.exe 1 token 4
उपयोग
- एक सामान्य उपयोगकर्ता के रूप में cmd.exe चलाएँ।
- उपयोगकर्ता नाम जाँचने के लिए whoami का उपयोग करें।
- स्क्रिप्ट को python CVE-2024-7479_PoC.py के साथ चलाएँ।
- जब इंस्टॉल ड्राइवर चेतावनी दिखाई दे, तो ड्राइवर स्थापित करने के लिए Install this driver software anyway संदेश पर क्लिक करें।
- cmd विंडो पर वापस जाएँ और स्क्रिप्ट निष्पादन जारी रखने के लिए ENTER दबाएँ।
- यह जाँचने के लिए whoami का उपयोग करें कि उपयोगकर्ता नाम nt authority\system है।

संदर्भ
हमें उम्मीद है कि यह आपको उपयोगी लगेगा, यदि आपको कोई संदेह है तो आप हमसे [email protected] पर संपर्क कर सकते हैं।
आनंद लीजिए!