Metasploit

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

Metasploit Framework
screenshot
Développeur Metasploit LLC
Dernière version 3.1 (le 28 janvier 2008)
Version avancée 3.2-dev (le 28 janvier 2008)
Environnements Multiplate-forme
Type Sécurité du système d'information
Licences Metasploit Framework License
Site web www.metasploit.com

Metasploit est un projet open-source sur la sécurité informatique qui fournit des informations sur des vulnérabilités, aide à la pénétration de systèmes informatisés et au développement de signatures pour les IDS. Le plus connu des sous-projets est le Metasploit Framework, un outil pour le développement et l'exécution d'exploits contre une machine distante. Les autres sous-projets importants sont la base de données d'Opcode, l'archive de shellcode, et la recherche dans la sécurité.

Créé à l'origine en langage de programmation Perl, Metasploit Framework a été complètement ré-écrit en langage Ruby. Le plus notable est la publication de certains des exploits les plus techniquement sophistiqués auprès du public. De plus, il est un puissant outil pour les chercheurs en sécurité étudiant des vulnérabilités potentielles.

Comparable aux produits commerciaux tels que Immunity's CANVAS 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 les pirates et les Script kiddies a des fins de piratage. Comme la plupart des outils de sécurité informatique, Metasploit peut être utilisé à la fois de manière légitime et à la fois pour des activités illégitimes.

Le fait que Metasploit a émergé en tant que plate forme de développement dans la sécurité, a conduit, ces derniers temps, la publication de vulnérabilité logicielle souvent accompagnée d'un module d'exploitation pour Metasploit pour cette dernière, afin de mettre en évidence l'exploitabilité, le risque et les mesures de prévention contre ces bogues particuliers[1][2]. Metasploit 3.0 (en langage Ruby) a également commencé à inclure des outils de fuzzing, 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 novembre 2006.

Sommaire

[modifier] Metasploit Framework

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 ; environs 200 exploits sont disponibles pour les systèmes Windows, Unix/Linux et Mac OS X) ;
  2. Vérifier si le système cible visée est sensible à l'exploit choisi ;
  3. Choisir et configurer un payload (code qui s'exécutera après s'être introduit dans la machine cible, par exemple pour avoir accès à un shell distant ou un serveur VNC) ;
  4. Choisir la technique d'encodage pour encoder le payload de sorte que les systèmes de préventions IDS ne le détectent pas ;
  5. Exécuter l'exploit.

Cette modularité qui permet de combiner n'importe quel exploit avec n'importe quel payload est l'avantage majeure du Framework : il facilite la tâche de l'attaquant, des développeurs d'exploits, et des développeurs de payloads.

La version stable courante de Metasploit Framework est la 3.1 et est écrite en Ruby. La version précédente 2.7, a été implémenté en Perl. Elle fonctionne sur toutes les versions d'Unix (y compris Linux et Mac OS X), et aussi sur Windows en utilisant Cygwin. Elle inclut une interface en ligne de commande ainsi qu'une autre orientée web. 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 le payload, quelques informations sur le système cible sont nécessaires, tel que la version du systè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'OS fingerprinting comme nmap. Nessus peut en plus détecter les vulnérabilités du système cible.

[modifier] Base de donnée d'opcode

La base de donnée d'opcode est une ressource importante pour les développeurs de nouveaux exploits. Ceux basés sur un buffer overflow sur Windows exigent souvent une connaissance précise sur la position du opcode dans le programme attaqué ou inclut (comme une DLL). 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 accessible dans la base de données opcode. Ceci permet l'écriture d'exploits de buffer overflow qui peuvent fonctionner sur différentes versions d'un système d'exploitation cible.

[modifier] Base de donnée de shellcode

La base de donnée de shellcode contient les payloads (aussi connu sous le nom de shellcodes) utilisé par Metasploit Framework. Ceci sont écrit en assembleur et leur code source sont disponibles.

[modifier] Anecdotes

  • Le projet Metasploit a commencé en tant qu'un jeu en réseau portable.
  • Le site de Metasploit a commencé dans le courant de l'été 2003.

[modifier] Contributeurs notables

Metasploit Framework fonctionne en tant que projet vaguement open-source (voir licence), de haute qualité et où les contributions de code sont acceptés 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 (Auteur principal)
  • Matt Miller (Skape)
  • spoonm
  • y0
  • Kevin Finisterre
  • David Litchfield
  • Brian Caswell
  • Alexander Sotirov (Solar Eclipse)
  • Rhys Kidd
  • Pusscat
  • Nicolas Pouvesle
  • Lance M. Havok (LMH)
  • Jacopo Cervini (acaro)
  • TheSamurai
  • Ramon de Carvalho Valle (RISE Security)

[modifier] Voir aussi

[modifier] Références

  • (en) Cet article est partiellement ou en totalité issu d’une traduction de l’article de Wikipédia en anglais intitulé « Metasploit Project ».

[modifier] Liens externes

Autres langues