
विंडोज विशेषाधिकारों का (दुर)उपयोग करके ओएस के भीतर अपने अधिकारों को बढ़ाने की अनुमति देने वाले शोषण पथ।
यह विचार Windows OS के विशेषाधिकारों को एक ऐसे पथ में "अनुवाद" करना है जो निम्नलिखित की ओर ले जाता है:
विशेषाधिकार निम्नलिखित पर सूचीबद्ध और समझाए गए हैं: https://learn.microsoft.com/en-us/windows/win32/secauthz/privilege-constants
यदि लक्ष्य कई तरीकों से प्राप्त किया जा सकता है, तो प्राथमिकता है:
आप whoami /priv के साथ अपने स्वयं के विशेषाधिकारों की जांच कर सकते हैं। अक्षम विशेषाधिकार सक्षम विशेषाधिकारों के समान ही मान्य हैं। एकमात्र महत्वपूर्ण बात यह है कि आपके पास सूची में विशेषाधिकार है या नहीं।
नोट 1: जब भी हमला पथ टोकन निर्माण के साथ समाप्त होता है, आप मान सकते हैं कि अगला कदम ऐसे टोकन का उपयोग करके नई प्रक्रिया बनाना और फिर OS पर नियंत्रण लेना है।
नोट 2:
ए. सीधे NtQuerySystemInformation()/ZwQuerySystemInformation() को कॉल करने के लिए, आवश्यक विशेषाधिकार यहाँ पाए जा सकते हैं।
बी. NtSetSystemInformation()/ZwSetSystemInformation() के लिए आवश्यक विशेषाधिकार यहाँ सूचीबद्ध हैं।
नोट 3: मैं केवल OS पर ध्यान केंद्रित कर रहा हूं। यदि कोई विशेषाधिकार AD में काम करता है लेकिन OS में नहीं, तो मैं इसे OS में उपयोग नहीं किए जाने के रूप में वर्णित कर रहा हूं। यह अच्छा होगा यदि कोई AD-उन्मुख परिदृश्यों में गहराई से खोज करे।
बेझिझक योगदान दें और/या प्रस्तुत विचारों पर चर्चा करें।
| विशेषाधिकार | प्रभाव | उपकरण | निष्पादन पथ | टिप्पणियाँ |
|---|---|---|---|---|
SeAssignPrimaryToken | प्रशासक | तृतीय-पक्ष उपकरण | "यह एक उपयोगकर्ता को टोकन का प्रतिरूपण करने और potato.exe, rottenpotato.exe और juicypotato.exe जैसे उपकरणों का उपयोग करके nt सिस्टम में विशेषाधिकार वृद्धि करने की अनुमति देगा" | Aurélien Chalot को अपडेट के लिए धन्यवाद। मैं इसे जल्द ही अधिक रेसिपी-जैसी चीज़ में पुनः लिखने का प्रयास करूंगा। |
SeAudit | खतरा | तृतीय-पक्ष उपकरण | ऑडिटिंग को मूर्ख बनाने या पुरानी घटनाओं को अधिलेखित करने के लिए सुरक्षा घटना लॉग में घटनाएँ लिखें। | स्वयं की घटनाएँ लिखना Authz Report Security Event API से संभव है।- @daem0nc0re द्वारा PoC देखें |
SeBackup | प्रशासक | तृतीय-पक्ष उपकरण | 1. HKLM\SAM और HKLM\SYSTEM रजिस्ट्री हाइव्स का बैकअप लें 2. SAM डेटाबेस से स्थानीय खातों के हैश निकालें 3. स्थानीय Administrators समूह के सदस्य के रूप में Pass-the-Hash करें वैकल्पिक रूप से, संवेदनशील फ़ाइलों को पढ़ने के लिए उपयोग किया जा सकता है। | अधिक जानकारी के लिए, SeBackupPrivilege फ़ाइल देखें।- @daem0nc0re द्वारा PoC देखें |
SeChangeNotify | कोई नहीं | - | - | यह विशेषाधिकार सभी के पास होता है। इसे रद्द करने से OS (Windows Server 2019) बूट करने योग्य नहीं रह सकता है। |
SeCreateGlobal | ? | ? | ? | |
SeCreatePagefile | कोई नहीं | अंतर्निहित कमांड | hiberfil.sys बनाएं, इसे ऑफ़लाइन पढ़ें, संवेदनशील डेटा देखें। | ऑफ़लाइन एक्सेस की आवश्यकता है, जो वैसे भी प्रशासक अधिकारों की ओर ले जाता है। - @daem0nc0re द्वारा PoC देखें |
SeCreatePermanent | ? | ? | ? | |
SeCreateSymbolicLink | ? | ? | ? | |
SeCreateToken | प्रशासक | तृतीय-पक्ष उपकरण | NtCreateToken के साथ स्थानीय प्रशासक अधिकारों सहित मनमाना टोकन बनाएं।- @daem0nc0re द्वारा PoC देखें | |
SeDebug | प्रशासक | PowerShell | lsass.exe टोकन की प्रतिलिपि बनाएं। | स्क्रिप्ट FuzzySecurity पर उपलब्ध है। - @daem0nc0re द्वारा PoC देखें |
SeDelegateSession-UserImpersonate | ? | ? | ? | कॉलम को संकीर्ण बनाने के लिए विशेषाधिकार का नाम तोड़ा गया। |
SeEnableDelegation | कोई नहीं | - | - | Windows OS में विशेषाधिकार का उपयोग नहीं किया जाता है। |
SeImpersonate | प्रशासक | तृतीय-पक्ष उपकरण | Potato परिवार के उपकरण (potato.exe, RottenPotato, RottenPotatoNG, Juicy Potato, SweetPotato, RemotePotato0), RogueWinRM, PrintSpoofer, आदि। | SeAssignPrimaryToken के समान, डिज़ाइन द्वारा किसी अन्य उपयोगकर्ता के सुरक्षा संदर्भ में प्रक्रिया बनाने की अनुमति देता है (उस उपयोगकर्ता के टोकन के हैंडल का उपयोग करके)। आवश्यक टोकन प्राप्त करने के लिए कई उपकरणों और तकनीकों का उपयोग किया जा सकता है। |
SeIncreaseBasePriority | उपलब्धता | अंतर्निहित कमांड | start /realtime SomeCpuIntensiveApp.exe | सर्वरों पर अधिक दिलचस्प हो सकता है। |
SeIncreaseQuota | उपलब्धता | तृतीय-पक्ष उपकरण | CPU, मेमोरी और कैश सीमाओं को कुछ ऐसे मानों में बदलें जो OS को बूट करने योग्य नहीं बनाते। | - सुरक्षित मोड में कोटा की जाँच नहीं की जाती है, जिससे मरम्मत अपेक्षाकृत आसान हो जाती है। - रजिस्ट्री कोटा प्रबंधित करने के लिए भी यही विशेषाधिकार उपयोग किया जाता है। |
SeIncreaseWorkingSet | कोई नहीं | - | - | यह विशेषाधिकार सभी के पास होता है। मेमोरी प्रबंधन कार्यों को ठीक करने के लिए कॉल करते समय जाँच की जाती है। |
SeLoadDriver | प्रशासक | तृतीय-पक्ष उपकरण | 1. बगी कर्नेल ड्राइवर जैसे szkg64.sys लोड करें2. ड्राइवर भेद्यता का शोषण करें वैकल्पिक रूप से, fltMC अंतर्निहित कमांड के साथ सुरक्षा-संबंधित ड्राइवरों को अनलोड करने के लिए विशेषाधिकार का उपयोग किया जा सकता है। उदा.: fltMC sysmondrv | 1. szkg64 भेद्यता CVE-2018-15732 के रूप में सूचीबद्ध है2. szkg64 शोषण कोड Parvez Anwar द्वारा बनाया गया था |
SeLockMemory | उपलब्धता | तृतीय-पक्ष उपकरण | पृष्ठों को स्थानांतरित करके सिस्टम मेमोरी विभाजन को भूखा करें। | Walied Assar (@waleedassar) द्वारा प्रकाशित PoC |
SeMachineAccount | कोई नहीं | - | - | Windows OS में विशेषाधिकार का उपयोग नहीं किया जाता है। |
SeManageVolume | प्रशासक | तृतीय-पक्ष उपकरण | 1. टोकन में विशेषाधिकार सक्षम करें 2. SYNCHRONIZE | FILE_TRAVERSE के साथ \.\C: के लिए हैंडल बनाएं3. S-1-5-32-544 को S-1-5-32-545 से बदलने के लिए FSCTL_SD_GLOBAL_CHANGE भेजें4. utilman.exe आदि को अधिलेखित करें। | FSCTL_SD_GLOBAL_CHANGE को इस कोड टुकड़े से बनाया जा सकता है। |
SeProfileSingleProcess | कोई नहीं | - | - | Prefetch, SuperFetch और ReadyBoost के मापदंडों को बदलने से पहले (और बहुत सीमित कमांड में, पूछताछ करने से पहले) विशेषाधिकार की जाँच की जाती है। वास्तविक प्रभाव ज्ञात नहीं होने के कारण प्रभाव को समायोजित किया जा सकता है। |