My United Airlines Website Hack Gets Snubbed
United Airlines announced the program in May (also specifying rules which specifically prohibited hacking in-flight systems, but which included "[t]he ability to brute-force reservations, MileagePlus numbers, PINs or passwords".) I poked around on their website and discovered that on their "Forgot your MileagePlus number?" page, you can request a reset of your password by submitting your first and last name, AND any ONE of the following:
- your e-mail address
- your street address
- your phone number
- your PIN
- your password
- your "old MileagePlus number"
And after submitting your information, the page will tell you whether your information matched an existing MilagePlus customer record.
This means that if you know a user's first and last name, you can guess their PIN, and the MileagePlus site will tell you whether you got it right or not. If the site doesn't limit your number of guesses, you can write a script that iterates through all 10,000 possibilities for the PIN until it finds the right one.
I wrote a script that did exactly that, and brute-forced my own account's PIN in a few hours (submitting one guess at a time, and running at 2 a.m. so as not to impact any other users). This means that United's website is not limiting the number of guesses per IP address, or showing a CAPTCHA after some number of failed attempts, or limiting the number of guesses per hour on a particular account, or any other countermeasures that you might expect. (The Bugs Bounty Program rules state, "[W]e do not allow execution of brute-force attacks on other users," which I interpreted to mean that brute-forcing your own account ought to be fine.)
So, United, if you're reading this, the immediate fix should be to disable the "PIN" option on the "Forgot your MileagePlus Number?" page. Keep the option to retrieve your account number by submitting your password, since even weak passwords are far harder to guess than 4-digit PIN numbers. But get rid of the PIN option.
I mentioned other possible countermeasures, including limiting requests per IP address and showing a CAPTCHA, but I actually don't think either of these would be effective. If you limit requests per IP address, any serious adversary will have a botnet of machines that they can use to submit requests from different addresses. If you make the user type in a CAPTCHA to submit a request, an attacker can hire workers online to read and type in the CAPTCHAs for a penny apiece. If you limit the number of reset attempts per hour on a particular account, that will slow down the attacker's attempts to brute-force the PIN for a particular account. However, if the attacker has a database of 1000 customer names and wants to find PINs for all of them, on Day 1 they could try 10 PINs for customer 1, then 10 PINs for customer 2, and so on up to customer 1000, and then on Day 2 they could try the next set of 10 PINs on customer 1, customer 2, etc. The attacker can't find any particular customer's PIN quickly, but they will be able to recover all of the customers' PINs slowly -- even though they never did more than 10 PIN authentication attempts on any particular account in the same day. Without a safe countermeasure, then, simply getting rid of PIN authentication would be the best fix.
It's because of attacks like this that I would argue that 4-digit PINs should never be used by themselves for authentication, if there's any possibility of a brute-force attack. They should only ever be used (a) for authentication in conjunction with something else, like a password (for example, if you're already logged in to a financial services account, you could require an additional 4-digit PIN to transfer money to another user); or (b) in a scenario where a brute-force attack is infeasible (for example, if you call tech support and a live human operator asks you to authenticate yourself with a 4-digit PIN).
The same attack is probably possible on the MileagePlus login page, since you can log in using your 4-digit PIN as an alternative to your password. However, this is less of a glaring security hole, because to brute-force a someone's PIN number on that page, you would have to at least know their MileagePlus number. The "Forgot Your MileagePlus Number?" page, on the other hand, allows you to brute-force someone's PIN number when all you know is their name.
As is often the case with stolen PINs and passwords, the most harmful effect here would probably not be the compromising of the user's MileagePlus account. The biggest problem is that most users use the same PINs and passwords for multiple accounts, and the attacker now has the 4-digit PIN that the user probably uses for their voicemail password, their ATM card, their burglar alarm, and who knows what else.
I first sent sent two emails about this to United's bug bounty email address reporting the issue on May 23, a few hours apart, and then followed up on June 1 asking if anyone had seen the first messages. I still have not receive a response.
So why didn't United reply? Have they just been receiving too many submissions by email? About 18 months ago I wrote about a researcher who emailed a security hole to Google and never heard back from them, even after they fixed the issue (although Google apologized and paid him his reward after the article ran). I suggested that if email submissions sometimes get back-logged, it would be a more effective approach to have email submissions reviewed by a lower-paid, less-experienced team of interns than by senior security researchers. The principle is that while it takes experience to find and fix security holes, it only takes some simple logical reasoning skills to evaluate whether a particular discovery constitutes a security hole, so the work can be farmed out to interns who want to gain work experience. By having each submission reviewed by, say, 3 randomly chosen interns from your pool of evaluators, you can churn through the submissions faster and reduce the chances of a legitimate bug falling through the cracks.
I'm sure some of the submissions are crap, and it's not United's fault if they initially got behind because they got more mails than they expected. But as soon as they realized they were getting swamped, they should have put more people on it -- even if those extra people were IT interns with just enough computer experience to read a bug description and tell if it was legit.
And one of the interns could also proofread the submission guidelines. Currently, under "things we will pay 250,000 miles for", the program page lists: "Brute-force attacks." Under "things that will result in criminal prosecution," the same page lists: "Brute-force attacks." If United keeps both promises, I hope my air miles don't expire before I get out of jail.
I was surprised to find this show up on the Slashdot front page, and then realized that since the last time we had a Bennett post, I had switched computers, and so my user script to block them was no longer installed. Since I'd already seen it, though, I figured I'd post a link to the script again: https://gist.github.com/anonymous/3235db049b18699c082b#file-gistfile1-txt.
This article isn't as stupid as Bennett's normal tripe; at least he seems to have identified a real issue here, although Slashdot is still allowing him to use their website as his personal blog. One amusing thing, though: he's complaining that United isn't responding to his emails about the hole. I've asked Slashdot repeatedly (through both e-mail and comment threads) to make it possible for us to block Bennett posts, or at least to comment on why they won't. The Slashdot staff have, so far, completely ignored me. They have apparently been too busy adding "share to TwitBook" buttons to the stories.
How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
While we accept bug reports on the ability to conduct brute-force attacks, we do not allow execution of brute-force attacks on other users. Please see the “Do not attempt” section. If you believe you have found a method to conduct a brute-force or code injection attack, please report it to us without testing it.
. . . are usually crap.
Your hair look like poop, Bob! - Wanker.
If the title of your post starts with "my", and it isn't on Ask Slashdot, you are a douche.
sue them.
You discovered that a person has an account? Are you able to do anything with it after a brute force or does it just send a reset password link to their email? You need to clarify.
Bugs that are eligible for submission:
The ability to brute-force reservations, MileagePlus numbers, PINs or passwords (Note: While we accept bug reports on the ability to conduct brute-force attacks, we do not allow execution of brute-force attacks on other users. Please see the “Do not attempt” section. If you believe you have found a method to conduct a brute-force or code injection attack, please report it to us without testing it.)
Do not attempt:
Attempting any of the following will result in permanent disqualification from the bug bounty program and possible criminal and/or legal investigation. We do not allow any actions that could negatively impact the experience on our websites, apps or online portals for other United customers.
Brute-force attacks
So... It looks like you didn't follow the rules & tested a brute force attack. That straight away says that they will most likely ( and with valid reasoning ) disqualify you from the program. Since you used your account only, they will likely not prosecute. You still broke the rules and will probably not get anything except kicked out.
But they said there was now a $50 service fee in order for me to submit my bug. They said something about how fuel prices had gone up and they had no choice but to start charging the fee.
If you wanna get rich, you know that payback is a bitch
someone that cares.
If your bug submission was anything like your Slashdot submissions, their eyes glazed over after the first three paragraphs and they didn't even read the other eight pages where you actually explained the hack.
http://www.united.com/web/en-US/content/contact/bugbounty.aspx#terms
Do not attempt:
Attempting any of the following will result in permanent disqualification from the bug bounty program and possible criminal and/or legal investigation[!!1!]. We do not allow any actions that could negatively impact the experience on our websites, apps or online portals for other United customers.
Brute-force attacks
Code injection on live systems
Disruption or denial-of-service attacks
The compromise or testing of MileagePlus accounts that are not your own
Any testing on aircraft or aircraft systems such as inflight entertainment or inflight Wi-Fi
Any threats, attempts at coercion or extortion of United employees, Star Alliance member airline employees, other partner airline employees, or customers
Physical attacks against United employees, Star Alliance member airline employees, other partner airline employees, or customers
Vulnerability scans or automated scans on United servers (including scans using tools such as Acunetix, Core Impact or Nessus)
Please, please, please, let it happen!
"Hi. You haven't acknowledged my findings yet. I think I have demonstrated that I've met the requirements of your "bounty". You can of course disagree, and that's fine. There are others who want to buy my work. Should I not hear back from you in the next 14 days, I will do business with them."
Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
I care more about who brute forcrs comment #50000000.
Watch this Heartland Institute video
Had you read the rules, you might have noticed:
Attempting any of the following will result in permanent disqualification from the bug bounty program and possible criminal and/or legal investigation: Brute-force attacks
Mod Parent Up.
After not hearing from bennett for so long, I thought slashdot had finally come to it's senses and shit-canned that ass wipe. I guess I'm the ass wipe instead.
Since Mr Hennet Baselton is a blogger, maybe he should write a post about it. Perhaps it will go viral just like this musician's songs about United breaking guitars. Not.
Jokes aside, I have some friends that are travel agents, and they all seem to shy away from letting their clients fly United.
Free, as in your money being freed from the confines of your account.
No surprises to be found; Bennett chooses a literal interpretation of something to further his own agenda, and disregards the rule saying "If you find a brute force attack, do not attempt it, it is immediate disqualification."
I wish Bennett was as smart as he thinks he is and found something noteworthy enough to be sued for exploiting, but the only hack here is him.
I tought we got rid of your stupid rants, fuck off Bennet!
To be completely honest I enjoy having an occasional Bennett Haselton submission. (And a quick search through slashdot, they are occasional). I learn a little thing and I think a moderate amount. Which is exactly what I come to slashdot for. If you do ever quit submitting to slashdot I may actually look to see if you have a blog.
I always hate when companies have such glaring security flaws and refuse to do anything about it. They deserve what comes to them I guess...
[shrugs] you could just resubmit it and show the possibility for a brute force without actually admitting that you broke the rules in testing the possibility...
* Meaning 0 - 1 million air miles
SJW's don't eliminate discrimination. They just expropriate it for themselves.
Something you may not realize if you're not a frequent flyer is that FF miles cost the airline almost nothing since they don't open up additional rewards inventory to match. That is, United could give Bennett a million miles (equivalent to about 40 domestic cheap roundtrips, or several international business or first class trips) by merely changing numbers in their database. They don't actually incur any significant expense because they open the same amount of rewards inventory (seats that can be purchased by miles) as they always would, and then instead of somebody else miles-ing that one seat, Bennett gets it.
Sure, there are knock-on effects that a real FF misses out on the reward, they become disgruntled with the program, people have to sit next to Bennett, whatever. But airlines are generally very free-wheeling with giving out miles (try it yourself - you can usually get ~1/8 of the way to a domestic RT for something as minor as your video screen not working if you write in to complain) because they know it doesn't really truly cost them that much.
Dang, brother. You always like this or you just don't like Bennet? Let's keep it clean kids.
That's like 10 years in Leavenworth.
Harrison's Postulate - "For every action there is an equal and opposite criticism"
Good News - you've got a million frequent flyer miles!
Bad News - you have to fly United.
Is it just my observation, or are there way too many stupid people in the world?
Haven't tried United recently, but websites where they ask you for a US phone number and then complain that you entered dashes, spaces, etc. really piss me off. A US phone number is 10 digit. If you ignore everything that isn't a digit and end up with 10 digits (or it starts with a 1 and you have eleven) then it's a freaking phone number.
Credit card numbers ditto.
Reservation number. If the first character is a space (as it often is after a copy/paste from e-mail) then ignore it and take the rest of the characters and see if they match the format you defined.
The date is a little trickier but not much.
If the people you hired to program the site can't manage these simple basics, there's really not much hope that the site is secure.
One of the terms here is that your submission "MUST BE THE FIRST" that specifies the successful attack...
If you don't know for sure yours was the first (and there is no way you can) it's up to United to respond or not and pony up with the miles or not. So you did all that work, proved the attack works, but you don't really know if United hasn't already validated somebody else's submission for this and paid THEM the miles you think they owe you.
Then there is the whole, how do you know they actually received it vector....
Look, you are unlikely to get anything out of United on this. Stop wining about it and move on.
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
Didn't you whine a lot before about how spam filters always weed out your inane drivel?
"We'll pay you for your security vuln, but you can't use Brute Force because we know our shit is extremely insecure already"
hahahaahahaaaaa, what a bunch of pathetic twats. Good to this guy for "brute forcing" hahaahahah their insecure 4 digit pin.
I'd be more concerned that you can use first name, last name and phone number. Your example takes 10000 PIN attempts with a given first and last name, where you could script it to go through a phone book and have legitimate combinations of the 3. The same goes for email. And on that note, the article just says success indicates if the account exists....I don't see anything about actually being able to reset your own password using this method.
And more meh.
The Dice Slashdot administrators should reseed the DB's post ID column to 50000001, and then link the cid=50000000 page to one that shows a picture of goatse. That would be a fitting tribute to the Slashdot of days gone by.
I hope Bennett gets his million free air miles so that he'll spend more time traveling and less time writing Slashdot submissions!
"When information is power, privacy is freedom" - Jah-Wren Ryel
http://hackerfactor.com/blog/index.php?/archives/674-The-Friendly-Skies.html
...13 or 14 if you factor in the number of times your flight will be delayed or cancelled.
Is it just my observation, or are there way too many stupid people in the world?
You were most likely writing to their IT staff.
In the aviation industry, most of these staff have probably worked their for quite a while.
At least one of them is probably a regular reader of Slashdot.
Any regular reader of Slashdot would recognize who Bennet Haselton is right away.
I wonder why.
Don't you have a wordpress site or something? what about a youtube account? Won't you consider leaving slashdot and never returning?
Seriously, I'm starting to worry. From the details of your story, I get the feeling that you actually did this rather than your usual style of making stuff up and submitting it as fact.
In the beginning I thought people here were just picking on you. I'm starting to realize that you are not just some goofy AI re-incarnation of taco
Keep the option to retrieve your account number by submitting your password, since even weak passwords are far harder to guess than 4-digit PIN numbers.
I don't think that's a reasonable assumption to make, particularly if you don't care about which account you get access to. Instead of guessing a lot of passwords for a single user, you can guess a small number of passwords for a lot of users. This also gets around any limits regarding access for a single account, as has been suggested as a solution. Getting multiple boxes to carry out this operation gets around limits regarding account access from a single IP address.
If you choose a sufficiently common weak password (and United's password system allows people to enter such passwords by default), then the chance of discovering a correct user/password combination is pretty high.
Ask me about repetitive DNA
These days we talk about brute forcing keys with trillions of possible candidates, this is more like "slight" force rather than brute force.
This is a designed-to-be vulnerable (by idiots, but still) thing. They only pay for unintentional vulnerabilities.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
AND....this is why I rarely come to Slashdot. Too many emotionally immature children like you involved... Grow up boy, seriously.
Your "hack" is script kiddie grade shit.
So I understand the free speech libertarian if-it-gets-comments-we-run-it thing, but the comments on this article, while numerous, are 90% paraphrasable as "Why the @#$ is this on /.?"
So... ?
0 is = 1000000 so they are living up to their word, unfortunately.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
I worked at a hospital that had a 'contest' for cost savings ideas. You were to receive a coffee mug for just submitting an idea, and if you actually saved them money, the'd pay you 10% of the savings. I suggested that they stop giving away coffee and start charging $0.05 a cup. $0.05/cup would still bring a lot of good will, and it would have made $50 per year on just me, just working every other weekend. 20 cups a day at a nickel a cup would have saved them quite a bit.
They did not even acknoledge my submission. (And, I continued to drink my 20 cups/day for free.)
OH GOD NOW I'M WATCHING FOR THIS.
Caps were required for the beginning, then I noticed I had gone too far. We don't turn back in this family!
Bennett shows that he logs onto United webpage the same way he tries to write a decent article: brute force.
I submitted bugs like a week after the program was announced, I just got contacted last week. You are not waiting long enough for a response.
The headline begins with "My" and the submitter is...
systemd is Roko's Basilisk.
... fuck you Bennett you fucking cunt fuck.
On the first day I found XSS flaw on their website on day one and reported it. A month later they change the rules and exclude that sub domain and tell me thy aren't taking submissions for that domain.
Oh how I missed you. Hey a suggestion for the future: You should host your blog at medium.com and just link every Slashdot story to it. The resulting singularity may be able to be harnessed for clean energy. Dice would be on board if they can put a billboard up next to it.
Bennett Haselton, that's your first and last name, right ? .....
I missed the boat... posted the comment to the wrong story AND made it too late http://yro.slashdot.org/commen...
But I'm having trouble finding who DID make it.
-- I was raised on the command line, bitch
"Your hosts file comments are not trustworthy" - by omnichad (1198475) on Friday August 09, 2013 @11:22AM (#44520759)
Oh, really? Ok: MalwareBytes' hpHosts Admin (MalwareBytes employee who has seen & verified its sourcecode too no less as safe) hosts & recommends it -> http://hosts-file.net/?s=Downl...
&
MalwareBytes = BEST antivirus (per this VERY recent testing of them all) -> http://www.av-test.org/en/news...
&
It's GUARANTEED safe & clean (per it being checked by 57 antivirus programs recently) in BOTH its 64-bit model -> https://www.virustotal.com/en/...
+
In its 32-bit model also https://www.virustotal.com/en/...
---
Tells us, omniweasel:
* HOW'S IT TASTE "EATING YOUR WORDS" flavored with your FOOT IN YOUR MOUTH ramming them down spiced with the BITTER TASTE of SELF-DEFEAT"?
LMAO...
APK
P.S.=> Lastly: In the past, You also conceded MANY points on hosts to me & made huge mistakes vs. me here http://tech.slashdot.org/comme...
&
Here too http://tech.slashdot.org/comme...
LMAO @ U, "omniloser"... apk
Took a while (submitted a day after the announcement), but I heard back just recently. Details omitted because I don't have confirmation the bugs are fixed.
I know united hasn't handled this particularity smoothly, but at least they're trying which is more than most non-tech companies can say. Let's give them some time to try to iron out the kinks before we lambast them in an obnoxious WhenDidSlashdotBecomeYourBlog post.
It's completely clear: they don't, otherwise why bother writing "on other users"?
If I say "don't drink the beer on the table" that means you totally can drink the lemonade, or the beer in the cupboard. If I'd meant "don't drink" that's what I'd have said.
However, later it says brute force attacks aren't allowed, with no restriction or qualification.
Though it pains me most grievously, I can sympathise with Bonehead Hamsterbum to an extent - the rules are badly written. They break DRY, except it's even worse because by not-quite-exactly repeating it's inconsistent. Thus, it's unclear which takes precedence.
Which I contend, M'Lud, is the crux of the case.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
but did Apple require all new iDevices running iOS 9 to have minimum of 6 digit PINs for this reason? (brute force attacks)
Can't find it either. Only found
49999999 - Glaing Error (Score:-1, Flamebait)
And 50000003 - many (Score:2)
This is why the vulgar poster is listed as "Anonymous" - got no balls of his own. So the 'children' quip is fitting.
http://about.me/jimm.pratt
If you ever need spywork done on anyone, clear criminal records, hack into any account including banks or simply have a bone to pick with someone brainlink99@gmail.com is the go to guy