Commit Graph

1114 Commits (b469ff3567cefea76c5572f7c7f92b4f33672ef2)

Author SHA1 Message Date
jvazquez-r7 f236438290 Add initial support for EncryptedData 2014-12-09 16:40:44 -06:00
jvazquez-r7 a7c1d12124 Mv KdcRequestBody spec to the correct folder 2014-12-09 16:04:17 -06:00
jvazquez-r7 c5865c6fec Add initial design draft 2014-12-09 15:53:29 -06:00
jvazquez-r7 21742b6469 Test #3729 2014-12-06 21:20:52 -06:00
Fernando Arias fb439258b9
Land #4298, arbitrary Ruby extension for replicant
MSP-11673

* Adds Msf::Module#register_extensions
* Extensions are arbitrary Ruby modules
* Allows overriding of psuedo callbacks
2014-12-02 14:59:37 -06:00
Trevor Rosen 2a033861dc
Just use constants directly
MSP-11673
2014-12-02 13:12:53 -06:00
Trevor Rosen 784e138b14
Extend replicants via arbitrary Ruby code
MSP-11673

* Implements a #register_extensions method on Msf::Module
* Any registered Ruby modules will extend the cloned module returned by #replicant
2014-12-02 12:18:30 -06:00
HD Moore fc96d011ab
Python reverse_http stager, lands #4225 2014-12-02 11:47:31 -06:00
William Vu bd3d63a155
Land #4270, Msf::Author cleanup and improvements 2014-12-02 01:26:42 -06:00
Meatballs 3e0f909707
Remove debug file writes 2014-11-27 21:34:00 +00:00
Meatballs 94fa6a309c
Fix strip_whitespace speccing 2014-11-27 21:30:08 +00:00
HackSys Team 8473ed144a Add format_all_drives shellcode for Windows x86_x64 2014-11-27 14:13:49 +05:30
Joe Vennix 99b87c2e97
Fix nonsensical spec. 2014-11-26 13:57:44 -06:00
Joe Vennix 2bd7a67413
Restructure parts of Author, fix some doc bugs. 2014-11-26 13:54:23 -06:00
Trevor Rosen 31184c67b4
Land #4223, specs for DB console command output
Wrap specs around current behavior of the DB command dispatcher,
in order to make upcoming refactor painless.

MSP-11622 #land
2014-11-25 13:30:08 -06:00
Spencer McIntyre eefeb452b1 Fix two typos for payload specs 2014-11-18 08:50:06 -05:00
Spencer McIntyre 809a8d3a6e Add the test context to payloads_spec for py http 2014-11-18 08:31:17 -05:00
Luke Imhoff a2085199f5
Spec methods Msf::Ui::Console::CommandDispatcher::Db responds to
MSP-11622
2014-11-17 13:22:13 -06:00
Luke Imhoff 47f7119f58
Order spec
MSP-11622

Sort specs by describe/context name so it is easier to see if a method
has no specs.
2014-11-17 12:58:04 -06:00
Luke Imhoff 024b449b55
Merge branch 'master' into feature/MSP-11605/lazy-thread-creation
MSP-11605
2014-11-17 08:50:33 -06:00
William Vu a521d469ed
Land #4194, Quake protocol support 2014-11-15 17:44:19 -06:00
Trevor Rosen 3b558624f3
Merge branch 'landing/4129' into upstream-master
Landing #4129

* Detect leaked constants in spec runs
2014-11-14 12:55:56 -06:00
Luke Imhoff bc53e7667d
Remove unnecessary thread cleaning from Msfcli spec
MSP-11605
2014-11-14 12:40:04 -06:00
Luke Imhoff 43511e648a
Merge branch 'chore/MSP-11614/remove-msf-db-manager-sink' into feature/MSP-11605/lazy-thread-creation
MSP-11605

Conflicts:
	spec/lib/msf/core/task_manager_spec.rb
2014-11-14 11:59:12 -06:00
Luke Imhoff 14fa1dba0b
Merge branch 'master' into feature/MSP-11605/lazy-thread-creation
MSP-11605
2014-11-14 11:58:16 -06:00
Luke Imhoff 5e6400a506
Remove Msf::TaskManager
MSP-11614

