Conseils, services, ingénierie en informatique. Mise en place de solutions technologiques, et support, pour les entreprises.

Note utilisateur: 3 / 5

Etoiles activesEtoiles activesEtoiles activesEtoiles inactivesEtoiles inactives
 
Si vous voulez vraiment être ethical hacker, vous devez absolument comprendre comment les hackers procèdent . Il vous faut d'abord maîtriser ce framework Metasploit:  les pentesters professionnels l’utilisent fréquemment durant leurs tests d’intrusion pour gagner du temps et avoir plus d’efficacité.
 
 

 

 
Dans cette série de metasploit tutorial francais hacking ethique, on va découvrir ensemble ce framework allant des bases jusqu’aux subtilités que chaque hacker doit connaître, et puis comme ça vous aurez à la fin de cette série une vraie compétence d’un vrai ethical hacker ?

 

Metasploit tutorial francais hacking ethique : Pourquoi apprendre Metasploit 

 

Comme je l’ai dit au début de ce tutoriel, Metasploit est un framework (ensemble d’outils et de logiciels organisés qui simplifie une tâche complexe) qui va nous être utile dans les différentes étapes d’un test d’intrusion.

Durant le processus d’intrusion, on a besoin de scanner, fuzzerpayload, encoder Etc et au lieu d’être dispersé à gauche et à droite avec différents outils, Metasploit nous offre l’opportunité de regrouper tous ces outils sous son aile, avec un tas d’autre fonctionnalité et script dédié au hacking.

Cela étant dit, le hacker utilisant Metasploit va optimiser en temps et en efficacité ses hacks, et en plus du large spectre d’outils qu’offre ce framework la capacité de modifier voir créer des modules propres à nous fait de lui une arme suisse pour les hackers.

 

Metasploit tutorial francais hacking ethique : Un peu d’histoire

 

Metasploit a été développé par le fameux HD Moore, ce dernier à constater lors de son emploi dans une entreprise de sécurité qu’il passait une grande partie de son temps à la correction et la validation des exploits publique, donc il a eu l’idée de créer un petit framework (à cette époque-là) pour la création et le développement d’exploits, il a lancé la première édition de Metasploit basé sur Perl en octobre 2003 avec un total de 11 exploits.

Le projet a pris de l’ampleur au fil du temps ainsi qu’un grand feed-back positif de la part de la communauté des pentesters, au point qu’en 2007, il est devenu un framework indispensable pour tout spécialiste en sécurité informatique.

Durant la même année le projet a été réécrit entièrement en Ruby et a gagner un total de 150 000 lignes de code en plus, faisant la sortie de Metasploit 3.0.

En 2009 Rapid7 le leader dans le domaine de scan de vulnérabilités est devenue le sponsor officiel du projet Metasploit ce qui a permit à HD Moore de se focaliser sur son projet à plein temps et d’embaucher des programmeurs pour l’aider, dés lors, Metasploit a connu une accélération exponentielle.

Après, Rapid7 a libérer deux versions commerciales de Metasploit Express et pro qui offrent des fonctionnalités plus avancées pour les spécialistes.

 

Metasploit tutorial francais hacking ethique : Préparation du lab

 

Si vous utilisez une distribution Linux orienté sécurité, il est fort possible que Metasploit est déjà pré installé, pour s’assurer, il suffit de taper msfconsole sur le terminal, normalement vous aurez quelque chose comme ça : Si ce n’est pas le cas, la méthode la plus facile étant de télécharger l’installeur directement du site officiel.

 

Metasploit tutorial francais hacking ethique : Quelques notions 

 

L’utilisation de Metasploit devient vite confusante si vous ne comprenez pas les notions de base qu’on utilise fréquemment dans notre domaine, la compréhension de cette terminologie est indispensable pour pouvoir interagir facilement avec le framework.

Voici une liste de termes qu’on va rencontré souvent durant cette série de tutoriels :

