Active Directory Methodology

Reading time: 35 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

Basic overview

Active Directory एक मौलिक तकनीक के रूप में कार्य करता है, जो नेटवर्क प्रशासकों को डोमेन, उपयोगकर्ताओं, और वस्तुओं को प्रभावी ढंग से बनाने और प्रबंधित करने की अनुमति देता है। इसे स्केल करने के लिए डिज़ाइन किया गया है, जो एक विस्तृत संख्या में उपयोगकर्ताओं को प्रबंधनीय समूहों और उपसमूहों में व्यवस्थित करने में मदद करता है, जबकि विभिन्न स्तरों पर पहुँच अधिकारों को नियंत्रित करता है।

Active Directory की संरचना तीन प्रमुख परतों में विभाजित है: डोमेन, पेड़, और जंगल। एक डोमेन वस्तुओं का एक संग्रह है, जैसे उपयोगकर्ता या डिवाइस, जो एक सामान्य डेटाबेस साझा करते हैं। पेड़ इन डोमेन के समूह होते हैं जो एक साझा संरचना द्वारा जुड़े होते हैं, और एक जंगल कई पेड़ों का संग्रह है, जो विश्वास संबंधों के माध्यम से आपस में जुड़े होते हैं, जो संगठनात्मक संरचना की सबसे ऊपरी परत बनाते हैं। प्रत्येक स्तर पर विशिष्ट पहुँच और संचार अधिकार निर्धारित किए जा सकते हैं।

Active Directory के भीतर प्रमुख अवधारणाएँ शामिल हैं:

  1. Directory – Active Directory वस्तुओं से संबंधित सभी जानकारी को रखता है।
  2. Object – निर्देशिका के भीतर की संस्थाएँ, जैसे उपयोगकर्ता, समूह, या साझा फ़ोल्डर को दर्शाता है।
  3. Domain – निर्देशिका वस्तुओं के लिए एक कंटेनर के रूप में कार्य करता है, जिसमें कई डोमेन एक जंगल के भीतर सह-अस्तित्व में हो सकते हैं, प्रत्येक अपनी स्वयं की वस्तु संग्रह बनाए रखता है।
  4. Tree – डोमेन का एक समूह जो एक सामान्य रूट डोमेन साझा करता है।
  5. Forest – Active Directory में संगठनात्मक संरचना का शिखर, जिसमें कई पेड़ होते हैं जिनमें विश्वास संबंध होते हैं।

Active Directory Domain Services (AD DS) एक श्रृंखला की सेवाओं को शामिल करता है जो नेटवर्क के भीतर केंद्रीकृत प्रबंधन और संचार के लिए महत्वपूर्ण हैं। इन सेवाओं में शामिल हैं:

  1. Domain Services – डेटा भंडारण को केंद्रीकृत करता है और उपयोगकर्ताओं और डोमेन के बीच इंटरैक्शन का प्रबंधन करता है, जिसमें प्रमाणीकरण और खोज कार्यक्षमताएँ शामिल हैं।
  2. Certificate Services – सुरक्षित डिजिटल प्रमाणपत्रों के निर्माण, वितरण, और प्रबंधन की देखरेख करता है।
  3. Lightweight Directory ServicesLDAP प्रोटोकॉल के माध्यम से निर्देशिका-सक्षम अनुप्रयोगों का समर्थन करता है।
  4. Directory Federation Services – एकल सत्र में कई वेब अनुप्रयोगों में उपयोगकर्ताओं को प्रमाणित करने के लिए सिंगल-साइन-ऑन क्षमताएँ प्रदान करता है।
  5. Rights Management – बिना अनुमति के वितरण और उपयोग को नियंत्रित करके कॉपीराइट सामग्री की सुरक्षा में मदद करता है।
  6. DNS Serviceडोमेन नामों के समाधान के लिए महत्वपूर्ण है।

अधिक विस्तृत स्पष्टीकरण के लिए देखें: TechTerms - Active Directory Definition

Kerberos Authentication

AD पर हमला करने के लिए आपको Kerberos प्रमाणीकरण प्रक्रिया को बहुत अच्छे से समझना होगा।
यदि आप अभी भी नहीं जानते कि यह कैसे काम करता है, तो इस पृष्ठ को पढ़ें।

Cheat Sheet

आप https://wadcoms.github.io/ पर जाकर AD को सूचीबद्ध/शोषण करने के लिए आप कौन से कमांड चला सकते हैं, इसका त्वरित अवलोकन प्राप्त कर सकते हैं।

Recon Active Directory (No creds/sessions)

