Skip to content

Commit 5297ebc

Browse files
author
Brent Cook
committed
Merge branch 'master' into land-1396-http_proxy_pstore
Bring things back to the future
2 parents 91b4a59 + 49f4b68 commit 5297ebc

File tree

16,701 files changed

+787197
-2042586
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

16,701 files changed

+787197
-2042586
lines changed

.gitignore

Lines changed: 67 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,89 @@
1+
.bundle
2+
Gemfile.local
3+
Gemfile.local.lock
14
# Rubymine project directory
25
.idea
3-
# RVM control file
6+
# Sublime Text project directory (not created by ST by default)
7+
.sublime-project
8+
# RVM control file, keep this to avoid backdooring Metasploit
49
.rvmrc
10+
# Allow for a local choice of (unsupported / semi-supported) ruby versions
11+
# See PR #4136 for usage, but example usage for rvm:
12+
# rvm --create --versions-conf use 2.1.4@metasploit-framework
13+
# Because rbenv doesn't use .versions.conf, to achieve this same functionality, run:
14+
# rbenv shell 2.1.4
15+
.versions.conf
516
# YARD cache directory
617
.yardoc
718
# Mac OS X files
819
.DS_Store
20+
# database config for testing
21+
config/database.yml
22+
# target config file for testing
23+
features/support/targets.yml
924
# simplecov coverage data
1025
coverage
11-
data/meterpreter/ext_server_pivot.dll
12-
data/meterpreter/ext_server_pivot.x64.dll
1326
doc/
1427
external/source/meterpreter/java/bin
1528
external/source/meterpreter/java/build
1629
external/source/meterpreter/java/extensions
1730
external/source/javapayload/bin
1831
external/source/javapayload/build
32+
# Java binary ignores. Replace the 5 above with this once we're merged.
33+
external/source/javapayload/*/.classpath
34+
external/source/javapayload/*/.project
35+
external/source/javapayload/*/.settings
36+
external/source/javapayload/*/bin
37+
external/source/javapayload/*/target
38+
external/source/javapayload/*/*/.classpath
39+
external/source/javapayload/*/*/.project
40+
external/source/javapayload/*/*/.settings
41+
external/source/javapayload/*/*/bin
42+
external/source/javapayload/*/*/target
1943
# Packaging directory
2044
pkg
2145
tags
2246
*.swp
2347
*.orig
2448
*.rej
2549
*~
50+
# Ignore backups of retabbed files
51+
*.notab
52+
53+
# ignore Visual Studio external source garbage
54+
*.suo
55+
*.sdf
56+
*.opensdf
57+
*.user
58+
59+
# Rails log directory
60+
/log
61+
# Rails tmp directory
62+
/tmp
63+
64+
# ignore release/debug folders for exploits
65+
external/source/exploits/**/Debug
66+
external/source/exploits/**/Release
67+
68+
# Avoid checking in Meterpreter binaries. These are supplied upstream by
69+
# the meterpreter_bins gem.
70+
data/meterpreter/elevator.*.dll
71+
data/meterpreter/ext_server_espia.*.dll
72+
data/meterpreter/ext_server_extapi.*.dll
73+
data/meterpreter/ext_server_incognito.*.dll
74+
data/meterpreter/ext_server_kiwi.*.dll
75+
data/meterpreter/ext_server_lanattacks.*.dll
76+
data/meterpreter/ext_server_mimikatz.*.dll
77+
data/meterpreter/ext_server_priv.*.dll
78+
data/meterpreter/ext_server_stdapi.*.dll
79+
data/meterpreter/metsrv.*.dll
80+
data/meterpreter/screenshot.*.dll
81+
82+
# Avoid checking in Meterpreter libs that are built from
83+
# private source. If you're interested in this functionality,
84+
# check out Metasploit Pro: http://metasploit.com/download
85+
data/meterpreter/ext_server_pivot.*.dll
86+
87+
# Avoid checking in metakitty, the source for
88+
# https://rapid7.github.io/metasploit-framework. It's an orphan branch.
89+
/metakitty

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "external/source/ReflectiveDLLInjection"]
2+
path = external/source/ReflectiveDLLInjection
3+
url = https://github.com/rapid7/ReflectiveDLLInjection.git

