Vendor Description
“As a global IT company with thirty years of experience, COMPAREX is one of the world’s leading IT service providers and no. 1 software license management company in the EMEA markets. COMPAREX develops innovative services that support management and leverage software products, leading to an overall improvement of workforce productivity. COMPAREX serves corporate customers spanning from small businesses to large international corporations as well as the public institutions supporting every customer during their digital journey towards productivity optimization. The portfolio has a solid foundation in license management, software procurement and cloud services. Substantial professional and managed services complete the portfolio to support customers with services tailored to their business demands.”
Source: https://comparexusa.com/about-us/about/
Business Recommendation
The vendor provides a patch and users of this product are urged to immediately upgrade to the latest version available.
Vulnerability Overview/ Description
Miss Marple is an inventory software that consists of a client and a server part. The client (agent) is gathering system information and uploads the results to a remote server in an encrypted ZIP file.
1) Hardcoded AES key (CVE-2018-19233)
A username and an encrypted password were identified in the Miss Marple Inventory Agent configuration file. By decompiling the binary, the encryption method was identified as AES-256 with a hardcoded key and initialization vector. The credentials are used to deploy the inventory files to a remote server.
2) Uploading arbitrary files
There are two ways an attacker can upload arbitrary files to the server.
2.1) Patching the application binary to bypass the ZIP file extension check
Using this method, it is possible to upload any file to the server, even if the credentials are unknown to the attacker! This works because every file in a specific directory gets uploaded, as long as the file has the correct file extension. This can be bypassed because the file extension is only checked on the client side and not on the server side. Patching the binary is done by replacing the extension string with the file extension of the attackers file eg. “.aspx” in the MMIA.exe binary itself.
2.2) Using cURL to upload arbitrary files
If the credentials are known to the attacker, it is possible to use tools like cURL to upload arbitrary files to the remote server.
Both ways can be used by an attacker to upload a web-shell to the server and execute arbitrary commands.
3) Missing update validation (CVE-2018-19234)
Besides the Miss Marple Inventory Agent, an Miss Marple Updater Service is running on all clients. This service checks for new versions on the same server. If the files are uploaded to the right directory on the server, the updater will download and execute them with the highest privileges (NT Authority\SYSTEM) without validating the binaries.
This can also be used for escalating privileges on the client. By uploading a web-shell using the methods described in vulnerability 2, an attacker gets sufficient write permissions to access the update directory and to place malicious files on the server. This will execute arbitrary code on all clients using Miss Marple.
Proof Of Concept
1) Hardcoded AES key (CVE-2018-19233)
No proof of concept will be provided.
2) Uploading arbitrary files
2.1) No proof of concept will be provided. E.g. the Unicode string for “.zip” just has to be replaced with the file extension for the uploaded web-shell.
2.2) Using cURL to upload arbitrary files It is possible to upload arbitrary files using cURL and the credentials obtained in 1).
3) Missing update validation (CVE-2018-19234)
No proof of concept will be provided.
Vulnerable / Tested Versions
The following versions have been tested and found to be vulnerable:
- Miss Marple Inventory Agent / Miss Marple Updater Service 1.13.