Metasploit Framework
 
 
 
 
 
 
Go to file
Tod Beardsley 2ce6f325f5
Be more specific with Nokogiri check
There are still strong reservations about using Nokogiri to parse
untrusted XML data.

http://www.wireharbor.com/hidden-security-risks-of-xml-parsing-xxe-attack/

It is also believed that many desktop operating systems are still
shipping out-of-date and vulnerable libxml2 libraries, which become
exposed via Nokogiri. For example:

http://stackoverflow.com/questions/18627075/nokogiri-1-6-0-still-pulls-in-wrong-version-of-libxml-on-os-x

While this isn't a problem for binary builds of Metasploit (Metasploit
Community, Express, or Pro) it can be a problem for development
versions or Kali's / Backtrack's version.

So, the compromise here is to allow for modules that don't directly
expose XML parsing. I can't say for sure that the various libxml2
vulnerabilities (current and future) aren't also exposed via
`Nokogiri::HTML` but I also can't come up with a reasonable demo.

Metasploit committers should still look at any module that relies on
Nokogiri very carefully, and suggest alternatives if there are any. But,
it's sometimes going to be required for complex HTML parsing.

tl;dr: Use REXML for XML parsing, and Nokogiri for HTML parsing if you
absolutely must.
2014-05-29 11:52:17 -05:00
config Add some friendlier defaults to database.yml 2013-04-19 15:43:25 -05:00
data Comments dont work with auth_brute.rb 2014-05-18 21:14:17 +02:00
db Uses new MDM version. A few versions were apparently skipped, so the 2013-07-17 11:46:08 -05:00
documentation Merge remote-tracking branch 'metasploit-framework/master' into masked-cred-format-update 2014-03-19 15:47:46 -05:00
external Add compilation instructions for the AS 2014-05-08 16:48:42 -05:00
lib Fix typo in client_request.rb comment 2014-05-26 23:55:48 -05:00
modules Fix the last of the Set-Cookie msftidy warnings 2014-05-29 04:42:49 -05:00
plugins Land #2504, @todb-r7's edit command for msfconsole 2013-10-30 15:38:07 -05:00
scripts Merge branch 'upstream/master' into stop_abusing_expand_path 2014-03-11 23:13:39 +10:00
spec Resolved all msftidy vars_get warnings 2014-05-25 19:29:39 +02:00
test Allow easier control of sprayed memory 2014-03-28 11:58:41 -05:00
tools Be more specific with Nokogiri check 2014-05-29 11:52:17 -05:00
.gitignore Remove genericity, x64 and renamed stuff 2013-11-14 12:22:53 +10:00
.gitmodules Add RDI submodule, port Kitrap0d 2013-11-27 16:04:41 +10:00
.mailmap De-dupe and update .mailmap 2013-12-31 16:40:53 -06:00
.rspec Use Fivemat formatting for rspec 2013-10-08 12:50:28 -05:00
.ruby-gemset Remove gitignore, change to metasploit-framework 2013-09-13 12:44:19 -05:00
.ruby-version Update default ruby to 1.9.3-p484 (CVE-2013-4164) 2013-11-22 11:20:21 -06:00
.simplecov Better Rubymine compatibility for .simplecov 2013-01-18 11:12:16 -06:00
.travis.yml Travis shouldn't autofail msftidy fails... yet 2014-04-08 14:05:42 -05:00
.yardopts Merge pull request #1563 from rapid7/bug/yard-guard 2013-03-07 17:35:03 -06:00
CONTRIBUTING.md Be very clear about Redmine's existence. 2014-04-18 10:01:54 -05:00
COPYING Rapid7 Comma Inc 2014-03-13 09:46:20 -05:00
Gemfile Add sqlite3 to Gemfile 2014-05-27 10:29:55 -05:00
Gemfile.lock Add sqlite3 to Gemfile 2014-05-27 10:29:55 -05:00
HACKING Update HACKING along with CONTRIBUTING.md 2014-03-04 14:12:42 -06:00
LICENSE Use the new bcrypt gem, not bcrypt-ruby 2014-04-18 15:02:42 -05:00
README.md Encourage use of the installer for users. 2014-04-11 15:55:18 -05:00
Rakefile Update to metasploit_data_models 0.11.0 2013-05-09 13:25:26 -05:00
msfbinscan Modify msfbinscan help 2013-12-30 12:23:47 -06:00
msfcli Adds ability to load post modules in msfcli 2013-12-19 11:53:40 -06:00
msfconsole Removed SVN from msfupdate 2013-10-10 12:25:00 +00:00
msfd Retab all the things (except external/) 2013-09-30 13:47:53 -05:00
msfelfscan Add disasm option to msfelfscan 2013-12-26 16:26:45 -02:00
msfencode Remove a couple more instances of "shit" 2014-03-04 15:00:48 -06:00
msfmachscan Retab all the things (except external/) 2013-09-30 13:47:53 -05:00
msfpayload That one, too. 2014-03-04 14:38:25 -06:00
msfpescan Retab all the things (except external/) 2013-09-30 13:47:53 -05:00
msfrop Retab all the things (except external/) 2013-09-30 13:47:53 -05:00
msfrpc Retab all the things (except external/) 2013-09-30 13:47:53 -05:00
msfrpcd Retab all the things (except external/) 2013-09-30 13:47:53 -05:00
msfupdate Always use maybe_wait_and_exit in msfupdate 2013-11-15 17:26:21 -06:00
msfvenom fix typo in msfvenom 2014-03-31 14:55:59 -05:00

README.md

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 http://metasploit.com/

Bug tracking and development information can be found at: https://dev.metasploit.com/redmine/projects/framework/

The public GitHub source repository can be found at: https://github.com/rapid7/metasploit-framework

Questions and suggestions can be sent to: msfdev(at)metasploit.com

The framework mailing list is the place to discuss features and ask for help. To subscribe, visit the following web page: https://mail.metasploit.com/mailman/listinfo/framework

The mailing list archives are available from: https://mail.metasploit.com/pipermail/framework/

Installing

Generally, you should use the free installer which contains all 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 some of the great tutorials online:

Contributing

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