mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/windows-hardening/active-directory-methodology/ad-certi
This commit is contained in:
parent
b85dbb5686
commit
25475670ea
@ -12,9 +12,9 @@
|
||||
- Ένας μοναδικός **Αριθμός Σειράς**, που παρέχεται από την Αρχή Πιστοποίησης (CA), προσδιορίζει κάθε πιστοποιητικό.
|
||||
- Ο **Εκδότης** αναφέρεται στην CA που έχει εκδώσει το πιστοποιητικό.
|
||||
- Το **SubjectAlternativeName** επιτρέπει πρόσθετα ονόματα για το θέμα, ενισχύοντας την ευελιξία αναγνώρισης.
|
||||
- Οι **Βασικοί Περιορισμοί** προσδιορίζουν αν το πιστοποιητικό προορίζεται για CA ή για τελικό ον και καθορίζουν περιορισμούς χρήσης.
|
||||
- Οι **Εκτεταμένες Χρήσεις Κλειδιών (EKUs)** προσδιορίζουν τους συγκεκριμένους σκοπούς του πιστοποιητικού, όπως η υπογραφή κώδικα ή η κρυπτογράφηση email, μέσω Αναγνωριστών Αντικειμένων (OIDs).
|
||||
- Ο **Αλγόριθμος Υπογραφής** καθορίζει τη μέθοδο υπογραφής του πιστοποιητικού.
|
||||
- Οι **Βασικοί Περιορισμοί** προσδιορίζουν αν το πιστοποιητικό είναι για μια CA ή μια τελική οντότητα και καθορίζουν περιορισμούς χρήσης.
|
||||
- Οι **Εκτεταμένες Χρήσεις Κλειδιών (EKUs)** καθορίζουν τους συγκεκριμένους σκοπούς του πιστοποιητικού, όπως η υπογραφή κώδικα ή η κρυπτογράφηση email, μέσω Αναγνωριστικών Αντικειμένων (OIDs).
|
||||
- Ο **Αλγόριθμος Υπογραφής** προσδιορίζει τη μέθοδο υπογραφής του πιστοποιητικού.
|
||||
- Η **Υπογραφή**, που δημιουργείται με το ιδιωτικό κλειδί του εκδότη, εγγυάται την αυθεντικότητα του πιστοποιητικού.
|
||||
|
||||
### Special Considerations
|
||||
@ -34,37 +34,37 @@
|
||||
|
||||
1. Η διαδικασία αίτησης ξεκινά με τους πελάτες να βρίσκουν μια Enterprise CA.
|
||||
2. Δημιουργείται μια CSR, που περιέχει ένα δημόσιο κλειδί και άλλες λεπτομέρειες, μετά τη δημιουργία ενός ζεύγους δημόσιου-ιδιωτικού κλειδιού.
|
||||
3. Η CA αξιολογεί την CSR σε σχέση με τα διαθέσιμα πρότυπα πιστοποιητικών, εκδίδοντας το πιστοποιητικό με βάση τις άδειες του προτύπου.
|
||||
3. Η CA αξιολογεί την CSR σε σχέση με τα διαθέσιμα πρότυπα πιστοποιητικών, εκδίδοντας το πιστοποιητικό με βάση τα δικαιώματα του προτύπου.
|
||||
4. Μετά την έγκριση, η CA υπογράφει το πιστοποιητικό με το ιδιωτικό της κλειδί και το επιστρέφει στον πελάτη.
|
||||
|
||||
### Certificate Templates
|
||||
|
||||
Ορισμένα εντός της AD, αυτά τα πρότυπα περιγράφουν τις ρυθμίσεις και τις άδειες για την έκδοση πιστοποιητικών, συμπεριλαμβανομένων των επιτρεπόμενων EKUs και δικαιωμάτων εγγραφής ή τροποποίησης, κρίσιμα για τη διαχείριση της πρόσβασης στις υπηρεσίες πιστοποιητικών.
|
||||
Ορισμένα εντός της AD, αυτά τα πρότυπα περιγράφουν τις ρυθμίσεις και τα δικαιώματα για την έκδοση πιστοποιητικών, συμπεριλαμβανομένων των επιτρεπόμενων EKUs και δικαιωμάτων εγγραφής ή τροποποίησης, κρίσιμα για τη διαχείριση της πρόσβασης στις υπηρεσίες πιστοποιητικών.
|
||||
|
||||
## Certificate Enrollment
|
||||
|
||||
Η διαδικασία εγγραφής για πιστοποιητικά ξεκινά από έναν διαχειριστή που **δημιουργεί ένα πρότυπο πιστοποιητικού**, το οποίο στη συνέχεια **δημοσιεύεται** από μια Enterprise Certificate Authority (CA). Αυτό καθιστά το πρότυπο διαθέσιμο για εγγραφή πελατών, ένα βήμα που επιτυγχάνεται προσθέτοντας το όνομα του προτύπου στο πεδίο `certificatetemplates` ενός αντικειμένου Active Directory.
|
||||
|
||||
Για να ζητήσει ένας πελάτης ένα πιστοποιητικό, πρέπει να παραχωρηθούν **δικαιώματα εγγραφής**. Αυτά τα δικαιώματα καθορίζονται από τους περιγραφείς ασφαλείας στο πρότυπο πιστοποιητικού και την ίδια την Enterprise CA. Οι άδειες πρέπει να παραχωρούνται και στις δύο τοποθεσίες για να είναι επιτυχής μια αίτηση.
|
||||
Για να ζητήσει ένας πελάτης ένα πιστοποιητικό, πρέπει να παραχωρηθούν **δικαιώματα εγγραφής**. Αυτά τα δικαιώματα καθορίζονται από τους περιγραφείς ασφαλείας στο πρότυπο πιστοποιητικού και την ίδια την Enterprise CA. Τα δικαιώματα πρέπει να παραχωρούνται και στις δύο τοποθεσίες για να είναι επιτυχής μια αίτηση.
|
||||
|
||||
### Template Enrollment Rights
|
||||
|
||||
Αυτά τα δικαιώματα καθορίζονται μέσω Εισόδων Ελέγχου Πρόσβασης (ACEs), που περιγράφουν άδειες όπως:
|
||||
Αυτά τα δικαιώματα καθορίζονται μέσω Εισόδων Ελέγχου Πρόσβασης (ACEs), που περιγράφουν δικαιώματα όπως:
|
||||
|
||||
- Δικαιώματα **Certificate-Enrollment** και **Certificate-AutoEnrollment**, καθένα συνδεδεμένο με συγκεκριμένα GUIDs.
|
||||
- Δικαιώματα **Certificate-Enrollment** και **Certificate-AutoEnrollment**, το καθένα συνδεδεμένο με συγκεκριμένα GUIDs.
|
||||
- **ExtendedRights**, επιτρέποντας όλες τις εκτεταμένες άδειες.
|
||||
- **FullControl/GenericAll**, παρέχοντας πλήρη έλεγχο πάνω στο πρότυπο.
|
||||
|
||||
### Enterprise CA Enrollment Rights
|
||||
|
||||
Τα δικαιώματα της CA περιγράφονται στον περιγραφέα ασφαλείας της, προσβάσιμο μέσω της κονσόλας διαχείρισης της Αρχής Πιστοποίησης. Ορισμένες ρυθμίσεις επιτρέπουν ακόμη και σε χρήστες με χαμηλά προνόμια απομακρυσμένη πρόσβαση, γεγονός που θα μπορούσε να είναι ανησυχητικό από άποψη ασφάλειας.
|
||||
Τα δικαιώματα της CA περιγράφονται στον περιγραφέα ασφαλείας της, προσβάσιμο μέσω της κονσόλας διαχείρισης της Αρχής Πιστοποίησης. Ορισμένες ρυθμίσεις επιτρέπουν ακόμη και σε χρήστες χαμηλών προνομίων απομακρυσμένη πρόσβαση, γεγονός που θα μπορούσε να είναι ανησυχητικό για την ασφάλεια.
|
||||
|
||||
### Additional Issuance Controls
|
||||
|
||||
Ορισμένοι έλεγχοι μπορεί να ισχύουν, όπως:
|
||||
|
||||
- **Έγκριση Διαχειριστή**: Τοποθετεί τις αιτήσεις σε εκκρεμή κατάσταση μέχρι να εγκριθούν από έναν διαχειριστή πιστοποιητικών.
|
||||
- **Πράκτορες Εγγραφής και Εξουσιοδοτημένες Υπογραφές**: Προσδιορίζουν τον αριθμό των απαιτούμενων υπογραφών σε μια CSR και τους απαραίτητους Αναγνωριστές Πολιτικής Εφαρμογής OIDs.
|
||||
- **Πράκτορες Εγγραφής και Εξουσιοδοτημένες Υπογραφές**: Προσδιορίζουν τον αριθμό των απαιτούμενων υπογραφών σε μια CSR και τα απαραίτητα Αναγνωριστικά Πολιτικής Εφαρμογής OIDs.
|
||||
|
||||
### Methods to Request Certificates
|
||||
|
||||
@ -83,11 +83,11 @@ Get-Certificate -Template "User" -CertStoreLocation "cert:\\CurrentUser\\My"
|
||||
```
|
||||
## Πιστοποίηση Πιστοποιητικού
|
||||
|
||||
Το Active Directory (AD) υποστηρίζει την πιστοποίηση μέσω πιστοποιητικών, κυρίως χρησιμοποιώντας τα πρωτόκολλα **Kerberos** και **Secure Channel (Schannel)**.
|
||||
Το Active Directory (AD) υποστηρίζει την πιστοποίηση μέσω πιστοποιητικού, κυρίως χρησιμοποιώντας τα πρωτόκολλα **Kerberos** και **Secure Channel (Schannel)**.
|
||||
|
||||
### Διαδικασία Πιστοποίησης Kerberos
|
||||
|
||||
Στη διαδικασία πιστοποίησης Kerberos, το αίτημα ενός χρήστη για ένα Ticket Granting Ticket (TGT) υπογράφεται χρησιμοποιώντας το **ιδιωτικό κλειδί** του πιστοποιητικού του χρήστη. Αυτό το αίτημα υποβάλλεται σε πολλές επικυρώσεις από τον ελεγκτή τομέα, συμπεριλαμβανομένης της **έγκυρης** κατάστασης του πιστοποιητικού, της **διαδρομής** και της **κατάστασης ανάκλησης**. Οι επικυρώσεις περιλαμβάνουν επίσης την επαλήθευση ότι το πιστοποιητικό προέρχεται από μια αξιόπιστη πηγή και την επιβεβαίωση της παρουσίας του εκδότη στο **κατάστημα πιστοποιητικών NTAUTH**. Οι επιτυχείς επικυρώσεις οδηγούν στην έκδοση ενός TGT. Το αντικείμενο **`NTAuthCertificates`** στο AD, που βρίσκεται στη:
|
||||
Στη διαδικασία πιστοποίησης Kerberos, το αίτημα ενός χρήστη για ένα Ticket Granting Ticket (TGT) υπογράφεται χρησιμοποιώντας το **ιδιωτικό κλειδί** του πιστοποιητικού του χρήστη. Αυτό το αίτημα υποβάλλεται σε πολλές επικυρώσεις από τον ελεγκτή τομέα, συμπεριλαμβανομένης της **έγκυρης** κατάστασης του πιστοποιητικού, της **διαδρομής** και της **κατάστασης ανάκλησης**. Οι επικυρώσεις περιλαμβάνουν επίσης την επαλήθευση ότι το πιστοποιητικό προέρχεται από μια αξιόπιστη πηγή και την επιβεβαίωση της παρουσίας του εκδότη στο **κατάστημα πιστοποιητικών NTAUTH**. Οι επιτυχείς επικυρώσεις οδηγούν στην έκδοση ενός TGT. Το αντικείμενο **`NTAuthCertificates`** στο AD, που βρίσκεται στο:
|
||||
```bash
|
||||
CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=<domain>,DC=<com>
|
||||
```
|
||||
@ -108,16 +108,52 @@ Certify.exe cas
|
||||
# Identify vulnerable certificate templates with Certify
|
||||
Certify.exe find /vulnerable
|
||||
|
||||
# Use Certipy for enumeration and identifying vulnerable templates
|
||||
certipy find -vulnerable -u john@corp.local -p Passw0rd -dc-ip 172.16.126.128
|
||||
# Use Certipy (>=4.0) for enumeration and identifying vulnerable templates
|
||||
certipy find -vulnerable -dc-only -u john@corp.local -p Passw0rd -target dc.corp.local
|
||||
|
||||
# Request a certificate over the web enrollment interface (new in Certipy 4.x)
|
||||
certipy req -web -target ca.corp.local -template WebServer -upn john@corp.local -dns www.corp.local
|
||||
|
||||
# Enumerate Enterprise CAs and certificate templates with certutil
|
||||
certutil.exe -TCAInfo
|
||||
certutil -v -dstemplate
|
||||
```
|
||||
---
|
||||
|
||||
## Πρόσφατες Ευπάθειες & Ενημερώσεις Ασφαλείας (2022-2025)
|
||||
|
||||
| Έτος | ID / Όνομα | Επιπτώσεις | Κύρια Σημεία |
|
||||
|------|-----------|--------|----------------|
|
||||
| 2022 | **CVE-2022-26923** – “Certifried” / ESC6 | *Αύξηση προνομίων* μέσω παραποίησης πιστοποιητικών λογαριασμού μηχανής κατά τη διάρκεια του PKINIT. | Η ενημέρωση περιλαμβάνεται στις **10 Μαΐου 2022** ενημερώσεις ασφαλείας. Εισήχθησαν έλεγχοι ελέγχου & ισχυρής αντιστοίχισης μέσω του **KB5014754**; τα περιβάλλοντα θα πρέπει τώρα να είναι σε *Λειτουργία Πλήρους Επιβολής*. citeturn2search0 |
|
||||
| 2023 | **CVE-2023-35350 / 35351** | *Απομακρυσμένη εκτέλεση κώδικα* στους ρόλους AD CS Web Enrollment (certsrv) και CES. | Δημόσιες PoCs είναι περιορισμένες, αλλά τα ευάλωτα στοιχεία IIS είναι συχνά εκτεθειμένα εσωτερικά. Ενημέρωση από **Ιούλιο 2023** Patch Tuesday. citeturn3search0 |
|
||||
| 2024 | **CVE-2024-49019** – “EKUwu” / ESC15 | Χαμηλά προνομιακοί χρήστες με δικαιώματα εγγραφής θα μπορούσαν να παρακάμψουν **οποιοδήποτε** EKU ή SAN κατά τη διάρκεια της δημιουργίας CSR, εκδίδοντας πιστοποιητικά που χρησιμοποιούνται για την αυθεντικοποίηση πελατών ή την υπογραφή κώδικα, οδηγώντας σε *συμβιβασμό τομέα*. | Αντιμετωπίστηκε στις ενημερώσεις **Απριλίου 2024**. Αφαιρέστε την “Παροχή στην αίτηση” από τα πρότυπα και περιορίστε τα δικαιώματα εγγραφής. citeturn1search3 |
|
||||
|
||||
### Χρονοδιάγραμμα σκληρύνσεων της Microsoft (KB5014754)
|
||||
|
||||
Η Microsoft εισήγαγε μια τριφασική διαδικασία (Συμβατότητα → Έλεγχος → Επιβολή) για να μεταφέρει την πιστοποίηση πιστοποιητικών Kerberos μακριά από αδύνατες έμμεσες αντιστοιχίσεις. Από **11 Φεβρουαρίου 2025**, οι ελεγκτές τομέα αλλάζουν αυτόματα σε **Πλήρη Επιβολή** αν η τιμή μητρώου `StrongCertificateBindingEnforcement` δεν έχει οριστεί. Οι διαχειριστές θα πρέπει να:
|
||||
|
||||
1. Ενημερώσουν όλους τους DCs & AD CS servers (Μάιος 2022 ή αργότερα).
|
||||
2. Παρακολουθούν το Event ID 39/41 για αδύνατες αντιστοιχίσεις κατά τη διάρκεια της φάσης *Έλεγχος*.
|
||||
3. Επαναεκδώσουν πιστοποιητικά αυθεντικοποίησης πελατών με τη νέα **επέκταση SID** ή να ρυθμίσουν ισχυρές χειροκίνητες αντιστοιχίσεις πριν από τον Φεβρουάριο 2025. citeturn2search0
|
||||
|
||||
---
|
||||
|
||||
## Βελτιώσεις Ανίχνευσης & Σκληρύνσεων
|
||||
|
||||
* Ο **Defender for Identity AD CS sensor (2023-2024)** τώρα επιφανειοποιεί αξιολογήσεις στάσης για ESC1-ESC8/ESC11 και δημιουργεί ειδοποιήσεις σε πραγματικό χρόνο όπως *“Έκδοση πιστοποιητικού ελεγκτή τομέα για μη-DC”* (ESC8) και *“Αποτροπή Εγγραφής Πιστοποιητικού με αυθαίρετες Πολιτικές Εφαρμογής”* (ESC15). Βεβαιωθείτε ότι οι αισθητήρες είναι αναπτυγμένοι σε όλους τους AD CS servers για να επωφεληθούν από αυτές τις ανιχνεύσεις. citeturn5search0
|
||||
* Απενεργοποιήστε ή περιορίστε αυστηρά την επιλογή **“Παροχή στην αίτηση”** σε όλα τα πρότυπα; προτιμήστε ρητά καθορισμένες τιμές SAN/EKU.
|
||||
* Αφαιρέστε **Οποιοσδήποτε Σκοπός** ή **Χωρίς EKU** από τα πρότυπα εκτός αν είναι απολύτως απαραίτητο (αντιμετωπίζει σενάρια ESC2).
|
||||
* Απαιτήστε **έγκριση διευθυντή** ή αφιερωμένες ροές εργασίας Εγγραφής Πράκτορα για ευαίσθητα πρότυπα (π.χ., WebServer / CodeSigning).
|
||||
* Περιορίστε την εγγραφή ιστού (`certsrv`) και τα endpoints CES/NDES σε αξιόπιστα δίκτυα ή πίσω από αυθεντικοποίηση πιστοποιητικού πελάτη.
|
||||
* Επιβάλετε κρυπτογράφηση εγγραφής RPC (`certutil –setreg CA\InterfaceFlags +IF_ENFORCEENCRYPTICERTREQ`) για να μετριάσετε το ESC11.
|
||||
|
||||
---
|
||||
|
||||
## Αναφορές
|
||||
|
||||
- [https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf](https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf)
|
||||
- [https://comodosslstore.com/blog/what-is-ssl-tls-client-authentication-how-does-it-work.html](https://comodosslstore.com/blog/what-is-ssl-tls-client-authentication-how-does-it-work.html)
|
||||
- [https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16](https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16)
|
||||
- [https://advisory.eventussecurity.com/advisory/critical-vulnerability-in-ad-cs-allows-privilege-escalation/](https://advisory.eventussecurity.com/advisory/critical-vulnerability-in-ad-cs-allows-privilege-escalation/)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user