Footprinting Lab – Medium
🎯 Objectif de la mission
Le second serveur que nous devons évaluer est un serveur accessible par l'ensemble des utilisateurs du réseau interne. Lors de nos échanges avec le client, nous avons souligné que ces serveurs publics internes représentent une cible privilégiée pour les attaquants, car ils constituent souvent un point d’entrée pour un accès initial ou un mouvement latéral. À la suite de cette discussion, le client a accepté d’inclure ce serveur dans le périmètre de l’audit.
Comme pour l’exercice précédent, notre objectif principal est :
D’énumérer et collecter un maximum d’informations sur le serveur.
D’identifier des points faibles, des fuites d’informations, ou des erreurs de configuration.
De démontrer un accès non autorisé ou une compromission potentielle, dans le respect des règles définies.
🛡️ Règles & Cadre
❌ Aucune exploitation agressive (pas d'exploitation de vulnérabilités destructrices).
❌ Aucune élévation de privilège autorisée en dehors de l'utilisateur ciblé.
✅ L'accès au serveur est autorisé via les services exposés, comme un utilisateur standard.
✅ L’objectif est de collecter les informations nécessaires pour accéder à l'utilisateur
HTB
.
Enumerate the server carefully and find the username "HTB" and its password. Then, submit this user's password as the answer.
Scan TCP de la cible :
$ nmap -sV -sC aca.htb -oN TCP_Script_Eval
Starting Nmap 7.93 ( https://nmap.org ) at 2025-06-27 09:54 CEST
PORT STATE SERVICE VERSION
111/tcp open rpcbind 2-4 (RPC #100000)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
2049/tcp open mountd 1-3 (RPC #100005)
3389/tcp open ms-wbt-server Microsoft Terminal Services
Nmap done: 1 IP address (1 host up) scanned in 100.48 seconds
Nous observons la présence de NFS (port 2049), nous allons l'exploiter afin de naviguer dans les répertoires disponibles.
Enumération du contenu disponible sur notre cible :
showmount -e aca.htb
Export list for aca.htb:
/TechSupport (everyone)
Nous y observons le répertoire /TechSupport
.
Nous créons maintenant un dossier target-NFS
afin d'y monter le répertoire trouvé sur notre cible :
$ mkdir target-NFS # Création du dossier target-NFS
$ sudo mount -t nfs 10.129.16.96:/TechSupport ./target-NFS -o nolock # Montage de /TechSupport dans notre dossier target-NFS
Le répertoire maintenant monté, nous listons son contenu :
$ sudo ls target-NFS
ticket4238791283649.txt ticket4238791283671.txt ticket4238791283693.txt ticket4238791283715.txt ticket4238791283737.txt ticket4238791283759.txt ticket4238791283781.txt
ticket4238791283650.txt ticket4238791283672.txt ticket4238791283694.txt ticket4238791283716.txt ticket4238791283738.txt ticket4238791283760.txt ticket4238791283782.txt
[...]
Beaucoup de fichiers sont présents. Nous souhaitons les analyser afin de regarder si du contenu intéréssant est disponible dans chacun d'entre eux. Cependant, cette action est chronophage, mais nous essayons tout de même de lire le contenu des deux premiers fichiers :
$ sudo cat target-NFS/ticket4238791283649.txt
$ sudo cat target-NFS/ticket4238791283650.txt
L'exécution de ces deux commandes ne nous retournent aucun résultat.
Les fichiers sont probablement vides, nous allons donc les listes à l'aide de la commande ls -al
afin d'obtenir des informations concernant la taille des fichiers :
$ sudo ls -al target-NFS
total 72
drwx------ 2 nobody nogroup 65536 Nov 10 2021 .
drwxr-xr-x 3 htb-ac-1811357 htb-ac-1811357 4096 Jun 27 03:04 ..
[...]
-rwx------ 1 nobody nogroup 0 Nov 10 2021 ticket4238791283781.txt
-rwx------ 1 nobody nogroup 1305 Nov 10 2021 ticket4238791283782.txt
-rwx------ 1 nobody nogroup 0 Nov 10 2021 ticket4238791283783.txt
[...]
Parmis les lignes du résultat obtenu ci-dessus, nous pouvons observer ceci :
-rwx------ 1 nobody nogroup 1305 Nov 10 2021 ticket4238791283782.txt
Il nous est indiqué que, contrairement aux autres fichiers, le fichier ticket4238791283782.txt
contient du texte, ceci est visible par ta taille qui est de 1305 octets, contre 0 pour l'ensemble des autres fichiers.
Nous pouvons alors lister son contenu :
$ sudo cat target-NFS/ticket4238791283782.txt
Conversation with InlaneFreight Ltd
Started on November 10, 2021 at 01:27 PM London time GMT (GMT+0200)
---
01:27 PM | Operator: Hello,.
So what brings you here today?
01:27 PM | alex: hello
01:27 PM | Operator: Hey alex!
01:27 PM | Operator: What do you need help with?
01:36 PM | alex: I run into an issue with the web config file on the system for the smtp server. do you mind to take a look at the config?
01:38 PM | Operator: Of course
01:42 PM | alex: here it is:
1smtp {
2 host=smtp.web.dev.inlanefreight.htb
3 #port=25
4 ssl=true
5 user="alex"
6 password="lol123!mD"
7 from="alex.g@web.dev.inlanefreight.htb"
8}
[...]
Nous obtenons à l'aide de ce ticket des information sensibles.
Nous avons des informations d'itentification SMTP :
🔐 Identifiants SMTP :
Hôte :
smtp.web.dev.inlanefreight.htb
Utilisateur :
alex
Mot de passe :
lol123!mD
Adresse expéditrice :
alex.g@web.dev.inlanefreight.htb
Nous utilisons les informations de l'utilisateur afin de nous connecter via smbclient
à notre cible :
$ smbclient -U alex -L //10.129.16.96
Password for [WORKGROUP\alex]:
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Remote Admin
C$ Disk Default share
devshare Disk
IPC$ IPC Remote IPC
Users Disk
Nous accedons au repertoire devshare :
$ smbclient -U alex //10.129.16.96/devshare
Password for [WORKGROUP\alex]:
Try "help" to get a list of possible commands.
smb: \>
Nous listons maintenant le contenu de notre répertoire et récupérons le fichier présent :
smb: \> ls
. D 0 Wed Nov 10 17:12:22 2021
.. D 0 Wed Nov 10 17:12:22 2021
important.txt A 16 Wed Nov 10 17:12:55 2021
10328063 blocks of size 4096. 6100704 blocks available
smb: \> get important.txt
getting file \important.txt of size 16 as important.txt (0.2 KiloBytes/sec) (average 0.2 KiloBytes/sec)
Nous analysons maintenant le contenu du fichier important.txt
en local :
$ cat important.txt
sa:87N1ns@slls83
Après certaines recherches concernant un utilisateur important sous Windows nommé sa, nous avons trouvé ceci :
Le compte
sa
est un compte administrateur SQL Server (System Administrator) utilisé pour accéder et gérer une base de données MSSQL.
✅ Cela informe donc que le mot de passe est probablement destiné à une instance SQL Server (MSSQL) et non au système Windows lui-même.
Comme vu dans le cours Windows Remote Management Protocols, nous utilisons l'outil xfreerdp
afin de nous connecter en RDP :

Nous nous connectons donc au serveur SQL.
Une fois connectés, nous nous baladons dans les différentes bases de données pour trouver les identifiants de l'utilisateur HTB
:

Il nous est alors possible de trouver le mot de passe de l'utilisateur HTB:lnch7ehrdn43i7AoqVPK4zWR
.
Mis à jour