
RottenPotatoNG का एक मीठा संस्करण, थोड़े से रस के साथ, अर्थात एक और स्थानीय विशेषाधिकार वृद्धि उपकरण, विंडोज सेवा खातों से NT AUTHORITY\SYSTEM तक।
RottenPotatoNG का एक मीठा संस्करण, थोड़े से रस के साथ, यानी एक और स्थानीय विशेषाधिकार वृद्धि उपकरण, Windows सेवा खातों से NT AUTHORITY\SYSTEM तक
RottenPotatoNG और इसके वेरिएंट BITS सेवा पर आधारित विशेषाधिकार वृद्धि श्रृंखला का लाभ उठाते हैं, जिसमें MiTM लिसनर 127.0.0.1:6666 पर होता है और जब आपके पास SeImpersonate या SeAssignPrimaryToken विशेषाधिकार होते हैं। Windows बिल्ड समीक्षा के दौरान हमने एक सेटअप पाया जहाँ BITS जानबूझकर अक्षम किया गया था और पोर्ट 6666 पहले से उपयोग में था।
हमने RottenPotatoNG को हथियार बनाने का निर्णय लिया: जूसी पोटैटो को नमस्ते कहें।
सिद्धांत के लिए, Rotten Potato - सेवा खातों से SYSTEM तक विशेषाधिकार वृद्धि देखें और लिंक और संदर्भों की श्रृंखला का पालन करें।
हमने पाया कि, BITS के अलावा कई COM सर्वर हैं जिनका हम दुरुपयोग कर सकते हैं। उन्हें बस इतना चाहिए:
IMarshal इंटरफ़ेस को लागू करेंकुछ परीक्षण के बाद हमने कई Windows संस्करणों पर दिलचस्प CLSID की एक व्यापक सूची प्राप्त और परीक्षण की।
JuicyPotato आपको अनुमति देता है:
लक्ष्य CLSID
अपनी पसंद का कोई भी CLSID चुनें। यहाँ आप OS के अनुसार व्यवस्थित सूची पा सकते हैं।
COM सुनने का पोर्ट
अपना पसंदीदा COM सुनने का पोर्ट परिभाषित करें (हार्डकोडेड 6666 के बजाय)
COM सुनने का IP पता
सर्वर को किसी भी IP पर बाइंड करें
प्रक्रिया निर्माण मोड
प्रतिरूपित उपयोगकर्ता के विशेषाधिकारों के आधार पर आप इनमें से चुन सकते हैं:
CreateProcessWithToken (SeImpersonate की आवश्यकता है)CreateProcessAsUser (SeAssignPrimaryToken की आवश्यकता है)bothलॉन्च करने की प्रक्रिया
यदि शोषण सफल होता है तो एक निष्पादन योग्य या स्क्रिप्ट लॉन्च करें
प्रक्रिया तर्क
लॉन्च की गई प्रक्रिया के तर्कों को अनुकूलित करें
RPC सर्वर पता
एक गुप्त दृष्टिकोण के लिए आप बाहरी RPC सर्वर से प्रमाणित कर सकते हैं
RPC सर्वर पोर्ट
उपयोगी यदि आप बाहरी सर्वर से प्रमाणित करना चाहते हैं और फ़ायरवॉल पोर्ट 135 को अवरुद्ध कर रहा है...
परीक्षण मोड
मुख्यतः परीक्षण उद्देश्यों के लिए, अर्थात CLSID का परीक्षण। यह DCOM बनाता है और टोकन के उपयोगकर्ता को प्रिंट करता है। परीक्षण के लिए
T:\>JuicyPotato.exe
JuicyPotato v0.1
Mandatory args:
-t createprocess call: <t> CreateProcessWithTokenW, <u> CreateProcessAsUser, <*> try both
-p <program>: program to launch
-l <port>: COM server listen port
Optional args:
-m <ip>: COM server listen address (default 127.0.0.1)
-a <argument>: command line argument to pass to program (default NULL)
-k <ip>: RPC server ip address (default 127.0.0.1)
-n <port>: RPC server listen port (default 135)
-c <{clsid}>: CLSID (default BITS:{4991d34b-80a1-4291-83b6-3328366b9097})
-z only test CLSID and print token's user

यदि उपयोगकर्ता के पास SeImpersonate या SeAssignPrimaryToken विशेषाधिकार हैं तो आप SYSTEM हैं।
इन सभी COM सर्वरों के दुरुपयोग को रोकना लगभग असंभव है। आप DCOMCNFG के माध्यम से इन ऑब्जेक्ट्स की अनुमतियों को संशोधित करने के बारे में सोच सकते हैं लेकिन शुभकामनाएँ, यह चुनौतीपूर्ण होने वाला है।
वास्तविक समाधान संवेदनशील खातों और अनुप्रयोगों की रक्षा करना है जो * SERVICE खातों के अंतर्गत चलते हैं।
DCOM को रोकना निश्चित रूप से इस शोषण को बाधित करेगा लेकिन अंतर्निहित OS पर गंभीर प्रभाव डाल सकता है।
एक स्वचालित बिल्ड उपलब्ध है। बाइनरीज़ यहाँ से Artifacts अनुभाग से डाउनलोड की जा सकती हैं।
BlackArch में भी उपलब्ध है।