Linux Active Directory
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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 l'utente proprietario del ticket o root all'interno della macchina.
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 apprendere altri modi per enumerare l'AD da linux:
FreeIPA è un alternativa open-source a Microsoft Windows Active Directory, principalmente per ambienti Unix. Combina un directory LDAP completo con un MIT Kerberos Key Distribution Center per una gestione simile a Active Directory. Utilizzando il Dogtag Certificate System per la gestione dei certificati CA e RA, supporta l'autenticazione multi-fattore, inclusi i smartcard. SSSD è integrato per i processi di autenticazione Unix. Scopri di più in:
In questa pagina troverai diversi luoghi dove potresti trovare ticket kerberos all'interno di un host linux, nella pagina seguente puoi apprendere come trasformare questi formati di ticket CCache in Kirbi (il formato che devi usare in Windows) e anche come eseguire un attacco PTT:
I file CCACHE sono formati binari per memorizzare le credenziali Kerberos e sono tipicamente memorizzati con permessi 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 di ambiente KRB5CCNAME
deve essere impostata sul percorso del file ticket desiderato, consentendone il riutilizzo.
Elenca il ticket attualmente utilizzato per l'autenticazione con env | grep KRB5CCNAME
. Il formato è portatile e il ticket può essere riutilizzato impostando la variabile di ambiente con export KRB5CCNAME=/tmp/ticket.ccache
. Il formato del nome del ticket Kerberos è krb5cc_%{uid}
dove uid è l'UID dell'utente.
I ticket Kerberos memorizzati nella memoria di un processo possono essere estratti, in particolare quando la protezione ptrace della macchina è disabilitata (/proc/sys/kernel/yama/ptrace_scope
). Uno strumento utile per questo scopo si trova su https://github.com/TarlogicSecurity/tickey, che facilita l'estrazione iniettando nelle sessioni e dumpando i ticket in /tmp
.
Per configurare e utilizzare questo strumento, si seguono i passaggi seguenti:
Questa procedura tenterà di iniettare in varie sessioni, indicando il successo memorizzando i ticket estratti in /tmp
con una convenzione di denominazione di __krb_UID.ccache
.
SSSD mantiene una copia del database nel percorso /var/lib/sss/secrets/secrets.ldb
. La chiave corrispondente è memorizzata come file nascosto nel percorso /var/lib/sss/secrets/.secrets.mkey
. Per impostazione predefinita, la chiave è leggibile solo se si dispone di permessi root.
Invocando **SSSDKCMExtractor
** con i parametri --database e --key si analizzerà il database e si decrypteranno i segreti.
Il blob della cache delle credenziali Kerberos può essere convertito in un file Kerberos CCache utilizzabile che può essere passato a Mimikatz/Rubeus.
Le chiavi degli account di servizio, essenziali per i servizi che operano con privilegi di root, sono archiviate in modo sicuro nei file /etc/krb5.keytab
. Queste chiavi, simili a password per i servizi, richiedono una stretta riservatezza.
Per ispezionare il contenuto del file keytab, si può utilizzare klist
. Lo strumento è progettato per visualizzare i dettagli delle chiavi, inclusa l'NT Hash per l'autenticazione degli utenti, in particolare quando il tipo di chiave è identificato come 23.
Per gli utenti Linux, KeyTabExtract
offre funzionalità per estrarre l'hash RC4 HMAC, che può essere sfruttato per il riutilizzo dell'hash NTLM.
Su macOS, bifrost
funge da strumento per l'analisi dei file keytab.
Utilizzando le informazioni sull'account e sull'hash estratte, è possibile stabilire connessioni ai server utilizzando strumenti come crackmapexec
.
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)