Posted
by
Unknown Lamer
on Tuesday May 22, 2012 @08:18AM
from the the-classics-never-get-old dept.

howhardcanitbetocrea writes "WHMCS has had 500,000 records leaked, credit cards included, by hackers calling themselves UGNazis. Apparently UGNazis succeeded in obtaining login details from the billing software's host by using social engineering. UGNazis accuse WHMCS of knowingly offering services to fraudsters. After almost 24 hours UGNazis still seem to have control of WHMCS twitter account @whmcs and is regularly updating their exploits. These tweets are also feeding into WHMCS software."

Web hosts didn't stop using WHMCS when it was discovered that you could submit a ticket which WHMCS would execute as PHP, allowing entire databases to be stolen (no social engineering involved) - this sure isn't going to stop them.

"WHMCS is an all-in-one client management, billing & support solution for online businesses" - and would anyone now trust this to store their billing data in as they obviously can't keep their own billing data safe.

I went to a security conference back in 2000, where the keynote speaker (A Navy guy) discussed their tests of social engineering. They found that the average cost for getting a sysadmin to open up the data center and access to the systems was only $7000 - at Fortune 500 companies, not just the little companies. Of course security awareness and practice has been improved greatly since then (I hope).

For $7000 in Y2K dollars, you can forge documents and a search warrant and walk right in to a datacenter, pretending you're the feds and walk out with the machines themselves. While this is a crime, you are committing a crime in the first place anyway by deciding to go after the data, so I don't see this as a barrier for those who don't give a shit.

If it's done right, it requires subverting one of a very few people who have root access to the CC processing machine. I say subverting because the needed request would be obviously not part of business as usual and the people who could get the key would understand the implications.

In passwords you can one way encrypt them (meaning, no key is kept) because you know that a person will remember and enter the password everytime.

The reason companies keep credit card data is so they can charge recurring fees automatically or the well known one click buy, so a computer must be able decrypt and use accordingly. If you don't keep the key, you defeat the purpose of the whole scheme. The only way to protect the data (without being truly secure) is to use a hardware security module [wikipedia.org] along with hi

It was social engineering. Encryption cannot help with human gullibility.

Yes, it can. If you data is unencrypted anyone can give it out. You use encryption along with policy so that only those that need to know can get the information. For really sensitive information, you make sure that multiple people have to each add their password before the information is allowed to be accessed.

You can also use encryption to insure that machine 'A' can talk to machine 'B' using large certs, but no human has direct access.

Suppose you're a company that handles billing and payments for clients. One of your clients asks you for the credit card information for all of *his* clients. This scenario shows why you should be very reluctant to give that data to him. And for all you know, *he's* going to use it to commit identity fraud, or sell it on the black market.

Not disclosing this information inconveniences the customer slightly, but it also protects him.

When you receive sensitive private information from someone, you should not use it or transfer it to any third parties except as necessary to fulfill the purpose for which you received it, *even if* you are just a middleman between the buyer, the vendor, and the vendor's bank. Get the money transferred into the customer's account and the order to the customer's order fulfillment people and your job is done.

These problems come from not *thinking*. End user sends you data, you automatically store it without thinking, whether you need it or not. Customer asks you for that data, and you automatically give it to him without thinking. A service agreement should be concluded between you and your customer establishing what the customer is going to do with that data, and when and how the data will be provided. You shouldn't just give him data that is not necessarily *his* by right just because he asks for it.

The underlying problem is that companies operate as if the privacy and security of their end-users is none of their concern.

A hashed password being safe is a bold statement from a company that is suppose to be protecting credit card information. Even worse though, is the plain text credit card numbers that "may" be at risk.

If you need to use the stored data, you need to be able to decrypt it. If an automated system needs to use the stored data, that means it needs to have programmatic access to the encryption key. Which means that an attacker can almost certainly get the encryption key. If they don't need to use the stored data, they probably shouldn't be storing it in the first place.

Encryption is only useful if you can exert better control over the encryption key than the encrypted data.

Way back in the wild west days of the internet, I built a system that accepted CC numbers at signup for monthly billing. The numbers were encrypted with gpg before being stored in the database. The web server only had the public key.

Each month, the encrypted CC numbers were dumped to floppies and sneakernet-ed to a CC processing machine with no net connection.

I'm pretty sure nobody ever got a copy of the database, but I'm absolutely sure that if someone did, the accounts will have been closed long before th

I'd like to know what makes them think the hashes of the passwords are safe. I think the thieves should paste one into Google and see what pops up (Google being well known as the world's most widely available rainbow table for common hash digest values.) What are the chances these security boffins salted their hashes?

Hmmm 24 hours of criminals posting tweets detrimental to your business on their own account which is displayed in their own software. I guess everyone over at WHMCS must be on vacation...OR ARE COMPLETE MORONS! Maybe they forgot their security question though, lol.

Hmmm 24 hours of criminals posting tweets detrimental to your business on their own account which is displayed in their own software. I guess everyone over at WHMCS must be on vacation...OR ARE COMPLETE MORONS! Maybe they forgot their security question though, lol.

Hmmm 24 hours of criminals posting tweets detrimental to your business on their own account which is displayed in their own software. I guess everyone over at WHMCS must be on vacation...OR ARE COMPLETE MORONS! Maybe they forgot their security question though, lol.

And you're assuming that the passwords are valuable enough to spend sufficient CPU cycles to attempt to crack. If they can find some important users, maybe their passwords are valuable enough to try. I would guess that most users are likely not valuable enough to attempt.

