Linux Active Directory

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Une machine linux peut Ă©galement ĂȘtre prĂ©sente dans un environnement Active Directory.

Une machine linux dans un AD pourrait stocker diffĂ©rents tickets CCACHE dans des fichiers. Ces tickets peuvent ĂȘtre utilisĂ©s et abusĂ©s comme tout autre ticket kerberos. Pour lire ces tickets, vous devez ĂȘtre le propriĂ©taire du ticket ou root sur la machine.

ÉnumĂ©ration

ÉnumĂ©ration AD depuis linux

Si vous avez accĂšs Ă  un AD sous linux (ou bash sous Windows), vous pouvez essayer https://github.com/lefayjey/linWinPwn pour Ă©numĂ©rer l’AD.

Vous pouvez Ă©galement consulter la page suivante pour apprendre d’autres façons d’énumĂ©rer l’AD depuis linux :

389, 636, 3268, 3269 - Pentesting LDAP

FreeIPA

FreeIPA est une alternative open-source Ă  Microsoft Windows Active Directory, principalement pour les environnements Unix. Il combine un annuaire LDAP complet avec un Centre de Distribution de ClĂ©s Kerberos MIT pour une gestion similaire Ă  Active Directory. Utilisant le SystĂšme de Certificats Dogtag pour la gestion des certificats CA et RA, il prend en charge l’authentification multi-facteurs, y compris les cartes Ă  puce. SSSD est intĂ©grĂ© pour les processus d’authentification Unix. En savoir plus Ă  ce sujet dans :

FreeIPA Pentesting

Jouer avec les tickets

Pass The Ticket

Sur cette page, vous allez trouver diffĂ©rents endroits oĂč vous pourriez trouver des tickets kerberos Ă  l’intĂ©rieur d’un hĂŽte linux, sur la page suivante, vous pouvez apprendre comment transformer ces formats de tickets CCache en Kirbi (le format que vous devez utiliser sous Windows) et aussi comment effectuer une attaque PTT :

Pass the Ticket

Réutilisation de tickets CCACHE depuis /tmp

Les fichiers CCACHE sont des formats binaires pour stocker des identifiants Kerberos et sont gĂ©nĂ©ralement stockĂ©s avec des permissions 600 dans /tmp. Ces fichiers peuvent ĂȘtre identifiĂ©s par leur format de nom, krb5cc_%{uid}, correspondant Ă  l’UID de l’utilisateur. Pour la vĂ©rification des tickets d’authentification, la variable d’environnement KRB5CCNAME doit ĂȘtre dĂ©finie sur le chemin du fichier de ticket souhaitĂ©, permettant sa rĂ©utilisation.

Listez le ticket actuel utilisĂ© pour l’authentification avec env | grep KRB5CCNAME. Le format est portable et le ticket peut ĂȘtre rĂ©utilisĂ© en dĂ©finissant la variable d’environnement avec export KRB5CCNAME=/tmp/ticket.ccache. Le format de nom de ticket Kerberos est krb5cc_%{uid} oĂč uid est l’UID de l’utilisateur.

# Find tickets
ls /tmp/ | grep krb5cc
krb5cc_1000

# Prepare to use it
export KRB5CCNAME=/tmp/krb5cc_1000

Réutilisation de tickets CCACHE depuis le keyring

Les tickets Kerberos stockĂ©s dans la mĂ©moire d’un processus peuvent ĂȘtre extraits, en particulier lorsque la protection ptrace de la machine est dĂ©sactivĂ©e (/proc/sys/kernel/yama/ptrace_scope). Un outil utile Ă  cet effet se trouve Ă  https://github.com/TarlogicSecurity/tickey, qui facilite l’extraction en s’injectant dans des sessions et en vidant les tickets dans /tmp.

Pour configurer et utiliser cet outil, les étapes ci-dessous sont suivies :

git clone https://github.com/TarlogicSecurity/tickey
cd tickey/tickey
make CONF=Release
/tmp/tickey -i

Cette procĂ©dure tentera d’injecter dans diverses sessions, indiquant le succĂšs en stockant les tickets extraits dans /tmp avec une convention de nommage de __krb_UID.ccache.

Réutilisation des tickets CCACHE à partir de SSSD KCM

SSSD maintient une copie de la base de donnĂ©es Ă  l’emplacement /var/lib/sss/secrets/secrets.ldb. La clĂ© correspondante est stockĂ©e en tant que fichier cachĂ© Ă  l’emplacement /var/lib/sss/secrets/.secrets.mkey. Par dĂ©faut, la clĂ© n’est lisible que si vous avez des permissions root.

L’invocation de SSSDKCMExtractor avec les paramĂštres –database et –key analysera la base de donnĂ©es et dĂ©cryptera les secrets.

git clone https://github.com/fireeye/SSSDKCMExtractor
python3 SSSDKCMExtractor.py --database secrets.ldb --key secrets.mkey

Le blob de cache d’identifiants Kerberos peut ĂȘtre converti en un fichier CCache Kerberos utilisable qui peut ĂȘtre passĂ© Ă  Mimikatz/Rubeus.

Réutilisation de ticket CCACHE à partir de keytab

git clone https://github.com/its-a-feature/KeytabParser
python KeytabParser.py /etc/krb5.keytab
klist -k /etc/krb5.keytab

Extraire des comptes de /etc/krb5.keytab

Les clés des comptes de service, essentielles pour les services fonctionnant avec des privilÚges root, sont stockées en toute sécurité dans les fichiers /etc/krb5.keytab. Ces clés, semblables à des mots de passe pour les services, nécessitent une confidentialité stricte.

Pour inspecter le contenu du fichier keytab, klist peut ĂȘtre utilisĂ©. L’outil est conçu pour afficher les dĂ©tails des clĂ©s, y compris le NT Hash pour l’authentification des utilisateurs, en particulier lorsque le type de clĂ© est identifiĂ© comme 23.

klist.exe -t -K -e -k FILE:C:/Path/to/your/krb5.keytab
# Output includes service principal details and the NT Hash

Pour les utilisateurs de Linux, KeyTabExtract offre la fonctionnalitĂ© d’extraire le hachage RC4 HMAC, qui peut ĂȘtre utilisĂ© pour le rĂ©emploi du hachage NTLM.

python3 keytabextract.py krb5.keytab
# Expected output varies based on hash availability

Sur macOS, bifrost sert d’outil pour l’analyse des fichiers keytab.

./bifrost -action dump -source keytab -path /path/to/your/file

En utilisant les informations de compte et de hachage extraites, des connexions aux serveurs peuvent ĂȘtre Ă©tablies en utilisant des outils comme crackmapexec.

crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDOMAIN"

Références

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks