Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ds3-nrssr-rce — CVE-2022-24125 और CVE-2022-24126 के लिए दस्तावेज़ीकरण और प्रूफ ऑफ कॉन्सेप्ट कोड। | Kitploit
उपकरण/GitHubGitHub/tremwil/ds3-nrssr-rce
शोषण फ्रेमवर्कभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगशेलकोडपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षारेड टीमिंगशेलकोड जनरेशनपेलोड डेवलपमेंटबाइनरी शोषण
1698184 साल पहलेKitploit द्वारा समीक्षित
GitHub
tremwil/ds3-nrssr-rce

ds3-nrssr-rce

CVE-2022-24125 और CVE-2022-24126 के लिए दस्तावेज़ीकरण और प्रूफ ऑफ कॉन्सेप्ट कोड।

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

अद्यतन: डार्क सोल्स III 1.15.1

डार्क सोल्स III के लिए 2022/08/25 को एक नया गेम अपडेट, 1.15.1 जारी किया गया है, साथ ही ऑनलाइन सेवाओं की बहाली भी की गई है। इस अपडेट ने CVE-2022-24125 और CVE-2022-24126 दोनों को ठीक किया, साथ ही गेम के P2P नेटवर्किंग में मौजूद अन्य संभावित सुरक्षा कमजोरियों (OOB reads/writes) की एक विस्तृत श्रृंखला को भी ठीक किया। इसके अलावा, अन्य खिलाड़ियों की सेव को भ्रष्ट करने की अनुमति देने वाले सभी ज्ञात शोषणों को ठीक कर दिया गया है। कई सामान्य छोटे-मोटे धोखे (जैसे "कर्स नाइफ") जो अक्सर ऑनलाइन मल्टीप्लेयर के दौरान सामने आ सकते थे, उन्हें भी पैच कर दिया गया है।

ds3-nrssr-rce

इस रिपॉजिटरी में FROM SOFTWARE गेम्स को प्रभावित करने वाले सबसे हालिया RCE शोषण, CVE-2022-24126 के लिए प्रूफ ऑफ कॉन्सेप्ट कोड और दस्तावेज़ीकरण शामिल है। हालांकि सैद्धांतिक रूप से अन्य गेम्स में संभव है, ध्यान डार्क सोल्स III पर है क्योंकि यह वह गेम है जिस पर मेरा शोध किया गया है। अब तक प्रूफ ऑफ कॉन्सेप्ट कोड केवल डार्क सोल्स III के लिए मौजूद है, इस कमजोरी की उपस्थिति की पुष्टि की गई है:

  • डार्क सोल्स 1 PTDE (क्रेडिट: LukeYui)
  • डार्क सोल्स रीमास्टर्ड (क्रेडिट: metal-crow)
  • डार्क सोल्स 2 (Scholar सहित) (क्रेडिट: LukeYui)
  • डार्क सोल्स 3 (1.15.0 तक) (क्रेडिट: tremwil)

कमजोर कोड सेकिरो में भी मौजूद है (क्रेडिट: LukeYui), हालांकि इसे ट्रिगर करने का कोई तरीका नहीं है। डेमन्स सोल्स में उपस्थिति की पुष्टि नहीं हुई है लेकिन बहुत संभावना है। जबकि बंद नेटवर्क टेस्ट इससे प्रभावित था, एल्डन रिंग का रिलीज़ संस्करण प्रभावित नहीं है। वास्तव में, नेटवर्क क्रैश, आउट-ऑफ-बाउंड्स रीड्स/राइट्स और शोषणों की एक बड़ी सूची जो खिलाड़ियों को साथियों के गेम डेटा को संशोधित करने की अनुमति देती थी, जो डार्क सोल्स III में मौजूद थे, एल्डन रिंग में पैच कर दिए गए हैं। इस सूची को संकलित करने के लिए LukeYui और तुरंत कार्रवाई करने के लिए FROM SOFTWARE को बधाई! मुझे यह कहते हुए खुशी हो रही है कि एल्डन रिंग निस्संदेह हैकर्स जो नुकसान पहुंचा सकते हैं उसकी सीमा के मामले में सबसे सुरक्षित FROM SOFTWARE शीर्षक है।

गलत धारणाओं को दूर करना

