Skip to content

Commit def652a

Browse files
committed
Merge https://github.com/rapid7/metasploit-framework into bypassuac/psh_option
2 parents 391e2bb + f737108 commit def652a

File tree

2,285 files changed

+120135
-47913
lines changed

Some content is hidden

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

2,285 files changed

+120135
-47913
lines changed

.gitignore

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
.bundle
2+
Gemfile.local
3+
Gemfile.local.lock
24
# Rubymine project directory
35
.idea
46
# Sublime Text project directory (not created by ST by default)
@@ -13,8 +15,6 @@
1315
config/database.yml
1416
# simplecov coverage data
1517
coverage
16-
data/meterpreter/ext_server_pivot.x86.dll
17-
data/meterpreter/ext_server_pivot.x64.dll
1818
doc/
1919
external/source/meterpreter/java/bin
2020
external/source/meterpreter/java/build
@@ -41,3 +41,32 @@ tags
4141
*~
4242
# Ignore backups of retabbed files
4343
*.notab
44+
45+
# ignore Visual Studio external source garbage
46+
*.suo
47+
*.sdf
48+
*.opensdf
49+
*.user
50+
51+
# ignore release/debug folders for exploits
52+
external/source/exploits/**/Debug
53+
external/source/exploits/**/Release
54+
55+
# Avoid checking in Meterpreter binaries. These are supplied upstream by
56+
# the meterpreter_bins gem.
57+
data/meterpreter/elevator.*.dll
58+
data/meterpreter/ext_server_espia.*.dll
59+
data/meterpreter/ext_server_extapi.*.dll
60+
data/meterpreter/ext_server_incognito.*.dll
61+
data/meterpreter/ext_server_kiwi.*.dll
62+
data/meterpreter/ext_server_lanattacks.*.dll
63+
data/meterpreter/ext_server_mimikatz.*.dll
64+
data/meterpreter/ext_server_priv.*.dll
65+
data/meterpreter/ext_server_stdapi.*.dll
66+
data/meterpreter/metsrv.*.dll
67+
data/meterpreter/screenshot.*.dll
68+
69+
# Avoid checking in Meterpreter libs that are built from
70+
# private source. If you're interested in this functionality,
71+
# check out Metasploit Pro: http://metasploit.com/download
72+
data/meterpreter/ext_server_pivot.*.dll

.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: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ bturner-r7 <bturner-r7@github> Brandon Turner <[email protected]>
22
dmaloney-r7 <dmaloney-r7@github> David Maloney <[email protected]>
33
dmaloney-r7 <dmaloney-r7@github> David Maloney <[email protected]> # aka TheLightCosine
44
ecarey-r7 <ecarey-r7@github> Erran Carey <[email protected]>
5+
farias-r7 <farias-r7@github> Fernando Arias <[email protected]>
56
hmoore-r7 <hmoore-r7@github> HD Moore <[email protected]>
67
hmoore-r7 <hmoore-r7@github> HD Moore <[email protected]>
78
jlee-r7 <jlee-r7@github> egypt <[email protected]> # aka egypt
@@ -10,15 +11,19 @@ jlee-r7 <jlee-r7@github> James Lee <[email protected]>
1011
joev-r7 <joev-r7@github> joev <[email protected]>
1112
joev-r7 <joev-r7@github> Joe Vennix <[email protected]>
1213
jvazquez-r7 <jvazquez-r7@github> jvazquez-r7 <[email protected]>
14+
jvazquez-r7 <jvazquez-r7@github> jvazquez-r7 <[email protected]>
1315
limhoff-r7 <limhoff-r7@github> Luke Imhoff <[email protected]>
1416
shuckins-r7 <shuckins-r7@github> Samuel Huckins <[email protected]>
15-
tasos-r7 <tasos-r7@github> Tasos Laskos <[email protected]>
1617
todb-r7 <todb-r7@github> Tod Beardsley <[email protected]>
1718
todb-r7 <todb-r7@github> Tod Beardsley <[email protected]>
19+
todb-r7 <todb-r7@github> Tod Beardsley <[email protected]>
20+
trosen-r7 <trosen-r7@github> Trevor Rosen <[email protected]>
21+
trosen-r7 <trosen-r7@github> Trevor Rosen <[email protected]>
1822
wchen-r7 <wchen-r7@github> sinn3r <[email protected]> # aka sinn3r
1923
wchen-r7 <wchen-r7@github> sinn3r <[email protected]>
2024
wchen-r7 <wchen-r7@github> Wei Chen <[email protected]>
2125
wvu-r7 <wvu-r7@github> William Vu <[email protected]>
26+
wvu-r7 <wvu-r7@github> William Vu <[email protected]>
2227
wvu-r7 <wvu-r7@github> William Vu <[email protected]>
2328

