Bugs Fixed
- PR 12577 - This fixes `exploit/linux/redis/redis_unauth_exec` module. If the module can not bind to a NATed or load-balanced address it falls back to `0.0.0.0`. Additionally, the `check` method has been improved to report if the Redis version cannot be determined.
- PR 12614 - The `post/multi/gather/ssh_creds` module now checks if directories have execute permission (access to files) and if files have read permission. Fixes https://github.com/rapid7/metasploit-framework/issues/12609.
- PR 12666 - This fixes the `exploit/windows/local/bypassuac_silentcleanup` module to clean up the `%WINDIR%` environment variable before calling the PowerShell payload. Fixes https://github.com/rapid7/metasploit-framework/issues/12665.
- PR 12668 - This adds the following improvements to Meterpreter: - fixed function hooking on 64-bit Windows to avoid truncating addresses larger than 32-bits - fixed a per-packet memory leak when using encrypted sessions - added hidpi and multi-desktop support for screenshots with the espia extension - added Android builds to the default Makefile - fixed a bug unhooking user-land process hooks
- PR 12673 - This corrects an error in the credentials RPC command to avoid a Nil object dereference. It also fixes some minor bugs in the autoroute and web_delivery modules.
- PR 12686 - This fixes an issue with the xor_dynamic encoder to raise a more appropriate exception when there is a bad character issue while encoding a payload, allowing more valid payload options to succeed. Fixes https://github.com/rapid7/metasploit-framework/issues/12685.
- PR 12699 - This fixes an issue for payloads that utilize UUIDS. The `format_uuid()` method was using the wrong variable name to parse the UUID. This also stores generated files used by the encrypted payloads in a temp location and deletes them by default.
- PR 12703 - Added RHOST to SSH modules.
- PR 12714 - Fixes https://github.com/rapid7/metasploit-framework/issues/12709 by adding a missing require statement.
- PR 12727 - Fixes
netfilter_priv_esc_ipv4
local privilege escalation module,- Update
Arch
fromARCH_X86
to bothARCH_X86
andARCH_X64
. The exploit supports X64 systems and X64 payloads. - Promote
check != CheckCode::Appears
check to the start of theexploit
method. - Add a check to the
check
method to verify if unprivileged user namespaces are permitted. - Add a check to confirm that the
WritableDir
is writable. - Add
to_s
toread_file
calls, asread_file
can returnnil
.
- Update
- PR 12750 - This PR fixes a minor transposition error in the haKCers.txt banner
- PR 12760 - This improves the Linux
bpf_priv_esc
module to more accurately target vulnerable kernel versions as well as warning the user that manual cleanup of the added cron job is necessary post-exploitation. - PR 12785 - Fix login prompt parsing regex bug in auxiliary/scanner/telnet/telnet_login when parsing banners upon successful login.
- PR 12799 - This fixes
python web_delivery
when SSL is enabled.
Enhancements and Features
- Pro: MS-4897 - Updated Java 8 runtime version.
- PR 12363 - The `auxiliary/gather/chrome_debugger` module takes advantage of misconfigured headless chrome sessions to either retrieve a specified file off the remote file system, or makes a web request from the remote machine.
- PR 12433 - This add a DoS module targeting a regex parsing weakness in reverse_http and reverse_https payload handlers in Metasploit 5.0.27 and below.
- PR 12446 - This change adds support for a powershell AMSI bypass which enables the web_delivery module to bypass Windows defender on Windows 10.
- PR 12486 - This improves the `auxiliary/scanner/http/host_header_injection` module by adding new OPTIONS to set the HTTP request method and POST data. It also adds the `X-Host` HTTP header to the request.
- PR 12524 - This updates most Python code in Metasploit Framework to be compatible with Python 3.
- PR 12640 - This adds a log message to Detected and Unknown check codes, an exception handler to catch Gem::Version parsing errors and updates the spec for the `exploit/http/wordpress/version.rb` exploit.
- PR 12643 - This adds additional exploit modules examples for Linux privilege escalation and web application vulnerabilities.
- PR 12647 - This adds back a check to `msftidy` that checks if the module is accidentally executable or not.
- PR 12662 - Update post/multi/gather/gpg_creds module to support gathering of GPG version 2.1+ keys.
- PR 12675 - Update the Meterpreter kiwi extension to use Mimikatz 2.2.0-20191125.
- PR 12679 - This removes `file_local_digestsha1`, `file_local_digestsha2`, `file_local_digestmd5` methods from the `Post::File` API. These methods do not appear to have ever been used since they were first added 10 years ago.
- PR 12744 - Rename the
exploit/linux/local/rds_priv_esc
toexploit/linux/local/rds_rds_page_copy_user_priv_esc
so other rds exploits can be added without name issues. It also updatesrds_rds_page_copy_user_priv_esc
to use newer Metasploit libraries. - PR 12754 - This adds the
ForceExploit
option to theexploit/bsd/finger/morris_fingerd_bof
andexploit/unix/smtp/morris_sendmail_debug
modules, enforcing an automatic check before exploitation unlessForceExploit
is set. - PR 12779 - Add support for the
PrependSetuid
andPrependSetresuid
payload options on the ARMLE architecture. - PR 12804 - Add support for macOS in the
web_delivery module
.
New Modules
- PR 12364 - This adds an exploit module for vBulletin `v5.0.0` through `v5.5.4` that gains unauthenticated remote code execution by leveraging a flaw in the widget creation functionality. RCE can be leveraged by sending a POST request to `ajax/render/widget_php` with arbitrary data located in the `widgetConfig[code]` parameter.
- PR 12391 - This module allows a user to inject arbitrary shellcode into the memory of an existing process on Windows.
- PR 12651 - This adds an object deserialization vulnerability module for OpenMRS versions prior to v2.24.0.
The object deserialization vulnerability is in
webservices.rest
module used in OpenMRS. Unauthenticated remote code execution can be achieved by sending a malicious XML payload to a Rest API endpoint. OpenMRS is an open-source platform that supplies users with a customizable medical record system. - PR 12693 - This module leverages two privilege escalation vulnerabilities, CVE-2019-1405 and CVE-2019-1322, to gain SYSTEM privileges on Windows 10 x64. The initial vulnerability gives a local user the ability to execute commands as a LOCAL SERVICE user via a logic error in the UPnP device host service. The user can then further elevate privileges via the Update Orchestrator Service, which allows LOCAL SERVICE users to execute arbitrary commands as SYSTEM.
- PR 12701 - This adds a local privilege escalation against a host which has the `reptile` linux rootkit installed.
- PR 12712 - This adds a local privilege escalation module exploiting a vulnerability in the OpenBSD `ld.so` dynamic loader (CVE-2019-19726).
- PR 12725 - The `exploit/linux/local/bash_profile_persistence` module uploads a payload to the remote target and adds code to the shell configuration file (e.g. `~/.bashrc`) to trigger it. The payload will be executed each time a new shell session is created, which helps to maintain persistence on the exploited system.
- PR 12788 - Add re-exploitation notes to `exploit/linux/local/rds_rds_page_copy_user_priv_esc` module documentation.