आम धारणा के विपरीत, यह कोई पीयर-टू-पीयर नेटवर्किंग शोषण नहीं है। यह मैचमेकिंग सर्वर से संबंधित है और इसलिए बहुत अधिक गंभीर है, क्योंकि एक अन्य मैचमेकिंग सर्वर कमजोरी (CVE-2022-24125) के कारण असुरक्षित होने के लिए आपको किसी भी मल्टीप्लेयर गतिविधि में भाग लेने की आवश्यकता नहीं है।

डार्क सोल्स III में, इसका दुरुपयोग करने वाला एक दुर्भावनापूर्ण हमलावर सेकंडों में प्रत्येक ऑनलाइन खिलाड़ी की मशीन पर 1.3MiB1 तक के शेलकोड का पेलोड विश्वसनीय रूप से निष्पादित करने में सक्षम होता।

सर्वर बंद होने से पहले के महीनों में लगभग 20,000 खिलाड़ियों के औसत समवर्ती खिलाड़ी आधार वाले गेम के साथ, यह स्पष्ट रूप से एक ऐसा मुद्दा था जिसे तत्काल ठीक करने की आवश्यकता थी, विशेष रूप से एल्डन रिंग में इसके होने की संभावना के साथ। चूंकि FROM SOFTWARE ने प्रूफ ऑफ कॉन्सेप्ट वीडियो और विस्तृत शोषण दस्तावेज़ीकरण (जिस पर इस रीडमी का एक बड़ा हिस्सा आधारित है) के साथ मेरी प्रारंभिक रिपोर्ट के 40 दिनों से अधिक समय बाद भी कार्रवाई नहीं की थी, मैंने डेवलपर्स द्वारा इसे संबोधित करने के लिए ध्यान आकर्षित करने की उम्मीद में सार्वजनिक रूप से एक सौम्य तरीके से शोषण के अस्तित्व को प्रदर्शित करने का फैसला किया, और यह काम कर गया।

विषयसूची

  • शोषण सारांश (CVE-2022-24126)
  • वितरण वेक्टर (CVE-2022-24125)
  • सभी गेम्स के लिए सामान्य शोषण रणनीति
    • बग #1: एंट्री लिस्ट पार्सर में कोई बाउंड्स चेक नहीं
    • बग #2: NRSessionSearchResult पार्सर में बफर ओवररन
    • ROP श्रृंखला के लिए रास्ता साफ करना
  • डार्क सोल्स III प्रूफ ऑफ कॉन्सेप्ट कोड
    • PoC कोड चलाना
    • हमला वेक्टर
    • वर्चुअल कॉल रीडायरेक्शन श्रृंखला
    • अतिरिक्त जानकारी

शोषण सारांश (CVE-2022-24126)

NRSessionSearchResult मैचमेकिंग डेटा के पार्सिंग के दौरान स्टैक बफर और डेटा साइज़ फील्ड पर अनुचित बाउंड्स चेकिंग एक हमलावर को मनमाना कोड निष्पादित करने की अनुमति देती है। स्टैक ओवरफ्लो स्ट्रीम रीडर द्वारा आंतरिक रूप से उपयोग किए जाने वाले DLMemoryInputStream ऑब्जेक्ट के निचले दो बाइट्स vftable_ptr को ओवरराइट करने की अनुमति देता है, जिससे निष्पादन सावधानीपूर्वक चुने गए पड़ोसी कोड पर रीडायरेक्ट हो जाता है। DLMemoryInputStream ऑब्जेक्ट की संरचना और डेटा साइज़ फील्ड का चतुर शोषण तब मनमाना कोड रीडायरेक्शन प्राप्त करने की अनुमति देता है, जिसमें RCX हमारे पैकेट के पते की ओर इशारा करता है। वहां से, विभिन्न ऑफ़सेट वाले वर्चुअल कॉल के माध्यम से कोड रीडायरेक्शन की एक श्रृंखला (जो अब उन पतों पर कूद जाएगी जो हमने पैकेट बफर में लिखे थे) का उपयोग मनमाना कोड निष्पादन प्राप्त करने के लिए किया जा सकता है।

वितरण वेक्टर (CVE-2022-24125)

वितरण वेक्टर ही इस विशेष RCE को विशेष रूप से गंभीर बनाते हैं (पहले से ही RCE होने के अलावा)। शोषण NRSessionSearchResult जानकारी वाले मैचमेकिंग पुश अनुरोधों के माध्यम से प्रेषित होता है। इसका मतलब है कि हमलावर उन सभी को लक्षित कर सकता है जो उनके ऑनलाइन सत्र में शामिल होते हैं। विशेष रूप से, DS3 के लिए:

  • समन्स (PushRequestSummonSign)
  • डार्क स्पिरिट आक्रमणकारी (PushRequestAllowBreakInTarget)
  • वाचा के माध्यम से शामिल होने वाले खिलाड़ी (PushRequestVisit)
  • अखाड़ा लड़ाके (PushRequestAcceptQuickMatch)

