Skip to content
Vulnerabilities

Hackers Abuse Compromised M365 Accounts to Scale CodeStorm Phishing Operations

Hackers are taking phishing to new levels by abusing legitimate Microsoft 365 accounts to supercharge an operation known as CodeStorm. Instead of building fake infrastructure from scratch, attackers are hijacking real M365 accounts and using them as trusted launching pads. This approach lets malicio...

· Jun 23, 2026 · 5 min read · 👁 0 views

Hackers are taking phishing to new levels by abusing legitimate Microsoft 365 accounts to supercharge an operation known as CodeStorm.

Instead of building fake infrastructure from scratch, attackers are hijacking real M365 accounts and using them as trusted launching pads.

This approach lets malicious emails slip past filters that would normally flag suspicious senders, dramatically increasing the chances a target will click.

The attack begins with a deceptively convincing voicemail notification email. The message mimics a genuine Microsoft communication, complete with a well-formatted layout, a call duration, a reference ID, and an “OPEN VOICEMAIL PORTAL” button branded with the Microsoft logo.

Below the visible message, the kit quietly appends a long block of dummy historical email thread content, designed to confuse automated scanning engines into classifying the message as a low-risk business thread rather than a direct phishing lure.

Analysts at ZeroBEC identified and documented how the CodeStorm phishing kit has evolved with a powerful new capability: tenant-aware Microsoft 365 credential replay.

End-to-end CodeStorm flow (Source - ZeroBec)
End-to-end CodeStorm flow (Source – ZeroBec)

ZeroBEC said in a report shared with Cyber Security News (CSN) revealed that the kit does not just harvest passwords but actively replays them against Microsoft’s live identity infrastructure in real time, mimicking legitimate sign-in behavior to bypass multi-factor authentication.

Once a victim clicks the link, they land on a page protected by a Cloudflare Turnstile challenge that filters out automated scanners.

The landing page also probes for browser developer tools and automation signals, and even measures how long a debugger statement takes to execute.

If anything suspicious is detected, the page redirects to a legitimate Microsoft URL, appearing completely harmless. This multi-layer anti-analysis design is what separates CodeStorm from simpler credential-harvesting pages.

The campaign’s infrastructure rotates frontend domains while keeping a stable backend controller hidden under the path /google.php.

The kit communicates through a series of actions, do=check for identity discovery, do=login for credential submission, and do=verify to trigger MFA.

This design supports the full Microsoft MFA workflow including Authenticator push, SMS one-time codes, voice calls, and Hotmail recovery codes, covering virtually every authentication method a victim might have active.

Hackers Abuse Compromised M365 Accounts

The CodeStorm campaign abuses compromised Microsoft 365 accounts to send phishing emails that carry built-in legitimacy.

Since the sending account is a real, active M365 identity, emails pass sender authentication checks such as SPF, DKIM, and DMARC, making them far more likely to reach the inbox.

The kit also reuses the same unrelated email thread across multiple victim tenants, swapping only the organization name per target while keeping everything else identical.

The voicemail lure as the victim sees it (Source – ZeroBec)

The backend controller performs live home-realm discovery against Microsoft’s real identity infrastructure.

When a victim submits credentials, the do=login action replays them against Microsoft in real time, producing a genuine Entra sign-in failure with error code 50126 in the victim’s tenant logs.

This is particularly dangerous because the IP addresses recorded in Entra belong to the kit’s infrastructure, meaning defenders may see failures from unexpected US-based locations within seconds of a phishing click.

Detection and Defense Against CodeStorm Phishing

ZeroBEC researchers outlined key signals defenders can use to identify CodeStorm activity.

On the email layer, security teams should watch for messages where the From, To, and Return-Path headers are all identical, combined with a hidden whitespace block appending an unrelated thread.

On the network side, hunters should flag cross-site POST requests targeting a /google.php path, especially when the content type is application/x-www-form-urlencoded with body actions such as do=check or do=login.

Entra failures observed within seconds of fake credentials (Source - ZeroBec)
Entra failures observed within seconds of fake credentials (Source – ZeroBec)

In Microsoft Entra, teams should prioritize hunting for OfficeHome sign-in failures carrying error code 50126, particularly when clustered shortly after a phishing-click event from source IPs outside the user’s expected geography.

Follow-on signs of compromise include new inbox rules, unusual OAuth grants, MFA prompts from unfamiliar locations, and successful sign-ins from IPs previously tied to failure events.

Enabling behavioral detection that correlates sender anomalies, dummy-thread stuffing, and post-click tenant telemetry together gives the clearest early warning before a full account takeover occurs.

Indicators of Compromise (IoCs):-

TypeIndicatorDescription
Domainefficientplatforms[.]dePrimary campaign domain
Hostopenmail.efficientplatforms[.]deFrontend landing host (Cluster 1)
Hostoriginalpt.efficientplatforms[.]deEarlier non-audio frontend host (Cluster 1)
Hostqygg.efficientplatforms[.]deBackend controller host (Cluster 1)
Domain918ahoaurduaod[.]comRandomized frontend cluster domain
Host786rty00jk.918ahoaurduaod[.]comFrontend landing host (Cluster 2)
Domainscalableinfrastructure[.]deBackend controller domain
Hostgnjh.scalableinfrastructure[.]deBackend controller host
Hostlisten.microsoft-voicebox-recordings[.]comVoicebox-themed asset host
Hostdvcfbghjyui8u7y6t5redfcvghjuk-1417693617.cos.na-ashburn.myqcloud[.]comTencent COS second-stage payload host
URL Path/google.phpStable backend controller path
Redirect Domainmeet.google[.]com/linkredirectTrust-redirect abused to ferry victim to filter
Redirect Domainwww.google[.]com/urlTrust-redirect abused to ferry victim to filter
Redirect Domainadservice.google.com[.]ph/ddm/clk/424929466;226923624Trust-redirect abused to ferry victim to filter
Redirect Domains3.us-east-1.amazonaws[.]comTrust-redirect abused to ferry victim to filter
Cloudflare Key0x4AAAAAADdp34fpLM2KiBTMTurnstile site key (efficientplatforms cluster)
Cloudflare Key0x4AAAAAADceN-c9qtwSnf8ATurnstile site key (randomized frontend cluster)
IP Address104.161.48[.]103Email origin IP (sending infrastructure)
IP Address103.114.217[.]208Email origin IP (sending infrastructure)
IP Address148.163.93[.]50Email origin IP (sending infrastructure)
IP Address104.168.34[.]222Email origin IP (sending infrastructure)
IP Address98.183.80[.]18External replay IP observed in Entra (Gramercy, Louisiana, US)
IP Address98.44.29[.]78External replay IP observed in Entra (Katy, Texas, US)
IP Address68.11.117[.]95External replay IP observed in Entra (New Orleans, Louisiana, US)
IP Address216.27.183[.]135External replay IP observed in Entra (Akeley, Minnesota, US)
File Namebootstrappp.min.jsObfuscated second-stage JavaScript payload

Note: IP addresses and domains are intentionally defanged (e.g., [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.

Source: CybersecurityNews.com

Follow ShomoySoft for more: Follow on Facebook

💬 Comments (0)

Login to join the discussion.

No comments yet. Be the first!

Related Articles

Recommended for you