`Msf::TaskManager` was only used for `Msf::DBManager#sink`, which was
removed because it was unused, so `Msf::TaskManager` can also be
removed.
2014-11-14 11:15:05 -06:00
Luke Imhoff 55a8f6f339
Remove Msf::DBManager::Sink
MSP-11614

`Msf::DBManager::Sink` contains code for a `sink` that is a meant to
serialize database events, but it's unneeded because all database events
go directly through ActiveRecord, which handles threading.
2014-11-14 10:51:51 -06:00
Luke Imhoff 8925db2ec1
Remove thread cleaner from Msf::Simple::Framework shared context
MSP-11605

The `framework` from 'Msf::Simple::Framework' shared context is not
guaranteed to make threads with `framework.threads` anymore, so the
cleaner shouldn't allows be present in 'Msf::Simple::Framework'.
2014-11-14 09:14:13 -06:00
Luke Imhoff 0c6b820f7d
Remove unnecessary thread cleaning from Msf::Framework spec
MSP-11605
2014-11-14 09:11:35 -06:00
Luke Imhoff 69e726e2c9
Fail if 'Msf::Framework#threads cleaner' is unnecessary
MSP-11605

The 'Msf::Framework#threads cleaner' shared context fails with a
RuntimeError if `framework.threads?` is false, which would indicate that
cleaning is unnecessary.  This change stops 'Msf::Framework#threads
cleaner' from accessing `framework.threads`, which would create threads
only to immediately clean them up.
2014-11-13 14:22:40 -06:00
David Maloney ccc5bbd745
this spec needs to use the username factory
:metasploit-credential_public factory will randomly
return either a Username or BlankUsername and thus is
not appropriate for when you want tos et an explicit Username.
The :metasploit_credential_username factory should be used for this
instead

MSP-11609
2014-11-13 10:58:03 -06:00
Jon Hart ebf6fe4e56
Minor style cleanup 2014-11-12 16:44:43 -08:00
Jon Hart 07a1653e57
Add gather module for Quake servers 2014-11-12 13:32:56 -08:00
Luke Imhoff cca82f4b36
Failing spec for Msf::Framework.new threads
MSP-11605

`Msf::Framework.new` creates 8 threads (change from 1 thread to 9 threads), but
it shouldn't create any threads.
2014-11-12 13:41:30 -06:00
Luke Imhoff 69043d51e0
Merge branch 'master' into feature/MSP-11147/thread-leak-detection
MSP-11147
2014-11-12 12:34:25 -06:00
Luke Imhoff 44f78c21b2
Tag Msfcli spec as content
MSP-11147

Tests currently use the real modules directory for test cases, so the
spec should be tagged with :content because it has same performance
issues as other content specs that can potentially load all the modules.
2014-11-12 12:27:33 -06:00
Luke Imhoff 3ff87c89fe
Clean up Msf::Framework spec thread-leaks
MSP-11147
2014-11-12 12:20:23 -06:00
Luke Imhoff 22cbc5ca02
Use named subject instead of subject
MSP-11147
2014-11-12 12:18:08 -06:00
Luke Imhoff 61109d5567
Fix thread-leaks in msfcli spec
MSP-11147
2014-11-12 12:13:53 -06:00
Luke Imhoff 1fd8fe57df
Merge staging/great-backport to master
Conflicts:
	spec/lib/msf/core/module_spec.rb
