PowerFolder "file sync ensures that you have your latest documents always in your hands. Independent where you are, which device you are using and what document of which size you need, you have it always with you, always in the latest version. And of course you can easily share your files and folders, so while you travel to your customer, your team can work on your presentation and you will have it updated right in time when you arrive."
According to the PowerFolder documentation, installations create a default administrator account (admin/password), allowing full access to the device. The system does not force the admin to change the defaults. This can all be done without activating a license for the server. If an administrator does not activate the license, the installation becomes vulnerable to an 'activation takeover' attack allowing complete control of a server. While this may not seem like a common scenario, it unfortunately is. Poking around Shodan you can find a wide variety of PowerFolder installations out there, many without being activated. We found such installations at a European tobacco group, a consulting group delivering "an entire IT team for your small to medium sized business", and a large research institute in Germany, among others.
The steps for taking over a remote installation are relatively simple:
- PowerFolder servers without a license warn you when visiting the login site, "No valid license key found. Please activate."
- ???
- ???
- ???
- Successful login as admin/password
- PROFIT
No, we will not share all of the details. We're not monsters.
In cases where the server has an active license, an authenticated non-administrative user can still take advantage of a third-party library vulnerability to gain access to arbitrary files on the server. By leveraging the Apache Commons FileUpload library's DiskFileItem class (CVE-2016-1000031, yes that is the correct ID), a request can be sent to TCP port 1337 (elite!) to read any file via a Java deserialization attack. This can include the Accounts.h2.db
database that would reveal account information including usernames, emails, hashed passwords, and more.