Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Το FreeIPA είναι μια ανοιχτού κώδικα **εναλλακτική** λύση για το Microsoft Windows **Active Directory**, κυρίως για**Unix** περιβάλλοντα. Συνδυάζει έναν πλήρη **LDAP κατάλογο** με ένα MIT **Kerberos** Κέντρο Κατανομής Κλειδιών για διαχείριση παρόμοια με το Active Directory. Χρησιμοποιεί το σύστημα **Dogtag Certificate System**για τη διαχείριση πιστοποιητικών CA & RA, υποστηρίζει **πολλαπλούς παράγοντες** αυθεντικοποίησης, συμπεριλαμβανομένων των έξυπνων καρτών. Το SSSD είναι ενσωματωμένο για διαδικασίες αυθεντικοποίησης Unix.
## Fingerprints
### Files & Environment Variables
*Το αρχείο στο `/etc/krb5.conf` είναι όπου αποθηκεύονται οι πληροφορίες του πελάτη Kerberos, απαραίτητες για την εγγραφή στο τομέα. Αυτό περιλαμβάνει τις τοποθεσίες των KDCs και των διακομιστών διαχείρισης, τις προεπιλεγμένες ρυθμίσεις και τους χάρτες.
*Οι προεπιλεγμένες ρυθμίσεις για τους πελάτες και τους διακομιστές IPA ορίζονται στο αρχείο που βρίσκεται στο `/etc/ipa/default.conf`.
*Οι υπολογιστές εντός του τομέα πρέπει να έχουν ένα αρχείο `krb5.keytab` στο `/etc/krb5.keytab`για τις διαδικασίες αυθεντικοποίησης.
* Διάφορες μεταβλητές περιβάλλοντος (`KRB5CCNAME`, `KRB5_KTNAME`, `KRB5_CONFIG`, `KRB5_KDC_PROFILE`, `KRB5RCACHETYPE`, `KRB5RCACHEDIR`, `KRB5_TRACE`, `KRB5_CLIENT_KTNAME`, `KPROP_PORT`) χρησιμοποιούνται γιανα δείχνουν σε συγκεκριμένα αρχεία και ρυθμίσεις που σχετίζονται με την αυθεντικοποίηση Kerberos.
### Binaries
Εργαλεία όπως `ipa`, `kdestroy`, `kinit`, `klist`, `kpasswd`, `ksu`, `kswitch`, και `kvno` είναι κεντρικά για τη διαχείριση τομέων FreeIPA, τη διαχείριση εισιτηρίων Kerberos, την αλλαγή κωδικών πρόσβασης και την απόκτηση εισιτηρίων υπηρεσιών, μεταξύ άλλων λειτουργιών.
Η αυθεντικοποίηση στο FreeIPA, αξιοποιώντας το **Kerberos**, αντικατοπτρίζει αυτήν στο **Active Directory**. Η πρόσβαση στους πόρους του τομέα απαιτεί ένα έγκυρο εισιτήριο Kerberos, το οποίο μπορεί να αποθηκευτεί σε διάφορες τοποθεσίες ανάλογα με τη διαμόρφωση του τομέα FreeIPA.
Τα αρχεία CCACHE, που αποθηκεύονται συνήθως στο **`/tmp`** με δικαιώματα **600**, είναι δυαδικές μορφές για την αποθήκευση διαπιστευτηρίων Kerberos, σημαντικά για την αυθεντικοποίηση χωρίς τον απλό κωδικό πρόσβασης του χρήστη λόγω της φορητότητάς τους. Η ανάλυση ενός εισιτηρίου CCACHE μπορεί να γίνει χρησιμοποιώντας την εντολή `klist`, και η επαναχρησιμοποίηση ενός έγκυρου εισιτηρίου CCACHE περιλαμβάνει την εξαγωγή του `KRB5CCNAME` στη διαδρομή του αρχείου εισιτηρίου.
Εναλλακτικά, τα εισιτήρια CCACHE μπορούν να αποθηκευτούν στο κλειδί του Linux, προσφέροντας περισσότερη έλεγχο στη διαχείριση εισιτηρίων. Η έκταση της αποθήκευσης εισιτηρίων ποικίλλει (`KEYRING:name`, `KEYRING:process:name`, `KEYRING:thread:name`, `KEYRING:session:name`, `KEYRING:persistent:uidnumber`), με το `klist` ικανό να αναλύει αυτές τις πληροφορίες για τον χρήστη. Ωστόσο, η επαναχρησιμοποίηση ενός εισιτηρίου CCACHE από το Unix keyring μπορεί να προκαλέσει προκλήσεις, με εργαλεία όπως το **Tickey** διαθέσιμα για την εξαγωγή εισιτηρίων Kerberos.
Τα αρχεία keytab, που περιέχουν Kerberos principals και κρυπτογραφημένα κλειδιά, είναι κρίσιμα για την απόκτηση έγκυρων εισιτηρίων χορήγησης εισιτηρίων (TGT) χωρίς να χρειάζεται ο κωδικός πρόσβασης του principal. Η ανάλυση και η επαναχρησιμοποίηση διαπιστευτηρίων από αρχεία keytab μπορεί να γίνει εύκολα με βοηθητικά προγράμματα όπως το `klist` και σενάρια όπως το **KeytabParser**.
Μπορείτε να εκτελέσετε την **enumeration** μέσω **ldap** και άλλων **binary** εργαλείων, ή **συνδέοντας στη σελίδα web στην πόρτα 443 του διακομιστή FreeIPA**.
{% endhint %}
### Hosts, Users, and Groups <a href="#id-4b3b" id="id-4b3b"></a>
Είναι δυνατή η δημιουργία **hosts**, **users** και **groups**. Οι υπολογιστές και οι χρήστες ταξινομούνται σε κοντέινερ που ονομάζονται “**Host Groups**” και “**User Groups**” αντίστοιχα. Αυτά είναι παρόμοια με τις **Οργανωτικές Μονάδες** (OU).
Από προεπιλογή στο FreeIPA, ο διακομιστής LDAP επιτρέπει **ανώνυμες συνδέσεις**, και μια μεγάλη ποσότητα δεδομένων είναι αναγνωρίσιμη **χωρίς αυθεντικοποίηση**. Αυτό μπορεί να αναγνωρίσει όλα τα διαθέσιμα δεδομένα χωρίς αυθεντικοποίηση:
Για να αποκτήσετε **περισσότερες πληροφορίες** πρέπει να χρησιμοποιήσετε μια **επαληθευμένη** συνεδρία (ελέγξτε την ενότητα Επαλήθευσης γιανα μάθετε πώς να προετοιμάσετε μια επαληθευμένη συνεδρία).
*Ο κωδικός πρόσβασης hash ενός χρήστη αποθηκεύεται ως **base64** στο “**userPassword**” **attribute**. Αυτός ο hash μπορεί να είναι **SSHA512** (παλιές εκδόσεις του FreeIPA) ή **PBKDF2\_SHA256**.
*Ο**Nthash** του κωδικού αποθηκεύεται ως **base64** στο “**ipaNTHash**” αν το σύστημα έχει **integration** με το **AD**.
• Αν το freeIPA είναι ενσωματωμένο με το AD, ο**ipaNTHash** είναι εύκολο να σπάσει: Πρέπει να**decode****base64** -> να το ξανακωδικοποιήσετε ως **ASCII** hex -> ο John The Ripper ή το **hashcat** μπορούν να σας βοηθήσουν να το σπάσετε γρήγορα
• Αν χρησιμοποιείται παλιά έκδοση του FreeIPA, τότε χρησιμοποιείται **SSHA512**: Πρέπει να αποκωδικοποιήσετε **base64** -> να βρείτε τον SSHA512 **hash** -> ο John The Ripper ή το **hashcat** μπορούν να σας βοηθήσουν να το σπάσετε
• Αν χρησιμοποιείται νέα έκδοση του FreeIPA, τότε χρησιμοποιείται **PBKDF2\_SHA256**: Πρέπει να αποκωδικοποιήσετε **base64** -> να βρείτε PBKDF2\_SHA256 -> το **length** του είναι 256 byte. Ο John μπορεί να δουλέψει με 256 bits (32 byte) -> το SHA-265 χρησιμοποιείται ως η ψευδο-τυχαία συνάρτηση, το μέγεθος μπλοκ είναι 32 byte -> μπορείτε να χρησιμοποιήσετε μόνο τα πρώτα 256 bit του hash PBKDF2\_SHA256 -> ο John The Ripper ή το hashcat μπορούν να σας βοηθήσουν να το σπάσετε
Το FreeIPA επιτρέπει την κεντρική διαχείριση των **sudo permissions** μέσω των sudo-rules. Αυτοί οι κανόνες επιτρέπουν ή περιορίζουν την εκτέλεση εντολών με sudo σε hosts εντός του τομέα. Ένας επιτιθέμενος θα μπορούσε δυνητικά να εντοπίσει τους εφαρμοστέους hosts, χρήστες και επιτρεπόμενες εντολές εξετάζοντας αυτά τα σύνολα κανόνων.
Ένας **ρόλος** αποτελείται από διάφορα **προνόμια**, το καθένα από τα οποία περιλαμβάνει μια συλλογή **αδειών**. Αυτοί οι ρόλοι μπορούν να ανατεθούν σε Χρήστες, Ομάδες Χρηστών, **Hosts**, Ομάδες Hosts και Υπηρεσίες. Για παράδειγμα, εξετάστε τον προεπιλεγμένο ρόλο “Διαχειριστής Χρηστών” στο FreeIPA γιανα παραδείξετε αυτή τη δομή.
Στο [https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e](https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e) μπορείτε να βρείτε ένα απλό παράδειγμα για το πώς να εκμεταλλευτείτε κάποιες άδειες γιανα συμβιβάσετε το domain.
Μπορείτε να ελέγξετε μια λεπτομερή εξήγηση στο [https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b](https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b)
Μάθετε & εξασκηθείτε στο AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**