Well, yeah, but first you have to know what a salt is and why you'd want to use it.I thought the language of the quote was interesting, “stored in hash format” not “stored in hashed salted format”. Neither makes any sense when passing thru a journalist filter so we can assume the quote did not pass thru a PR filter or a journalist filter and that's, unfortunately, the actual technical state. Its probably by their own admission just a simple hash of the bare string that will momenta

Amateurs target systems, professionals target people. The weakest part of any IT system is the users. We know all this. For example, Mondays have the most downtime, as they are associated with changes made over the week. A user that installs a gotoassist to 'help' the IT department. Etc etc.

The official post on this from WHMCS is interesting: http://blog.whmcs.com/?t=47660 [whmcs.com]
They're saying that the intruders managed to obtain credentials from their web hosting company, which allowed them to access the (I assume) dedicated servers rented by WHMCS.

Putting aside the fact that they're storing CC data on a third party server, what the blog post does not explain is how exactly this would amount to a total compromise of those accounts, as the server passwords should not even be known by the hosting company, and in any case this data should have been encrypted. It would also be interesting to know how they went from that to accessing the company's twitter account - my guess would be that the same password was used on twitter as on their servers.

So basically: no encryption, relying on an insecure third party to store critical data, and possibly the same password being used for a major hosting server and their twitter account. I, for one, would not rely on this company to handle billing & support for my customers.

The owner of the company suggested that the hackers gained access to his email account which was used to social engineer the hosting company to gain access to the servers.
The hosting company had knowledge of the server passwords because Hostgator offers fully managed dedicated servers. Hostgator handles all of the managing and security of the servers, thus they have and need the server passwords.

The hosting company had knowledge of the server passwords because Hostgator offers fully managed dedicated servers. Hostgator handles all of the managing and security of the servers, thus they have and need the server passwords.

In most cases, that isn't true. A typical provision for a dedicated server involves installing a public key that we use to access via root. The root password is usually only needed if we're accessing via IPMI/iDRAC and need to login from the remote console, or if the user has removed the public key from/root/.ssh/authorized_keys, or if public key authentication for root has been disabled, either by request due to security reasons, or because the client felt it necessary.

Actually the CC info is stored in encrypted form in the WHMCS database. This is quite common and protects against database leaks through injection, etc. Unfortunately, because the hackers had complete root access, they were also able to obtain the decryption key as well.

The CC info should IMHO have been encrypted with a combination of the user's password and such a key - that way, even WHMCS doesn't have access to it, except at the very moment a transaction needs to occur (when the user types in his password).

Of course, if recurring automatic payments or similar are needed, then WHMCS does indeed need to keep the CC details readable (and even then I'm not 100% sure of that, as I believe a lot of banks payment APIs offer some sort of token mechanism defining a CC details

The right to determine matters concerning administration and law belongs only to the citizen.
We demand that the state be charged first with providing the opportunity for a livelihood and way of life for the citizens.
All citizens must have equal rights and obligations.
Abolition of unearned (work and labour) incomes. Breaking of debt (interest)-slavery.
In consideration of the monstrous sacrifice in property and blood that each war demands of the people, personal enrichment through a war must be designated as a crime against the people.
The State is to care for the elevating national health by protecting the mother and child, by outlawing child-labor, by the encouragement of physical fitness
We demand legal opposition to known lies and their promulgation through the press.
We demand freedom of religion for all religious denominations within the state

Now there are some sick fucks right there. I mean seriously you put those rules in place and people stop profiting from the exploitation of their fellow man, and that my friend would certainly be a shame.

It's actually a selective cut and paste from 25 point program of the German National Socialist Party. It's good that we bring light to the atrocities of WWII but to condemn an entire group of people without understanding the benefits they brought to their country is a little near sighted.

The person was able to impersonate myself with our web hosting company, and provide correct answers to their verification questions. And thereby gain access to our client account with the host, and ultimately change the email and then request a mailing of the access details.

This means that there was no actual hacking of our server. They were ultimately given the access details.

Yes, they didn't break in, YOU FUCKING LET THEM IN, because that really makes a difference.

It does make a BIG difference. Tons of businesses use the same software that WHMCS uses on their server. These businesses need to know whether the used software is unsafe or not. If the compromise was purely social engineering and no software hack a lot of people will sleep better.

Ok everyone is assuming the creditcards weren't encrypted...Direct from their site:http://forum.whmcs.com/showthread.php?t=47650 [whmcs.com]"3. Credit card information although encrypted in the database may be at risk"So I assume that the risk is more that they got access to the dedicated server (root login maybe) and got ahold of the private key (passphrase?)

From WHMCSInitial indications are that the database of our ticketing system may have been compromised, and thus we would recommend that if you have recently sent us a ticket containing your WHMCS or FTP login details, and have not yet changed them again following that, that you do so as soon as possible. As soon as we know more about what happened we'll provide updates.

My company uses WHMCS and, after downloading all the released data, I was happy to find that accounting had used a PayPal subscription to purchase the license, as all the "card number" fields in the SQL dump were blank.

That being said... they also store all emails sent to customers. Including the Welcome Email that includes the original password used for master accounts.

It has been pointed out many times that the security question system is dangerous if the user does what he's told. It is in general easier to find out what someone's high school mascot was than to guess his password! My approach it to provide nonsense answers I can retrieve for all such question. No one's going to guess that my mother's maiden name was bottleofbitsofstuff for example. You can use the same answer for all questions if they let you, or use obvious variants otherwise.