Metasploit Framework
Ruby JavaScript PowerShell Assembly HTML C
Latest commit 3aa862b May 27, 2017 @bcook-r7 bcook-r7 Fix #8464, update specs
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 Land #8457, Update multi/fileformat/office_word_macro to allow custom… May 26, 2017
db Bump version of framework to 4.13.11 Jan 4, 2017
docker git is no longer needed to build an image May 27, 2017
documentation Land #8457, Update multi/fileformat/office_word_macro to allow custom… May 26, 2017
external x86 kernels will safely ret instead of BSOD May 18, 2017
features removing a newline Jan 10, 2017
lib Land #8468, Update system info after running getsystem May 27, 2017
modules Land #8457, Update multi/fileformat/office_word_macro to allow custom… May 26, 2017
plugins remote id not suppressed based on local May 22, 2017
script rails generate cucumber:install Aug 27, 2014
scripts fix usage on meterpreter script May 11, 2017
spec update specs May 27, 2017
test Minor cleanups for multi-platform railgun Apr 25, 2017
tools I did it again :( May 13, 2017
.dockerignore more docker work Apr 22, 2017
.gitignore move common json-rpc bits to a library Apr 26, 2017
.gitmodules Add RDI submodule, port Kitrap0d Nov 27, 2013
.mailmap refine rageltman, add rwhitcroft Dec 22, 2016
.rspec Add modern --require to .rspec Oct 8, 2014
.rubocop.yml Reapply PR #4113 (removed via #4175) Nov 11, 2014
.ruby-gemset Restoring ruby and gemset files May 20, 2014
.ruby-version add ruby 2.1-2.4, update gems with in-flight 2.4 fixes Apr 4, 2017
.simplecov Remove fastlib Sep 18, 2014
.travis.yml Travis: disable the failing tests. #8444 May 26, 2017
.yardopts Various merge resolutions from master <- staging Aug 15, 2014 Add individual contacts Jan 13, 2016 Add note about release notes to Aug 22, 2016
COPYING Updated COPYING Jan 17, 2017
Gemfile remove pry/method_source git binding, this is not a vital update May 27, 2017
Gemfile.local.example update Gemfile.local example, use Gemfile.local if it exists when bun… Apr 30, 2017
Gemfile.lock remove pry/method_source git binding, this is not a vital update May 27, 2017
HACKING Update link for The Metasploit Development Environment Jul 15, 2014
LICENSE move gem licenses to a separate auto-generated file Apr 7, 2017
LICENSE_GEMS update gem licenses May 27, 2017 Secure (https) links in May 16, 2017
Rakefile changing the rake spec task to auto run db:test:prepare Apr 12, 2017
Vagrantfile switch to inline provisioning, use official ubuntu vagrant box Jun 9, 2016
docker-compose.yml add timezone May 21, 2017
metasploit-framework.gemspec data/gui has not existed in a long time May 27, 2017
msfconsole Move service stub in x86 encoder to be easily used. Jun 23, 2016
msfd Initialize the DisableBanner option Oct 8, 2015
msfrpc Change {} back to do/end Mar 9, 2015
msfrpcd allow overriding the default timeout for a session May 1, 2015
msfupdate update specs May 27, 2017
msfvenom Removing unnecessary spaces May 4, 2017

Metasploit Build Status Code Climate

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:


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.