2429
# Above this line are current Rapid7 employees. Below this paragraph are
@@ -39,8 +44,8 @@ Chao-mu <Chao-Mu@github> chao-mu <[email protected]>
3944
Chao-mu <Chao-Mu@github> chao-mu <chao@confusion.(none)>
4045
ChrisJohnRiley <ChrisJohnRiley@github> Chris John Riley <[email protected]>
4146
ChrisJohnRiley <ChrisJohnRiley@github> Chris John Riley <[email protected]>
42-
corelanc0d3er <corelanc0d3er@github> corelanc0d3r <[email protected]>
43-
corelanc0d3er <corelanc0d3er@github> Peter Van Eeckhoutte (corelanc0d3r) <[email protected]>
47+
corelanc0d3r <corelanc0d3r@github> corelanc0d3r <[email protected]>
48+
corelanc0d3r <corelanc0d3r@github> Peter Van Eeckhoutte (corelanc0d3r) <[email protected]>
4449
darkoperator <darkoperator@github> Carlos Perez <[email protected]>
4550
efraintorres <efraintorres@github> efraintorres <[email protected]>
4651
efraintorres <efraintorres@github> et <>
@@ -67,11 +72,22 @@ nevdull77 <nevdull77@github> Patrik Karlsson <[email protected]>
6772
nmonkee <nmonkee@github> nmonkee <[email protected]>
6873
nullbind <nullbind@github> nullbind <[email protected]>
6974
ohdae <ohdae@github> ohdae <[email protected]>
75+
OJ <oj@github> OJ Reeves <[email protected]>
76+
OJ <oj@github> OJ <[email protected]>
7077
r3dy <r3dy@github> Royce Davis <[email protected]>
7178
r3dy <r3dy@github> Royce Davis <[email protected]>
79+
Rick Flores <[email protected]> Rick Flores (nanotechz9l) <[email protected]>
7280
rsmudge <rsmudge@github> Raphael Mudge <[email protected]> # Aka `butane
7381
schierlm <schierlm@github> Michael Schierl <[email protected]> # Aka mihi
7482
scriptjunkie <scriptjunkie@github> Matt Weeks <[email protected]>
7583
skape <skape@???> Matt Miller <[email protected]>
7684
spoonm <spoonm@github> Spoon M <[email protected]>
7785
swtornio <swtornio@github> Steve Tornio <[email protected]>
86+
Tasos Laskos <[email protected]> Tasos Laskos <[email protected]>
87+
TrustedSec <[email protected]> trustedsec <[email protected]>
88+
89+
# Aliases for utility author names. Since they're fake, typos abound
90+
91+
Tab Assassin <[email protected]> Tabasssassin <[email protected]>
92+
Tab Assassin <[email protected]> Tabassassin <[email protected]>
93+
Tab Assassin <[email protected]> TabAssassin <[email protected]>

.rubocop.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
LineLength:
2+
Enabled: true
3+
Max: 180
4+
5+
MethodLength:
6+
Enabled: true
7+
Max: 100
8+
9+
Style/ClassLength:
10+
Exclude:
11+
# Most modules are quite large and all contained in one class. This is OK.
12+
- 'modules/**/*'
13+
14+
Style/NumericLiterals:
15+
Enabled: false
16+
17+
Documentation:
18+
Exclude:
19+
- 'modules/**/*'

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.9.3-p448
1+
1.9.3-p547

.travis.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
language: ruby
22
before_install:
3+
- rake --version
34
- sudo apt-get update -qq
45
- sudo apt-get install -qq libpcap-dev
6+
# Uncomment when we have fewer shipping msftidy warnings.
7+
# Merge committers will still be checking, just not autofailing.
8+
# See https://dev.metasploit.com/redmine/issues/8498
9+
# - ln -sf ../../tools/dev/pre-commit-hook.rb ./.git/hooks/post-merge
10+
# - ls -la ./.git/hooks
11+
# - ./.git/hooks/post-merge
512
before_script:
613
- cp config/database.yml.travis config/database.yml
7-
- rake db:create
8-
- rake db:migrate
14+
- bundle exec rake --version
15+
- bundle exec rake db:create
16+
- bundle exec rake db:migrate
917

