Metasploit Framework
 
 
 
 
 
 
Go to file
RageLtMan 8d60fdf9e7 Bug - HTTP Client can call :shutdown on closed IO
When running Rex HTTP client calls across pivots, pivot sockets
can get closed by the remote server, resulting in a closed :conn
object within the client object. The clients :close method calls
self.conn.shutdown which raises an 'IOError closed stream' on what
is effectively a TCPSocket object in a closed state (under the Rex
abstraction).

Resolve by moving the self.conn.closed? check into the conditional
just above the :shutdown call, and remove if from the underlying
:close call as calling :close on an already closed TCPSocket
returns nil as opposed to throwing an exception like the :shutdown
method.
2017-09-10 03:09:59 -04:00
.github Add documentation requirement to PR template 2017-04-05 10:03:05 -04:00
app Move shared example from pro into framework 2016-04-07 13:09:52 -05:00
config Land #6556, include Vagrant development environment provisioner 2016-06-09 09:55:37 -05:00
data add pastebin IoT credentials 2017-08-25 08:57:20 -05:00
db Bump version of framework to 4.13.11 2017-01-04 14:53:33 -08:00
docker move Dockerfile to root 2017-08-28 16:57:28 +02:00
documentation Land #8924, Add Apache Struts 2 REST Plugin XStream RCE 2017-09-08 13:59:52 -05:00
external cleanup 2017-08-31 18:35:18 +08:00
lib Bug - HTTP Client can call :shutdown on closed IO 2017-09-10 03:09:59 -04:00
modules Land #8924, Add Apache Struts 2 REST Plugin XStream RCE 2017-09-08 13:59:52 -05:00
plugins remove more instances of positive? 2017-08-02 12:47:34 -05:00
script kill cucumber in framework 2017-07-12 08:00:29 -05:00
scripts Update scheduleme.rb 2017-08-18 22:27:26 +02:00
spec Update payload specs and sizes 2017-08-31 18:48:56 +08:00
test use https for metaploit.com links 2017-07-24 06:26:21 -07:00
tools add tool to dump descriptions 2017-08-24 21:41:46 -04:00
.dockerignore use https for metaploit.com links 2017-07-24 06:26:21 -07:00
.gitignore use https for metaploit.com links 2017-07-24 06:26:21 -07:00
.gitmodules Add RDI submodule, port Kitrap0d 2013-11-27 16:04:41 +10:00
.mailmap refine rageltman, add rwhitcroft 2016-12-22 00:58:58 -06:00
.rspec Add modern --require to .rspec 2014-10-08 10:55:40 -05:00
.rubocop.yml disable redundant return warning, update a couple others 2017-08-13 23:51:52 -04:00
.ruby-gemset Remove gitignore, change to metasploit-framework 2013-09-13 12:44:19 -05:00
.ruby-version revert back to Ruby 2.4.1 2017-06-23 20:39:44 -05:00
.simplecov Remove fastlib 2014-09-18 15:24:21 -05:00
.travis.yml kill cucumber in framework 2017-07-12 08:00:29 -05:00
.yardopts remove HACKING from yardopts 2017-09-07 02:35:56 -05:00
CODE_OF_CONDUCT.md Add individual contacts 2016-01-13 10:35:39 -06:00
CONTRIBUTING.md update references to sourceforge ML 2017-08-20 13:23:54 -05:00
COPYING Updated COPYING 2017-01-17 12:36:26 +10:00
Dockerfile remove the first of many robots.rb workarounds 2017-08-28 15:48:09 -05:00
Gemfile disable metasploit-aggregator while we sort out crypttlv updates 2017-08-20 19:05:10 -05:00
Gemfile.local.example update Gemfile.local example, use Gemfile.local if it exists when bundling 2017-04-30 10:57:55 -05:00
Gemfile.lock Bump version of framework to 4.16.7 2017-09-08 15:38:22 -07:00
LICENSE move gem licenses to a separate auto-generated file 2017-04-07 11:49:58 -05:00
LICENSE_GEMS kill cucumber in framework 2017-07-12 08:00:29 -05:00
README.md update references to sourceforge ML 2017-08-20 13:23:54 -05:00
Rakefile trying rspec-retry 2017-06-20 14:02:32 -05:00
Vagrantfile fix #8693, update Vagrant to latest rvm syntax 2017-07-10 21:41:50 -05:00
docker-compose.yml move Dockerfile to root 2017-08-28 16:57:28 +02:00
metasploit-framework.gemspec bump payloads, add shell expansion for java/android payloads 2017-09-08 13:45:54 -05:00
msfconsole Move service stub in x86 encoder to be easily used. 2016-06-23 14:56:03 +02:00
msfd Initialize the DisableBanner option 2015-10-08 14:08:45 -05:00
msfrpc Change {} back to do/end 2015-03-09 00:00:49 -05:00
msfrpcd allow overriding the default timeout for a session 2015-05-01 15:04:55 -05:00
msfupdate update specs 2017-05-27 00:34:12 -05:00
msfvenom Removing unnecessary spaces 2017-05-04 10:41:02 -03: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: https://metasploit.com

Bug tracking and development information can be found at: https://github.com/rapid7/metasploit-framework

New bugs and feature requests should be directed to: https://r-7.co/MSF-BUGv1

API documentation for writing modules can be found at: https://rapid7.github.io/metasploit-framework/api

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

Installing

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.

Contributing

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.