Exploit : est une faille dans un système, application ou un service qui va permettre à un attaquant de l’exploiter afin de compromettre sa sécurité.

Payload : est un code qu’on veut que le système exécute pour avoir un résultat précis, par exemple un reverse shell est un payload qui se charge de créer une connexion de la machine victime vers la machine de l’attaquant tandis qu’un bind shell est un payload qui lie (bind) l’invite de commande avec un port en écoute.

Shellcode : semblable au payloads sauf qu’il est écrit en assembly, après avoir exploité une machine un meterpreter shell est fournis pour interagir avec la machine compromise.

Module : un bout de code qu’on peut importer, car souvent, vous avez besoin de scripts pour accomplir une tâche donnée, avec MSF vous pouvez l’importer comme un module externe, c’est l’un des beauté de ce framework.

Listener : quand vous exploiter un système ce dernier va tenter d’établir une connexion avec votre machine pour cela le listener va écouter jusqu’à l’établissement de la connexion.

Metasploit tutorial francais hacking ethique : les interfaces de Metasploit

 

Metasploit offre plusieurs interfaces d’interaction, je vais vous initier aux plus populaires :

msfconsole : est l’interface la plus populaire et la plus puissante aussi, basé sur la ligne de commande ce qui lui confère une flexibilité et une richesse extrême ainsi qu’un support de la communauté, depuis cette interface, vous pouvez exécuter un exploit, importer un module, créer un listener et beaucoup d’autre choses.

Armitage : c’est une interface graphique (GUI), les débutants l’aime bien parce qu’elle est assez intuitive (et riche aussi, mais pas autans que msfconsole) mais il faut comprendre que pour maîtriser Metasploit il faut mettre les mains dans ses viscéres , c’est vrai que ça fait peur de voir le sang, mais une fois qu’on est habitué, ça devient une zone de confort ?

 

Metasploit tutorial francais hacking ethique : utilitaire de Metasploit

Il est injuste de parler de msfconsole sans parler de msfvenom, en fait, msfvenom est un composant majeur de Metasploit qui vous permet de générer des payload, exécutables, shellcode, apk pour les utiliser dans vos exploitation.

Vous pouvez générer des shellcode écrit en plusieurs formats C, Ruby, python, JavaScript Etc selon votre situation et vos besoins.

Cependant, ces shellcodes crées ne sont pas si efface que ça à l’aire, car ils contiennent de mauvais caractère ce qui fait qu’un antivirus stupide peut les attraper facilement, pour cette raison-là que vous aurez besoin d’une autre fonctionnalité de msfvenom qui est l’encodage, ce dernier permet d’éviter ces mauvais caractères.

Pour afficher tous les encodeurs que vous pouvez utiliser entrez cette commande :

msfvenom -l encoders

Et voici le résultat :

Notez que le meilleur classement est celui de l’encodeur x86/shikata_ga_nai (excellent) qu’on va utiliser dans un prochain exploit.

 

Metasploit tutorial francais hacking ethique : collecte d’informations 

 

Maintenant et que vous avez les bases nous allons approfondir nos connaissances en respectant la méthodologie du hacking en commençant par … La collecte d’informations.

N.B: afin d’appliquer ce qu’on va voir dans les étapes suivantes nous avons besoin d’un environnement propice et légal pour hacker dans des conditions optimales.

La collecte d’informations se divise en deux grands paliers : passive et active nous allons détailler les deux procédures ainsi que les outils utilisés pour chacune.

 

Metasploit tutorial francais hacking ethique : collecte d’informations passive 

 

La collecte d’informations passive ou indirecte vous permet de récolter des informations concernant votre cible sans interagir avec elle, autrement dit sans inter-changement de paquets entre vous et votre cible ce qui élimine totalement tout risque de détection de votre recherche.

Votre but de cette méthode est d’avoir une idée générale sur l’infrastructure de votre cible : l’hébergeur, les systèmes d’exploitation et leurs versions, les noms des serveurs….Etc

