Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Imaginez que dans quelque temps, dans un futur pas si lointain, un attaquant décide
d’attaquer les biens digitaux d’une multinationale, ciblant des droits de propriété
intellectuelle de plusieurs centaines de milliers de dollars, enfouis dans une infras-
tructure de plusieurs millions de dollars. Naturellement, l’attaquant commence par
lancer la dernière version de Metasploit. Après avoir exploré le périmètre de la
cible, il trouve un point faible et commence une série méthodique d’attaques, mais
même après avoir compromis près de tous les aspects du réseau, le jeu ne fait que
commencer. Il manoeuvre à travers les systèmes, identifiant les composants cen-
traux et cruciaux de l’entreprise qui lui permettent de vivre. Avec une seule touche,
il peut s’emparer de millions de dollars de l’entreprise, et compromettre toutes leurs
données sensibles. Bienvenue dans le monde des pentests et le futur de la sécurité.
Pourquoi Metasploit ?
Metasploit n’est pas qu’un outil. C’est tout un cadre qui fournit l’infrastructure
nécessaire pour automatiser les tâches mondaines, routinières ou complexes. Cela
vous permet de vous concentrer sur les aspects uniques ou spéciaux d’un pentest, et
d’identifier les failles dans vos programmes de sécurité.
En progressant dans les chapitres de ce livre, grâce à une méthodologie bien huilée,
vous commencerez à voir les nombreuses façons dont Metasploit peut être utilisé
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
XVIII Metasploit
lors de vos pentests. Metasploit vous permet de bâtir facilement des vecteurs d’at-
taques pour améliorer ses exploits, payloads, encodeurs et bien plus afin de créer et
exécuter des attaques plus avancées. Dans ce livre, nous présentons des outils tiers –
dont certains ont été écrits pas les auteurs de ce livre – qui se servent de Metasploit
comme base. Notre but est de vous rendre accessible le framework, vous montrer
des attaques avancées et s’assurer que vous pouvez appliquer ces techniques de
façon responsable. Nous espérons que vous prendrez plaisir à lire ce livre autant que
nous avons eu plaisir de le créer. Que les jeux et la joie commencent !
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
2
Les bases de Metasploit
Sommaire
●● Terminologie
●● Les interfaces de Metasploit
●● Utilitaires de Metasploit
●● Metasploit Express et Metasploit Pro
Terminologie
Dans ce livre, nous utiliserons beaucoup de termes qu’il convient d’abord d’expli-
quer. La majorité des termes élémentaires qui suivent sont définis dans le contexte
de Metasploit, mais sont généralement admis dans l’industrie de la sécurité
informatique.
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
8 Metasploit
Exploit
Payload
Un payload est un code que nous voulons faire exécuter par le système et qui sera
sélectionné et délivré par le framework. Par exemple, un reverse shell est un
payload qui crée une connexion depuis la cible vers l’attaquant, tel qu’une invite
de commande Windows (voir Chapitre 5), alors qu’un bind shell est un payload qui
"attache" une invite de commande à l’écoute d’un port sur la machine cible, afin que
l’attaquant puisse alors se connecter. Un payload peut être également quelque chose
d’aussi simple que quelques commandes à exécuter sur la machine cible.
Shellcode
Un shellcode est une suite d’instructions utilisées par un payload lors de l’exploita-
tion. Il est typiquement écrit en langage assembleur. Dans la plupart des cas, une
invite de commande système (un "shell") ou une invite de commande Meterpreter
("Meterpreter shell") est utilisée après qu’une série d’instructions a été accomplie
par la machine, d’où le nom.
Module
Un module, dans le contexte de ce livre, est une part de logiciel qui peut être utilisée
par le framework Metasploit. Parfois, vous aurez besoin d’utiliser un module d’ex-
ploit, un composant logiciel qui porte l’attaque. D’autres fois, un module auxiliaire
pourra être requis pour effectuer une action telle que le scan ou l’énumération de
systèmes. Cette modularité est ce qui rend Métasploit si puissant.
Listener
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
Chapitre 2 Les bases de Metasploit 9
MSFconsole
Démarrer MSFconsole
root@bt:/opt/framework/msf3# msfconsole
------------
\ ,__,
\ (oo)____
(__) )\
||--|| *
msf>
Pour accéder au fichier d’aide de msfconsole, entrez help suivi de la commande qui
vous intéresse. Dans l’exemple qui suit, nous cherchons de l’aide pour la commande
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
10 Metasploit
connect, qui permet de communiquer avec un hôte. L’aide présente alors une
description de l’outil, son usage et les différentes options à définir.
msf > help connect
Nous explorerons la console de plus ample façon dans les chapitres à venir.
MSFcli
root@bt:/opt/framework3/msf3# msfcli -h
Mode Description
---- ---------------
(I)DS Evasion Show available ids evasion options for this module
root@bt:/opt/framework3/msf3#
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
Chapitre 2 Les bases de Metasploit 11
Exemple d’utilisation
Regardons comment il est possible d’utiliser msfcli. Ne prêtez pas attention aux
détails, ces exemples sont seulement censés vous montrer comment il est possible
de travailler avec cette interface.
Quand vous commencez l’apprentissage de Metasploit, ou quand vous êtes bloqué,
vous pouvez voir les options disponibles pour un module en ajoutant la lettre O à la
fin de la chaîne où vous êtes bloqué. Dans l’exemple suivant, nous l’utilisons pour
voir les options disponibles avec le module ms08_067_netapi :
Vous pouvez voir que le module nécessite trois options : RHOST, RPORT et SMPIPE.
Maintenant, en ajoutant la lettre P, on peut vérifier les payloads disponibles :
Compatible payloads
===================
Name Description
---- -----------
generic/debug_trap Generate a debug trap in the target process
Dès lors que toutes les options sont configurées et qu’un payload est sélectionné,
nous pouvons lancer notre exploit en ajoutant E à la fin de la chaîne d’arguments de
msfcli :
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
12 Metasploit
C:\WINDOWS\system32>
C’est un succès, car nous avons ouvert une invite de commande Windows sur le
système distant.
Armitage
Exécution d’Armitage
Pour lancer Armitage, exécutez la commande armitage. Lors du démarrage, sélec-
tionnez Start MSF, ce qui permettra à Armitage de se connecter à une instance
Metasploit.
root@bt:/opt/framework3/msf3# armitage
Après l’exécution d’armitage, il suffit de cliquer sur une des fonctionnalités pré-
sentes dans le menu pour procéder à une attaque particulière ou accéder aux autres
fonctionnalités.
Par exemple, la Figure 2.1 montre le menu des exploits (côté client).
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
4
Le scan de vulnérabilité
Sommaire
●● Le scan de vulnérabilité de base
●● Scan avec NeXpose
●● L’assistant "nouveau site"
●● Le nouvel assistant pour les scans manuels
●● Scan avec Nessus
●● Scanners de vulnérabilité spécialisés
●● Utilisation des résultats de scan pour Autopwning
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
44 Metasploit
à sonder manuellement les systèmes pour déterminer leurs niveaux de patch et leurs
vulnérabilités.
Que vous utilisiez un scanner automatique ou que vous le fassiez manuellement,
le scan est une des étapes les plus importantes dans le processus de tests de péné-
tration. Réalisé de manière complète, il fournira le meilleur rendement pour votre
client. Dans ce chapitre, nous allons parler d’un certain nombre de scanners de vul-
nérabilité et de la façon dont ils peuvent être intégrés dans Metasploit. Nous allons
mettre en évidence certains modules auxiliaires dans le framework Metasploit qui
permettent de localiser les vulnérabilités spécifiques des systèmes distants.
root@bt:/opt/framework3/msf3# nc 192.168.1.203 80
GET HTTP 1/1
HTTP/1.1 400 Bad Request
❶ Server: Microsoft-IIS/5.1
L’information retournée en ❶ nous dit que le système fonctionnant sur le port 80 est
un serveur web Microsoft IIS 5.1. Forts de cette information, nous pourrions utiliser
un scanner de vulnérabilité (voir Figure 4.1), pour déterminer si cette version d’IIS a
des vulnérabilités qui lui sont associées et si ce serveur particulier a été mis à jour.
Bien sûr, dans la pratique, ce n’est pas aussi simple que cela. Les scans de vulnéra-
bilité contiennent souvent de nombreux faux positifs (vulnérabilité signalée là où il
n’y en a pas) et de faux négatifs (échec de reconnaissance d’une vulnérabilité là où
il en existe une) en raison de subtiles différences de configuration dans les systèmes
et les applications. De plus, les créateurs de scanners de vulnérabilité sont incités
à signaler des positifs : plus un scanner de vulnérabilité en trouve, plus il plaira à
un acheteur potentiel. Les scanners de vulnérabilité sont aussi bons que leur base
de données de vulnérabilités, et ils peuvent facilement être dupés par des bannières
trompeuses ou des configurations incohérentes.
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
Chapitre 4 Le scan de vulnérabilité 45
Jetons un coup d’œil à quelques-uns des scanners de vulnérabilité les plus utiles :
NeXpose, Nessus et certains scanners spécialisés.
Figure 4.1
Résultats du scan de vulnérabilité contre le serveur web cible.
Configuration
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
46 Metasploit
Figure 4.2
L’écran d’accueil initial de NeXpose.
Les boutons dans le corps principal de la page permettent d’effectuer des tâches
courantes telles que la création d’un nouveau site ou la mise en place d’un nouveau
scan de vulnérabilité.
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
Chapitre 4 Le scan de vulnérabilité 47
noms d’hôtes et plus encore. Vous pouvez également déclarer des péri-
phériques, tels que des imprimantes, à exclure des scans (souvent, les
imprimantes n’apprécient pas d’être scannées. Nous avons vu des cas dans
lesquels un scan de vulnérabilité simple a provoqué la création de plus d’un
million de pages de noir pur placées dans la file d’attente pour être impri-
mées !). Cliquez sur Next lorsque vous avez terminé d’ajouter et d’exclure
des périphériques.
3. Lors de l’étape de configuration du scan, vous pouvez choisir parmi plu-
sieurs différents modèles de scan, tels que le test Discovery Scan ou le
Penetration Test. Sélectionnez le moteur d’analyse que vous souhaitez
utiliser ou planifiez un scan automatisé. Pour ce premier exercice, gardez
les options par défaut et cliquez sur Next pour continuer.
4. Ajoutez des informations d’authentification (credentials) sur le site à scan-
ner, si vous en avez. Ces informations pourront aider à obtenir des résultats
plus précis et complets par l’énumération en profondeur des politiques sys-
tème et des logiciels installés sur la cible.
5. Sur l’onglet Informations d’authentification, cliquez sur le bouton New
Login, tapez un nom d’utilisateur et un mot de passe pour l’adresse IP à
scanner, puis cliquez sur Test Login pour vérifier vos informations d’au-
thentification, puis enregistrez-les.
Figure 4.3
Ajout d’un périphérique au nouveau site Nexpose.
6. Enfin, cliquez sur Save pour terminer l’assistant du nouveau site et revenir
à l’onglet Home, qui devrait désormais lister votre site nouvellement ajouté
(voir Figure 4.4).
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
48 Metasploit
Figure 4.4
L’onglet Home montre le site récemment configuré.
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
Chapitre 4 Le scan de vulnérabilité 49
Figure 4.6
Le scan et le rapport de NeXpose terminé.
Si c’est votre première utilisation de NeXpose et que vous ayez terminé un seul scan,
l’onglet Reports doit montrer que vous n’avez généré aucun rapport.
1. Cliquez sur New Report (voir Figure 4.7) pour lancer l’assistant de créa-
tion de nouveau rapport.
Figure 4.7
L’onglet Reports de NeXpose.
2. Entrez un nom qui vous convient puis, dans le champ Report format, sélec-
tionnez NeXpose Simple XML Export (voir Figure 4.8), de sorte que vous
serez en mesure d’importer les résultats d’analyse dans Metasploit. Vous
pouvez choisir parmi différents modèles de rapports et configurer le fuseau
horaire si vous faites votre pentest sur la route. Cliquez sur Next lorsque
vous êtes prêt à continuer.
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni
50 Metasploit
Figure 4.8
Sélection du nom et du format du rapport.
Figure 4.9
Sélection du site pour une inclusion dans le rapport.
Figure 4.10
L’onglet Reports liste vos rapports.
© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni