Ask HN: Google Doc email virus?
They came from different companies that have no connection to each other, I assume others are seeing them too right about now. Anyone know whats up?
They came from different companies that have no connection to each other, I assume others are seeing them too right about now. Anyone know whats up?
> "We're deploying some abuse detection and reactive measures to deal with impostors that might try to abuse this sort of attack. Given this, we do not intend to perform validation that the URL matches the branding information."
That last part was in reference to one of my proposed mitigations, which they chose not to implement.
Here's the discussion on the IETF OAuth WG mailing list from that same time period: https://www.ietf.org/mail-archive/web/oauth/current/msg07625...
It's sad we can't seem to provide good, usable secure software.
However, as many people are already thinking, Complexity reduces Security and Stability. Therefore, it seems that the more we try to fight the "hackers", the more likely we will add some insecurity which they can exploit.
Complexity can both improve and reduce security depending on specifics, and thus generalizes to "no correlation" demonstrating that generalizations are often misleading.
Sidenote: I don't think that was ever a good idea, unless you think you were likely to type your password into phishing sites in the last month.
The requirement should depend on password and hash strength, not some arbitrary decision.
PCI does not recommend employing password entropy checkers either.
90 day password can be weak while passing all the requirements.
Making people reset their password every 90 days probably causes more problems than it solves and incentivizes more easily guessable passwords.
Here's an article: https://medium.com/@ninjudd/passwords-are-obsolete-9ed56d483...
So although I do agree with you (and have created sites in the past that do passwordless login), the general password problem doesn't really get solved with this approach.
Every Unix system has a mail daemon as a core function. If you've ever seen "This incident will be reported." because your user is not in the sudoers group, the incident gets reported via the local mail system. Mail servers today (outside of Microsoft's Exchange servers) are still overwhelmingly Unix-like systems. A mail user just needs a Unix host, a username and ssh + mutt/pine to access their mail in this way. Then an attacker needs to identify the unix host, the username and the ssh credentials. The first two bits are likely to be trivial - the Unix host is probably published in DNS MX records, and the username is probably the local part of the email address. The last part does not necessarily need to be a password. Good security practices will have it be an ssh keypair. ssh keypairs are provably computationally secure (until quantum computing comes along) and ssh private keys often also have passphrases. Other measures - like U2F security keys - can also be required as part of ssh authentication.
So this is probably the gold standard when it comes to security for an email inbox. Is there any way we can make this more usable so that a GUI mail client can be used? One answer is to run the mail client on the Unix host and use ssh X forwarding to display it on the client machine. Another answer is to run a POP or IMAP server on the Unix host, force TLS and use normal plaintext passwords over the TLS tunnel.
Both the ssh and the IMAPS solutions require some way to authenticate the server side of the connection. The ssh mechanism typically defaults to trust on first use, but since one is publishing DNS records anyways, a SSHFP (ssh fingerprint) record seems like a good additional step. The IMAPS solution requires re-authentication of the certificate for each session. I am not sure what the current state of the art is for this for IMAPS servers. I personally believe that the CA model used for HTTPS is severely flawed.
All of this to say that for the truly dedicated user of a certain minimum (but high!) level of technical sophistication, passwordless login everywhere is possible (ssh keys; or having the email client securely store the password for use with IMAPS).
Probably not anymore secure--and a nightmare to manage. But look to consensus algorithms for authentication ideas.
Using some non-English Unicode text as password will make the password really strong. I sometimes include Malayalam text for passwords as it's my native language.
Lastpass.
(For those who may have missed it in this HN crowd, let me momentarily invoke a veil of joke-explainer and offer this http://knowyourmeme.com/memes/hunter2 of the joke.)
In 10s, why would Google docs ask for an oAuth prompt with big permissions?
People click through security dialogs, it is a known fact.
(Of course, this is a different situation and all, and there is a lot of sense in your comment that mine doesn't at all invalidate.)
Software bugs should be no less than product defects, with possible fines in place.
People are way more likely to accept that than if the dialog had been "hhhhhhhhhhh@mailinator.com would like to 'Read, send, delete, and mange your email'".
Phishing is a hard problem, and any technical solution will only go so far. The main criticism I have with many OAuth authorization dialogs, not just Google's, is that they often don't show enough information for technical users to vet the authenticity of the app. It's like if a web browser didn't show the address bar.
Yes, we sent the inbox to a blackhole but keep in mind, Mailinator does not and can not actually "Send" any email.
It's a receive-only service. As always, any email "from" @mailinator.com has had it's reply-to forged (which is pretty trivial).
Also - even before we blackholed the email, it's unlikely any email in that inbox (i.e. hhhh..) was read. Each box has a 50 email limit (FIFO) which was immediately overwhelmed. You couldn't click fast enough between seeing the inbox list and clicking an email.
Mailinator is simply a "receiver" in all of this but we have no indication our servers were otherwise involved.
Any way you can tell for sure?
Do you have any logs that could be used to graph the spread of this? E.g. if you were able to find the earliest email to that mailbox you should be able to tell when it started, and with who.
That makes me think the malicious author didn't expect this to spread as wide as it did.
They planned to propagate via BCC but they needed a "To:" address - preferably one that didn't bounce.
So they hit the "h" key awhile, then added @mailinator.com
http://stackoverflow.com/questions/37321100/how-to-login-wit...
Probably sat in his bedroom right now waiting for the feds going 'wow that escalated quickly'.
If you fell for this, changing your password is not the right solution - you want to log into your google account and remove permissions from the application.
https://myaccount.google.com/permissions?pli=1 should show a list of apps connected to your account.
Also, if you fell for this, you sent a bunch of emails to people like the one you received, so maybe tell them not to click.
Pretty much what you'd expect.
Edit: This isn't the full source code. There was another PHP file visible on their website that unfortunately isn't visible anymore.
https://www.mailinator.com/inbox2.jsp?public_to=hhhhhhhhhhhh....
Maybe Mailinator has purged the box and is rejecting mail from it. Good on them.
(or is that somehow against the 'only our anonymized ad display program can scan your email' privacy policy?)
How do you figure? An unknown actor presumably had full access to your email inbox for a non-zero amount of time and the proper remediation is "nothing"? If I was concerned this had affected me I would right now be changing my passwords to ____everything____.
If your email account is compromised, any service that do password resets via email confirmation, are potentially compromised by whoever has access to your email via OAuth.
Although I guess if you had a circular recovery chain of this google account depending on a different email that depended on this google account, the attacker could use your email to recover the other email then use the other email to recover this google account. So it might be wise to change the passwords to everything.
1. I can't believe Google doesn't have basic filters to disallow developers from registering an app named "Google Docs"
2. Perhaps there should be some more validation/limits associated with allowing apps on the platform that can gain full access to email. A secure email account is the One True Source of authentication in the digital world. Google should make it way harder for people to get tricked into granting full access to their inbox.
The gmail account you use to talk with people shouldn't be the same one you use to send password resets to.
It's fine to allow CRM apps or whatever to have OAuth access to your regular gmail account, you just shouldn't give read-write access to the one you use for your retirement account or whatever. (Read-only access is much less dangerous, because even if someone can trigger a password reset email they can't delete it afterwards.)
The vast majority of services don't support setting a separate password reset email, so that would be a showstopper for most people. You'd end up just having another email account you have to check all the time (since non-reset email would also go to this account), and could still easily get bitten by this sort of spam/phishing.
You'd need an extra tab open in your browser that you'd need to check multiple times per day. But most automated messages don't require a response within fifteen minutes or whatever, so there isn't much extra cognitive overhead. And for most people you probably also don't need that email address authed on your phone.
Believe! I think this is just one of the many cases where after the fact everyone is like "oh wow, how didn't they think about it". But that doesn't say you would have thought about this before reading this.
> Googler here -- I'm escalating to the correct engineering and product teams now.
> Edit: This is now resolved. Less than a half-hour after escalation, wow! =)
> Final edit: problem is resolved. I clicked the link and got an "oauth client disabled" message. Not pretty, but at least you won't get phished.
[0] https://www.wordfence.com/blog/2017/04/chrome-firefox-unicod...
[1] http://fortune.com/2017/01/18/google-gmail-scam-phishing/
the root problem seems to be that the identity of OAuth Servers is not authenticated/clearly shown, i.e. a malicious app can claim that its name is Google Docs even though it is not endorsed by Google.
IMPORTANT NOTE: If you are running any website that has "Reset my password" it might be used by attacker, since even though the attacker does not have access to password, the attacker had access to email inbox. Thus the email password reset flow will allow attacker to compromise other websites that rely on Gmail account for password resets.
https://twitter.com/zachlatta/status/859843151757955072?ref_...
https://www.dropbox.com/s/l024nggmcizub40/Screenshot%202017-...
Below is the Hired notification.
---
Important: Email Phishing Alert
Hi <first name>,
It has come to our attention that some of our users may have been hit with a Google Docs phishing scam. It appears that this scam has been spreading throughout the internet today, and is not isolated to Hired or our customers and candidates. If you want more information, you can read about it here[1] or here[2].
If you receive a Hired email that says that someone from Hired has shared a Google Doc with you, please validate with the sender before clicking the link or doing anything else.
If you think your account may have been compromised, be sure to change your password immediately.
We apologize for this interruption to your day. Please let us know if you have any questions.
Thanks, The Hired team
[1] https://www.theverge.com/2017/5/3/15534768/google-docs-phish...
[2] https://gizmodo.com/a-huge-and-dangerously-convincing-google...
This is what the attack actually looks like: https://twitter.com/zachlatta/status/859843151757955072
I guess that probably just means someone working there got it though.
Edit: How I got this:
Someone on reddit went to their site when it wasn't down, and downloaded the files linked in the page's HTML. I just posted it here.
This isn't the full source code. There was another PHP file visible on their website that unfortunately isn't visible anymore.
https://www.mailinator.com/inbox2.jsp?public_to=hhhhhhhhhhhh...
Maybe Mailinator has purged the box and is rejecting mail from it. Good on them.
From looking at both that source code and emails received by my users, the mailinator address seems to be only in the message header "to" field, which, AFAIK, doesn't do anything other than display in the mail client.
The actual recipient's address is in the envelope recipient field.
I don't understand what the purpose of that mailinator address was.
With all of Google's machine learning expertise, how is it that this got past all of their SPAM detectors? It took me 2 seconds to hover over the link and see it was a crazy link that ended up at a domain called google.pro. Really? One of the world's largest and most advanced email systems couldn't figure that out?
On initial inspection the URL looks harmless, but it's got some malicious params in there, mainly
redirect_uri=https%3A%2F%2Fgoogledocs.g-docs.win%2Fg.php
It appears to request read/send access to your email, and then spam all your contacts> We're investigating reports of an issue with Google Drive. We will provide more information shortly.
https://www.google.com/appsstatus#hl=en&v=issue&sid=4&iid=c7...
"&redirect_uri=3Dhttps%3A%2F%2Fgoogledocs.docscloud.info%2Fg.php&customparam=3Dcustomparam"
---
Hi Sergio,
It has come to our attention that some of our users may have been hit with a Google Docs phishing scam. It appears that this scam has been spreading throughout the internet today, and is not isolated to Hired or our customers and candidates. If you want more information, you can read about it here or here.
If you receive a Hired email that says that someone from Hired has shared a Google Doc with you, please validate with the sender before clicking the link or doing anything else.
If you think your account may have been compromised, be sure to change your password immediately.
We apologize for this interruption to your day. Please let us know if you have any questions.
Thanks, The Hired team
1) I clicked on the link on my phone's email app. It looked super believable since it was coming from a person I was expecting a Google Doc invite from. I allowed access to "Google Docs" and then the page hit a 502 gateway error.
2) I tried it again on my computer by logging in, and this time, when the page was loading (after I allowed access), I saw the website was not legitimate (based on the url) SO I immediately closed the tab.
Here's the interesting part: None of my contacts got a "Google Docs" invite from me - meaning I didn't "send" any mail. Any idea how I can see if the person behind this has my emails too via API requests?
The link went to a page that looked like Google Docs and asked for my Google login, but I noticed the domain was wrong so I didn't sign in. I tried the link again today and it looks like Chrome does flag it as a phishing site now.
I'd be curious at the postmortem how quickly this thing spread.
Though this is unrelated to the topic I think it would be good if Google reviewed apps permissions in Google Play too because users are bad at this.
I guess that might finally change now.
I decided gmail wasn't for me when I read they harvested your emails for ads. 1GB in 2004 sounded so enticing too!
If you are technically savvy and have access to a static IP, I highly recommend setting up postfix/dovecot and registering a domain. It's fairly straight forward for technical people. You can have it setup, soup to nuts in an hour or two. There's online docs everywhere.
It's probably not going to be as secure as a gmail, but it's a much smaller target. Most internet providers will give you a static for an extra $5 or so.
It looks like Google removed (at least one of) their access tokens
Checked the URL containing:
googledocs.g-docs.win%2Fg.phpI think we are going to see some of the worst large scale ransom attempts shortly. They also timed it perfectly afternoon on hump day when everyone in USA is just getting ready for / back from lunch.
don't click on unknown links which take you to Google login page and never approve access to your data in any dialog?
Thankfully, the attack method means Google just has to shut off the app in their systems (which they appear to have done).
And it looks like Google is responding. The link in the emails no longer works, as the OAuth credentials have been revoked. I assume Google will be removing all the applicable app permission grants themselves.
double edit: 1. replied in above comment. 2. dunno. first time using HN, accidentally submitted twice when I was on comment posting cooldown I guess.