All vulnerabilities
HIGHOpSeccurated

OPSEC-TWILIO-2022

Communications · Twilio

Summary

On 7 August 2022, Twilio, a company whose entire business is sending text messages and verification codes for other companies, was breached through text messages. Attackers ran an SMS phishing campaign against Twilio's own employees, texting them fake "your password expired" alerts from numbers that looked like Twilio IT and linking to convincing fake login pages. Several staff entered their credentials, handing over access to internal tools and the data of more than 200 customers, and rippling downstream to users of the secure-messaging app Signal. It was one strike in a sprawling campaign, dubbed 0ktapus, that phished around 130 companies the same way. It is the lesson that phishing-resistant MFA exists for a reason: ordinary credentials and codes can always be talked out of a human.

How it happened

The attack was SMS phishing, or smishing. Twilio employees received text messages impersonating Twilio IT, warning of password expiry or schedule changes and using real-sounding terms like Okta and SSO, directing them to fake login pages that harvested their credentials and relayed the one-time codes to the attacker in real time. Group-IB's analysis of the phishing kit found it captured 9,931 account logins and 5,441 MFA codes across the wider campaign. Several Twilio employees fell for it, and that was enough: the attackers reached internal tools and accessed data belonging to 209 Twilio customers, plus 93 users of its Authy two-factor app. It was, in fact, Twilio's second breach in months; back in June 2022 the same actors had used a fraudulent IT phone call (voice phishing) to trick an employee out of credentials.

The damage did not stop at Twilio. Because the secure-messaging app Signal uses Twilio to send its SMS verification codes, roughly 1,900 Signal users had their phone numbers or verification codes exposed, and at least one Signal account was re-registered to an attacker's device, though Signal's design kept message content and contact lists protected. This was one node in the much larger 0ktapus campaign, tracked as 0ktapus and Scatter Swine and later folded into the broader Scattered Spider collective, which used the same social engineering playbook against around 130 organisations.

The damage

Beyond the 209 Twilio customers, the breach exposed how one phished employee at an infrastructure provider cascades outward, to that provider's customers, and then to their customers' users. The 0ktapus campaign as a whole compromised a swath of major technology and telecom companies. Notably, one target hit by the exact same campaign did not fall: Cloudflare. At least 76 of its employees were smished from a look-alike domain registered minutes before, and three entered their credentials, but their accounts were protected by phishing-resistant hardware security keys, which the attackers could not defeat.

Why Twilio still matters

Twilio is the lesson that social engineering beats ordinary MFA, and that a communications provider's breach is a supply-chain event for everyone who relies on it. The contrast with Cloudflare is the whole point: one-time codes and push prompts can be phished or relayed by a human in real time, but FIDO2 and passkey hardware keys cannot, because they are cryptographically bound to the real site, so entering your password on a fake page gets the attacker nothing. The defences are to deploy phishing-resistant MFA, train relentlessly against smishing, limit and monitor internal-tool access, and keep a downstream-notification plan ready. The same loose collective went on to run the MGM and Caesars attack.

How to fix it

  • Reset credentials and revoke sessions for all phished employees, and move the organisation to phishing-resistant hardware-key MFA.
  • Notify affected customers and downstream users quickly (Twilio and Signal both did), and re-secure any accounts re-registered to attacker devices.
  • Hunt internal tools and logs for the attacker's access and scope exactly which customer data was reached.

How to avoid it

  • Deploy phishing-resistant MFA (FIDO2/WebAuthn hardware keys or passkeys); the same campaign failed against companies that used them.
  • Train and test employees against SMS and voice phishing, and make it easy to report suspicious "IT" messages.
  • Limit internal-tool access with least privilege, and monitor for logins and tool use from unexpected devices or locations.
  • Maintain a downstream-notification plan; as an infrastructure provider, your breach is also your customers' breach.
  • Treat "your password is expiring, log in here" messages as the classic lure they are, in training and in email/SMS filtering.

References

Related vulnerabilities

All OpSec →