Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
PS5-UMTX-Jailbreak — PS5 के लिए एक वेबकिट-आधारित कर्नेल एक्सप्लॉइट और जेलब्रेक | Kitploit
उपकरण/GitHubGitHub/ps5dev/ps5-umtx-jailbreak
विशेषाधिकार वृद्धिशोषणपोस्ट-शोषणबाइनरी शोषण
GitHubps5dev/ps5-umtx-jailbreak

PS5-UMTX-Jailbreak

PS5 के लिए एक वेबकिट-आधारित कर्नेल एक्सप्लॉइट और जेलब्रेक

रिपॉजिटरी देखें
2473911 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

PS5 UMTX जेलब्रेक


सारांश

इस रिपॉजिटरी में एक WebKit ROP एक्सप्लॉइट है जो UMTX रेस use-after-free (CVE-2024-43102) भेद्यता का शोषण करता है, जिसे Synacktiv द्वारा रिपोर्ट किया गया था। यह मूल रूप से fail0verflow और flatz की एक्सप्लॉइट रणनीति का पोर्ट है। यह कर्नेल थ्रेड स्टैक में read/write मैपिंग पाने के लिए UAF का दुरुपयोग करता है, और कर्नेल में (बिल्कुल आदर्श नहीं) मनमाना read/write प्रिमिटिव स्थापित करने के लिए पाइप रीड और राइट का लाभ उठाता है। इस read/write को फिर एक बेहतर प्रिमिटिव तक उन्नत किया जाता है जो स्थिर read/write के लिए एक ipv6 सॉकेट जोड़ी और पाइप जोड़ी का लाभ उठाता है, जिसे पिछले IPV6 PS5 कर्नेल एक्सप्लॉइट के समान तरीके से पेलोड्स को पारित किया जा सकता है।

यह पेज स्वयं idlesauce का PS5 एक्सप्लॉइट होस्ट का एक छोटा और संशोधित संस्करण है, क्योंकि उसमें पहले से ही psfree को मेरी पहले इस्तेमाल की गई कोड शैली से जोड़ने का काम किया गया था। यह होस्ट चीजों को चलाने के लिए मेरी व्यक्तिगत पसंद भी है क्योंकि यह बहुत सहज है और उपयोगी पेलोड्स को एकीकृत करता है, उम्मीद है कि निकट भविष्य में इसे इस एक्सप्लॉइट को सपोर्ट करने के लिए अपडेट किया जाएगा <3।

अंततः एक पेलोड लोडर लॉन्च किया जाएगा जो पोर्ट 9021 पर पेलोड ELF की सुनवाई करेगा। मैं PS5 Payload Dev SDK की अनुशंसा करता हूं, क्योंकि कर्नेल ऑफसेट जोड़े जाने पर इस लोडर के साथ इसकी पूर्ण संगतता होनी चाहिए।

यह भेद्यता 1.00 फर्मवेयर से 7.61 फर्मवेयर को प्रभावित करती है, हालांकि FW >= 3.00 में अतिरिक्त शमन प्रतीत होते हैं जिनके लिए एक्सप्लॉइट को काम करने हेतु बदलाव की आवश्यकता होती है। चूंकि मैं ज्यादातर केवल निचले फर्मवेयर में रुचि रखता हूं, यह एक्सप्लॉइट अभी तक FW >= 3.00 का समर्थन नहीं करता है। इसके अलावा, जिस WebKit भेद्यता को हम चेन करते हैं उसे 6.00 में पैच कर दिया गया था, इसलिए इन प्रणालियों के लिए एक और WebKit एक्सप्लॉइट की आवश्यकता होगी जो यूजरलैंड read/write प्राप्त करता है। फिर से, चूंकि मैं उच्च फर्मवेयर पर केंद्रित नहीं हूं, इसे अभी अधूरा छोड़ दिया गया है।

महत्वपूर्ण नोट्स

  • 3.00+ में कम विश्वसनीयता है और इसे निष्पादित होने में अधिक समय लग सकता है, यदि आप कुछ समय के लिए "triggering race" पर अटके हुए हैं, तो ब्राउज़र बंद करें और पुनः प्रयास करें।
  • 5.00+ पर ELF लोडर वर्तमान में काम नहीं करता है, क्योंकि हम अब dlsym को ठीक से लागू नहीं कर सकते, पेलोड SDK में बदलाव की आवश्यकता है।

निम्नलिखित फर्मवेयर वर्तमान में समर्थित हैं:

  • 1.xx [1.00, 1.01, 1.02, 1.05, 1.10, 1.11, 1.12, 1.13, 1.14]
  • 2.xx [2.00, 2.20, 2.25, 2.26, 2.30, 2.50, 2.70]
  • 3.xx [3.00, 3.20]
  • 4.xx [4.00, 4.02, 4.03, 4.50, 4.51]
  • 5.xx [5.00, 5.02, 5.10, 5.50]