.mailmap

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
bcook-r7 <bcook-r7@github> Brent Cook <[email protected]>
2+
bturner-r7 <bturner-r7@github> Brandon Turner <[email protected]>
3+
cdoughty-r7 <cdoughty-r7@github> Chris Doughty <[email protected]>
4+
dheiland-r7 <dheiland-r7@github> Deral Heiland <[email protected]>
5+
dmaloney-r7 <dmaloney-r7@github> David Maloney <[email protected]>
6+
dmaloney-r7 <dmaloney-r7@github> David Maloney <[email protected]>
7+
dmaloney-r7 <dmaloney-r7@github> dmaloney-r7 <[email protected]>
8+
ecarey-r7 <ecarey-r7@github> Erran Carey <[email protected]>
9+
farias-r7 <farias-r7@github> Fernando Arias <[email protected]>
10+
hmoore-r7 <hmoore-r7@github> HD Moore <[email protected]>
11+
hmoore-r7 <hmoore-r7@github> HD Moore <[email protected]>
12+
jhart-r7 <jhart-r7@github> Jon Hart <[email protected]>
13+
jlee-r7 <jlee-r7@github> egypt <[email protected]> # aka egypt
14+
jlee-r7 <jlee-r7@github> James Lee <[email protected]> # aka egypt
15+
jlee-r7 <jlee-r7@github> James Lee <[email protected]>
16+
joev-r7 <joev-r7@github> Joe Vennix <[email protected]>
17+
joev-r7 <joev-r7@github> Joe Vennix <[email protected]>
18+
joev-r7 <joev-r7@github> joev <[email protected]>
19+
joev-r7 <joev-r7@github> jvennix-r7 <[email protected]>
20+
joev-r7 <joev-r7@github> jvennix-r7 <[email protected]>
21+
jvazquez-r7 <jvazquez-r7@github> jvazquez-r7 <[email protected]>
22+
jvazquez-r7 <jvazquez-r7@github> jvazquez-r7 <[email protected]>
23+
kgray-r7 <kgray-r7@github> Kyle Gray <[email protected]>
24+
limhoff-r7 <limhoff-r7@github> Luke Imhoff <[email protected]>
25+
lsanchez-r7 <lsanchez-r7@github> darkbushido <[email protected]>
26+
lsanchez-r7 <lsanchez-r7@github> Lance Sanchez <[email protected]>
27+
lsanchez-r7 <lsanchez-r7@github> Lance Sanchez <[email protected]>
28+
lsanchez-r7 <lsanchez-r7@github> Lance Sanchez <[email protected]>
29+
lsanchez-r7 <lsanchez-r7@github> Lance Sanchez <[email protected]>
30+
mbuck-r7 <mbuck-r7@github> Matt Buck <[email protected]>
31+
mbuck-r7 <mbuck-r7@github> Matt Buck <[email protected]>
32+
mschloesser-r7 <mschloesser-r7@github> Mark Schloesser <[email protected]>
33+
mschloesser-r7 <mschloesser-r7@github> mschloesser-r7 <[email protected]>
34+
parzamendi-r7 <parzamendi-r7@github> parzamendi-r7 <[email protected]>
35+
shuckins-r7 <shuckins-r7@github> Samuel Huckins <[email protected]>
36+
todb-r7 <todb-r7@github> Tod Beardsley <[email protected]>
37+
todb-r7 <todb-r7@github> Tod Beardsley <[email protected]>
38+
todb-r7 <todb-r7@github> Tod Beardsley <[email protected]>
39+
trosen-r7 <trosen-r7@github> Trevor Rosen <[email protected]>
40+
trosen-r7 <trosen-r7@github> Trevor Rosen <[email protected]>
41+
wchen-r7 <wchen-r7@github> sinn3r <[email protected]> # aka sinn3r
42+
wchen-r7 <wchen-r7@github> sinn3r <[email protected]>
43+
wchen-r7 <wchen-r7@github> Wei Chen <[email protected]>
44+
wvu-r7 <wvu-r7@github> William Vu <[email protected]>
45+
wvu-r7 <wvu-r7@github> William Vu <[email protected]>
46+
wvu-r7 <wvu-r7@github> William Vu <[email protected]>
47+
wvu-r7 <wvu-r7@github> wvu-r7 <[email protected]>
48+
49+
# Above this line are current Rapid7 employees. Below this paragraph are
50+
# volunteers, former employees, and potential Rapid7 employees who, at
51+
# one time or another, had some largeish number of commits landed on
52+
# rapid7/metasploit-framework master branch. This should be refreshed
53+
# periodically. If you're on this list and would like to not be, just
54+
# let [email protected] know.
55+
56+
bannedit <bannedit@github> David Rude <[email protected]>
57+
bcoles <bcoles@github> bcoles <[email protected]>
58+
bcoles <bcoles@github> Brendan Coles <[email protected]>
59+
brandonprry <brandonprry@github> Brandon Perry <[email protected]>
60+
brandonprry <brandonprry@github> Brandon Perry <bperry@bperry-rapid7.(none)>
61+
brandonprry <brandonprry@github> Brandon Perry <[email protected]>
62+
bwall <bwall@github> (B)rian (Wall)ace <[email protected]>
63+
bwall <bwall@github> Brian Wallace <[email protected]>
64+
ceballosm <ceballosm@github> Mario Ceballos <[email protected]>
65+
Chao-mu <Chao-Mu@github> Chao Mu <[email protected]>
66+
Chao-mu <Chao-Mu@github> chao-mu <[email protected]>
67+
Chao-mu <Chao-Mu@github> chao-mu <chao@confusion.(none)>
68+
ChrisJohnRiley <ChrisJohnRiley@github> Chris John Riley <[email protected]>
69+
ChrisJohnRiley <ChrisJohnRiley@github> Chris John Riley <[email protected]>
70+
corelanc0d3r <corelanc0d3r@github> corelanc0d3r <[email protected]>
71+
corelanc0d3r <corelanc0d3r@github> Peter Van Eeckhoutte (corelanc0d3r) <[email protected]>
72+
darkoperator <darkoperator@github> Carlos Perez <[email protected]>
73+
efraintorres <efraintorres@github> efraintorres <[email protected]>
74+
efraintorres <efraintorres@github> et <>
75+
fab <fab@???> fab <> # fab at revhosts.net (Fabrice MOURRON)
76+
FireFart <FireFart@github> Christian Mehlmauer <[email protected]>
77+
h0ng10 <h0ng10@github> h0ng10 <[email protected]>
78+
h0ng10 <h0ng10@github> Hans-Martin Münch <[email protected]>
79+
jcran <jcran@github> Jonathan Cran <[email protected]>
80+
jcran <jcran@github> Jonathan Cran <[email protected]>
81+
jduck <jduck@github> Joshua Drake <[email protected]>
82+
jgor <jgor@github> jgor <[email protected]>
83+
kernelsmith <kernelsmith@github> Joshua Smith <[email protected]>
84+
kernelsmith <kernelsmith@github> kernelsmith <kernelsmith@kernelsmith>
85+
kernelsmith <kernelsmith@github> Joshua Smith <[email protected]>
86+
kost <kost@github> Vlatko Kosturjak <[email protected]>
87+
kris <kris@???> kris <>
88+
m-1-k-3 <m-1-k-3@github> m-1-k-3 <[email protected]>
89+
m-1-k-3 <m-1-k-3@github> m-1-k-3 <[email protected]>
90+
m-1-k-3 <m-1-k-3@github> m-1-k-3 <[email protected]>
91+
m-1-k-3 <m-1-k-3@github> Michael Messner <[email protected]>
92+
Meatballs1 <Meatballs1@github> Ben Campbell <[email protected]>
93+
Meatballs1 <Meatballs1@github> Meatballs <[email protected]>
94+
Meatballs1 <Meatballs1@github> Meatballs1 <[email protected]>
95+
mubix <mubix@github> Rob Fuller <[email protected]>
96+
nevdull77 <nevdull77@github> Patrik Karlsson <[email protected]>
97+
nmonkee <nmonkee@github> nmonkee <[email protected]>
98+
nullbind <nullbind@github> nullbind <[email protected]>
99+
nullbind <nullbind@github> Scott Sutherland <[email protected]>
100+
ohdae <ohdae@github> ohdae <[email protected]>
101+
oj <oj@github> OJ <[email protected]>
102+
oj <oj@github> OJ Reeves <[email protected]>
103+
r3dy <r3dy@github> Royce Davis <[email protected]>
104+
r3dy <r3dy@github> Royce Davis <[email protected]>
105+
Rick Flores <[email protected]> Rick Flores (nanotechz9l) <[email protected]>
106+
rsmudge <rsmudge@github> Raphael Mudge <[email protected]> # Aka `butane
107+
schierlm <schierlm@github> Michael Schierl <[email protected]> # Aka mihi
108+
scriptjunkie <scriptjunkie@github> Matt Weeks <[email protected]>
109+
scriptjunkie <scriptjunkie@github> scriptjunkie <[email protected]>
110+
skape <skape@???> Matt Miller <[email protected]>
111+
spoonm <spoonm@github> Spoon M <[email protected]>
112+
swtornio <swtornio@github> Steve Tornio <[email protected]>
113+
Tasos Laskos <[email protected]> Tasos Laskos <[email protected]>
114+
timwr <timwr@github> Tim <[email protected]>
115+
timwr <timwr@github> Tim Wright <[email protected]>
116+
TomSellers <TomSellers@github> Tom Sellers <[email protected]>
117+
TrustedSec <[email protected]> trustedsec <[email protected]>
118+
zeroSteiner <zeroSteiner@github> Spencer McIntyre <[email protected]>
119+
120+
# Aliases for utility author names. Since they're fake, typos abound
121+
122+
Tab Assassin <[email protected]> Tabassassin <[email protected]>
123+
Tab Assassin <[email protected]> TabAssassin <[email protected]>
124+
Tab Assassin <[email protected]> Tabasssassin <[email protected]>
125+
Tab Assassin <[email protected]> URI Assassin <[email protected]>

.rspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
--color
2-
--format documentation
2+
--format Fivemat
3+
--require spec_helper

.rubocop.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# This list was intially created by analyzing the last three months (51
2+
# modules) committed to Metasploit Framework. Many, many older modules
3+
# will have offenses, but this should at least provide a baseline for
4+
# new modules.
5+
#
6+
# Updates to this file should include a 'Description' parameter for any
7+
# explaination needed.
8+
9+
# inherit_from: .rubocop_todo.yml
10+
11+
Metrics/ClassLength:
12+
Description: 'Most Metasploit modules are quite large. This is ok.'
13+
Enabled: true
14+
Exclude:
15+
- 'modules/**/*'
16+
17+
Style/Documentation:
18+
Enabled: true
19+
Description: 'Most Metasploit modules do not have class documentation.'
20+
Exclude:
21+
- 'modules/**/*'
22+
23+
Style/Encoding:
24+
Enabled: true
25+
Description: 'We prefer binary to UTF-8.'
26+
EnforcedStyle: 'when_needed'
27+
28+
Metrics/LineLength:
29+
Description: >-
30+
Metasploit modules often pattern match against very
31+
long strings when identifying targets.
32+
Enabled: true
33+
Max: 180
34+
35+
Metrics/MethodLength:
36+
Enabled: true
37+
Description: >-
38+
While the style guide suggests 10 lines, exploit definitions
39+
often exceed 200 lines.
40+
Max: 300
41+
42+
# Basically everything in metasploit needs binary encoding, not UTF-8.
43+
# Disable this here and enforce it through msftidy
44+
Style/Encoding:
45+
Enabled: false
46+
47+
# %q() is super useful for long strings split over multiple lines and
48+
# is very common in module constructors for things like descriptions
49+
Style/UnneededPercentQ:
50+
Enabled: false
51+
52+
Style/NumericLiterals:
53+
Enabled: false
54+
Description: 'This often hurts readability for exploit-ish code.'
55+
56+
Style/SpaceInsideBrackets:
57+
Enabled: false
58+
Description: 'Until module template are final, most modules will fail this.'
59+
60+
Style/StringLiterals:
61+
Enabled: false
62+
Description: 'Single vs double quote fights are largely unproductive.'
63+
64+
Style/WordArray:
65+
Enabled: false
66+
Description: 'Metasploit prefers consistent use of []'
67+
68+
Style/RedundantBegin:
69+
Exclude:
70+
# this pattern is very common and somewhat unavoidable
71+
# def run_host(ip)
72+
# begin
73+
# ...
74+
# rescue ...
75+
# ...
76+
# ensure
77+
# disconnect
78+
# end
79+
# end
80+
- 'modules/**/*'
81+
82+
Documentation:
83+
Exclude:
84+
- 'modules/**/*'