2014-11-12 11:08:18 -06:00
Luke Imhoff 8adc80fff1
Sort context entries
MSP-11147
2014-11-12 09:16:37 -06:00
Luke Imhoff 9766e61b7b
Update Msfcli#engage_mode spec style
MSP-11147
2014-11-12 09:08:36 -06:00
Luke Imhoff c0a3707c52
Update Msfcli#init_modules spec style
MSP-11147
2014-11-11 15:29:21 -06:00
Luke Imhoff bb07de3294
Update Msfcli#generate_whitelist spec style
MSP-11147
2014-11-11 14:49:48 -06:00
Luke Imhoff 965607c7dc
Update Msfcli#guess_nop_name spec style
MSP-11147
2014-11-11 14:16:55 -06:00
Luke Imhoff 577065f68d
Update Msfcli#guess_encoder_name spec style
MSP-11147
2014-11-11 14:14:50 -06:00
Luke Imhoff d36da497d0
Update Msfcli#guess_payload_name spec style
MSP-11147
2014-11-11 13:47:16 -06:00
Luke Imhoff 1f1af70047
Update Msfcli#usage spec style
MSP-11147
2014-11-11 13:22:28 -06:00
Luke Imhoff ebec5329df
Update Msfclie#dump_module_list spec style
MSP-11147
2014-11-11 13:21:06 -06:00
Luke Imhoff 56b53b0dcd
Remove redundant 'it' in text name
MSP-11147
2014-11-11 13:16:45 -06:00
Luke Imhoff 5d6aec8bed
Fix context prefix
MSP-11147

Instance methods should be prefixed with `#`, not `.`.
2014-11-11 13:14:34 -06:00
Luke Imhoff a6fed7798e
Update Msfcli#usage spec style
MSP-11147
2014-11-11 13:11:40 -06:00
Luke Imhoff c6f115d070
Update Msfcli#initialize spec style
MSP-11147
2014-11-11 13:11:05 -06:00
Luke Imhoff 86379db65c
Remove incorrect 'Class methods' context
MSP-11147
2014-11-11 12:32:22 -06:00
Luke Imhoff cf0ecd0367
Fix thread leaks in TaskManager spec
MSP-11147
2014-11-11 12:02:14 -06:00
Luke Imhoff eede74be1e
Extract 'Msf::Framework#threads cleaner'
MSP-11147

Extract from 'Msf::Simple::Framework' the `after(:each)` that kills and joins
threads from `framework.threads` into 'Msf::Framework#threads cleaner`.
2014-11-11 11:49:48 -06:00
Luke Imhoff d4d710cc3a
Merge branch 'feature/MSP-11130/metasploit-framework-spec-constants' into feature/MSP-11147/thread-leak-detection
MSP-11147

Merge to get framework instance cleanup, which should clean up a lot of
thread leaks too.

Conflicts:
	Rakefile
	lib/metasploit/framework/spec.rb
	spec/spec_helper.rb
2014-11-05 15:47:59 -06:00
Luke Imhoff 96990fdc02
Fail before suite if more than 1 thread exists
MSP-11147

Detect thread leaks in a `before(:suite)` configured by
`Metasploit::Framework::Spec::Threads::Suite.configure!` and fail if any
leaks are found.
2014-11-05 14:38:43 -06:00
jvazquez-r7 468b4a399a Fix Rex::MIME::Message specs 2014-11-05 11:43:55 -06:00
Luke Imhoff dee02fc85b
Automatically clear previous log/metasploit/framework/spec/constants/each.log
MSP-11130

Have a task, 'metasploit:framework:spec:constants:each:clean' run before
`rake spec` that removes the previous
`log/metasploit/framework/spec/constants/each.log` so that the user doesn't
have to manually remove the load when removing
`Metasploit::Framework::Spec::Constants::Each.configure!` from
`spec/spec_helper.rb`.
2014-11-04 13:58:13 -06:00
Luke Imhoff 313d86982c
Log Spec::Constants::Each error instead of flag.
MSP-11130

Instead of writing `1` to the file and then printing a verbose message
in the spec task action, log the verbose message and just print the log
in the spec task action, so other tools can just look at the log when
not using `rake spec`.

NOTE: Failing specs due to unnecessary
`Metasploit::Framework::Spec::Constants::Each.configure!`
2014-11-04 13:36:52 -06:00
Luke Imhoff 45fea32c77
Use 'Metasploit::Simple::Framework#modules loading' in 'payloads can be instantiated'
MSP-11130