वर्तमान में शामिल

  • मनमाना कर्नेल read/write प्राप्त करता है
  • डीबग सेटिंग्स मेनू सक्षम करता है (नोट: इसे देखने के लिए आपको सेटिंग्स से पूरी तरह बाहर निकलना होगा और फिर वापस जाना होगा)।
  • रूट विशेषाधिकार प्राप्त करता है और सैंडबॉक्स/जेल से बाहर निकलता है।
  • पेलोड निष्पादित करने के लिए पोर्ट 9021 पर John Tornblom का ELF लोडर चलाता है (< 5.00FW पर)

सीमाएँ

  • यह एक्सप्लॉइट read/write प्राप्त करता है, लेकिन कोड निष्पादन नहीं। ऐसा इसलिए है क्योंकि हम वर्तमान में गैजेट्स के लिए कर्नेल कोड डंप नहीं कर सकते, क्योंकि कर्नेल .text पेज eXecute Only Memory (XOM) के रूप में चिह्नित हैं। कर्नेल .text पॉइंटर्स को पढ़ने का प्रयास करने से पैनिक हो जाएगा!
  • उपरोक्त + हाइपरवाइजर (HV) द्वारा कर्नेल राइट प्रोटेक्शन लागू करने के कारण, यह एक्सप्लॉइट कर्नेल स्पेस में कोई पैच या हुक स्थापित नहीं कर सकता।
  • Clang-आधारित फाइन-ग्रेन्ड कंट्रोल फ्लो इंटीग्रिटी (CFI) मौजूद है और लागू है।
  • HV के कारण सुपरवाइज़र मोड एक्सेस प्रिवेंशन/एग्ज़ीक्यूशन (SMAP/SMEP) को अक्षम नहीं किया जा सकता।
  • FW >= 6.00 के लिए नए WebKit एक्सप्लॉइट की आवश्यकता होती है और इस प्रकार यह समर्थित नहीं है।

उपयोग कैसे करें

  1. अपने पीसी के आईपी पते पर manuals.playstation.net को इंगित करने के लिए dns.conf के माध्यम से fakedns कॉन्फ़िगर करें
  2. फेक DNS चलाएँ: python fakedns.py -c dns.conf
  3. HTTPS सर्वर चलाएँ: python host.py
  4. PS5 की एडवांस्ड नेटवर्क सेटिंग्स में जाएं और प्राइमरी DNS को अपने पीसी के आईपी पते पर सेट करें और सेकेंडरी को 0.0.0.0 पर छोड़ दें
    1. कभी-कभी मैनुअल फिर भी लोड नहीं होता है और रीस्टार्ट की आवश्यकता होती है, यह वास्तव में अजीब है कि ऐसा क्यों होता है
  5. सेटिंग्स में यूज़र मैनुअल पर जाएं, अविश्वसनीय प्रमाणपत्र संकेत स्वीकार करें, और चलाएं
  6. वैकल्पिक: कर्नेल .data डंप कोड को अनकमेंट करें और डंप सर्वर स्क्रिप्ट चलाएं (नोट: exploit.js में पता/पोर्ट प्रतिस्थापित किया जाना चाहिए)।

भविष्य का कार्य

  • FW >= 3.xx के लिए एक्सप्लॉइट रणनीति को अपडेट करें ताकि शमन को ध्यान में रखा जा सके
  • अधिक (निचले) फर्मवेयर के लिए ऑफसेट जोड़ें
  • FW >= 6.00 के लिए WebKit एक्सप्लॉइट जोड़ें।

ELF लोडर का उपयोग

ELF लोडर का उपयोग करने के लिए, एक्सप्लॉइट को पूर्णता तक चलाएं। पूरा होने पर यह पोर्ट :9021 पर एक सर्वर चलाएगा। कनेक्ट करें और अपने ELF को TCP के माध्यम से PS5 को भेजें और यह उसे चलाएगा। यह लोडर ब्राउज़र से बाहर निकलने के बाद भी पेलोड्स को स्वीकार और निष्पादित करता रहना चाहिए।

एक्सप्लॉइट रणनीति नोट्स

प्रारंभिक डबल फ्री

इस एक्सप्लॉइट की रणनीति काफी हद तक fail0verflow और flatz से आती है। भेद्यता पर अधिक जानकारी के लिए chris@accessvector का राइटअप देखें। एक्सप्लॉइट करने पर, यह अनिवार्य रूप से हमें एक डबल फ्री देता है। हम इसका उपयोग कर्नेल स्टैक के vmobject को mmap मैपिंग के साथ ओवरलैप करने के लिए कर सकते हैं, जिससे कर्नेल थ्रेड के स्टैक में एक खिड़की मिलती है। यह अत्यंत शक्तिशाली क्षमता हमें स्टैक पर मनमाने कर्नेल पॉइंटर्स को read/write करने की अनुमति देती है, जिससे ASLR विफल हो जाता है और प्रिमिटिव बनाने की क्षमता मिलती है। जिस थ्रेड के स्टैक तक हमारी पहुंच है, हम उसे विक्टिम थ्रेड कहेंगे।