Pour effectuer notre collecte, je vais utiliser whois lookup. Whois lookup est un outil qui contient une base de données immense sur les domaines publique disponible sur la toile, la simplicité de son utilisation et sa puissance le rend l’outil préféré des hackers quand ça concerne la collecte d’informations.

Tout d’abord, installer whois depuis votre msfconsole avec la commande suivante :

apt install whois

Puis pour avoir une vue d’ensemble d’un domaine quelconque tapez cette commande :

whois domaine.com

Vous aurez des informations de celui-ci dans une forme bien organisé :

 

Dans cet exemple, la collecte d’informations concernant google.com nous divulgue que le nom du serveur dans lequel le nom de domaine est hébergé est NSX.GOOGLE.COM ce qui veut dire que le DNS (doamin name system) est hébergé par l’organisation elle-même qu’est Google, un détaille qui vous donne un aperçu sur la taille de l’organisation que vous ciblez.

 

Maintenant si vous voulez savoir l’adresse IP de votre cible vous pouvez utiliser un autre outil : nslookup (toujours depuis msf) :

À ce point-là, nous avons construit une vue générale sur notre cible incluant l’hébergeur, l’adresse IP, le pays … Et plusieurs d’autre informations qu’il ne faut absolument pas les négliger, car il se peu qu’un petit détaille fera la différence entre le succès et l’échec de votre test d’intrusion.

Maintenant, on va devoir entamer la phase active pour avoir des informations plus poussées.

 

Metasploit tutorial francais hacking ethique :  collecte d’information active 

 

Avec la collecte active l’interaction avec le système ciblé est directe, autrement dit vous êtes entrain d’envoyer et de recevoir des paquets avec votre cible, de cette façon vous obtiendrez des informations plus qualitatives (Application en exécution, version du système d’exploitation, port ouvert…Etc) mais les risques d’être détecté par un IDS (intrusion detection system) ou un IPS (intrusion prevention system) sont élevés.

Pour cette raison-là qu’il faut maîtriser cette étape-là pour en extraire le plus d’information avec le moindre bruit possible.

 

Metasploit tutorial francais hacking ethique : Nmap….. Scan de port 

Un port dans un système est une application utilisé comme une interface exécutant un service, par exemple, il est connu que le port 80 est réservé aux applications web donc toutes les information de cette application sont échangée depuis ce port.

Le fameux Nmap est un outil qui nous permet de scanner ces ports-là et d’identifier les services entrain d’exécution ainsi que beaucoup d’autre fonctionnalité avancé (NSE).

Le principe du scan est simple, Nmap envoie un paquet au system dans un port quelconque et si le system répond (n’importe quelle réponse) cela veut dire que le port est ouvert, si le système ne répond pas cela veut dire le port est fermé ou bien filtré.

Afin de démontrer l’utilisation de Nmap je vais utiliser une machine virtuelle comme étant ma cible :

N.B: l’utilisation de Nmap sur des systèmes qui ne vous appartient pas est illégale, c’est pour cette raison que j’utilise une machine virtuelle.

Pour voir toutes les fonctionnalités qu’offre nmap entrez simplement la commande :

nmap -h

Une liste d’usage s’affiche décrivant toutes les variantes qu’on peu utiliser, il est très important de lire la documentation avant d’entamer votre scan.

Disons que je veux opter pour un scan basique, pour cela je ne lui passe aucun argument :

Il y a quelques informations utiles dans ce screen-shot : tout d’abord nmap nous informe que 999 ports sont filtrés (et pas fermés), le port numéro 5 357 est ouvert et est sous le service wsdapi, et dernièrement nous avons l’adresse MAC du système ainsi que son type (system virtuel).