Use `expect_to_load_module_ancestor` and `load_and_create_module` in
favor of the custom code in 'payloads can be instantiated'.
2014-11-04 13:06:52 -06:00
Luke Imhoff c115ad3c36
Use `load_and_create_module` in modules_spec
MSP-11130

Reuse 'Msf::Simple::Framework#modules loading' context in 'all modules
with module type can be instantiated' instead of using the similar code.
2014-11-04 12:59:59 -06:00
Luke Imhoff b0f1b2a1f7
Merge branch 'master' into feature/MSP-11130/metasploit-framework-spec-constants
MSP-11130

Conflicts:
	Rakefile
2014-11-04 10:10:12 -06:00
Luke Imhoff cc4e553c11
Remove Metasploit::Framework::Spec::Constants::Each.configured!
MSP-11130

No longer needed because all before suite leaks have been fixed.
2014-11-04 09:50:16 -06:00
Luke Imhoff 0c769e2fd7
Fix constant leaks in Msf::Util::EXE spec
MSP-11130

Remove global $framework as it loads modules prior to suite run and they
are not cleaned up.
2014-11-04 09:48:55 -06:00
Luke Imhoff 78ea93044b
Fix Msf::PayloadGenerator spec constant leaks
MSP-11130

Remove the constant PAYLOAD_FRAMEWORK as it leads to a
Msf::Simple::Framework instance that is not cleaned up and loads modules
prior to the beginning of the suite run.
2014-11-04 09:48:02 -06:00
Luke Imhoff ff0391cdc7
Fix derive_module_ancestor_names
MSP-11130

Wrap :reference_name in an Array since :ancestor_reference_names is
expected to be an Array.
2014-11-04 09:40:55 -06:00
Tod Beardsley 0b39c2ed85
Land #4084, prep for Ruby 2.1 2014-11-03 13:43:50 -06:00
Luke Imhoff 9ea1240cbb
Default modules_path
MSP-11130

Default `:modules_path` to use the `#modules_path` left for
'Msf::Simple::Framework#modules#loading''s `#load_and_create_module`.
2014-11-03 11:06:49 -06:00
Luke Imhoff 0296d1784d
Derive ancestor reference names from reference name
MSP-11130

For 'Msf::Simple::Framework#modules loading''s load_and_create_modules,
don't require `:ancestor_reference_names` when the `:module_type` is not
payload as the one ancestor reference name will be the same as
`:reference_name`.
2014-11-03 10:59:01 -06:00
Luke Imhoff d97bc52d8a
Complete documentation for 'Msf::Simple::Framework::Modules loading'
MSP-11130
2014-11-03 09:47:29 -06:00
Luke Imhoff f0001eb9e6
Extract 'Msf::Simple::Framework#modules loading'
MSP-11130

'Msf::Simple::Framework#modules loading' defines
`#load_and_create_module`, which takes the :ancestor_reference_names,
:modules_path, :module_type, and :reference_name of the module whose
ancestors to load and the reference name to create. A default modules
path, the first 'modules' path for the Rails application is available in
in the `#modules_path` let.
2014-11-03 08:59:06 -06:00
Luke Imhoff 8b4767449f
Fix constant leaks in Msf::EncodedPayload spec
MSP-11130

Switch to using 'Msf::Simple::Framework' shared context and explicit
module loading instead of loading all moduels to just test with one.
2014-10-30 14:56:47 -05:00
Luke Imhoff c2bd75b587
Clean up leaked constants
MSP-11130
2014-10-29 15:50:47 -05:00
Luke Imhoff 7e2897277b
Rename shared example file to match name
MSP-11130
2014-10-29 12:54:29 -05:00
Luke Imhoff 892aeaf727
Metasploit::Framework::Spec::Constants cleaner
MSP-11130

