Live Engagement - Évaluation Finale
Dans cette étape finale, l'objectif est de mettre en pratique l'ensemble des compétences acquises tout au long du parcours. Cela inclut l'utilisation de shells, la compromission de services sur Windows, Linux ou via des applications Web, ainsi que l'identification du contexte d'exécution post-exploitation.
📆 Scénario
L'équipe de CAT5 a déjà obtenu un accès initial au réseau interne d'Inlanefreight. Il revient à présent au pentester de :
Examiner les résultats de la reconnaissance
Valider les informations jugées pertinentes
Rechercher les vulnérabilités potentielles
Choisir les exploits, charges utiles (payloads) et types de shells appropriés pour prendre le contrôle des cibles
L'accès s'effectue via un hôte de rebond (Foothold), en se connectant par RDP à une machine pré-configurée. Toutes les actions devront être menées à partir de cette machine, seule disposant d'un accès au réseau interne 172.16.0.0/23.
🔢 Objectifs à atteindre
Obtenir un shell interactif sur une machine Windows (hôte ou serveur)
Obtenir un shell interactif sur une machine Linux (hôte ou serveur)
Obtenir un shell interactif via une application Web
Identifier correctement le type de shell obtenu et le contexte utilisateur sur chaque hôte compromis
🔑 Informations d’accès (Foothold)
Identifiant :
htb-studentMot de passe :
HTB_@cademy_stdnt!Connexion RDP via
xfreerdp
Une fois connecté, l’authentification sera demandée à nouveau dans l’interface graphique de Parrot Linux.
🚧 Il est impératif de passer par cette machine pour interagir avec les cibles internes.
🚀 Environnement cible
Voici les hôtes à attaquer dans ce challenge final :
Host-01
172.16.1.11:8080
Application web exposée
Host-02
blog.inlanefreight.local
Peut nécessiter la résolution DNS
Host-03
172.16.1.13
Hôte interne classique

Chaque hôte présente un vecteur d'attaque différent. Il est possible qu'un même hôte offre plusieurs voies d'exploitation.
💡 Conseils et astuces
✅ Attaquer toujours depuis le Foothold
🛡️ Utiliser les hints fournis si on est bloqué
🧰 Noter soigneusement toutes les actions réalisées : commandes, payloads, hachage des fichiers, etc.
🔧 Prévoir nos listeners selon le bon réseau (172.16.0.0/23)
What is the hostname of Host-1? (Format: all lower case)
Nous nous connectons dans un premier temps via RDP au poste FOOTHOLD :
Il est possible de trouver sur cette machine le fichier access-creds.txt ayant pour contenu ceci :
Afin de récupérer le nom de notre hôte numéro 1, nous effectuons un scan nmap sur notre cible (172.16.1.11) :
Nous observons ainsi que le nom de notre cible est shells-winsvr.
Il est également possible d'obtenir ce résultat en accédant à l'interface Web de notre cible fia notre cible FOOTHOLD à l'aide des identifiants trouvés plus tôt :

Exploit the target and gain a shell session. Submit the name of the folder located in C:\Shares\ (Format: all lower case)
En naviguant sur l'interfacce manager de notre cible, nous observon qu'il est possible d'injecter un fichier .war. Nous allons utiliser cette option afin d'avoir un accès à notre cible :

Avant d'exploiter notre cible, nous effectuons quelques recherches concernant Tomcat et nous pouvons observer ceci :
Les tests d'intrusion Tomcat sont essentiels pour identifier les vulnérabilités d' Apache Tomcat , un serveur web et conteneur de servlets largement utilisé. À l'origine, l' Apache Software Foundation a développé Tomcat comme plateforme de démonstration pour les technologies Java Servlet et JavaServer Pages (JSP) , qui alimentent les applications web Java . Au fil du temps, Tomcat a étendu ses capacités pour prendre en charge d'autres technologies web Java . (https://www.hackingarticles.in/tomcat-penetration-testing/)
Nous observons donc qu'il est question d'un support JSP derrière.
Nous pouvons donc rechercher quels types de shell il est possible de trouver concernant jsp à l'aide de Metasploit :
Nous pouvons relever la possibiliter d'effectuer un reverse shell.
Nous utilisons donc msfvenom afin de créer notre propre payload en .WAR afin de l'injecter sur notre cible :
Une fois le reverse shell crée, nous utilison netcat afin d'écouter sur le port 4444 :
Une fois ceci effectué, nous injectons notre fichier shell.war sur notre cible :

Le shell mis en place, nous y accédons via l'URL suivant : http://172.16.1.11:8080/shell/
Une fois l'accès effectué, nous pouvons observer la connexion effective sur notre netcat :
Nous pouvons maintenant lister le contenu du dossier C:\Shares\ :
Le répertoire présent dans le répertoire Shares est dev-share.
What distribution of Linux is running on Host-2? (Format: distro name, all lower case)
Afin d'obtenir la distribution Linux utilisée, nous effectuons un scan à l'aide de Nmap en direction de notre cible (blog.inlanefreight.local) :
Nous pouvons alors observer que la distribution linux utilisée est utunbu.
What language is the shell written in that gets uploaded when using the 50064.rb exploit?
Nos recherches sur l'exploit 50064.rb nous dirige vers la page suivante : https://www.exploit-db.com/exploits/50064
Nous pouvons alors observer que le shell est écrit en PHP.
Exploit the blog site and establish a shell session with the target OS. Submit the contents of /customscripts/flag.txt
Nous téléchargeons dans un premier temps le fichier .rb concernant l'exploit 50064.
Une fois ceci effectué, nous l'intégrons à notre Metasploit afin de l'utiliser. Pour se faire, voici un lien qui nous aura été très utile : https://securityconfessions.com/blogs/2021/use_rb_file_within_metasploit/
Nous avons ajouté notre fichier dans /root/.msf4.
Une fois ceci effectué, nous pouvons exécuter Metasploit et effectuer une recherche des nouveaux fichiers présents exploitables :
Une fois la recherche effectuée, nous pouvons utiliser notre exploit :
Nous modifions ainsi les options PASSWORD et USERNAME à l'aide des identifiants trouvés plus tot sur notre FOOTHOLD (admin:admin123!@#) ainsi que les options RHOST et VHOST :
Ces options maintenant modifiées, nous pouvons executer notre exploit :
Nous obtenons donc un shell. Nous pouvons maintenant lister le contenu du fichier /customscript/flag.txt :
Nous obtenons ainsi le flag :
What is the hostname of Host-3?
Afin d'obtenir le nom de notre Host-3, nous effectuons un scan à l'aide de Nmap :
Nous pouvons alors observer le nom de notre cible qui est SHELLS-WINBLUE.
Exploit and gain a shell session with Host-3. Then submit the contents of C:\Users\Administrator\Desktop\Skills-flag.txt
Nous effectuons un scan de vulnérabilités sur notre cible :
Le scan ci-dessus nous informe que notre cible est vulnérable à la vulnérabilité ms17-010 (EternalBlue).
Nous utilisons donc Metasploit afin d'exploiter cette vulnérabilité et avoir un accès à notre cible :
Une fois l'exploit choisi, nous modifions les options necéssaires afin d'obtenir un reverse shell :
Nous pouvons maintenant exécuter notre exploit et observer la connexion effective sur notre cible :
Nous pouvons maintenant lister le contenu du fichier C:\Users\Administrator\Desktop\Skills-flag.txt :
Nous obtenons ainsi le flag attendu :
Last updated