यह पहले से ही काफी बुरा है, लेकिन वास्तविक क्षमता RequestSendMessageToPlayers अनुरोध द्वारा अनलॉक की गई है:

message RequestSendMessageToPlayers { 
    repeated uint32 player_ids = 1; 
    required bytes push_message = 2;
}

होस्ट इस अनुरोध का उपयोग आक्रमणकारियों को सीधे PushRequestAllowBreakInTarget पुश संदेश भेजने के लिए करता है ताकि वे स्पॉन निर्देशांक प्राप्त कर सकें और अपने P2P सत्र में शामिल हो सकें। बस इतना ही। गेम द्वारा इस अनुरोध का उपयोग करने का यही एकमात्र तरीका है।

फिर भी यह किसी भी क्लाइंट को सैकड़ों हजारों विशिष्ट खिलाड़ियों को मनमाना पुश संदेश भेजने की अनुमति देता है।

मैं इस बात पर पर्याप्त जोर नहीं दे सकता कि यह कितना भयानक रूप से असुरक्षित है। कोई भी खिलाड़ी मूल रूप से मैचमेकिंग सर्वर का रूप धारण कर सकता है। PushRequestVisit के माध्यम से शोषण भेजने के लिए इस अनुरोध का उपयोग करके, किसी भी ऑनलाइन खिलाड़ी को हमलावर द्वारा दूरस्थ रूप से लक्षित किया जा सकता है, जब तक उनका खिलाड़ी आईडी ज्ञात हो। हमलावर कई अनुरोध भेजकर, प्रत्येक में संभावित खिलाड़ी आईडी का एक बड़ा टुकड़ा शामिल करके, पूरे ऑनलाइन खिलाड़ी आधार को बहुत जल्दी शोषण भेज सकता है।

सभी गेम्स के लिए सामान्य शोषण रणनीति

जबकि RCE हर गेम में बिल्कुल वैसा ही पोर्ट नहीं होता, शोषण का मुख्य विचार जो हमलावर को मनमाना कोड रीडायरेक्शन देता है वही है। यदि यह प्राप्त किया जा सकता है, तो बहुत संभावना है कि गेम-विशिष्ट वर्चुअल कॉल श्रृंखला या ROP श्रृंखला पाई जा सकती है। यह "पहला कदम" निम्नलिखित कमजोरियों का उपयोग करता है:

बग #1: एंट्री लिस्ट पार्सर में कोई बाउंड्स चेक नहीं

सत्र जुड़ने की जानकारी वाले मैचमेकिंग पुश अनुरोध उक्त जानकारी को एक कस्टम बाइनरी प्रारूप में संग्रहीत करते हैं जिसमें लंबाई-सीमांकित डेटा प्रविष्टियों की एक श्रृंखला होती है। प्रत्येक प्रविष्टि का निम्नलिखित प्रारूप है:

struct Entry
{
    uint32_t type_or_id; // पक्का नहीं, लेकिन शायद एक प्रकार (निश्चित लंबाई = 2, चर लंबाई = 1 ?)
    uint32_t size;
    uint8_t data[size];
}

इन प्रविष्टियों के डेटा को कॉपी करने के लिए जिम्मेदार गेम फ़ंक्शन आँख बंद करके साइज़ फील्ड पर भरोसा करता है, जो एक आउट-ऑफ-बाउंड्स रीड बनाता है। एक दुर्भावनापूर्ण क्लाइंट साइज़ फील्ड को 0x7FFFFFFF जैसे मानों पर सेट करके इसका दुरुपयोग कर सकता है, जिससे मेमोरी आवंटन विफल हो जाता है और पीड़ित का गेम क्रैश हो जाता है। बाद में, यह साइज़ DLMemoryInputSteam के कंस्ट्रक्टर को भी पास किया जाता है, जो शोषण का एक सहायक हिस्सा है।

Footnotes

  1. डार्क सोल्स III Ver. 1.15 के लिए। अधिकतम सैद्धांतिक पेलोड आकार स्टैक लेआउट पर निर्भर करता है और इस प्रकार गेम और संस्करण के अनुसार भिन्न होगा। ↩

टूल डाउनलोड करें