Shared context will calls `Metasploit::Framework::Spec::Constants.clean
after each example.
2014-10-29 11:31:17 -05:00
Luke Imhoff 0d4b22ce7a
Detect constant leaks in individual examples
MSP-11130

`Metasploit::Framework::Spec::Constants::Each.configure!` will set up an
`after(:each)` callback that will fail the example if there are leaked
constants.  Leaked constants are cleaned up to prevent misattribution.
2014-10-28 15:50:24 -05:00
Luke Imhoff f9b1f2a424
Extract Metasploit::Framework::Spec::Constants::Suite
MSP-11130

`Metasploit::Framework::Spec::Constants::Suite` extracts out
`LOG_PATHNAME`, `configure!`, and `define_task` as those piece are
specific to handling constant leaks for the entire suite.  This is in
preparation for `Metasploit::Framework::Spec::Constants::Each`.
2014-10-28 15:07:32 -05:00
Joe Vennix c6bbc5bccf
Merge branch 'landing-4055' into upstream-master 2014-10-28 11:18:20 -05:00
sinn3r e31c9f579d
Land #3987 - Buffalo Linkstation NAS Login Scanner 2014-10-28 01:45:57 -05:00
James Lee 77d4623c44
Fix respond_to specs for protected methods 2014-10-27 19:39:32 -05:00
Luke Imhoff dae114a7f3
Document how to derive reference_name from ancestors
MSP-11145
2014-10-27 15:59:12 -05:00
Luke Imhoff 485860ebfb
Uncomment specs used to cause failure
MSP-11145

Restore commented out specs so that that the untested payloads check
passes.
2014-10-27 15:27:16 -05:00
Luke Imhoff 43552a8304
Tag module specs with :content
MSP-11145

Tag content-related specs so they can be run separately in travis-ci.
2014-10-27 14:25:34 -05:00
Luke Imhoff c84febea5f
tools/missing-payload-tests.rb
MSP-11145

**NOTE: Failing specs**

Add a tool for reading `log/untested-payload.log` and
`framework.payloads` to determine `context`s to add
`spec/modules/payloads_spec.rb` to test the untested payloads.
2014-10-27 13:03:31 -05:00
Jon Hart b8c9ef96ca
Land #4003, @nstarke's Login Scanner for WD MyBook Live NAS 2014-10-27 09:57:43 -07:00
Luke Imhoff 1df82ea273
Fix typo in file name
MSP-11145
2014-10-27 11:34:26 -05:00
Luke Imhoff 605f48e58d
Detect leaked constants under Msf::Modules
MSP-11130

Detect constants leaked under Msf::Modules after the suite completes.
2014-10-27 11:13:43 -05:00
James Lee 7081026ae6 Fix some specs broken by 2.x's new rules
* default utf-8 everywhere broke tests in lib/rex/text_spec that dealt
   with binary data
 * new protected rules
2014-10-27 10:28:24 -05:00
Joshua Smith 0d449cb88d
resolves merge conflict between #4071 / #4072 2014-10-24 13:11:35 -05:00
Joshua Smith e583cce7f2 changes be_false to be_falsey in exe_spec 2014-10-24 11:11:44 -05:00
Joe Vennix 813a2f8c1c Oops, false not true. 2014-10-24 10:48:58 -05:00
Joe Vennix 028fb3279f Add spec for ensuring is_eicar_corrupted? is false. 2014-10-24 10:48:58 -05:00
Joshua Smith 34f29f218c really resolve merge conflicts 2014-10-23 21:51:33 -05:00
Trevor Rosen 75333702a2
Merge branch 'land/4028' into upstream-master
Land #4028
2014-10-23 12:36:35 -05:00
Luke Imhoff 48d6880f1d
Add docs for untested payload testing
MSP-11145

Add docs to rake task, shared examples, and share contexts for how to
use all 3 together.
2014-10-23 11:17:05 -05:00
Luke Imhoff 2a82f45f06
Remove unneeded section comment
MSP-11145
2014-10-23 10:53:24 -05:00
Luke Imhoff a7317cb86c
Extract 'untested payloads' shared context
MSP-11145

Detects if payloads are untested when using the 'payload can be
instantiated' shared examples.
2014-10-23 09:55:14 -05:00
Luke Imhoff 6c3c830efb
Extract 'payload can be instantiated' shared example
MSP-11145

Extracted so that pro can use it.
2014-10-23 09:35:52 -05:00