1018
rvm:
1119
#- '1.8.7'

.yardopts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
--files CONTRIBUTING.md,COPYING,HACKING,LICENSE
66
lib/msf/**/*.rb
77
lib/rex/**/*.rb
8+
plugins/**/*.rb

CONTRIBUTING.md

Lines changed: 84 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,86 @@
1+
# Hello, World!
2+
3+
Thanks for your interest in making Metasploit -- and therefore, the
4+
world -- a better place!
5+
6+
Are you about to report a bug? If so, please use our [Redmine Bug
7+
Tracker](https://dev.metasploit.com/redmine/projects/framework). An
8+
account is required but it only takes a minute or two.
9+
10+
Are you about to report a security vulnerability in Metasploit?
11+
If so, please take a look at Rapid's [Vulnerability
12+
Disclosure Policy](https://www.rapid7.com/disclosure.jsp) policy.
13+
14+
Are you about to contribute some new functionality, a bug fix, or a new
15+
Metasploit module? If so, read on...
16+
117
# Contributing to Metasploit
218

3-
## Reporting Bugs
4-
5-
If you would like to report a bug, please take a look at [our Redmine
6-
issue
7-
tracker](https://dev.metasploit.com/redmine/projects/framework/issues?query_id=420)
8-
-- your bug may already have been reported there! Simply [searching](https://dev.metasploit.com/redmine/projects/framework/search) for some appropriate keywords may save everyone a lot of hassle.
9-
10-
If your bug is new and you'd like to report it you will need to
11-
[register
12-
first](https://dev.metasploit.com/redmine/account/register). Don't
13-
worry, it's easy and fun and takes about 30 seconds.
14-
15-
When you file a bug report, please include your **steps to reproduce**,
16-
full copy-pastes of Ruby stack traces, and any relevant details about
17-
your environment. Without repro steps, your bug will likely be closed.
18-
With repro steps, your bugs will likely be fixed.
19-
20-
## Contributing Metasploit Modules
21-
22-
If you have an exploit that you'd like to contribute to the Metasploit
23-
Framework, please familiarize yourself with the
24-
**[HACKING](https://github.com/rapid7/metasploit-framework/blob/master/HACKING)**
25-
document in the
26-
Metasploit-Framework repository. There are many mysteries revealed in
27-
HACKING concerning code style and content.
28-
29-
[Pull requests](https://github.com/rapid7/metasploit-framework/pulls)
30-
should corellate with modules at a 1:1 ratio
31-
-- there is rarely a good reason to have two, three, or ten modules on
32-
one pull request, as this dramatically increases the review time
33-
required to land (commit) any of those modules.
34-
35-
Pull requests tend to be very collaborative for Metasploit -- do not be
36-
surprised if your pull request to rapid7/metasploit-framework triggers a
37-
pull request back to your own fork. In this way, we can isolate working
38-
changes before landing your PR to the Metasploit master branch.
39-
40-
To save yourself the embarrassment of committing common errors, you will
41-
want to symlink the `msftidy.rb` utility to your pre-commit hooks by
42-
running `ln -s ../../tools/dev/pre-commit-hook.rb .git/hooks/pre-commit`
43-
from the top-level directory of your metasploit-framework clone. This
44-
will prevent you from committing modules that raise WARNINGS or ERRORS.
19+
What you see here in CONTRIBUTING.md is a bullet-point list of the do's
20+
and don'ts of how to make sure *your* valuable contributions actually
21+
make it into Metasploit's master branch.
22+
23+
If you care not to follow these rules, your contribution **will** be
24+
closed (*Road House* style). Sorry!
25+
26+
This is intended to be a **short** list. The
27+
[wiki](https://github.com/rapid7/metasploit-framework/wiki) is much more
28+
exhaustive and reveals many mysteries. If you read nothing else, take a
29+
look at the standard [development environment setup
30+
guide](https://github.com/rapid7/metasploit-framework/wiki/Setting-Up-a-Metasploit-Development-Environment)
31+
and Metasploit's [Common Coding Mistakes](https://github.com/rapid7/metasploit-framework/wiki/Common-Metasploit-Module-Coding-Mistakes).
32+
33+
## Code Contributions
34+
35+
* **Do** stick to the [Ruby style guide](https://github.com/bbatsov/ruby-style-guide).
36+
* Similarly, **try** to get Rubocop passing or at least relatively quiet against the files added/modified as part of your contribution
37+
* **Do** follow the [50/72 rule](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) for Git commit messages.
38+
* **Do** create a [topic branch](http://git-scm.com/book/en/Git-Branching-Branching-Workflows#Topic-Branches) to work on instead of working directly on `master`.
39+
40+
### Pull Requests
41+
42+
* **Do** target your pull request to the **master branch**. Not staging, not develop, not release.
43+
* **Do** specify a descriptive title to make searching for your pull request easier.
44+
* **Do** include [console output](https://help.github.com/articles/github-flavored-markdown#fenced-code-blocks), especially for witnessable effects in `msfconsole`.
45+
* **Do** list [verification steps](https://help.github.com/articles/writing-on-github#task-lists) so your code is testable.
46+
* **Don't** leave your pull request description blank.
47+
* **Don't** abandon your pull request. Being responsive helps us land your code faster.
48+
49+
Pull requests [#2940](https://github.com/rapid7/metasploit-framework/pull/2940) and [#3043](https://github.com/rapid7/metasploit-framework/pull/3043) are a couple good examples to follow.
50+
51+
#### New Modules
52+
53+
* **Do** run `tools/msftidy.rb` against your module and fix any errors or warnings that come up. Even better would be to set up `msftidy.rb` as a [pre-commit hook](https://github.com/rapid7/metasploit-framework/blob/master/tools/dev/pre-commit-hook.rb).
54+
* **Do** use the [many module mixin APIs](https://dev.metasploit.com/api/). Wheel improvements are welcome; wheel reinventions, not so much.
55+
* **Don't** include more than one module per pull request.
56+
57+
#### Library Code
58+
59+
* **Do** write [RSpec](http://rspec.info/) tests - even the smallest change in library land can thoroughly screw things up.
60+
* **Do** follow [Better Specs](http://betterspecs.org/) - it's like the style guide for specs.
61+
* **Do** write [YARD](http://yardoc.org/) documentation - this makes it easier for people to use your code.
62+
* **Don't** fix a lot of things in one pull request. Small fixes are easier to validate.
63+
64+
#### Bug Fixes
65+
66+
* **Do** include reproduction steps in the form of verification steps.
67+
* **Do** include a link to the corresponding [Redmine](https://dev.metasploit.com/redmine/projects/framework) issue in the format of `SeeRM #1234` in your commit description.
68+
69+
## Bug Reports
70+
71+
* **Do** report vulnerabilities in Rapid7 software directly to [email protected].
72+
* **Do** create a Redmine account and report your non-vulnerability bugs there.
73+
* **Do** write a detailed description of your bug and use a descriptive title.
74+
* **Do** include reproduction steps, stack traces, and anything else that might help us verify and fix your bug.
75+
* **Don't** file duplicate reports - search for your bug before filing a new report.
76+
* **Don't** report a bug on GitHub. Use [Redmine](https://dev.metasploit.com/redmine/projects/framework) instead.
77+
78+
Redmine issues [#8762](https://dev.metasploit.com/redmine/issues/8762) and [#8764](https://dev.metasploit.com/redmine/issues/8764) are a couple good examples to follow.
79+
80+
If you need some more guidance, talk to the main body of open
81+
source contributors over on the [Freenode IRC channel](http://webchat.freenode.net/?channels=%23metasploit&uio=d4)
82+
or e-mail us at [metasploit-hackers](https://lists.sourceforge.net/lists/listinfo/metasploit-hackers)
83+
mailing list.
84+
85+
Also, **thank you** for taking the few moments to read this far! You're
86+
already way ahead of the curve, so keep it up!

COPYING

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (C) 2006-2013, Rapid7 Inc.
1+
Copyright (C) 2006-2013, Rapid7, Inc.
22
All rights reserved.
33

44
Redistribution and use in source and binary forms, with or without modification,

0 commit comments

Comments
 (0)