Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 74.37 seconds
Le scan a permis d’identifier que le serveur hébergeait un site web qui permet d’analyser les scripts powershell qu’on lui fournit.
En uploadant un script powershell permettant d’obtenir un reverse shell, on obtient directement un accès distant à la machine.
Encoded user flag
En essayant de récupérer le flag de l’utilisateur, on s’apercoit que ce dernier contient une chaine de caractère encodé en base64.
En décodant le fichier, on apprend l’existence d’un endpoint caché sur le site web.
1 2 3
┌──(kali㉿kali)-[~/ctf/thm] └─$ echo -n "WW91IGNhbiBnZXQgdGhlIGZsYWcgYnkgdmlzaXRpbmcgdGhlIGxpbmsgaHR0cDovLzxJUF9PRl9USElTX1BDPjo4MDAwL2FzZGFzZGFkYXNkamFramRuc2Rmc2Rmcy5waHA=" | base64 -d You can get the flag by visiting the link http://<IP_OF_THIS_PC>:8000/asdasdadasdjakjdnsdfsdfs.php
L’accès à ce dernier nous permet d’apprendre que pour récupérer le flag, il faut supprimer les fichiers logs.
En parcourant la machine et en analysant le script qui analysait les fichiers uploader, on découvre que les logs sont stocké dans le répertoire suivant :
1
C:\xampp\htdocs\uploads
En les supprimant et en retournant sur la page web, on peut récupérer le flag.
Modification d’une tâche planifiée
Pour compromettre totalement la machine, j’ai commencé par énumérer les configurations de cette dernière avec privesccheck que j’ai transféré de cette manière :
Le script nous apprend que l’on dispose des droits d’écriture sur un répertoire contenant un fichier qui est exécuté par une tâche planifiée.
En remplacant le script par un reverse shell, on ne parvient pas à stabiliser la connexion à cause de l’antivirus.
1 2 3 4 5 6 7
msf6 exploit(multi/handler) > run [*] Started reverse TCP handler on 10.21.110.163:4444 [*] Command shell session 2 opened (10.21.110.163:4444 -> 10.10.204.232:50051) at 2025-06-27 18:17:44 -0400
schtasks /run /tn \MyTHMTask SUCCESS: Attempted to run the scheduled task "\MyTHMTask".
Pour contourner ce problème, on peut écrire un script en C qui va créer un nouvel utilisateur sur la machine et l’ajouter au groupe des administrateurs local.
Ce script une fois converti en exe a permis d’ajouter mon compte au groupe administrateur local de la machine et de la compromettre.
1 2 3
net users User accounts for \\HOSTEVASION ------------------------------------------------------------------------------- Administrator chemse DefaultAccount evader Guest WDAGUtilityAccount The command completed successfully.