<summary><strong>Lernen Sie das Hacken von AWS von Null bis zum Experten mit</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegramm-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositories senden.
FreeIPA ist eine Open-Source-**Alternative** zu Microsoft Windows **Active Directory**, hauptsächlich für **Unix**-Umgebungen. Es kombiniert ein vollständiges **LDAP-Verzeichnis** mit einem MIT **Kerberos** Key Distribution Center für das Management ähnlich wie Active Directory. Mit dem Dogtag **Certificate System** für CA & RA-Zertifikatsverwaltung unterstützt es die **Multi-Faktor-Authentifizierung**, einschließlich Smartcards. SSSD ist für Unix-Authentifizierungsprozesse integriert.
- Die Datei `/etc/krb5.conf` enthält Informationen zum Kerberos-Client, die für die Registrierung in der Domäne erforderlich sind. Dies umfasst die Standorte von KDCs und Admin-Servern, Standardkonfigurationen und Zuordnungen.
- Systemweite Standards für IPA-Clients und -Server werden in der Datei `/etc/ipa/default.conf` festgelegt.
- Hosts in der Domäne müssen eine `krb5.keytab`-Datei unter `/etc/krb5.keytab` für Authentifizierungsprozesse haben.
- Verschiedene Umgebungsvariablen (`KRB5CCNAME`, `KRB5_KTNAME`, `KRB5_CONFIG`, `KRB5_KDC_PROFILE`, `KRB5RCACHETYPE`, `KRB5RCACHEDIR`, `KRB5_TRACE`, `KRB5_CLIENT_KTNAME`, `KPROP_PORT`) werden verwendet, um auf spezifische Dateien und Einstellungen zu verweisen, die für die Kerberos-Authentifizierung relevant sind.
Tools wie `ipa`, `kdestroy`, `kinit`, `klist`, `kpasswd`, `ksu`, `kswitch` und `kvno` sind zentral für das Management von FreeIPA-Domänen, die Verwaltung von Kerberos-Tickets, das Ändern von Passwörtern und das Erwerben von Diensttickets sowie für andere Funktionen.
Die Authentifizierung in FreeIPA, unter Verwendung von **Kerberos**, ähnelt der in **Active Directory**. Der Zugriff auf Domänenressourcen erfordert ein gültiges Kerberos-Ticket, das je nach Konfiguration der FreeIPA-Domäne an verschiedenen Orten gespeichert werden kann.
CCACHE-Dateien, die normalerweise in **`/tmp`** mit **600**-Berechtigungen gespeichert sind, sind binäre Formate zum Speichern von Kerberos-Anmeldeinformationen, die für die Authentifizierung ohne das Klartextpasswort eines Benutzers aufgrund ihrer Portabilität wichtig sind. Das Parsen eines CCACHE-Tickets kann mit dem Befehl `klist` durchgeführt werden, und das erneute Verwenden eines gültigen CCACHE-Tickets beinhaltet das Exportieren von `KRB5CCNAME` zum Pfad der Ticketdatei.
Alternativ können CCACHE-Tickets im Linux-Schlüsselbund gespeichert werden, der eine bessere Kontrolle über das Ticket-Management bietet. Der Umfang der Ticket-Speicherung variiert (`KEYRING:Name`, `KEYRING:Prozess:Name`, `KEYRING:Thread:Name`, `KEYRING:Sitzung:Name`, `KEYRING:Persistent:Benutzerkennung`), wobei `klist` in der Lage ist, diese Informationen für den Benutzer zu analysieren. Das erneute Verwenden eines CCACHE-Tickets aus dem Unix-Schlüsselbund kann jedoch Herausforderungen darstellen, wobei Tools wie **Tickey** zum Extrahieren von Kerberos-Tickets verfügbar sind.
Keytab-Dateien, die Kerberos-Prinzipale und verschlüsselte Schlüssel enthalten, sind entscheidend für den Erhalt gültiger Ticket Granting Tickets (TGT) ohne das Passwort des Prinzips zu benötigen. Das Parsen und erneute Verwenden von Anmeldeinformationen aus Keytab-Dateien kann mit Dienstprogrammen wie `klist` und Skripten wie **KeytabParser** problemlos durchgeführt werden.
Sie können die **Enumeration** über **LDAP** und andere **binäre** Tools durchführen oder **sich mit der Webseite auf Port 443 des FreeIPA-Servers verbinden**.
Es ist möglich, **Hosts**, **Benutzer** und **Gruppen** zu erstellen. Hosts und Benutzer werden in Container namens "**Hostgruppen**" bzw. "**Benutzergruppen**" sortiert. Diese ähneln **Organizational Units** (OU).
Standardmäßig ermöglicht der LDAP-Server in FreeIPA **anonyme Bindungen**, und eine große Menge an Daten kann **unauthentifiziert** abgerufen werden. Dadurch können alle verfügbaren Daten unauthentifiziert abgerufen werden:
Um **weitere Informationen** zu erhalten, müssen Sie eine **authentifizierte** Sitzung verwenden (überprüfen Sie den Abschnitt zur Authentifizierung, um zu erfahren, wie Sie eine authentifizierte Sitzung vorbereiten).
* Der Passwort-Hash eines Benutzers wird als **Base64** im Attribut "**userPassword**" gespeichert. Dieser Hash kann entweder **SSHA512** (ältere Versionen von FreeIPA) oder **PBKDF2\_SHA256** sein.
* Der **Nthash** des Passworts wird als **Base64** im Attribut "**ipaNTHash**" gespeichert, wenn das System eine **Integration** mit **AD** hat.
• Wenn FreeIPA mit AD integriert ist, ist es einfach, **ipaNTHash** zu knacken: Sie sollten **Base64****decodieren** -> es als **ASCII** Hexadezimalzahl neu codieren -> John The Ripper oder **hashcat** können Ihnen helfen, es schnell zu knacken.
• Wenn eine ältere Version von FreeIPA verwendet wird, wird **SSHA512** verwendet: Sie sollten **Base64** decodieren -> SSHA512 **Hash** finden -> John The Ripper oder **hashcat** können Ihnen helfen, es zu knacken.
• Wenn eine neue Version von FreeIPA verwendet wird, wird **PBKDF2\_SHA256** verwendet: Sie sollten **Base64** decodieren -> PBKDF2\_SHA256 finden -> seine **Länge** beträgt 256 Byte. John kann mit 256 Bit (32 Byte) arbeiten -> SHA-265 wird als Pseudo-Zufallsfunktion verwendet, die Blockgröße beträgt 32 Byte -> Sie können nur die ersten 256 Bit unseres PBKDF2\_SHA256-Hashes verwenden -> John The Ripper oder hashcat können Ihnen helfen, es zu knacken.
FreeIPA ermöglicht eine zentrale Kontrolle über **sudo-Berechtigungen** über sudo-Regeln. Diese Regeln erlauben oder beschränken die Ausführung von Befehlen mit sudo auf Hosts innerhalb der Domäne. Ein Angreifer könnte potenziell die anwendbaren Hosts, Benutzer und erlaubten Befehle durch die Untersuchung dieser Regelwerke identifizieren.
Eine **Rolle** besteht aus verschiedenen **Privilegien**, von denen jeder eine Sammlung von **Berechtigungen** umfasst. Diese Rollen können Benutzern, Benutzer-**Gruppen**, **Hosts**, Host-Gruppen und Diensten zugewiesen werden. Betrachten wir zum Beispiel die Standardrolle "Benutzeradministrator" in FreeIPA, um diese Struktur zu veranschaulichen.
In [https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e](https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e) finden Sie ein einfaches Beispiel, wie Sie einige Berechtigungen missbrauchen können, um die Domäne zu kompromittieren.
Wenn Sie einen neuen Benutzer mit dem Namen `root` erstellen können, können Sie sich als ihn ausgeben und Sie werden in der Lage sein, **SSH auf jede Maschine als root** durchzuführen.
Eine detaillierte Erklärung finden Sie unter [https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b](https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b)
<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.