Blog

Your MFA Is No Match for Sneaky2FA

BY eSentire Threat Response Unit (TRU)

February 27, 2025 | 7 MINS READ

Attacks/Breaches

Threat Intelligence

Threat Response Unit

TRU Positive/Bulletin

Want to learn more on how to achieve Cyber Resilience?

TALK TO AN EXPERT

Adversaries don’t work 9-5 and neither do we. At eSentire, our 24/7 SOCs are staffed with Elite Threat Hunters and Cyber Analysts who hunt, investigate, contain and respond to threats within minutes.

We have discovered some of the most dangerous threats and nation state attacks in our space – including the Kaseya MSP breach and the more_eggs malware.

Our Security Operations Centers are supported with Threat Intelligence, Tactical Threat Response and Advanced Threat Analytics driven by our Threat Response Unit – the TRU team.

In TRU Positives, eSentire’s Threat Response Unit (TRU) provides a summary of a recent threat investigation. We outline how we responded to the confirmed threat and what recommendations we have going forward.

Here’s the latest from our TRU Team…

What did we find?

In early February 2025, the eSentire Threat Response Unit (TRU) detected a user accessing a known phishing site associated with Sneaky2FA. Sneaky2FA is an AitM (Adversary-in-the-Middle) PhaaS (Phishing-as-a-Service) kit designed to bypass 2FA (Two-Factor Authentication) and provide the operator with access to the victim’s Office 365 account via intercepted session cookies.

Sneaky2FA is advertised for sale by the user “Vanyaon” on hacking forums and Telegram, with pricing starting at $150 per month for the first 10 users and $200 per month thereafter.

TRU has observed phishing operators making use of stolen session cookies behind VPN and proxy-associated hosting providers, ultimately leading to follow-on activities like modification/creation of MFA methods for maintaining persistent access to stolen accounts.

The figure below displays the Telegram advertisement for Sneaky2FA and describes the features/payment methods for the phishing kit.

Figure 1 – Sales advert from Telegram group
Figure 1 – Sales advert from Telegram group

The specific attack scenario in this case involves the user opening a spam email containing a link to a phishing PDF stored in OneDrive. Upon clicking the link, the user is redirected to OneDrive and shown the phishing PDF.

Upon the user clicking the hyperlink in the PDF the user is redirected to an Office 365 themed Sneaky2FA associated web page at the URL “hxxps://secure.toitoiiusa[.]com/”.

The figure below displays the phishing PDF.

Figure 2 – Phishing PDF from OneDrive
Figure 2 – Phishing PDF from OneDrive

Much like other phishing kits, Sneaky2FA features Cloudflare Turnstile/Google ReCaptcha as security measures to prevent scanners and bots from accessing the phishing page, effectively making the process more difficult for threat intelligence researchers to identify Sneaky2FA associated infrastructure in the wild.

Note, TRU has observed other variants of Sneaky2FA that make use of the blurred background images described in Sekoia’s blog here.

Figure 3 – Cloudflare Turnstile check
Figure 3 – Cloudflare Turnstile check

The following figure contains a truncated portion of the HTML contents of Turnstile pages. The title element contains HTML encoded entities and can be used to identify Sneaky2FA in-the-wild.

Figure 4 – verify html
Figure 4 – verify html

Decoding the HTML entities in the title element can be accomplished via the following CyberChef recipe.

Figure 5 – Decoding page title from HTML entities
Figure 5 – Decoding page title from HTML entities

Next, the phishing html is acquired through HTTP GET to the /index endpoint. This retrieves the phishing form via HTTP GET to the /verify endpoint.

Figure 6 – O365 phishing form
Figure 6 – O365 phishing form

The user then enters their email and clicks the Next button, sending an HTTP POST request to the /validate endpoint containing the user’s email to the backend.

Figure 7 – Send email to backend
Figure 7 – Send email to backend

After the user enters their password and clicks the Sign in button, another HTTP POST request is sent to the /validate endpoint containing the user's email and password. The email is parsed, and an invalid password response JSON is returned if the email is not business associated.

The phishing kit operators are likely doing this to disrupt security researchers using non-business associated email addresses like hotmail.com.

If the email is associated with a business and the account lacks 2FA, the phishing kit redirects to a legitimate Office 365 error page.

Otherwise, the response from the /validate endpoint determines the 2FA method. In this case, an OTP from an authenticator app.

Figure 8 – Send email and password to backend
Figure 8 – Send email and password to backend

Next, the 2FA method is sent to the backend via HTTP POST to the /validate endpoint, e.g. verify_code

Figure 9 – Send auth method to backend
Figure 9 – Send auth method to backend

Next, the 2FA code is captured from the victim and sent via HTTP POST to the /validate endpoint. Once the 2FA code is received in the backend, a session cookie is acquired for the phishing kit operator(s) to use for follow-on activities such as: adding MFA methods, email harvesting, spam, and phishing.

Figure 10 – Send 2FA code to backend
Figure 10 – Send 2FA code to backend

TRU observed phishing operator(s) using stolen session cookies to add MFA methods, hiding behind VPN/Proxy associated hosting providers such as: Digital Ocean, Private Internet Access, Bandito Networks, Clouvider Limited, and Amazon.

The following table displays the phishing kit operators’ external IP addresses, user agents, and autonomous system labels (ASLs) identified in Microsoft Entra logs.

IP Address

User Agent

ASL

164.90.152.138

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Edge/131.0.0.0

DIGITALOCEAN-ASN

152.42.241.245

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Edge/131.0.0.0

DIGITALOCEAN-ASN

24.144.108.154

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Edge/131.0.0.0

DIGITALOCEAN-ASN

181.215.176.73

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36

COGENT-174

89.249.74.170

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:137.0) Gecko/20100101 Firefox/137.0

M247 Europe SRL

45.8.19.123

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36

Internet Utilities Europe and Asia Limited

216.73.160.250

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36

Internet Utilities Europe and Asia Limited

216.73.160.108

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36

Internet Utilities Europe and Asia Limited

45.8.19.119

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36

Internet Utilities Europe and Asia Limited

91.193.232.128

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36

Clouvider Limited

91.193.232.84

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36

Clouvider Limited

91.193.232.5

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36

Clouvider Limited

84.239.47.141

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36

Datacamp Limited

91.193.232.125

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36

Clouvider Limited

193.56.116.251

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36

Clouvider Limited

23.163.0.30

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Edge/131.0.0.0

Gwy It Pty Ltd

98.83.220.177

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0 OS/10.0.26100

AMAZON-AES

52.53.231.42

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0 OS/10.0.26100

AMAZON-02

198.144.189.57

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Edge/131.0.0.0

AS-COLOCROSSING

2a0b:7140:6:1:5054:ff:fec2:7579

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Edge/131.0.0.0

servinga GmbH

2001:ac8:31:254:5835:61ba:6c91:5c29

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36

M247 Europe SRL

What did we do?

What can you learn from this TRU Positive?

Recommendations from the Threat Response Unit (TRU):

Indicators of Compromise

References

eSentire Unit
eSentire Threat Response Unit (TRU)

The eSentire Threat Response Unit (TRU) is an industry-leading threat research team committed to helping your organization become more resilient. TRU is an elite team of threat hunters and researchers that supports our 24/7 Security Operations Centers (SOCs), builds threat detection models across the eSentire XDR Cloud Platform, and works as an extension of your security team to continuously improve our Managed Detection and Response service. By providing complete visibility across your attack surface and performing global threat sweeps and proactive hypothesis-driven threat hunts augmented by original threat research, we are laser-focused on defending your organization against known and unknown threats.

Read the Latest from eSentire