मनमाना read/write प्राप्त करना

मुख्य थ्रेड पर एक पाइप बनाकर और पाइप बफर को भरकर, फिर विक्टिम थ्रेड का उपयोग करके उसमें लिखने का प्रयास करके, विक्टिम थ्रेड बफर में जगह खाली होने की प्रतीक्षा में ब्लॉक हो जाएगा। इस दौरान, हम कर्नेल स्टैक में अपनी खिड़की का उपयोग करके iovec पॉइंटर्स को कर्नेल पॉइंटर्स में बदल सकते हैं और फ्लैग सेट कर सकते हैं ताकि उन्हें कर्नेल एड्रेस के रूप में माना जाए। फिर मुख्य थ्रेड पर पाइप पढ़कर, हम कर्नेल मनमाना read प्राप्त कर सकते हैं।

इसी तरह, विक्टिम थ्रेड को पाइप पर पढ़ने के लिए प्रेरित करके, यह आने वाले डेटा की प्रतीक्षा में ब्लॉक हो जाएगा। फिर हम, फिर से, iovec पॉइंटर्स को ओवरराइट करके उन्हें कर्नेल पॉइंटर्स बना सकते हैं, और कर्नेल मनमाना write प्राप्त करने के लिए मुख्य थ्रेड पर डेटा लिख सकते हैं।

मनमाने read/write को उन्नत करना

इस चरण तक, हमारे पास बिना किसी वास्तविक बाधा के एक मनमाना read/write होता है, लेकिन हम इसके काम करने के लिए मल्टीथ्रेडिंग और ब्लॉकिंग का उपयोग करने से बंधे होते हैं, जो आदर्श नहीं है। फिर हम प्रक्रिया की FD तालिका को पुनरावृत्त करने और दो IPV6 सॉकेट्स के pktopts को ओवरलैप करने के लिए R/W का उपयोग करते हैं। फिर हम IPV6_PKTINFO sockopt के माध्यम से एक और मनमाना read/write बना सकते हैं। यह read/write प्रिमिटिव फिर से आदर्श नहीं है, क्योंकि यह अंतर्निहित सॉकेट विकल्प के कारण आकार और सामग्री में सीमित है। हम इस चरण को ज्यादातर IPV6 एक्सप्लॉइट के परिदृश्य का अनुकरण करने के लिए रखते हैं, जिस पर अधिकांश पेलोड और इसी तरह की चीजें बनाई गई थीं।

हम पाइप के माध्यम से बेहतर read/write प्राप्त कर सकते हैं। प्रक्रिया की FD तालिका को फिर से पुनरावृत्त करके और pipemap बफर ऑब्जेक्ट्स को संशोधित करके, हम read/write स्थापित कर सकते हैं। IPV6 सॉकेट जोड़ी का उपयोग pipemap बफर को नियंत्रित करने के लिए एक तंत्र के रूप में किया जाता है।

करप्शन को ठीक करना/टालना

यदि हम चीजों को वैसे ही छोड़ देते हैं और ब्राउज़र को बंद करने का प्रयास करते हैं, तो सिस्टम क्रैश हो जाएगा। ऐसा इसलिए है क्योंकि प्रक्रिया क्लीनअप उस कर्नेल स्टैक को फ्री करने का प्रयास करेगा जो पहले ही फ्री किया जा चुका है। इससे बचने के लिए, हम दो काम करते हैं:

  1. प्रारंभिक डबल फ्री के लिए उपयोग किए जाने वाले shm FD पर जानबूझकर refcount लीक करें ताकि प्रक्रिया से बाहर निकलने पर इसे फ्री न किया जाए
  2. प्रक्रिया की थ्रेड सूची में विक्टिम थ्रेड के td_kstack को शून्य करें।

स्थिरता नोट्स

FW < 3.00 पर, यह एक्सप्लॉइट बहुत स्थिर है। विफलता का एकमात्र महत्वपूर्ण बिंदु vmobjects को ओवरलैप करने में विफल होना है। उच्च फर्मवेयर पर, पेज/हीप आवंटनकर्ता स्तर पर कथित शमन के कारण यह ओवरलैप प्राप्त करना अधिक कठिन है।

क्रेडिट्स / शाउट्स

  • fail0verflow
  • flatz
  • ChendoChap
  • SlidyBat
  • abc/psfree
  • idlesauce
  • Znullptr
  • zecoxao
  • SocracticBliss
  • John Tornblom

डिस्कॉर्ड

PS5 अनुसंधान/विकास में योगदान करने में रुचि रखने वाले यहां मेरे द्वारा सेटअप किए गए डिस्कॉर्ड से जुड़ सकते हैं।

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