We Got Phished
exploratorium.edu
exploratorium.edu
For everyone else, I think the new 2fa Google App approach is better. When you go to login, your Google App pushes a notification to your phone and you have to click on it. This raises the bar to doing a simultaneous login, which isn't impossible, but even if it weeds out a large number of attacks for now, it's worth it!
Google Authenticator doesn't do any kind of push notification when you log in. Each endpoint uses a shared secret (the server and the mobile app share that secret beforehand) to generate a time-limited code.
See here: http://arstechnica.com/gadgets/2016/06/googles-new-two-facto...
http://lifehacker.com/google-prompt-lets-you-use-two-factor-...
Essentially its like 2 factor auth, except you arent conveying codes from your phone to the computer.
This is a nice feature because it is a lot more user friendly than normal 2fa, it's free if you have a smart phone and well, it works.
(Yes, you can use the Google authenticator, but no, you can't do it if you haven't given your phone number first)
Edit: by "they" I mean GMail - other sites work just fine.
You cannot skip this step on GMail, or at least I couldn't find how. I know you can use the app afterwards, but not before.
Other sites just give me the code, as you say. But not GMail.
Yubikey devices are U2F compatible. (And in my opinion one of the best devices out there, thanks to PGP/SSH smartcard support.) But there are also cheaper versions on Amazon that work just as well if you're on a budget.
What if the password input would only be shown after the user typed in their username, pressed submit and confirmed that they were trying to log in using their mobile device?
* Input username
* Press submit
* Interact with mobile device for 2FA
* Input password
* Press submit
In this example, they waited three days before trying to utilize the broken account; with 2fa they would not have that luxury.
And this (asking for 2fa in the phishing page) would entail a risk as well; if they prompted a user who did not have 2fa for their 2fa credentials, then they would immediately be (at best) confused, and possibly suspicious, so they would have to decide to take the risk as to whether to attempt to target 2fa'ed accounts. And if they don't offer a 2fa prompt, then the phishing attempt has fizzled, as even with the password, they only have one factor.
Any sort of re-ordering of the login process by the good guys is only effective if the customer is extremely suspicious of changes in the login process, which nobody will be. The phishing site is under no obligation to match their flow to that of the faked website unless not matching by itself would be suspicious.
If a human has to be involved on the attacker side, then this gets tricky, since they only have a short window where the 2fa is valid. If an automated process is trying to log on, then it is possible that CAPTCHAs would either prevent getting a full interactive session (i.e. just a "read email" level of access, as for an app) or block the attack entirely.
If 2FA was supposed to protect your password from being phished, then it would have to prompt you for your 2FA code every time you log in, which would be pretty annoying.
There are obvious reasons Google does it this way, and it is probably a net increase in security, because a phone as a single factor is less often compromised than a password as a single factor. But I don't like calling that particular arrangement 2fa.
https://youtu.be/bjYhmX_OUQQ?t=98
This phishing test company has one of their employees steal a reporter's cell phone and it's amazing. She basically plays a crying baby on youtube and just grabs the account without knowing anything...
(posted by @nbadg https://news.ycombinator.com/item?id=12598989 )
Used correctly, their TOTP app is a real second factor, because it only lives on a single device that you have.
If I was going to do a Google Phishing page - I would take the username + password that the user supplied into MY fake page, and POST/CURL that to the Google login.
If Google returns asking for a 2factor to MY fake, I would display the 2 factor prompt to the user, and get them to type the 2-factor into my page, which I would pass back to Google.
Basically you can use a phishing page as a MITM attack.
When you auth against Google with 2-factor, there is a "remember this computer" option - giving the attacker at least 30 days of access to your email without needing a further 2-factor code.
So if the person is tricked enough to type their username+password into a fake google page, they are just as likely to follow through with their 2-factor code.
You're right, though, TOTP is not enough.
With U2F, however, a per-host keypair is generated during the setup process and the public key is given to the remote server. Critically, the hostname as seen by your browser is part of the key identifier: see http://security.stackexchange.com/a/71704/311
That means that if in the future even if someone convinces you to visit their phishing site and activate the token, the login attempt will still fail because the hostname as seen by the browser won't match a key on the token.
This only requires the user not to read the URL and match it to the URL in the Google Authenticator app (as far as I can see right now).
If you use U2F, then the domain name difference will mean that the U2F key can never match unless the attacker has control over DNS and is issued a Google.com SSL certificate by an authority the target's computer trusts.
Your browser connects to www.google.com@phish.me but no matter whether you believe that site to be Google, the U2F process means that it can only use a key for phish.me, which won't work on the Google.com servers even if they relay it.
The only attack which still works is if they control DNS and can forge an SSL certificate, at which point we have much bigger problems than phishing.
Or if they're able to get some malware onto your system permitting them to change your dns servers or alter your hosts file, and add certificates to your OS/browser trust store.
And in the long run I have more faith in making systems more secure via technological means than to try and convince users not to click on links in shady email messages. So by moving the problem into the technology domain and out of the social domain, I'd say it's a big win.
I just announced beta of host based DNS whitelisting app. It trusts top 10,000 domains, then user has to allow other domains.
I have a Yubikey and I find it too obnoxious for day-to-day use. I'd rather use an authenticator app (such as Google's or LastPass').
For TOTP on non-Google sites, I find LastPass better than Google's Authenticator. First, LastPass locks the app with a PIN. Second, it can work with the browser extension to fill out those 6-digit codes for you.
Go for something like FreeOTP: https://freeotp.github.io/
Also 2FA can sometimes be overkill, especially if you're constantly logging into accounts which you know will get old and dusty over time (think Yahoo Mail for example)
https://labs.detectify.com/2016/07/27/how-i-made-lastpass-gi...
This article could definitely augment the anti-phishing education at your organization—the only downside is that it's a bit long, so busy people probably won't want to read it :/.
Did PZ trust a mailing list where anyone could post? Or did the attackers spoof the "from" field? The former may have been prevented by employee training, the latter by SPF or similar technologies.
But yeah they shouldn't login on sites that the password isn't auto completed for.
On the other hand, if I could upload my own security image for each site, I guarantee I would remember it, because I'd probably use something I drew myself.
If I don't see a big goofy dog saying "Who's a good boy? [my dog's name] is a good boy!", I know I'm not on the right website.
One hour in or so Google made it so that the emails (even those already received and opened) were blocked. It helped to mitigate the issue. Most of the outside contact that would have received the mail received it in their spam.
We learned from it and have better security now.
That's an interesting way to put it...
Obviously in the HN-type crowd, you know to always carefully check the URL of links and form submissions. But I just don't know how realistic it is for that to be expected of an average user.
[0]:https://chrome.google.com/webstore/detail/password-alert/noo...
How often do you actually check super carefully? I'm pretty sure I'm not as careful as I know I should be. Especially when busy and distracted and thinking about other things.
> “We are approaching the point in this case where there are only two reasons for why people say there’s no good evidence,” Rid told me. “The first reason is because they don’t understand the evidence—because the don’t have the necessary technical knowledge. The second reason is they don’t want to understand the evidence.”
Is there anywhere we can see this evidence? Objectively I'm curious how an attack which consisted of basic phishing was determined to be definitively supported by the Russian government.
If they broke SHA-256 or coerced a Russian CA to generate a Google certificate, I'd agree... but using bitly and decades-old "click this link to reset your password" links? Come on.
If someone like that can get nearly fooled, there's little hope for the rest of us or our families.
It's time to give up preventing phishing and start working on amelioration.
ps -- if anybody knows the story I'm talking about, I'd love the link.
(I'm not arguing that PMs are >= to hardware 2FA, but they both will keep this exact thing from happening)
Bytes in a password manager are hard to steal, but if you do steal them, the legitimate owner won't necessarily ever know.
With U2F that failure mode is impossible since you cannot get the private key to shoot yourself in the foot with, even if the phisher successfully convinces you to try.
2FA is not enough here a user that does not have the required knowledge to see what is phishing and what is not will most likely enter the 2FA key giving the bad guys the auth tokens anyway.
To do this, the fake login page says that the token was incorrect the first time (which would possibly alert some people, but certainly not everyone), and then when the user submits a second token, the phishing site sends the first one to the real site. They now have an unused token which can be used up until the user logs into another website (thus invalidating the 'unused' one).
I've been working on phishing and counter-phishing recently, and if someone is actually putting any effort in, you have to expect something like this. Very legitimate looking email, the correct signature (complete with up to date font/logo), and a virtually perfect copy of the login page to whatever service they're using. All of this, even just to target a single person, is under 8 hours of work, which is to say, it's a simple task for someone who really wants to phish you.
The article mentions having an IDS and disaster recovery plans, and this is the best you can hope for as pretty much everyone is susceptible to this, and AI still can be beaten.
Source: I've done this, beaten Gmail's anti-scam filters, and phished CTOs.
Trust the top 10,000 domains, then the user has to allow anything beyond that. Built off of dnsjack. App will point to corporate dns server.
I'd like to contact the author and get him to append something about "check the url". But I guess they are not advertising their email addresses anymore :-)
Instead, everything will be forced through application layer proxy servers which inspect the traffic and decide whether to let it pass. This would include domain whitelisting, as you mentioned, content filtering and inspection, and/or anything else the {company,"protection service",user} wanted to add.
I have no doubt that eventually, someday, we will live in a world where our electronic devices default to deny.
You should get two though. Register both. Put one somewhere very safe, like a safe-deposit box.
Try from the incognito windows in your browser the image should not show up since no cookies are being sent in the incognito window.
By I also never click an email link to login unless it's a plain text password reset. I receive authentic looking and topical Dropbox share requests from actual contacts (who have been hacked) trying to phish my Dropbox credentials maybe 4-5 times a year so I'm always on the lookout for it. This is a classic attack. Always check the URL!
They are getting images from somewhere...so...no, this isn't a security feature.
If Google can recognize your computer without being logged in, it's time to up your privacy settings.
For example, we use Google Apps at work with our custom domain, with an internal SSO server providing authentication services. You enter your email address, the Google page directs you to the internal SSO server, you get a token, take that back to Google, and you get logged in - no password required.
[0]: http://security.blogoverflow.com/2013/10/debunking-sqrl/