Iranian government hackers in the recent months, repeatedly managed to hack activists / journalist email and social media accounts protected by Two Factor Authentication. The first major incident reported in the media was Imam Ali charity in Iran, although this was not the first by any means. here are their Tweets (in Persian), informing Gmail, Telegram, LinkedIn, and Facebook accounts of a large number of their colleagues in the organization has been hacked:

And in late September, a lawyer has tweeted the same attacks on her Gmail and Telegram accounts, and also many other woman’s rights activists in Iran:

How this possibly happens:

What happens is Iranian security forces have successfully phished or otherwise gained access to a target’s Gmail password. Then they send a 2FA request, usually in very early mornings when target is sleep, using the victim’s phone number. As they have full access to the country’s mobile operator networks, they intercept the 6 digit code sent by Google:

In many cases, they don’t even need the password, as they can also request a password reset request (Again!) by entering the phone number in Gmail.

Once they have access to the email of the victim, they start resetting passwords of their social media accounts, i.e. Twitter, Facebook, Linkedin, etc.

Using the same technique, for instant messengers:

As most instant messenger Apps, i.e. Telegram, Whatsapp and others use SMS to authenticate their users, once attacker can intercept the victims SMS, they can simply authenticate a new session for their instant messengers and read their messages. Very few IMs like Telegram, actually offer a second factor for authentication – in case of telegram, a password – but many do not have this function activated, as it is not required by the platform.

Workarounds:

Iranian users are advised to use offline methods only, i.e TOTP for their second factor authentication, and delete their phone numbers from their google records so it can not be used for password recovery or 2FA fallback. As for the instant messengers, they should activate the 2FA for the platforms that support this, and quit the ones they don’t support 2FA.