Metasploit Framework
Clone or download
Failed to load latest commit information.
.github Add documentation requirement to PR template Apr 5, 2017
app Move shared example from pro into framework Apr 7, 2016
config Land #6556, include Vagrant development environment provisioner Jun 9, 2016
data Inject Payload to Memory First Sep 20, 2018
db automatic module_metadata_base.json update Sep 22, 2018
docker another approach Feb 17, 2018
documentation Land #10643, CVE-2018-8440 ALPC Scheduler Sep 21, 2018
external Inject Payload to Memory First Sep 20, 2018
lib Print nicely about what object you're in Sep 21, 2018
modules Land #10534, Add FrontPage Credential Dump Module Sep 22, 2018
plugins Land #10024, Fix find_or_create_* methods for remote data service May 22, 2018
script kill cucumber in framework Jul 12, 2017
scripts Fixed Typos Feb 27, 2018
spec Land #10532, enhance db_connect for data services Sep 3, 2018
test add automation test for smb_ms17_010 scanner module Aug 17, 2018
tools Ignore 'No CVE' warning if NOCVE reason was provided in notes Aug 31, 2018
.dockerignore Fix docker build Mar 6, 2018
.gitignore Land #9220, Module cache improvements Jan 18, 2018
.gitmodules Add RDI submodule, port Kitrap0d Nov 27, 2013
.mailmap Add DanielRTeixeira to mailmap Jun 28, 2018
.rspec Add modern --require to .rspec Oct 8, 2014
.rubocop.yml Land #9986, initial ruby_smb simple client integration May 7, 2018
.ruby-gemset Restoring ruby and gemset files May 20, 2014
.ruby-version bump to ruby 2.5.1 Mar 30, 2018
.simplecov Remove fastlib Sep 18, 2014
.travis.yml comment better Sep 18, 2018
.yardopts remove HACKING from yardopts Sep 7, 2017 Add individual contacts Jan 13, 2016 include example of why PRs from master are bad May 8, 2018
COPYING Update COPYING Jan 9, 2018 add to track major changes and how to migrate with them Jan 18, 2018
Dockerfile bump to ruby 2.5.1 Mar 30, 2018
Gemfile Require swagger-blocks in dev and test May 23, 2018
Gemfile.local.example update Gemfile.local example, use Gemfile.local if it exists when bun… Apr 30, 2017
Gemfile.lock Land #10575, add meterpreter chmod command Sep 20, 2018
LICENSE Update LICENSE file to include swagger-ui API docs May 29, 2018
LICENSE_GEMS Update rex-text to 0.2.17 Apr 8, 2018 add docker pull badge to readme Dec 6, 2017
Rakefile trying rspec-retry Jun 20, 2017
Vagrantfile fix #8693, update Vagrant to latest rvm syntax Jul 11, 2017
docker-compose.override.yml more docker work Nov 28, 2017
docker-compose.yml more docker work Nov 28, 2017
metasploit-framework.gemspec update mettle version Sep 20, 2018
msfconsole Improved CTRL-C edge case, Invalid Options edge case, help output, ve… Mar 20, 2018
msfd Removing unnecessary spaces Sep 12, 2017
msfdb Update to handle new db_connect format Sep 1, 2018
msfdb_ws Make msfdb_ws help fast like msfvenom's Aug 4, 2018
msfrpc Removing unnecessary spaces Sep 12, 2017
msfrpcd Removing unnecessary spaces Sep 12, 2017
msfupdate remove "require 'os'", not needed or available May 14, 2018
msfvenom Pluralize arch as archs, not arches Aug 24, 2018

Metasploit Build Status Code Climate Docker Pulls

The Metasploit Framework is released under a BSD-style license. See COPYING for more details.

The latest version of this software is available from:

Bug tracking and development information can be found at:

New bugs and feature requests should be directed to:

API documentation for writing modules can be found at:

Questions and suggestions can be sent to: Freenode IRC channel or e-mail the metasploit-hackers mailing list


Generally, you should use the free installer, which contains all of the dependencies and will get you up and running with a few clicks. See the Dev Environment Setup if you'd like to deal with dependencies on your own.

Using Metasploit

Metasploit can do all sorts of things. The first thing you'll want to do is start msfconsole, but after that, you'll probably be best served by reading Metasploit Unleashed, the great community resources, or the wiki.


See the Dev Environment Setup guide on GitHub, which will walk you through the whole process from installing all the dependencies, to cloning the repository, and finally to submitting a pull request. For slightly more information, see Contributing.