Skip to content

Latest commit

 

History

History
76 lines (50 loc) · 2.89 KB

File metadata and controls

76 lines (50 loc) · 2.89 KB

Solution du Challenge : Kerberos Roasting

Challenge : Trouver le mot de passe de l'utilisateur à partir du fichier PCAP fourni. Fichier : Bhack2TheFuture.pcap But : Cracker le hash Kerberos AS-REP.

1. Analyse

L'ouverture du fichier PCAP dans Wireshark ou l'analyse avec TShark révèle du trafic Kerberos. Plus précisément, il y a un paquet AS-REP (Type de message 11), qui est une réponse du KDC à la demande d'authentification de l'utilisateur.

Nous pouvons voir que le client est jacob et le royaume (realm) est BHACK.LOCAL.

2. Extraction

Le paquet AS-REP contient une partie chiffrée (enc-part) qui, pour l'etype 23 (RC4-HMAC), est chiffrée avec le hash du mot de passe de l'utilisateur. Nous pouvons l'extraire pour effectuer une attaque par force brute hors ligne (AS-REP Roasting).

Utilisation de tshark pour extraire les champs nécessaires :

tshark -r Bhack2TheFuture.pcap \
  -Y "kerberos.msg_type == 11" \
  -T fields \
  -e kerberos.CNameString \
  -e kerberos.realm \
  -e kerberos.encryptedKDCREPData_cipher

Sortie :

jacob   BHACK.LOCAL     261f17155772ee636cf16310deefba7fe7452a1cc8611e4a489b121e9e30ab681600f41683ebcaff2441ef7762d1769042a28ec670770c58b33e2a6d70792d4e37066abdd68ce09700d08c20730e666b2a55202133ee98c62291b60953819b0eecffe871bba7610adc6bd8fc69ecdc476d9bae90a933c0809d096964e63e2e9a7bea06e9e267ac8b5fcb817135b108758438477e92314f0cb55719cc3a40768ead61dc27b737d710ff35872e5bde929f52c5f4450b80c44b9454c8c4966b9c

3. Formatage

Le mode Hashcat 18200 (Kerberos 5, etype 23, AS-REP) attend le format suivant : $krb5asrep$23$user@realm:checksum$ciphertext

  • Utilisateur : jacob
  • Royaume (Realm) : BHACK.LOCAL
  • Checksum : Les 16 premiers octets (32 caractères hexadécimaux) du chiffrement.
  • Ciphertext : Les octets restants du chiffrement.

Découpage du chiffrement :

  • Checksum : 261f17155772ee636cf16310deefba7f
  • Ciphertext : e7452a1cc8... (reste de la chaîne)

Chaîne de hash finale :

$krb5asrep$23$jacob@BHACK.LOCAL:261f17155772ee636cf16310deefba7f$e7452a1cc8611e4a489b121e9e30ab681600f41683ebcaff2441ef7762d1769042a28ec670770c58b33e2a6d70792d4e37066abdd68ce09700d08c20730e666b2a55202133ee98c62291b60953819b0eecffe871bba7610adc6bd8fc69ecdc476d9bae90a933c0809d096964e63e2e9a7bea06e9e267ac8b5fcb817135b108758438477e92314f0cb55719cc3a40768ead61dc27b737d710ff35872e5bde929f52c5f4450b80c44b9454c8c4966b9c

4. Cracking

Utilisez Hashcat pour cracker le hash :

hashcat -m 18200 -a 0 hash.txt wordlist.txt

Résultat : Le mot de passe est trouvé :

5. Reconstruction du Flag

Maintenant que nous avons toutes les informations :

  • UserPrincipalName : jacob@BHACK.LOCAL (extrait du PCAP / Hash)
  • Mot de passe : marty123 (trouvé via Hashcat)

Le format du flag est MartyMcFlag{UserPrincipalName:Password}.

Flag Final : MartyMcFlag{jacob@BHACK.LOCAL:marty123}