Aller au contenu

Metasploit

Un article de Wikipédia, l'encyclopédie libre.

Metasploit,Metasploit Pen Testing Tool,est un projet (open source,sousLicence BSDmodifiée[2]) en relation avec la sécurité des systèmes informatiques. Son but est de fournir des informations sur les vulnérabilités de systèmes informatiques, d'aider à la pénétration et au développement de signatures pour lessystèmes de détection d'intrusion(IDS,Intrusion Detection System).

Le plus connu des sous-projets est le Metasploit Framework, un outil pour le développement et l'exécution d'exploits(logiciels permettant d'exploiter à son profit une vulnérabilité) contre une machine distante. Les autres sous-projets importants sont labase de donnéesd'Opcode,l'archive deshellcode,et la recherche dans la sécurité.

Créé à l'origine en langage de programmationPerl,Metasploit Framework a été complètement réécrit en langageRuby.Le plus notable est la publication de certains des exploits les plus techniquement sophistiqués auprès du public. C'est un outil très puissant pour les chercheurs en sécurité travaillant sur les potentielles vulnérabilités de systèmes informatiques.

Comparable aux produits commerciaux tels que CANVAS d'Immunity ou Core Impact, Metasploit peut être utilisé par les administrateurs pour tester la vulnérabilité des systèmes informatiques afin de les protéger, ou par lespirateset lesscript kiddiesà des fins de piratage. Comme la plupart des outils de sécurité informatique, Metasploit peut être utilisé à la fois de manière légale et à la fois pour des activités illégales.

Le fait que Metasploit ait émergé en tant que plate-forme de développement dans la sécurité, a conduit, ces derniers temps, la publication de vulnérabilités logicielles souvent accompagnées d'un module d'exploitation pour Metasploit pour ces dernières, afin de mettre en évidence l'exploitabilité, le risque et les mesures de prévention contre cesboguesparticuliers[3],[4].Metasploit 3.0 (en langage Ruby) a également commencé à inclure des outils defuzzing,pour découvrir des vulnérabilités de logiciels en premier lieu, plutôt que de simplement être fait pour l'exploitation de celles-ci. Cette nouveauté a été vue avec l'intégration de la bibliothèque lorcon pour les réseaux sans-fils (802.11) dans Metasploit 3.0 en.

Spécificité Pro Express Community Framework
Disponibilité Achat Achat Gratuite Gratuite
Collecte
Tests de pénétration avec plus de 1 500 exploits
Importation
Découverte réseau
Exploitation basic
Méta modèles pour des tâches discrètes

exemple: tests de segmentation de réseau

Intégration via API distantes
Automatisation
Interface ligne de commande
Exploitation intelligente
Automatisation du brut-forcing sur identifiants
Rapports de test de pénétration de référence
Assistants pour les audits de base standard
Tâches chaînées pour les flux de travail automatisés personnalisés
Validation de la vulnérabilité en boucle fermée pour prioriser l'assainissement
Divers
Interface ligne de commande
Exploitation manuel
Brut forcing sur identifiants manuel
Charges dynamiques pour échapper aux principales solutions antivirus
Prise en charge de l'hameçonnage (phishing)
Tests d'applications Web pour les 10 vulnérabilités OWASP
Ligne de commande et interface web avec choix avancée

Metasploit Framework

[modifier|modifier le code]

Les étapes basiques pour l'exploitation d'un système sont:

  1. choisir et configurer un exploit (code permettant de pénétrer un système cible en profitant de l'un de ses bogues; environ 1 000 exploits sont disponibles pour les systèmesWindows,Unix/Linux/Mac OS X/BSD/Solaris,et d'autres…);
  2. vérifier si le système cible visé est sensible à l'exploit choisi;
  3. choisir et configurer unpayload(code qui s'exécutera après s'être introduit dans la machine cible, par exemple pour avoir accès à unshelldistant ou un serveurVNC);
  4. choisir la technique d'encodage pour encoder le payload de sorte que lessystèmes de prévention d'intrusionne le détectent pas;
  5. exécuter l'exploit.

Cette modularité qui permet de combiner n'importe quel exploit avec n'importe quelpayloadest l'avantage majeur duFramework:il facilite la tâche de l'attaquant, des développeurs d'exploits et des développeurs depayloads.

La version stable courante de Metasploit Framework est la 4.4 et est écrite enRuby.La version précédente 2.7, a été implémentée enPerl.Elle fonctionne sur toutes les versions d'Unix(y comprisLinuxetMac OS X) et aussi surWindowsviaCygwin.Elle inclut une interface enligne de commandeainsi qu'une autre orientéeWeb.Cette dernière est destinée à fonctionner depuis l'ordinateur de l'attaquant; une version de démonstration peut être essayée ([1]). Metasploit Framework peut être étendu en utilisant des modules externes en plusieurs langages.

Pour choisir l'exploit et lepayload,quelques informations sur le système cible sont nécessaires, telles que la version dusystème d'exploitation,et les services réseaux installés. Ces informations peuvent être récupérées grâce à des outils de scan de port et d'OSfingerprintingcommenmap.Nessuspeut en plus détecter les vulnérabilités du système cible.

Base de données d'opcode

[modifier|modifier le code]

La base de données d'opcodeest une ressource importante pour les développeurs de nouveaux exploits. Ceux basés sur undépassement de tamponsur Windows exigent souvent une connaissance précise sur la position de l'opcode dans le programme attaqué ou inclus (comme uneDLL). Ces positions diffèrent dans les différentes versions et niveaux de patch d'un système d'exploitation donné, et ils sont tous documentés et facilement accessibles dans la base de données opcode. Ceci permet l'écriture d'exploits debuffer overflowqui peuvent fonctionner sur différentes versions d'un système d'exploitation cible.

Base de données de shellcodes

[modifier|modifier le code]

La base de données deshellcodescontient les payloads (aussi connus sous le nom de shellcodes) utilisés par Metasploit Framework. Ceux-ci sont écrits enassembleuret leurscodes sourcessont disponibles.

Metasploit compte actuellement plus de 2074 exploits, organisés selon les plateformes suivantes:AIX,Android,BSD,BSDi,Cisco,Firefox,FreeBSD,HP-UX,Irix,Java,JavaScript,Linux,mainframe,multi (applicable à plusieurs plateformes),NetBSD,NetWare,nodejs,OpenBSD,macOS,PHP,Python,R,Ruby,Solaris,Unix,etWindows.

Metasploit possède actuellement plus de 592 payloads. En voici quelques-uns:

  • Command shell permet aux utilisateurs d'exécuter des scripts de collecte ou d'exécuter des commandes arbitraires contre l'hôte.
  • Meterpreter (l'interpréteur de Metasploit) permet aux utilisateurs de contrôler l'écran d'un appareil à l'aide de VNC et de parcourir, charger et télécharger des fichiers.
  • Les payloads dynamiques permettent aux utilisateurs d'échapper aux défenses antivirus en générant des charges utiles uniques.
  • Les charges utiles statiques permettent le transfert statique d'adresses IP et de ports pour la communication entre l'hôte et le système client.
  • Le projet Metasploit a débuté sous la forme d'un jeu en réseau portable.
  • Le site de Metasploit a vu le jour dans le courant de l'été 2003.

Contributeurs notables

[modifier|modifier le code]

Metasploit Framework fonctionne en tant que projet vaguement open-source (voir licence), et où les contributions de code sont acceptées au coup par coup. Pour la majorité, les contributions le sont pour des exploits spécifiques ou des techniques d'exploitation.

Voici la liste des contributeurs:

  • H. D. Moore (Primary author)
  • Matt Miller (Skape)
  • spoonm
  • y0
  • samushack (SecTools)
  • Kevin Finisterre
  • David Litchfield
  • KALIX (MrH4cker)
  • Alexander Sotirov (Solar Eclipse)
  • Rhys Kidd
  • Pusscat
  • Nicolas Pouvesle
  • Lance M. Havok (LMH)
  • Jacopo Cervini (acaro)
  • TheSamurai
  • Ramon de Carvalho Valle (RISE Security)
  • Brian Caswell

Notes et références

[modifier|modifier le code]
(en)Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé«Metasploit Project»(voir la liste des auteurs).

Sur les autres projets Wikimedia:

Liens externes

[modifier|modifier le code]
  • (en)Site officielVoir et modifier les données sur Wikidata
  • Freshmeat,page du projet.
  • Github,page du projet.
  • Chapter 12: Writing Exploits IIIdeSockets, Shellcode, Porting & Coding: Reverse Engineering Exploits and Tool Coding for Security Professionalspar James C. Foster(ISBN1-59749-005-9).Écrit par Vincent Liu, le chapitre 12 explique comment utiliser Metasploit pour développer un exploit buffer overflow à partir de zéro.