यदि आपके पास केवल AD वातावरण तक पहुँच है लेकिन आपके पास कोई क्रेडेंशियल/सत्र नहीं हैं, तो आप कर सकते हैं:

  • नेटवर्क का परीक्षण करें:
  • नेटवर्क को स्कैन करें, मशीनें और खुले पोर्ट खोजें और उन पर कमजोरियों का शोषण करने या क्रेडेंशियल्स निकालने का प्रयास करें (उदाहरण के लिए, प्रिंटर बहुत दिलचस्प लक्ष्य हो सकते हैं
  • DNS को सूचीबद्ध करना डोमेन में प्रमुख सर्वरों के बारे में जानकारी दे सकता है जैसे वेब, प्रिंटर, शेयर, वीपीएन, मीडिया, आदि।
  • gobuster dns -d domain.local -t 25 -w /opt/Seclist/Discovery/DNS/subdomain-top2000.txt
  • इस पर अधिक जानकारी के लिए सामान्य Pentesting Methodology पर एक नज़र डालें।
  • smb सेवाओं पर शून्य और गेस्ट पहुँच की जाँच करें (यह आधुनिक Windows संस्करणों पर काम नहीं करेगा):
  • enum4linux -a -u "" -p "" <DC IP> && enum4linux -a -u "guest" -p "" <DC IP>
  • smbmap -u "" -p "" -P 445 -H <DC IP> && smbmap -u "guest" -p "" -P 445 -H <DC IP>
  • smbclient -U '%' -L //<DC IP> && smbclient -U 'guest%' -L //
  • SMB सर्वर को सूचीबद्ध करने के लिए एक अधिक विस्तृत गाइड यहाँ मिल सकती है:

139,445 - Pentesting SMB

  • Ldap को सूचीबद्ध करें
  • nmap -n -sV --script "ldap* and not brute" -p 389 <DC IP>
  • LDAP को सूचीबद्ध करने के लिए एक अधिक विस्तृत गाइड यहाँ मिल सकती है (विशेष रूप से गुमनाम पहुँच पर ध्यान दें):

389, 636, 3268, 3269 - Pentesting LDAP

  • नेटवर्क को विषाक्त करें
  • क्रेडेंशियल्स एकत्र करें Responder के साथ सेवाओं का अनुकरण करते हुए
  • रिले हमले का दुरुपयोग करके होस्ट तक पहुँचें
  • खराब UPnP सेवाओं को उजागर करकेSDP के साथ क्रेडेंशियल्स एकत्र करें
  • OSINT:
  • आंतरिक दस्तावेजों, सोशल मीडिया, सेवाओं (मुख्य रूप से वेब) से उपयोगकर्ता नाम/नाम निकालें जो डोमेन वातावरण के भीतर और सार्वजनिक रूप से उपलब्ध हैं।
  • यदि आप कंपनी के कर्मचारियों के पूर्ण नाम पाते हैं, तो आप विभिन्न AD उपयोगकर्ता नाम सम्मेलनों का प्रयास कर सकते हैं (यह पढ़ें)। सबसे सामान्य सम्मेलन हैं: NameSurname, Name.Surname, NamSur (प्रत्येक के 3 अक्षर), Nam.Sur, NSurname, N.Surname, SurnameName, Surname.Name, SurnameN, Surname.N, 3 यादृच्छिक अक्षर और 3 यादृच्छिक संख्या (abc123)।
  • उपकरण:
  • w0Tx/generate-ad-username
  • urbanadventurer/username-anarchy

User enumeration

  • गुमनाम SMB/LDAP enum: pentesting SMB और pentesting LDAP पृष्ठों की जाँच करें।
  • Kerbrute enum: जब एक अमान्य उपयोगकर्ता नाम अनुरोध किया जाता है तो सर्वर Kerberos त्रुटि कोड KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN का उपयोग करके प्रतिक्रिया देगा, जिससे हमें यह निर्धारित करने की अनुमति मिलती है कि उपयोगकर्ता नाम अमान्य था। मान्य उपयोगकर्ता नाम या तो AS-REP प्रतिक्रिया में TGT उत्पन्न करेगा या त्रुटि KRB5KDC_ERR_PREAUTH_REQUIRED उत्पन्न करेगा, जो इंगित करता है कि उपयोगकर्ता को पूर्व-प्रमाणीकरण करना आवश्यक है।
  • MS-NRPC के खिलाफ कोई प्रमाणीकरण नहीं: डोमेन नियंत्रकों पर MS-NRPC (Netlogon) इंटरफ़ेस के खिलाफ auth-level = 1 (कोई प्रमाणीकरण नहीं) का उपयोग करना। यह विधि DsrGetDcNameEx2 फ़ंक्शन को कॉल करती है MS-NRPC इंटरफ़ेस को बाइंड करने के बाद यह जांचने के लिए कि क्या उपयोगकर्ता या कंप्यूटर बिना किसी क्रेडेंशियल के मौजूद है। NauthNRPC उपकरण इस प्रकार की सूचीबद्धता को लागू करता है। अनुसंधान यहाँ पाया जा सकता है यहाँ
bash
./kerbrute_linux_amd64 userenum -d lab.ropnop.com --dc 10.10.10.10 usernames.txt #From https://github.com/ropnop/kerbrute/releases

nmap -p 88 --script=krb5-enum-users --script-args="krb5-enum-users.realm='DOMAIN'" <IP>
Nmap -p 88 --script=krb5-enum-users --script-args krb5-enum-users.realm='<domain>',userdb=/root/Desktop/usernames.txt <IP>

msf> use auxiliary/gather/kerberos_enumusers

crackmapexec smb dominio.es  -u '' -p '' --users | awk '{print $4}' | uniq
python3 nauth.py -t target -u users_file.txt #From https://github.com/sud0Ru/NauthNRPC
  • OWA (Outlook Web Access) सर्वर

यदि आप नेटवर्क में इनमें से एक सर्वर पाते हैं, तो आप इसके खिलाफ उपयोगकर्ता गणना भी कर सकते हैं। उदाहरण के लिए, आप उपकरण MailSniper का उपयोग कर सकते हैं:

bash
ipmo C:\Tools\MailSniper\MailSniper.ps1
# Get info about the domain
Invoke-DomainHarvestOWA -ExchHostname [ip]
# Enumerate valid users from a list of potential usernames
Invoke-UsernameHarvestOWA -ExchHostname [ip] -Domain [domain] -UserList .\possible-usernames.txt -OutFile valid.txt
# Password spraying
Invoke-PasswordSprayOWA -ExchHostname [ip] -UserList .\valid.txt -Password Summer2021
# Get addresses list from the compromised mail
Get-GlobalAddressList -ExchHostname [ip] -UserName [domain]\[username] -Password Summer2021 -OutFile gal.txt

warning

आप इस github repo **** और इस (statistically-likely-usernames) में उपयोगकर्ता नामों की सूचियाँ पा सकते हैं।

हालाँकि, आपके पास कंपनी में काम करने वाले लोगों के नाम होने चाहिए जो आप पहले की पुनः खोज चरण से प्राप्त कर चुके हैं। नाम और उपनाम के साथ आप namemash.py स्क्रिप्ट का उपयोग करके संभावित मान्य उपयोगकर्ता नाम उत्पन्न कर सकते हैं।

एक या एक से अधिक उपयोगकर्ता नाम जानना

ठीक है, तो आप जानते हैं कि आपके पास पहले से एक मान्य उपयोगकर्ता नाम है लेकिन कोई पासवर्ड नहीं है... फिर कोशिश करें:

  • ASREPRoast: यदि किसी उपयोगकर्ता के पास DONT_REQ_PREAUTH विशेषता नहीं है तो आप उस उपयोगकर्ता के लिए AS_REP संदेश का अनुरोध कर सकते हैं जिसमें उपयोगकर्ता के पासवर्ड के एक व्युत्पन्न द्वारा एन्क्रिप्टेड कुछ डेटा होगा।
  • Password Spraying: चलो प्रत्येक खोजे गए उपयोगकर्ताओं के साथ सबसे सामान्य पासवर्ड आजमाते हैं, शायद कुछ उपयोगकर्ता एक खराब पासवर्ड का उपयोग कर रहा है (पासवर्ड नीति को ध्यान में रखें!)।
  • ध्यान दें कि आप OWA सर्वरों को भी स्प्रे कर सकते हैं ताकि उपयोगकर्ताओं के मेल सर्वरों तक पहुँच प्राप्त करने की कोशिश की जा सके।

Password Spraying / Brute Force

LLMNR/NBT-NS जहर देना

आप कुछ चुनौती हैश प्राप्त करने में सक्षम हो सकते हैं जहर देकर कुछ प्रोटोकॉल के नेटवर्क:

Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks

NTML रिले

यदि आप सक्रिय निर्देशिका को सूचीबद्ध करने में सफल रहे हैं तो आपके पास अधिक ईमेल और नेटवर्क की बेहतर समझ होगी। आप NTML रिले हमलों **** को मजबूर करने में सक्षम हो सकते हैं ताकि AD वातावरण तक पहुँच प्राप्त की जा सके।

NTLM क्रेडेंशियल्स चुराना

यदि आप अन्य PCs या शेयरों तक null या guest user के साथ पहुँच कर सकते हैं तो आप फाइलें (जैसे SCF फाइल) रख सकते हैं जो यदि किसी तरह से पहुँची जाती हैं तो आपके खिलाफ NTML प्रमाणीकरण को ट्रिगर करेंगी ताकि आप NTLM चुनौती चुरा सकें:

Places to steal NTLM creds

क्रेडेंशियल्स/सेशन के साथ सक्रिय निर्देशिका की सूची बनाना

इस चरण के लिए आपको एक मान्य डोमेन खाते के क्रेडेंशियल्स या सत्र को समझौता करना होगा। यदि आपके पास कुछ मान्य क्रेडेंशियल्स या एक डोमेन उपयोगकर्ता के रूप में एक शेल है, तो आपको याद रखना चाहिए कि पहले दिए गए विकल्प अभी भी अन्य उपयोगकर्ताओं को समझौता करने के विकल्प हैं

प्रमाणित सूची बनाने से पहले आपको Kerberos डबल हॉप समस्या क्या है, यह जानना चाहिए।

Kerberos Double Hop Problem

सूची बनाना

एक खाते को समझौता करना पूरे डोमेन को समझौता करने के लिए एक बड़ा कदम है, क्योंकि आप सक्रिय निर्देशिका की सूची बनाना शुरू करने में सक्षम होंगे:

ASREPRoast के संबंध में, आप अब हर संभावित कमजोर उपयोगकर्ता को ढूंढ सकते हैं, और Password Spraying के संबंध में, आप सभी उपयोगकर्ता नामों की एक सूची प्राप्त कर सकते हैं और समझौता किए गए खाते का पासवर्ड, खाली पासवर्ड और नए आशाजनक पासवर्ड आजमा सकते हैं।

  • आप CMD का उपयोग करके एक बुनियादी पुनः खोज करने के लिए कर सकते हैं
  • आप पुनः खोज के लिए powershell का उपयोग कर सकते हैं जो अधिक छिपा हुआ होगा
  • आप powerview का उपयोग कर सकते हैं अधिक विस्तृत जानकारी निकालने के लिए
  • सक्रिय निर्देशिका में पुनः खोज के लिए एक और अद्भुत उपकरण BloodHound है। यह बहुत छिपा हुआ नहीं है (आपके द्वारा उपयोग किए गए संग्रह विधियों के आधार पर), लेकिन यदि आपको इसकी परवाह नहीं है तो आपको इसे पूरी तरह से आजमाना चाहिए। पता करें कि उपयोगकर्ता RDP कहाँ कर सकते हैं, अन्य समूहों के लिए पथ खोजें, आदि।
  • अन्य स्वचालित AD सूची बनाने के उपकरण हैं: AD Explorer, ADRecon, Group3r, PingCastle.
  • AD के DNS रिकॉर्ड क्योंकि वे दिलचस्प जानकारी रख सकते हैं।
  • आप निर्देशिका की सूची बनाने के लिए AdExplorer.exe नामक GUI वाला एक उपकरण उपयोग कर सकते हैं जो SysInternal Suite से है।
  • आप LDAP डेटाबेस में ldapsearch का उपयोग करके userPassword और unixUserPassword फ़ील्ड में क्रेडेंशियल्स की खोज कर सकते हैं, या यहां तक कि Description के लिए भी। cf. PayloadsAllTheThings पर AD उपयोगकर्ता टिप्पणी में पासवर्ड अन्य विधियों के लिए।
  • यदि आप Linux का उपयोग कर रहे हैं, तो आप pywerview का उपयोग करके डोमेन की सूची भी बना सकते हैं।
  • आप स्वचालित उपकरणों को भी आजमा सकते हैं जैसे:
  • tomcarver16/ADSearch
  • 61106960/adPEAS
  • सभी डोमेन उपयोगकर्ताओं को निकालना

Windows से सभी डोमेन उपयोगकर्ता नाम प्राप्त करना बहुत आसान है (net user /domain, Get-DomainUser या wmic useraccount get name,sid)। Linux में, आप उपयोग कर सकते हैं: GetADUsers.py -all -dc-ip 10.10.10.110 domain.com/username या enum4linux -a -u "user" -p "password" <DC IP>

भले ही यह सूची बनाने का अनुभाग छोटा दिखता है, यह सभी का सबसे महत्वपूर्ण भाग है। लिंक पर पहुँचें (मुख्य रूप से cmd, powershell, powerview और BloodHound वाले), जानें कि डोमेन को कैसे सूचीबद्ध किया जाए और तब तक अभ्यास करें जब तक आप सहज महसूस न करें। एक आकलन के दौरान, यह DA तक पहुँचने का या यह तय करने का कुंजी क्षण होगा कि कुछ नहीं किया जा सकता।

Kerberoast

Kerberoasting में TGS टिकट प्राप्त करना शामिल है जो उपयोगकर्ता खातों से जुड़े सेवाओं द्वारा उपयोग किए जाते हैं और उनकी एन्क्रिप्शन को क्रैक करना—जो उपयोगकर्ता पासवर्ड पर आधारित है—ऑफलाइन

इस बारे में अधिक जानकारी:

Kerberoast

दूरस्थ कनेक्शन (RDP, SSH, FTP, Win-RM, आदि)

एक बार जब आपने कुछ क्रेडेंशियल्स प्राप्त कर लिए, तो आप देख सकते हैं कि क्या आपके पास किसी मशीन तक पहुँच है। इस मामले के लिए, आप विभिन्न प्रोटोकॉल के साथ कई सर्वरों पर कनेक्ट करने का प्रयास करने के लिए CrackMapExec का उपयोग कर सकते हैं, जो आपके पोर्ट स्कैन के अनुसार है।

स्थानीय विशेषाधिकार वृद्धि

यदि आपने नियमित डोमेन उपयोगकर्ता के रूप में क्रेडेंशियल्स या सत्र को समझौता किया है और आपके पास डोमेन में किसी भी मशीन पर इस उपयोगकर्ता के साथ पहुँच है, तो आपको स्थानीय रूप से विशेषाधिकार बढ़ाने और क्रेडेंशियल्स की लूट के लिए अपना रास्ता खोजने का प्रयास करना चाहिए। ऐसा इसलिए है क्योंकि केवल स्थानीय व्यवस्थापक विशेषाधिकारों के साथ आप अन्य उपयोगकर्ताओं के हैश को मेमोरी (LSASS) और स्थानीय (SAM) में डंप कर सकेंगे।

इस पुस्तक में Windows में स्थानीय विशेषाधिकार वृद्धि और एक चेकलिस्ट के बारे में एक पूरा पृष्ठ है। इसके अलावा, WinPEAS का उपयोग करना न भूलें।

वर्तमान सत्र टिकट

यह बहुत असंभव है कि आप वर्तमान उपयोगकर्ता में टिकट पाएँ जो आपको अप्रत्याशित संसाधनों तक पहुँचने की अनुमति देते हैं, लेकिन आप जांच सकते हैं:

bash
## List all tickets (if not admin, only current user tickets)
.\Rubeus.exe triage
## Dump the interesting one by luid
.\Rubeus.exe dump /service:krbtgt /luid:<luid> /nowrap
[IO.File]::WriteAllBytes("ticket.kirbi", [Convert]::FromBase64String("<BASE64_TICKET>"))

NTML Relay

यदि आप सक्रिय निर्देशिका को सूचीबद्ध करने में सफल रहे हैं, तो आपके पास अधिक ईमेल और नेटवर्क की बेहतर समझ होगी। आप NTML relay attacks** को मजबूर करने में सक्षम हो सकते हैं।**

कंप्यूटर शेयर में क्रेडेंशियल्स की तलाश करें

अब जब आपके पास कुछ बुनियादी क्रेडेंशियल्स हैं, तो आपको यह जांचना चाहिए कि क्या आप **AD के अंदर साझा की गई कोई दिलचस्प फ़ाइलें ढूंढ सकते हैं। आप इसे मैन्युअल रूप से कर सकते हैं, लेकिन यह एक बहुत ही उबाऊ दोहरावदार कार्य है (और अधिक यदि आप सैकड़ों दस्तावेज़ ढूंढते हैं जिन्हें आपको जांचना है)।

उपकरणों के बारे में जानने के लिए इस लिंक का पालन करें।

NTLM क्रेडेंशियल्स चुराना

यदि आप अन्य PCs या शेयरों तक पहुँच सकते हैं, तो आप फाइलें (जैसे SCF फ़ाइल) रख सकते हैं जो यदि किसी तरह से एक्सेस की जाती हैं, तो आपके खिलाफ NTML प्रमाणीकरण को ट्रिगर करेंगी ताकि आप NTLM चुनौती चुरा सकें और उसे क्रैक कर सकें:

Places to steal NTLM creds

CVE-2021-1675/CVE-2021-34527 PrintNightmare

यह भेद्यता किसी भी प्रमाणित उपयोगकर्ता को डोमेन नियंत्रक को समझौता करने की अनुमति देती है।

PrintNightmare

विशेषाधिकार वृद्धि सक्रिय निर्देशिका पर विशेषाधिकार प्राप्त क्रेडेंशियल्स/सत्र के साथ

निम्नलिखित तकनीकों के लिए एक नियमित डोमेन उपयोगकर्ता पर्याप्त नहीं है, आपको इन हमलों को करने के लिए कुछ विशेष विशेषाधिकार/क्रेडेंशियल्स की आवश्यकता है।

हैश निष्कर्षण

उम्मीद है कि आप AsRepRoast, Password Spraying, Kerberoast, Responder सहित रिले करते हुए, EvilSSDP, स्थानीय रूप से विशेषाधिकार बढ़ाना का उपयोग करके कुछ स्थानीय व्यवस्थापक खाते को समझौता करने में सफल रहे हैं।
फिर, इसका समय है कि सभी हैश को मेमोरी और स्थानीय रूप से डंप करें।
हैश प्राप्त करने के विभिन्न तरीकों के बारे में इस पृष्ठ को पढ़ें।

पास द हैश

एक बार जब आपके पास एक उपयोगकर्ता का हैश हो, तो आप इसका उपयोग उसका अनुकरण करने के लिए कर सकते हैं।
आपको कुछ उपकरण का उपयोग करने की आवश्यकता है जो उस हैश का उपयोग करके NTLM प्रमाणीकरण करेगा, या आप एक नया sessionlogon बना सकते हैं और LSASS के अंदर उस हैश को इंजेक्ट कर सकते हैं, ताकि जब भी कोई NTLM प्रमाणीकरण किया जाए, वह हैश का उपयोग किया जाएगा। अंतिम विकल्प वही है जो mimikatz करता है।
अधिक जानकारी के लिए इस पृष्ठ को पढ़ें।

ओवर पास द हैश/पास द की

यह हमला उपयोगकर्ता NTLM हैश का उपयोग करके Kerberos टिकटों का अनुरोध करने का लक्ष्य रखता है, NTLM प्रोटोकॉल पर सामान्य पास द हैश के विकल्प के रूप में। इसलिए, यह विशेष रूप से उन नेटवर्क में उपयोगी हो सकता है जहां NTLM प्रोटोकॉल अक्षम है और केवल Kerberos को प्रमाणीकरण प्रोटोकॉल के रूप में अनुमति दी गई है।

Over Pass the Hash/Pass the Key

पास द टिकट

पास द टिकट (PTT) हमले की विधि में, हमलावर उपयोगकर्ता का प्रमाणीकरण टिकट चुराते हैं बजाय उनके पासवर्ड या हैश मानों के। यह चुराया गया टिकट फिर उपयोगकर्ता का अनुकरण करने के लिए उपयोग किया जाता है, नेटवर्क के भीतर संसाधनों और सेवाओं तक अनधिकृत पहुंच प्राप्त करने के लिए।

Pass the Ticket

क्रेडेंशियल्स पुन: उपयोग

यदि आपके पास एक स्थानीय व्यवस्थापक का हैश या पासवर्ड है, तो आपको इसके साथ अन्य PCs में स्थानीय रूप से लॉगिन करने का प्रयास करना चाहिए।

bash
# Local Auth Spray (once you found some local admin pass or hash)
## --local-auth flag indicate to only try 1 time per machine
crackmapexec smb --local-auth 10.10.10.10/23 -u administrator -H 10298e182387f9cab376ecd08491764a0 | grep +

warning

ध्यान दें कि यह काफी शोरगुल वाला है और LAPS इसे कम करेगा।

MSSQL दुरुपयोग और विश्वसनीय लिंक

यदि किसी उपयोगकर्ता के पास MSSQL उदाहरणों तक पहुँचने के लिए विशेषाधिकार हैं, तो वह इसे MSSQL होस्ट में कमांड निष्पादित करने के लिए उपयोग कर सकता है (यदि SA के रूप में चल रहा हो), NetNTLM हैश चुराने या यहां तक कि रिले हमला करने के लिए।
इसके अलावा, यदि एक MSSQL उदाहरण को किसी अन्य MSSQL उदाहरण द्वारा विश्वसनीय (डेटाबेस लिंक) माना जाता है। यदि उपयोगकर्ता के पास विश्वसनीय डेटाबेस पर विशेषाधिकार हैं, तो वह अन्य उदाहरण में क्वेरी निष्पादित करने के लिए विश्वास संबंध का उपयोग कर सकेगा। ये विश्वास श्रृंखलाबद्ध हो सकते हैं और किसी बिंदु पर उपयोगकर्ता एक गलत कॉन्फ़िगर की गई डेटाबेस खोजने में सक्षम हो सकता है जहाँ वह कमांड निष्पादित कर सकता है।
डेटाबेस के बीच के लिंक वनस्पति विश्वासों के पार भी काम करते हैं।

MSSQL AD Abuse

अनियंत्रित प्रतिनिधित्व

यदि आप किसी कंप्यूटर ऑब्जेक्ट को ADS_UF_TRUSTED_FOR_DELEGATION विशेषता के साथ पाते हैं और आपके पास कंप्यूटर में डोमेन विशेषाधिकार हैं, तो आप कंप्यूटर पर लॉगिन करने वाले प्रत्येक उपयोगकर्ता की मेमोरी से TGT को डंप करने में सक्षम होंगे।
तो, यदि कोई डोमेन एडमिन कंप्यूटर पर लॉगिन करता है, तो आप उसका TGT डंप कर सकते हैं और Pass the Ticket का उपयोग करके उसकी नकल कर सकते हैं।
संकीर्ण प्रतिनिधित्व के कारण आप यहां तक कि एक प्रिंट सर्वर को स्वचालित रूप से समझौता कर सकते हैं (उम्मीद है कि यह एक DC होगा)।

Unconstrained Delegation

संकीर्ण प्रतिनिधित्व

यदि किसी उपयोगकर्ता या कंप्यूटर को "संकीर्ण प्रतिनिधित्व" की अनुमति है, तो वह किसी भी उपयोगकर्ता की नकल कर सकता है ताकि किसी कंप्यूटर में कुछ सेवाओं तक पहुँच सके
फिर, यदि आप इस उपयोगकर्ता/कंप्यूटर का हैश समझौता करते हैं, तो आप किसी भी उपयोगकर्ता (यहां तक कि डोमेन एडमिन) की नकल कर सकते हैं ताकि कुछ सेवाओं तक पहुँच सके।

Constrained Delegation

संसाधन-आधारित संकीर्ण प्रतिनिधित्व

एक दूरस्थ कंप्यूटर के Active Directory ऑब्जेक्ट पर WRITE विशेषाधिकार होने से उच्च विशेषाधिकार के साथ कोड निष्पादन प्राप्त करने की अनुमति मिलती है:

Resource-based Constrained Delegation

ACLs दुरुपयोग

समझौता किया गया उपयोगकर्ता कुछ दिलचस्प विशेषाधिकार रख सकता है जो आपको पार्श्व में स्थानांतरित करने/विशेषाधिकार बढ़ाने की अनुमति दे सकता है।

Abusing Active Directory ACLs/ACEs

प्रिंटर स्पूलर सेवा का दुरुपयोग

डोमेन के भीतर स्पूल सेवा सुनने का पता लगाना नए क्रेडेंशियल्स प्राप्त करने और विशेषाधिकार बढ़ाने के लिए दुरुपयोग किया जा सकता है।

Force NTLM Privileged Authentication

तीसरे पक्ष के सत्रों का दुरुपयोग

यदि अन्य उपयोगकर्ता समझौता की गई मशीन तक पहुँचते हैं, तो मेमोरी से क्रेडेंशियल्स इकट्ठा करना और यहां तक कि उनकी प्रक्रियाओं में बीकन इंजेक्ट करना संभव है ताकि उनकी नकल की जा सके।
आमतौर पर उपयोगकर्ता RDP के माध्यम से सिस्टम तक पहुँचते हैं, इसलिए यहां आपके पास तीसरे पक्ष के RDP सत्रों पर कुछ हमले करने का तरीका है:

RDP Sessions Abuse

LAPS

LAPS डोमेन-जोड़े गए कंप्यूटरों पर स्थानीय व्यवस्थापक पासवर्ड प्रबंधित करने के लिए एक प्रणाली प्रदान करता है, यह सुनिश्चित करते हुए कि यह यादृच्छिक, अद्वितीय, और अक्सर बदला जाता है। ये पासवर्ड Active Directory में संग्रहीत होते हैं और ACLs के माध्यम से केवल अधिकृत उपयोगकर्ताओं के लिए पहुँच नियंत्रित की जाती है। इन पासवर्डों तक पहुँच के लिए पर्याप्त अनुमतियों के साथ, अन्य कंप्यूटरों पर पिवटिंग करना संभव हो जाता है।

LAPS

प्रमाणपत्र चोरी

समझौता की गई मशीन से प्रमाणपत्र इकट्ठा करना वातावरण के भीतर विशेषाधिकार बढ़ाने का एक तरीका हो सकता है:

AD CS Certificate Theft

प्रमाणपत्र टेम्पलेट्स का दुरुपयोग

यदि कमजोर टेम्पलेट्स कॉन्फ़िगर किए गए हैं, तो उन्हें विशेषाधिकार बढ़ाने के लिए दुरुपयोग किया जा सकता है:

AD CS Domain Escalation

उच्च विशेषाधिकार खाते के साथ पोस्ट-एक्सप्लॉइटेशन

डोमेन क्रेडेंशियल्स का डंपिंग

एक बार जब आप डोमेन एडमिन या यहां तक कि बेहतर एंटरप्राइज एडमिन विशेषाधिकार प्राप्त कर लेते हैं, तो आप डोमेन डेटाबेस को डंप कर सकते हैं: ntds.dit

DCSync हमले के बारे में अधिक जानकारी यहाँ पाई जा सकती है

NTDS.dit चुराने के बारे में अधिक जानकारी यहाँ पाई जा सकती है

प्रिवेस्क के रूप में स्थिरता

पहले चर्चा की गई कुछ तकनीकों का उपयोग स्थिरता के लिए किया जा सकता है।
उदाहरण के लिए, आप कर सकते हैं:

  • उपयोगकर्ताओं को Kerberoast के लिए कमजोर बनाना
powershell
Set-DomainObject -Identity <username> -Set @{serviceprincipalname="fake/NOTHING"}r
  • उपयोगकर्ताओं को ASREPRoast के लिए कमजोर बनाना
powershell
Set-DomainObject -Identity <username> -XOR @{UserAccountControl=4194304}
  • एक उपयोगकर्ता को DCSync विशेषाधिकार देना
powershell
Add-DomainObjectAcl -TargetIdentity "DC=SUB,DC=DOMAIN,DC=LOCAL" -PrincipalIdentity bfarmer -Rights DCSync

सिल्वर टिकट

सिल्वर टिकट हमला एक विशेष सेवा के लिए वैध टिकट ग्रांटिंग सेवा (TGS) टिकट बनाता है, NTLM हैश का उपयोग करके (उदाहरण के लिए, PC खाते का हैश)। इस विधि का उपयोग सेवा विशेषाधिकारों तक पहुँचने के लिए किया जाता है।

Silver Ticket

गोल्डन टिकट

गोल्डन टिकट हमला एक हमलावर द्वारा Active Directory (AD) वातावरण में krbtgt खाते के NTLM हैश तक पहुँच प्राप्त करने में शामिल होता है। यह खाता विशेष है क्योंकि इसका उपयोग सभी टिकट ग्रांटिंग टिकट (TGTs) पर हस्ताक्षर करने के लिए किया जाता है, जो AD नेटवर्क के भीतर प्रमाणीकरण के लिए आवश्यक हैं।

एक बार जब हमलावर इस हैश को प्राप्त कर लेता है, तो वह किसी भी खाते के लिए TGTs बना सकता है जिसे वह चुनता है (सिल्वर टिकट हमला)।

Golden Ticket

डायमंड टिकट

ये गोल्डन टिकट की तरह होते हैं जो सामान्य गोल्डन टिकट पहचान तंत्रों को बायपास करने के तरीके से बनाए जाते हैं।

Diamond Ticket

प्रमाणपत्र खाता स्थिरता

किसी खाते के प्रमाणपत्र होना या उन्हें अनुरोध करने में सक्षम होना उपयोगकर्ता के खाते में स्थिरता बनाए रखने का एक बहुत अच्छा तरीका है (यहां तक कि यदि वह पासवर्ड बदलता है):

AD CS Account Persistence

प्रमाणपत्र डोमेन स्थिरता

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

AD CS Domain Persistence

AdminSDHolder समूह

Active Directory में AdminSDHolder ऑब्जेक्ट विशेषाधिकार प्राप्त समूहों (जैसे डोमेन एडमिन और एंटरप्राइज एडमिन) की सुरक्षा सुनिश्चित करता है, इन समूहों पर एक मानक एक्सेस कंट्रोल लिस्ट (ACL) लागू करके अनधिकृत परिवर्तनों को रोकता है। हालाँकि, इस सुविधा का दुरुपयोग किया जा सकता है; यदि कोई हमलावर AdminSDHolder के ACL को एक सामान्य उपयोगकर्ता को पूर्ण पहुँच देने के लिए संशोधित करता है, तो उस उपयोगकर्ता को सभी विशेषाधिकार प्राप्त समूहों पर व्यापक नियंत्रण मिल जाता है। यह सुरक्षा उपाय, जो सुरक्षा के लिए बनाया गया था, इस प्रकार उलटा पड़ सकता है, जिससे बिना अनुमति के पहुँच मिल जाती है जब तक कि इसे निकटता से मॉनिटर नहीं किया जाता।

AdminDSHolder समूह के बारे में अधिक जानकारी यहाँ।

DSRM क्रेडेंशियल्स

प्रत्येक डोमेन कंट्रोलर (DC) के भीतर, एक स्थानीय व्यवस्थापक खाता मौजूद होता है। ऐसी मशीन पर प्रशासनिक अधिकार प्राप्त करके, स्थानीय व्यवस्थापक हैश को mimikatz का उपयोग करके निकाला जा सकता है। इसके बाद, इस पासवर्ड का उपयोग करने के लिए पंजीकरण संशोधन आवश्यक है, जिससे स्थानीय व्यवस्थापक खाते तक दूरस्थ पहुँच की अनुमति मिलती है।

DSRM Credentials

ACL स्थिरता

आप कुछ विशिष्ट डोमेन ऑब्जेक्ट्स पर एक उपयोगकर्ता को कुछ विशेष अनुमति दे सकते हैं जो उपयोगकर्ता को भविष्य में विशेषाधिकार बढ़ाने की अनुमति देगा।

Abusing Active Directory ACLs/ACEs

सुरक्षा वर्णनकर्ता

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

Security Descriptors

कंकाल कुंजी

LSASS को मेमोरी में संशोधित करें ताकि एक सार्वभौमिक पासवर्ड स्थापित किया जा सके, जो सभी डोमेन खातों तक पहुँच प्रदान करता है।

Skeleton Key

कस्टम SSP

यहाँ जानें कि SSP (सिक्योरिटी सपोर्ट प्रोवाइडर) क्या है।
आप अपना खुद का SSP बना सकते हैं ताकि मशीन तक पहुँचने के लिए उपयोग किए गए क्रेडेंशियल्स को स्पष्ट पाठ में कैप्चर किया जा सके।

Custom SSP

DCShadow

यह AD में एक नया डोमेन कंट्रोलर पंजीकृत करता है और निर्दिष्ट वस्तुओं पर विशेषताएँ (SIDHistory, SPNs...) धकेलने के लिए इसका उपयोग करता है बिना किसी लॉग को छोड़े जो संशोधनों के बारे में हो। आपको DA विशेषाधिकार की आवश्यकता है और रूट डोमेन के भीतर होना चाहिए।
ध्यान दें कि यदि आप गलत डेटा का उपयोग करते हैं, तो बहुत भद्दे लॉग दिखाई देंगे।

DCShadow

LAPS स्थिरता

पहले हमने चर्चा की है कि यदि आपके पास LAPS पासवर्ड पढ़ने के लिए पर्याप्त अनुमति है

Get-DomainTrust

SourceName      : sub.domain.local    --> current domain
TargetName      : domain.local        --> foreign domain
TrustType       : WINDOWS_ACTIVE_DIRECTORY
TrustAttributes : WITHIN_FOREST       --> WITHIN_FOREST: Both in the same forest
TrustDirection  : Bidirectional       --> Trust direction (2ways in this case)
WhenCreated     : 2/19/2021 1:28:00 PM
WhenChanged     : 2/19/2021 1:28:00 PM

warning

वहाँ 2 विश्वसनीय कुंजी हैं, एक Child --> Parent के लिए और दूसरी Parent --> Child के लिए।
आप वर्तमान डोमेन द्वारा उपयोग की जाने वाली कुंजी को निम्नलिखित के साथ देख सकते हैं:

Invoke-Mimikatz -Command '"lsadump::trust /patch"' -ComputerName dc.my.domain.local
Invoke-Mimikatz -Command '"lsadump::dcsync /user:dcorp\mcorp$"'

SID-History Injection

विश्वास का दुरुपयोग करते हुए बच्चे/माता-पिता डोमेन में एंटरप्राइज प्रशासक के रूप में वृद्धि करें SID-History injection के साथ:

SID-History Injection

लिखने योग्य कॉन्फ़िगरेशन NC का शोषण

यह समझना महत्वपूर्ण है कि कॉन्फ़िगरेशन नाम संदर्भ (NC) का शोषण कैसे किया जा सकता है। कॉन्फ़िगरेशन NC सक्रिय निर्देशिका (AD) वातावरण में एक वन के भीतर कॉन्फ़िगरेशन डेटा के लिए एक केंद्रीय भंडार के रूप में कार्य करता है। यह डेटा वन के प्रत्येक डोमेन नियंत्रक (DC) में पुनरुत्पादित होता है, जिसमें लिखने योग्य DCs कॉन्फ़िगरेशन NC की एक लिखने योग्य प्रति बनाए रखते हैं। इसका शोषण करने के लिए, किसी को DC पर SYSTEM विशेषाधिकार होना चाहिए, सबसे अच्छा एक बच्चे DC पर।

रूट DC साइट से GPO लिंक करें

कॉन्फ़िगरेशन NC के साइट्स कंटेनर में AD वन के भीतर सभी डोमेन-जोड़े गए कंप्यूटरों की साइटों के बारे में जानकारी शामिल होती है। किसी भी DC पर SYSTEM विशेषाधिकार के साथ कार्य करते हुए, हमलावर GPOs को रूट DC साइटों से लिंक कर सकते हैं। यह क्रिया इन साइटों पर लागू नीतियों में हेरफेर करके रूट डोमेन को संभावित रूप से समझौता कर सकती है।

गहन जानकारी के लिए, कोई Bypassing SID Filtering पर शोध कर सकता है।

वन में किसी भी gMSA का समझौता करें

एक हमले का वेक्टर डोमेन के भीतर विशेषाधिकार प्राप्त gMSAs को लक्षित करना है। KDS रूट कुंजी, जो gMSAs के पासवर्ड की गणना के लिए आवश्यक है, कॉन्फ़िगरेशन NC के भीतर संग्रहीत होती है। किसी भी DC पर SYSTEM विशेषाधिकार के साथ, KDS रूट कुंजी तक पहुंच प्राप्त करना और वन में किसी भी gMSA के लिए पासवर्ड की गणना करना संभव है।

विस्तृत विश्लेषण Golden gMSA Trust Attacks पर चर्चा में पाया जा सकता है।

Schema परिवर्तन हमला

इस विधि के लिए धैर्य की आवश्यकता होती है, नए विशेषाधिकार प्राप्त AD वस्तुओं के निर्माण की प्रतीक्षा करना। SYSTEM विशेषाधिकार के साथ, एक हमलावर AD स्कीमा को संशोधित कर सकता है ताकि किसी भी उपयोगकर्ता को सभी वर्गों पर पूर्ण नियंत्रण दिया जा सके। इससे नए बनाए गए AD वस्तुओं पर अनधिकृत पहुंच और नियंत्रण हो सकता है।

अधिक पढ़ने के लिए Schema Change Trust Attacks पर जाएं।

ADCS ESC5 के साथ DA से EA तक

ADCS ESC5 भेद्यता सार्वजनिक कुंजी अवसंरचना (PKI) वस्तुओं पर नियंत्रण को लक्षित करती है ताकि एक प्रमाणपत्र टेम्पलेट बनाया जा सके जो वन के भीतर किसी भी उपयोगकर्ता के रूप में प्रमाणीकरण की अनुमति देता है। चूंकि PKI वस्तुएं कॉन्फ़िगरेशन NC में स्थित होती हैं, एक लिखने योग्य बच्चे DC का समझौता ESC5 हमलों को निष्पादित करने की अनुमति देता है।

इस पर अधिक विवरण From DA to EA with ESC5 में पढ़ा जा सकता है। ADCS की कमी वाले परिदृश्यों में, हमलावर आवश्यक घटकों को स्थापित करने की क्षमता रखता है, जैसा कि Escalating from Child Domain Admins to Enterprise Admins में चर्चा की गई है।

बाहरी वन डोमेन - एक-तरफा (इनबाउंड) या द्विदिश

powershell
Get-DomainTrust
SourceName      : a.domain.local   --> Current domain
TargetName      : domain.external  --> Destination domain
TrustType       : WINDOWS-ACTIVE_DIRECTORY
TrustAttributes :
TrustDirection  : Inbound          --> Inboud trust
WhenCreated     : 2/19/2021 10:50:56 PM
WhenChanged     : 2/19/2021 10:50:56 PM

इस परिदृश्य में आपका डोमेन एक बाहरी द्वारा विश्वसनीय है जो आपको अनिश्चित अनुमतियाँ देता है। आपको यह पता लगाने की आवश्यकता होगी कि आपके डोमेन के कौन से प्रिंसिपल्स के पास बाहरी डोमेन पर कौन सा एक्सेस है और फिर इसे भुनाने की कोशिश करें:

External Forest Domain - OneWay (Inbound) or bidirectional

बाहरी वन डोमेन - एकतरफा (आउटबाउंड)

powershell
Get-DomainTrust -Domain current.local

SourceName      : current.local   --> Current domain
TargetName      : external.local  --> Destination domain
TrustType       : WINDOWS_ACTIVE_DIRECTORY
TrustAttributes : FOREST_TRANSITIVE
TrustDirection  : Outbound        --> Outbound trust
WhenCreated     : 2/19/2021 10:15:24 PM
WhenChanged     : 2/19/2021 10:15:24 PM

इस परिदृश्य में आपका डोमेन किसी विभिन्न डोमेन के प्रिंसिपल को कुछ अधिकार विश्वास कर रहा है।

हालांकि, जब एक डोमेन को विश्वास किया जाता है, तो विश्वास करने वाला डोमेन एक उपयोगकर्ता बनाता है जिसका पूर्वानुमानित नाम होता है और जो विश्वासित पासवर्ड का उपयोग करता है। इसका मतलब है कि यह संभव है कि विश्वास करने वाले डोमेन से एक उपयोगकर्ता को एक्सेस करके विश्वासित डोमेन में प्रवेश किया जा सके ताकि उसे सूचीबद्ध किया जा सके और अधिक अधिकारों को बढ़ाने की कोशिश की जा सके:

External Forest Domain - One-Way (Outbound)

विश्वासित डोमेन को समझौता करने का एक और तरीका है SQL trusted link को खोजना जो डोमेन ट्रस्ट के विपरीत दिशा में बनाया गया है (जो बहुत सामान्य नहीं है)।

विश्वासित डोमेन को समझौता करने का एक और तरीका है उस मशीन पर इंतजार करना जहां विश्वासित डोमेन का एक उपयोगकर्ता RDP के माध्यम से लॉगिन कर सकता है। फिर, हमलावर RDP सत्र प्रक्रिया में कोड इंजेक्ट कर सकता है और विक्टिम के मूल डोमेन तक पहुंच सकता है।
इसके अलावा, यदि विक्टिम ने अपना हार्ड ड्राइव माउंट किया है, तो RDP सत्र प्रक्रिया से हमलावर हार्ड ड्राइव के स्टार्टअप फ़ोल्डर में बैकडोर स्टोर कर सकता है। इस तकनीक को RDPInception कहा जाता है।

RDP Sessions Abuse

डोमेन ट्रस्ट दुरुपयोग शमन

SID फ़िल्टरिंग:

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

चयनात्मक प्रमाणीकरण:

  • इंटर-फॉरेस्ट ट्रस्ट के लिए, चयनात्मक प्रमाणीकरण का उपयोग यह सुनिश्चित करता है कि दोनों फॉरेस्ट के उपयोगकर्ताओं को स्वचालित रूप से प्रमाणीकरण नहीं किया जाता है। इसके बजाय, उपयोगकर्ताओं को विश्वास करने वाले डोमेन या फॉरेस्ट के भीतर डोमेन और सर्वरों तक पहुंचने के लिए स्पष्ट अनुमतियों की आवश्यकता होती है।
  • यह ध्यान रखना महत्वपूर्ण है कि ये उपाय लिखने योग्य कॉन्फ़िगरेशन नामिंग संदर्भ (NC) के शोषण या ट्रस्ट खाते पर हमलों के खिलाफ सुरक्षा नहीं करते हैं।

डोमेन ट्रस्ट के बारे में अधिक जानकारी ired.team पर।

AD -> Azure & Azure -> AD

Az AD Connect - Hybrid Identity - HackTricks Cloud

कुछ सामान्य रक्षा

यहां क्रेडेंशियल्स की सुरक्षा के बारे में अधिक जानें।

क्रेडेंशियल सुरक्षा के लिए रक्षात्मक उपाय

  • डोमेन एडमिन प्रतिबंध: यह अनुशंसा की जाती है कि डोमेन एडमिन केवल डोमेन कंट्रोलर्स में लॉगिन करने की अनुमति दी जाए, अन्य होस्ट पर उनके उपयोग से बचें।
  • सेवा खाता अधिकार: सेवाओं को सुरक्षा बनाए रखने के लिए डोमेन एडमिन (DA) अधिकारों के साथ नहीं चलाना चाहिए।
  • अस्थायी अधिकार सीमित करना: DA अधिकारों की आवश्यकता वाले कार्यों के लिए, उनकी अवधि सीमित की जानी चाहिए। इसे इस प्रकार प्राप्त किया जा सकता है: Add-ADGroupMember -Identity ‘Domain Admins’ -Members newDA -MemberTimeToLive (New-TimeSpan -Minutes 20)

धोखे की तकनीकों को लागू करना

  • धोखे को लागू करने में जाल बिछाना शामिल है, जैसे कि डिकॉय उपयोगकर्ता या कंप्यूटर, जिनमें ऐसे पासवर्ड होते हैं जो समाप्त नहीं होते हैं या जिन्हें डेलीगेशन के लिए विश्वसनीय के रूप में चिह्नित किया जाता है। एक विस्तृत दृष्टिकोण में विशिष्ट अधिकारों के साथ उपयोगकर्ताओं का निर्माण करना या उन्हें उच्च अधिकार समूहों में जोड़ना शामिल है।
  • एक व्यावहारिक उदाहरण में उपकरणों का उपयोग करना शामिल है: Create-DecoyUser -UserFirstName user -UserLastName manager-uncommon -Password Pass@123 | DeployUserDeception -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose
  • धोखे की तकनीकों को लागू करने के बारे में अधिक जानकारी Deploy-Deception on GitHub पर मिल सकती है।

धोखे की पहचान करना

  • उपयोगकर्ता वस्तुओं के लिए: संदिग्ध संकेतों में असामान्य ObjectSID, असामान्य लॉगिन, निर्माण तिथियाँ, और कम खराब पासवर्ड की गिनती शामिल हैं।
  • सामान्य संकेतक: संभावित डिकॉय वस्तुओं के गुणों की तुलना वास्तविक वस्तुओं के गुणों से करने से असंगतताएँ प्रकट हो सकती हैं। HoneypotBuster जैसे उपकरण ऐसी धोखाधड़ी की पहचान करने में मदद कर सकते हैं।

डिटेक्शन सिस्टम को बायपास करना

  • Microsoft ATA डिटेक्शन बायपास:
  • उपयोगकर्ता सूचीकरण: ATA डिटेक्शन को रोकने के लिए डोमेन कंट्रोलर्स पर सत्र सूचीकरण से बचें।
  • टिकट अनुकरण: टिकट निर्माण के लिए aes कुंजियों का उपयोग करना डिटेक्शन से बचने में मदद करता है क्योंकि NTLM में डाउनग्रेड नहीं होता है।
  • DCSync हमले: ATA डिटेक्शन से बचने के लिए गैर-डोमेन कंट्रोलर से निष्पादन करना सलाह दी जाती है, क्योंकि डोमेन कंट्रोलर से सीधे निष्पादन करने पर अलर्ट ट्रिगर होगा।

संदर्भ

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें