This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. (November 2017) (Learn how and when to remove this template message)
Metasploit Community showing three hosts, two of which were compromised by an exploit
5.0.0 / January 10, 2019
|License||Framework: BSD, Community/Express/Pro: Proprietary|
Its best-known sub-project is the open-source Metasploit Framework, a tool for developing and executing exploit code against a remote target machine. Other important sub-projects include the Opcode Database, shellcode archive and related research.
Metasploit was created by H. D. Moore in 2003 as a portable network tool using Perl. By 2007, the Metasploit Framework had been completely rewritten in Ruby. On October 21, 2009, the Metasploit Project announced that it had been acquired by Rapid7, a security company that provides unified vulnerability management solutions.
Like comparable commercial products such as Immunity's Canvas or Core Security Technologies' Core Impact, Metasploit can be used to test the vulnerability of computer systems or to break into remote systems. Like many information security tools, Metasploit can be used for both legitimate and unauthorized activities. Since the acquisition of the Metasploit Framework, Rapid7 has added two open core proprietary editions called Metasploit Express and Metasploit Pro.
Metasploit's emerging position as the de facto exploit development framework led to the release of software vulnerability advisories often accompanied by a third party Metasploit exploit module that highlights the exploitability, risk and remediation of that particular bug. Metasploit 3.0 began to include fuzzing tools, used to discover software vulnerabilities, rather than just exploits for known bugs. This avenue can be seen with the integration of the lorcon wireless (802.11) toolset into Metasploit 3.0 in November 2006. Metasploit 4.0 was released in August 2011.
The basic steps for exploiting a system using the Framework include:
- Choosing and configuring an exploit (code that enters a target system by taking advantage of one of its bugs; about 900 different exploits for Windows, Unix/Linux and Mac OS X systems are included);
- Optionally checking whether the intended target system is susceptible to the chosen exploit;
- Choosing and configuring a payload (code that will be executed on the target system upon successful entry; for instance, a remote shell or a VNC server);
- Choosing the encoding technique so that hexadecimal opcodes known as "bad characters" are removed from the payload, these characters will cause the exploit to fail.
- Executing the exploit.
This modular approach – allowing the combination of any exploit with any payload – is the major advantage of the Framework. It facilitates the tasks of attackers, exploit writers and payload writers.
Metasploit runs on Unix (including Linux and Mac OS X) and on Windows. The Metasploit Framework can be extended to use add-ons in multiple languages.
To choose an exploit and payload, some information about the target system is needed, such as operating system version and installed network services. This information can be gleaned with port scanning and OS fingerprinting tools such as Nmap. Vulnerability scanners such as Nexpose, Nessus, and OpenVAS can detect target system vulnerabilities. Metasploit can import vulnerability scanner data and compare the identified vulnerabilities to existing exploit modules for accurate exploitation.
There are several interfaces for Metasploit available. The most popular are maintained by Rapid7 and Strategic Cyber LLC.
Metasploit Framework Edition
The free version. It contains a command line interface, third-party import, manual exploitation and manual brute forcing. This free version of the Metasploit project also includes Zenmap, a well known ports-scanner and a compiler for Ruby, the language in which this version of Metasploit was written. 
Metasploit Community Edition
In October 2011, Rapid7 released Metasploit Community Edition, a free, web-based user interface for Metasploit. Metasploit Community is based on the commercial functionality of the paid-for editions with a reduced set of features, including network discovery, module browsing and manual exploitation. Metasploit Community is included in the main installer.
In April 2010, Rapid7 released Metasploit Express, an open-core commercial edition for security teams who need to verify vulnerabilities. It offers a graphical user interface, integrates nmap for discovery, and adds smart bruteforcing as well as automated evidence collection.
In October 2010, Rapid7 added Metasploit Pro, an open-core commercial Metasploit edition for penetration testers. Metasploit Pro adds onto Metasploit Express with features such as Quick Start Wizards/MetaModules, building and managing social engineering campaigns, web application testing, an advanced Pro Console, dynamic payloads for anti-virus evasion, integration with Nexpose for ad-hoc vulnerability scans, and VPN pivoting.
Armitage is a graphical cyber attack management tool for the Metasploit Project that visualizes targets and recommends exploits. It is a free and open source network security tool notable for its contributions to red team collaboration allowing for shared sessions, data, and communication through a single Metasploit instance.
Cobalt Strike is a collection of threat emulation tools provided by Strategic Cyber LLC to work with the Metasploit Framework. Cobalt Strike includes all features of Armitage and adds post-exploitation tools, in addition to report generation features.
Metasploit currently has over 495 payloads. Some of them are:
- Command shell enables users to run collection scripts or run arbitrary commands against the host.
- Meterpreter enables users to control the screen of a device using VNC and to browse, upload and download files.
- Dynamic payloads enables users to evade anti-virus defenses by generating unique payloads.
Metasploit Framework operates as an open-source project and accepts contributions from the community through GitHub.com pull requests. Submissions are reviewed by a team consisting of both Rapid7 employees and senior external contributors. The majority of contributions add new modules, such as exploits or scanners.
List of original developers:
- H. D. Moore (founder and chief architect)
- Matt Miller (core developer from 2004–2008)
- spoonm (core developer from 2003–2008)
- "Releases - rapid7/metasploit-framework".
- "3-clause BSD license". Retrieved 2013-06-24.
- "Kali Linux Tools Listing | Penetration Testing Tools". tools.kali.org. Retrieved 2019-02-09.
- "Metasploit". Retrieved 18 February 2015.
- "Rapid7 Press Release". Rapid7. Retrieved 18 February 2015.
- "Vulnerability exploitation tools – SecTools Top Network Security Tools". Retrieved 18 February 2015.
- Metasploit. "Metasploit". www.exploit-db.com. Retrieved 2017-01-14.
- "ACSSEC-2005-11-25-0x1 VMWare Workstation 5.5.0 <= build-18007 GSX Server Variants And Others". December 20, 2005. Archived from the original on 2007-01-07.
- "Month of Kernel Bugs – Broadcom Wireless Driver Probe Response SSID Overflow". November 11, 2006. Archived from the original on January 3, 2013.
- "Penetration Testing Tool, Metasploit, Free Download - Rapid7". Rapid7. Retrieved 18 February 2015.
- "Metasploit editions". rapid7.com. rapid7. Retrieved 16 February 2013.
- "Armitage A GUI for Metasploit". Strategic Cyber LLC. Retrieved 2013-11-18.
- "Adversary Simulation and Red Team Operations Software - Cobalt Strike". cobaltstrike.com. Retrieved 2019-01-22.
- "Armitage vs Cobalt Hooked Strike". Strategic Cyber LLC. Retrieved 2013-11-18.
- "rapid7/metasploit-framework". GitHub. Retrieved 2017-01-14.
- "Contributing to Metasploit". Rapid7 LLC. Retrieved 2014-06-09.
- Powerful payloads: The evolution of exploit frameworks, searchsecurity.com, 2005-10-20
- Chapter 12: Writing Exploits III from Sockets, Shellcode, Porting & Coding: Reverse Engineering Exploits and Tool Coding for Security Professionals by James C. Foster (ISBN 1-59749-005-9). Written by Vincent Liu, chapter 12 explains how to use Metasploit to develop a buffer overflow exploit from scratch.
|Wikimedia Commons has media related to Metasploit Project.|
|Wikibooks has more on the topic of: Metasploit Project|