MetasploitMetasploit Framework
Metasploit, Metasploit Pen Testing Tool, est un projet (open source, sous Licence BSD modifié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 les systè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 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. 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 les pirates et les script 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 ces bogues particuliers[3],[4]. 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 . VersionsMetasploit FrameworkLes étapes basiques pour l'exploitation d'un système sont :
Cette modularité qui permet de combiner n'importe quel exploit avec n'importe quel payload est l'avantage majeur 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 4.4 et est écrite en Ruby. La version précédente 2.7, a été implémentée en Perl. Elle fonctionne sur toutes les versions d'Unix (y compris Linux et Mac OS X) et aussi sur Windows via 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, telles 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. Base de données d'opcodeLa base de données d'opcode est une ressource importante pour les développeurs de nouveaux exploits. Ceux basés sur un dépassement de tampon sur Windows exigent souvent une connaissance précise sur la position de l'opcode dans le programme attaqué ou inclus (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 accessibles 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. Base de données de shellcodesLa base de données de shellcodes contient les payloads (aussi connus sous le nom de shellcodes) utilisés par Metasploit Framework. Ceux-ci sont écrits en assembleur et leurs codes sources sont disponibles. ExploitsMetasploit 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, et Windows. PayloadsMetasploit possède actuellement plus de 592 payloads. En voici quelques-uns:
Anecdotes
Contributeurs notablesMetasploit 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 :
Notes et références(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).
Voir aussiLiens externes
|