N.B: si vous exécuter la même commande sur un système Linux un message d’erreur se lève indiquant la déconnexion de votre cible alors qu’elle est belle bien connectée, dans ce cas la, il nous oriente d’utiliser l’argument -Pn afin d’éviter l’utilisation de ping (ICMP packets) pour extraire les informations que beaucoup de system bloque comme mesure de protection.

Vous devez dans ce cas adaptez votre commande à :

nmap -Pn IP

revenons à notre exemple, vous pouvez utiliser l’argument -O pour détecter le système d’exploitation en marche :

Il nous dit que le système en marche est de type Windows (ce n’est pas précis ?).

Et si vous voulez des informations plus poussée, utilisez l’argument -A :

 

Metasploit tutorial francais hacking ethique : Nmap…. Zombie scan 

 

Une des fonctionnalités avancées de Nmap est leidle scan ou scan par zombie, le principe est le suivant ; vous allez spoofer une adresse IP d’une machine qui se trouve dans le même réseau que vous, puis vous allez effectuer vos scan en se cachant derrière (faire de lui un zombie) et qui va jouer le rôle d’intermédiaire entre vous et votre cible.

En fait, toute l’attaque repose sur lID incrémentiel qui est un nombre utilisé pour marquer chaque paquet envoyé du système, cela facilite la prédiction de la réponse du système recevant le paquet.

Tout d’abord, il va faloir identifier un zombie, pour cela, nous allons utiliser le module scanner/ip/ipidseq pour maper tout le réseau à la recherche d’un hôte qui correspond à nos besoin :

La commande show options vous affiche les options nécessaires au fonctionnement du module, certaines sont prédéfini et d’autre, c’est à vous de les définir.

La seule option qui nous intéresse ici, c’est RHOSTS, c’est l’intervalle d’adresses qu’on veut scanner, il peut être de ce format (192.168.1.1-192.168.1.254) ou bien 192.168.1.1/24, c’est à vous de choisir, puis exécutez le module :

nous avons une vingtaine d’hôte qu’on peut PAS utiliser, car l’IP ID n’est pas incrémentiel du coup ils ne sont pas vulnérable à cette attaque ?.

Si ce n’est pas le cas pour vous (présence de Windows XP dans votre réseau), vous pouvez continuer votre attaque en utilisant la commande suivante :

nmap -sI -A IP_SPOOFÉ IP_CIBLE

 

Metasploit tutorial francais hacking ethique : Ssh ….scan 

 

Si durant votre scan vous trouverez une machine exécutant le protocole ssh (secure shell ) vous devez sans doute savoir quel est sa version, il se peut que vous tombiez sur une version qui n’est pas mis à jour ce qui augmente considérablement le risque d’avoir une faille dedans.

Afin d’identifier la version de ssh on va devoir utiliser le module scanner/ssh/ssh_version :

 

Metasploit tutorial francais hacking ethique : Ftp…scan 

 

Le protocole ftp à connu beaucoup de difficulté dés son jeune âge, c’est un protocole complexe et pas suffisamment sécurisé, le module scanner/ftp/ftp_version peut nous donner quelque information :

Autre chose très importante, il faut avoir le réflexe de chercher des exploit sur exploitDB quelle que soit la version que vous trouverez, car les zero days y en a tous les jours, donc ne sous-estimez rien et ne soyez pas faignant aussi ?.

N.B : si vous voulez voir la liste de tous les modules scanner, il suffit de taper use auxialiary/ + TAB (↹), comme ça vous aurez toute la liste des modules :

Voilà, dans cette première partie de Metasploit on a vu l’histoire de Metasploit, les différentes interfaces et la terminologie propre à ce framework, puis on a entamé méthodologiquement l’utilisation de Metasploit pour collecter les informations passivement et activement en se servant des outils comme whois lookupnslookup ..Et Nmap.

La suite de ce tutorial: metasploit-tutorial-francais-hacking-ethique-2-sur-3

 

Cet article reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit. J'espère que ça vous a plu. Vos commentaires/remarques sont les bienvenus: