
Windows privilege escalation tool exploiting SeImpersonate privileges via Named Pipe impersonation, supporting multiple execution methods (CreateProcessWithTokenW, CreateProcessAsUserW, CreateUser, BindShell) for SYSTEM access.
सबसे पहले - @splinter_code और @decoder_it को श्रेय जाता है RoguePotato के लिए, क्योंकि यह कोड उसी पर आधारित है।
यह एक और Potato है जो SeImpersonate विशेषाधिकारों के माध्यम से SYSTEM प्राप्त करने के लिए है। लेकिन यह निम्नलिखित मामलों में अलग है:
CreateProcessWithTokenW का उपयोग करके एक नई प्रक्रिया प्रारंभ नहीं करता है। इसके बजाय आप CreateProcessWithTokenW, CreateProcessAsUserW, CreateUser और BindShell के बीच चुन सकते हैं।इसलिए यह परियोजना एक NamedPipe Server खोलने, उससे जुड़ने वाले किसी भी उपयोगकर्ता का प्रतिरूपण करने और उसके बाद ऊपर बताए गए विकल्पों में से एक को करने में सक्षम है। यदि भविष्य में कोई नया SYSTEM प्रमाणीकरण ट्रिगर प्रकाशित किया जाता है, तब भी इस टूल का उपयोग विशेषाधिकारों को ऊपर उठाने के लिए किया जा सकता है - आपको बस इस मामले में किसी अन्य Pipe-Name का उपयोग करना होगा।
उदाहरण:
c:\temp\MultiPotato> MultiPotato.exe -t CreateUser
आपके पास डिफ़ॉल्ट रूप से 60 सेकंड का समय है (जिसे THEAD_TIMEOUT के माध्यम से बदला जा सकता है) ताकि SYSTEM खाता या कोई अन्य खाता प्रमाणीकरण कर सके। यह उदाहरण के लिए एक अनपैच MS-EFSRPC फ़ंक्शन के माध्यम से किया जा सकता है। डिफ़ॉल्ट रूप से MultiPotato, पाइपनाम \\.\pipe\pwned/pipe/srvsvc पर सुनता है, जिसे MS-EFSRPC के साथ संयोजन में उपयोग करने का इरादा है। अन्य SYSTEM प्रमाणीकरण ट्रिगर के लिए आप इस मान को -p पैरामीटर के माध्यम से समायोजित कर सकते हैं।
c:\temp\MultiPotato> PetitPotamModified.exe localhost/pipe/pwned localhost
किसी दूरस्थ सिस्टम से PetitPotam.py को ट्रिगर के रूप में उपयोग करना, एक मान्य निम्न-विशेषाधिकार प्राप्त उपयोगकर्ता के साथ, निश्चित रूप से भी संभव है।
c:\temp\MultiPotato> MultiPotato.exe -t CreateProcessAsUserW -p "pwned\pipe\spoolss" -e "C:\temp\stage2.exe"
और इसे इस प्रकार ट्रिगर करें:
c:\temp\MultiPotato>MS-RPRN.exe \\192.168.100.150 \\192.168.100.150/pipe/pwned
महत्वपूर्ण: मेरे MS-RPRN के परीक्षणों में, मैं लक्ष्य के रूप में localhost या 127.0.0.1 का उपयोग नहीं कर सका, यह नेटवर्क IP पता या FQDN होना चाहिए। इसके अलावा, इसके काम करने के लिए प्रिंटर सेवा सक्षम होनी चाहिए।
c:\temp\MultiPotato> MultiPotato.exe -t BindShell -p "pwned\pipe\spoolss"
हाल ही में मैंने एक पेनिट्रेशन टेस्ट किया, जहां मैं SQL-Injection और XP_CMDShell के माध्यम से एक MSSQL सर्वर को हैक करने में सक्षम था। लेकिन इस लक्ष्य प्रणाली पर सभी सार्वजनिक Potatoes सेवा-खाते से SYSTEM तक विशेषाधिकार बढ़ाने में विफल रहे। सिस्टम प्रमाणीकरण ट्रिगर समस्या नहीं थी - इसके बजाय CreateProcessWithTokenW हर बार NTSTATUS कोड 5 - एक्सेस अस्वीकृत के साथ विफल हुआ। यह मेरे लिए वास्तव में समझ में नहीं आया और यह एक किनारे का मामला हो सकता है। इसका एक कारण हो सकता है स्थानीय एंडपॉइंट सुरक्षा, जिसने SYSTEM का प्रतिरूपण करने के बाद प्रक्रिया निर्माण को अवरुद्ध कर दिया हो।
इसलिए मैंने विकल्पों की खोज की - और ट्विटर पर कुछ लोगों से इसके बारे में पूछा। फिर से @splinter_code को श्रेय जाता है, जिन्होंने मुझे समझाया कि CreateProcessAsUserW के माध्यम से यह कैसे किया जाता है, जो प्वॉन किए गए MSSQL सर्वर पर SYSTEM C2-कॉलबैक प्राप्त करने के लिए ठीक काम किया।