MacKeeper leaked 13 million user account credentials from an unsecured database instance, but the brand is far from alone in deploying poorly protected systems in the cloud.
MacKeeper has a reputation for using affiliate-based programs that result in Mac users being bombarded with advertising for a product that claims to do what an operating system should do in the first instance — run without hiccups.
The brand’s original owner Zeobit recently paid $2 million to settle a class action lawsuit brought by angry customers who accused it of inventing problems to dupe them into paying for its software.
MacKeeper’s new owner, German firm, Kromtech, was in the spotlight again this week after a researcher discovered the company housed 13 million user account credentials on a MongoDB instance — a database stored in the cloud — that was open to the web.
Chris Vickery, the researcher who reported the bug to Kromtech, didn’t even need to “hack” the instance, claiming to chance upon it and its contents using Shodan.io, a Google-like search service that scours the internet for devices rather than words and images.
He noted in a Reddit post on the weekend that Kromtech published the MacKeeper customer database to the open web with no attempt to protect it, meaning the researcher didn’t need to exploit any vulnerabilities to gain access. All Vickery needed was to run a Shodan search on TCP port 27017 to turn up a 21.2 GB file containing 13 million user credentials.
Kromtech says it has fixed the issue and will investigate the cause of it.
The company’s blunder likely drew attention because of MacKeeper’s history, however, Shodan.io’s founder John Matherly, in light of the breach, said the “open” configuration on MacKeeper’s MongoDB instance was far from uncommon.
There are no less than 35,000 “publicly available, unauthenticated instances of MongoDB running on the Internet”, said Matherly. That’s up 5,000 instances since he drew attention to the prevalence of unsecured database software in July, when he spotlighted misconfiguration issues common to newer database products based on the popular NoSQL, of which MongoDB is a widely-used variant.
As he highlighted then, and reiterated on Tuesday, this isn’t an issue specific to MongoDB and is a result of misconfigurations caused by an administrator. He pointed out that Redis, CouchDB, Cassandra and Riak “are equally impacted by these sorts of misconfigurations”.
A common thread however in unsecured MongoDB instances is that they’re hosted in the cloud — on major platforms such as Digital Ocean, Amazon, and Alibaba’s Aliyun — and often share common names like “local”, “admin”, “db”, “test” and “config”. According to Matherly, 684.8 terabytes of data on MongoDB instances are exposed to the Shodan search engine.
Even worse, vulnerable instances are still prevalent despite newer versions of MongoDB shipping with secured configurations by default. Matherly guessed this could be due to users upgrading MongoDB instances but retaining existing configuration files.
As for MacKeeper and Kromtech, none of what Matherly said should be news to a firm that claims user privacy is a top priority.
Earlier this year a team of German IT security students at the University of Saarland used Shodan to run a similar search for vulnerable MongoDB instances on the web and claimed to have found 40,000 unsecured MongoDB instances.
As the university noted then, MongoDB runs by default on TCP port 27017, meaning “an attacker would simply need to run a port scan on the Internet to find openly accessible databases”, which a tool like Shodan makes easy even for non-technical people to find targets.
In response to the German students’ report, MongoDB published a step-by-step account of how not to expose an instance to the public internet and how to be automatically notified when one is.
Need help making the right choice for you business? Need to update your system but don't know where to start? CSO can help, check out our security hub today.