Pentest : Méthodologie d’un test intrusion d’un serveur web en pratique. Partie 2 : La prise d’informations

Petit rappel : si vous désirez faire réaliser un audit, vous trouverez toutes les informations sur le site : https://resistez-aux-hackeurs.com

Dans tout test d’intrusion, la première étape consiste à récupérer des informations sur le système audité.

L’attaquant (ou l’auditeur) va donc via différents outils, cherche à obtenir le maximum d’informations sur la cible : système d’exploitation, logiciels installés, services actifs, login des utilisateurs ayant accès à la cible.

L(objectif sera ensuite de chercher à identifier et à recenser les failles de sécurité sur les services et/ou les applications disponibles. Une fois ces informations obtenues, il pourra faire des recherches sur des bases de données (Security-Focus, CVE, Exploit-DB, Metasploit) pour trouver des versions/failles exploitables, et le cas échéant, récupérer un code d’exploitation (exploit)

1.1   La collecte d’informations

En général lors des tests d’intrusion (quand le cas d’un site web à auditer par exemple), les premières actions réalisées de la part du pentesteur sont de réaliser un scan de port et un scan de vulnérabilités.

Le scan de ports permet de déterminer quels sont les services accessibles. Pour se faire, l’outil nmap est le plus adapté :

Figure 1 Scan de ports

Nous constatons qu’il y a un accès SSH (port 22), un serveur web d’accessible (port 80), un serveur de base de données (mysql port 3306) ainsi qu’un serveur tomcat.

Pour le scan de vulnérabilités, il y a de nombreux types de scanneurs, certains généralistes, d’autres plus spécialisés (web, cms, sgbd, etc.) En général ceux-ci sont assez complémentaires entre eux.

Exemple de scanneurs :

  • Généralistes : OpenVAS/Nessus
  • Web : Nikto, Acunetix, cmsmap, etc.

Dans notre cas, nous allons utiliser un scanneur généraliste (Nessus) et plusieurs scanneurs spécialisés dans le web.

Nessus détecte 3 vulnérabilités critiques : une liée à Joomla, une à Drupal et une autre liée au service Tomcat. Nous allons utiliser 5 vecteurs d’attaque différents, et il est à noter que les scanneurs de vulnérabilités ne sont pas capables de détecter des vulnérabilités « enchainées » : par exemple énumération des utilisateurs par un message d’erreur puis tentative de découverte du mot de passe des utilisateurs détectés puis accès au système.

Un autre aspect à connaître avec les scanneurs de vulnérabilités généralistes, ils ont souvent des faiblesses dans la détection des vulnérabilités web en particulier les CMS). C’est un autre aspect à garder en mémoire. 

Par exemple, il est intéressant de constater qu’une vulnérabilité dans un des modules de Drupal a été détectée, mais que les vulnérabilités liées à la version de Drupal n’ont pas été détectées.

Bien qu’utiles, les scanneurs de vulnérabilités ne peuvent remplacer certaines actions manuelles/humaines et ne doivent pas être considérés comme un gage de sécurité. Il est très courant dans des tests d’intrusion de devenir administrateur d’un serveur alors que le scanneur de vulnérabilités nous indique qu’aucune vulnérabilité n’a été détectée.

Nous allons maintenant nous intéresser à chaque service pour y trouver des vulnérabilités.

Visits: 309