1. Configuration de l'environnement et déploiement de la machine cible
Pour commencer, préparez votre environnement de test en configurant deux machines virtuelles. La première sera votre machine attaquante avec Kali Linux, tandis que la seconde sera la machine cible AI-WEB-1.0 téléchargée depuis Vulnhub.
Téléchargez le fichier .7z de la machine cible sur le site Vulnhub et décompressez-le. Importez ensuite le fichier dans VMware ou VirtualBox. Configurez les deux machines virtuelles pour qu'elles utilisent un mode réseau NAT ou "Host-only" afin qu'elles soient sur le même segment réseau.
Après avoir démarré vos machines, utilisez la commande suivante dans un terminal Kali pour identifier l'adresse IP attribuée à votre machine attaquanet :
ip addr
Notez cette adresse IP car elle servira pour toute communication future avec la machine cible.
2. Collecte d'informations : Analyse préliminaire
La collecte d'informations est une étape cruciale dans tout test d'intrusion. Elle permet de comprendre la configuration de la cible avant d'exploiter des vulnérabilités.
2.1 Découverte du réseau et analyse ARP
Pour découvrir l'IP de la machine cible, utilisez l'outil arp-scan comme suit :
arp-scan -l
Identifiez l'IP correspondant à la machine cible parmi les résultats affichés. Dans cet exemple, supposons que l'IP de la cible soit 192.168.1.105.
2.2 Scan de ports : Identification des services actifs
Maintenant que vous connaissez l'IP de la cible, utilisez Nmap pour scanner ses ports ouverts :
nmap -sV -Pn -T4 192.168.1.105
Ici, -sV détecte les versions des services, -Pn évite la découverte ICMP, et -T4 accélère le scan. Le résultat indique que le port 80/tcp est ouvert, probablement associé à un service Web Apache.
2.3 Énumération de répertoires : Exploration du serveur Web
Comme seul le port 80 est ouvert, concentrons-nous sur le serveur Web. Utilisez un outil comme Gobuster pour énumérer les répertoires cachés :
gobuster dir -u http://192.168.1.105 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt,bak
L'option -w spécifie la liste de mots à tester, et -x ajoute des extensions de fichiers courantes.
Le résultat montre plusieurs répertoires intéressants :
/admin-area//secret-backup/
En naviguant vers ces URLs, vous remarquez que certains répertoires sont protégés par des autorisations restrictives. Cependant, lors de l'énumération plus approfondie du répertoire /secret-backup/, vous découvrez un fichier nommé backup.zip. Téléchargez ce fichier et extrayez son contenu :
wget http://192.168.1.105/secret-backup/backup.zip
unzip backup.zip
À l'intérieur, trouvez un fichier PHP appelé config.php contenant des informations sensibles telles que des identifiants de base de données.
3. Exploitation des vulnérabilités
Avec les informations obtenues, identifiez des points faibles exploitables. Par exemple, si une version ancienne d'Apache est utilisée, cherchez des exploits correspondants sur des bases de données comme Exploit-DB.
Voici un exemple simplifié d'un script Python pour automatiser l'envoi d'une requête malveillante :
import requests
url = "http://192.168.1.105/vulnerable-endpoint"
payload = {'input': 'malicious_payload'}
response = requests.post(url, data=payload)
if "success" in response.text:
print("Exploit réussi !")
else:
print("Échec de l'exploit.")
Ce script envoie une charge utile à un point d'entrée potentiellement vulnérable. Si cela fonctionne, il pourrait vous donner un accès initial à la machine cible.