
AD Admins, Defensive Security Professionals और Filthy Red Teamers के लिए एक AD CS टूलकिट

Locksmith 2 Active Directory Certificate Services (AD CS) अवसंरचना का ऑडिट करने के लिए एक व्यापक PowerShell मॉड्यूल है। यह स्थापित ESC (Escalation) तकनीकों के आधार पर प्रमाणपत्र टेम्पलेट्स, प्रमाणन प्राधिकरणों और PKI अवसंरचना ऑब्जेक्ट्स में सुरक्षा गलत कॉन्फ़िगरेशन की पहचान करता है।
AD प्रशासकों, सुरक्षा पेशेवरों और पेनेट्रेशन परीक्षकों के लिए निर्मित, Locksmith 2 प्रदान करता है:
Locksmith 2 ओपन-सोर्स AD CS सुरक्षा टूलिंग की Locksmith श्रृंखला में अगली पीढ़ी का प्रतिनिधित्व करता है, जो बेहतर कोड संगठन, उन्नत रिपोर्टिंग और गहन जोखिम विश्लेषण के साथ मूल को बेहतर बनाता है।
Install-Module -Name Locksmith2 -Scope CurrentUser -Force
git clone https://github.com/jakehildreth/Locksmith2.git
cd Locksmith2
Import-Module .\Locksmith2.psd1
Invoke-Locksmith2
New-LS2Dashboard
| तकनीक | विवरण | लक्ष्य ऑब्जेक्ट | उप-तकनीकें |
|---|---|---|---|
| ESC1 | गलत कॉन्फ़िगर किए गए प्रमाणपत्र टेम्पलेट | टेम्पलेट | — |
| ESC2 | प्रमाणपत्र SubCA दुरुपयोग | टेम्पलेट | — |
| ESC3 | नामांकन एजेंट प्रतिबंध | टेम्पलेट | ESC3c1, ESC3c2 |
| ESC4 | कमज़ोर एक्सेस नियंत्रण | टेम्पलेट | ESC4a (ACL), ESC4o (owner) |
| ESC5 | कमज़ोर PKI ऑब्जेक्ट एक्सेस नियंत्रण | अवसंरचना ऑब्जेक्ट | ESC5a (ACL), ESC5o (owner) |
| ESC6 | EDITF_ATTRIBUTESUBJECTALTNAME2 सक्षम | CA | — |
| ESC7 | कमज़ोर CA व्यवस्थापक/प्रबंधक भूमिकाएँ | CA | ESC7a (admin), ESC7m (manager) |
| ESC8 | कमज़ोर वेब नामांकन एंडपॉइंट | CA | — |
| ESC9 | कमज़ोर प्रमाणपत्र मैपिंग | टेम्पलेट | — |
| ESC11 | अनुपस्थित RPC एन्क्रिप्शन | CA | — |
| ESC13 | समूह-लिंक्ड OID एप्लिकेशन नीति | टेम्पलेट | — |
| ESC16 | अक्षम CRL/AIA सुरक्षा एक्सटेंशन | CA | — |
ESC तकनीकों की विस्तृत जानकारी के लिए, SpecterOps द्वारा Certified Pre-Owned देखें।
Invoke-Locksmith2सभी ज्ञात ESC कमज़ोरियों के लिए व्यापक AD CS सुरक्षा ऑडिट स्कैनिंग करता है।
Invoke-Locksmith2 [-Forest <String>] [-Credential <PSCredential>] [-Mode <Int>]
[-SkipVersionCheck] [-SkipPowerShellCheck]
[-ExpandGroups] [-Rescan]
# -Mode values:
# (omit) = return LS2Issue objects to the pipeline (default)
# 0 = Emulates Mode 0/no parameters from the original Locksmith: output issues to console as table
# 1 = Emulates Mode 1 from the original Locksmith: output issues + fix scripts to console as list
Find-LS2VulnerableTemplateविशिष्ट ESC कमज़ोरियों के लिए प्रमाणपत्र टेम्पलेट्स को स्कैन करता है।
Find-LS2VulnerableTemplate -Technique <String>
# Supported: ESC1, ESC2, ESC3c1, ESC3c2, ESC4a, ESC4o, ESC9, ESC13
लौटाता है: प्रोग्रामेटिक उपयोग के लिए LS2Issue ऑब्जेक्ट्स
Find-LS2VulnerableCAकॉन्फ़िगरेशन संबंधी समस्याओं और खतरनाक भूमिका असाइनमेंट के लिए प्रमाणन प्राधिकरणों (certification authorities) को स्कैन करता है।
Find-LS2VulnerableCA -Technique <String>
# Supported: ESC6, ESC7a, ESC7m, ESC8, ESC11, ESC16
प्रोग्रामेटिक उपयोग के लिए LS2Issue ऑब्जेक्ट लौटाता है
Find-LS2VulnerableObjectसुरक्षा समस्याओं के लिए PKI अवसंरचना ऑब्जेक्ट (कंटेनर, कंप्यूटर खाते) को स्कैन करता है।
Find-LS2VulnerableObject -Technique <String>
# Supported: ESC5a, ESC5o
लौटाता है: प्रोग्रामेटिक उपयोग के लिए LS2Issue ऑब्जेक्ट्स
Get-LS2Storesनिरीक्षण और विश्लेषण के लिए ऑडिट के दौरान भरे गए आंतरिक डेटा स्टोर्स लौटाता है।
Get-LS2Stores [-Name <String>]
# Valid -Name values: PrincipalStore, AdcsObjectStore, DomainStore, IssueStore,
# SafePrincipals, DangerousPrincipals, StandardOwners
# Omit -Name to return all stores.
लौटाता है:
Set-LS2Forestस्कैनिंग के लिए लक्ष्य forest सेट करता है। कई स्कैन चलाने या Find-LS2Vulnerable* फ़ंक्शन को स्वतंत्र रूप से उपयोग करने के लिए उपयोगी।
Set-LS2Forest -Forest <String>
Set-LS2CredentialAD क्वेरीज़ के लिए क्रेडेंशियल सेट करता है। कई स्कैन चलाने या Find-LS2Vulnerable* फ़ंक्शंस को स्वतंत्र रूप से उपयोग करने के लिए उपयोगी है।
Set-LS2Credential -Credential <PSCredential>
Find-LS2RiskyPrincipalकॉन्फ़िगरेशन-केंद्रित से प्रिंसिपल-केंद्रित जोखिम विश्लेषण की ओर रुख करता है। व्यक्तिगत प्रिंसिपल के आधार पर कमज़ोरियों को एकत्रित करता है ताकि यह दिखाया जा सके कि किन उपयोगकर्ताओं या सेवा खातों में AD CS जोखिम सबसे अधिक है।
Find-LS2RiskyPrincipal [-Technique <String>] [-MinimumIssueCount <Int>] [-Top <Int>] [-Rescan]
लौटाता है: Principal, IssueCount, Techniques, VulnerableObjects, Issues वाला PSCustomObject
New-LS2Dashboardवर्तमान स्कैन परिणामों से एक इंटरैक्टिव HTML डैशबोर्ड जनरेट करता है। PSWriteHTML शामिल है (vendored) — अलग से इंस्टॉल करने की आवश्यकता नहीं है।
New-LS2Dashboard [-FilePath <String>] [-Show] [-ExpandGroups] [-Online]
Returns: निर्दिष्ट पथ पर HTML फ़ाइल। स्टोर को पॉप्युलेट करने के लिए पहले Invoke-Locksmith2 या Find-LS2Vulnerable* चलाएँ।
Locksmith 2 "Open Source, acknowledged contribution" है, इसका अर्थ है कि कोई भी योगदान सबमिट करने से पहले Maintainers के साथ चर्चा करनी होगी।