.ruby-gemset

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
metasploit-framework

.ruby-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2.1.5

.simplecov

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# RM_INFO is set when using Rubymine. In Rubymine, starting SimpleCov is
2+
# controlled by running with coverage, so don't explicitly start coverage (and
3+
# therefore generate a report) when in Rubymine. This _will_ generate a report
4+
# whenever `rake spec` is run.
5+
unless ENV['RM_INFO']
6+
SimpleCov.start
7+
end
8+
9+
SimpleCov.configure do
10+
# ignore this file
11+
add_filter '.simplecov'
12+
13+
#
14+
# Changed Files in Git Group
15+
# @see http://fredwu.me/post/35625566267/simplecov-test-coverage-for-changed-files-only
16+
#
17+
18+
untracked = `git ls-files --exclude-standard --others`
19+
unstaged = `git diff --name-only`
20+
staged = `git diff --name-only --cached`
21+
all = untracked + unstaged + staged
22+
changed_filenames = all.split("\n")
23+
24+
add_group 'Changed' do |source_file|
25+
changed_filenames.detect { |changed_filename|
26+
source_file.filename.end_with?(changed_filename)
27+
}
28+
end
29+
30+
#
31+
# Framework (msf) related groups
32+
#
33+
34+
add_group 'Metasploit Framework', 'lib/msf'
35+
add_group 'Metasploit Framework (Base)', 'lib/msf/base'
36+
add_group 'Metasploit Framework (Core)', 'lib/msf/core'
37+
38+
#
39+
# Other library groups
40+
#
41+
42+
add_group 'Metasm', 'lib/metasm'
43+
add_group 'PacketFu', 'lib/packetfu'
44+
add_group 'Rex', 'lib/rex'
45+
add_group 'RKelly', 'lib/rkelly'
46+
add_group 'Ruby Mysql', 'lib/rbmysql'
47+
add_group 'Ruby Postgres', 'lib/postgres'
48+
add_group 'SNMP', 'lib/snmp'
49+
add_group 'Zip', 'lib/zip'
50+
51+
#
52+
# Specs are reported on to ensure that all examples are being run and all
53+
# lets, befores, afters, etc are being used.
54+
#
55+
56+
add_group 'Specs', 'spec'
57+
end

0 commit comments

Comments
 (0)