Payroll Pirates (Storm-2755) Abuse Microsoft Graph for HR/Finance Staff Recon After AiTM Account Compromise
Payroll Pirates (Storm-2755) Abuse Microsoft Graph for (TL-2026-1970), also tracked as Payroll Pirates, is a high-severity phishing campaign, first published 2026-08-10. It is attributed to Storm-2755 with medium confidence, affects Microsoft Microsoft 365 / Entra ID (OAuth session and Microsoft Graph, maps to 15 MITRE ATT&CK techniques (T1078.004, T1087.003, T1087.004), and is covered by 9 detection rules and 13 indicators of compromise.
Key facts for TL-2026-1970
- Threat ID
- TL-2026-1970
- Also known as
- Payroll Pirates
- Severity
- HIGH
- Status
- ACTIVE
- Category
- PHISHING
- First published
- 2026-08-10
- Last reviewed
- 2026-08-10
- Attribution
- Storm-2755
- Attribution confidence
- MEDIUM
- Motivation
- FINANCIAL
- Target sectors
- health, education, manufacturing, government administration, professionalservices
- Target regions
- North America, Europe, united states of america, canada
- Detection rules
- 9
- Indicators of compromise
- 13
Malware and tooling in Payroll Pirates (Storm-2755) Abuse Microsoft Graph for
Malware and tooling: Storm
A widespread, financially-motivated campaign overlapping with Microsoft's Storm-2755 ("Payroll Pirates") activity cluster uses voicemail-themed and SEO-poisoned lures to route Microsoft 365 users through legitimate-service redirect chains into adversary-in-the-middle (AiTM) proxy pages that capture session cookies and OAuth tokens, defeating non-phishing-resistant MFA. Compromised sessions are then used to query Microsoft Graph and enumerate payroll, HR, finance, and administrative staff, collect related financial email, and in some cases redirect employee direct-deposit payments to attacker-controlled accounts.
How Payroll Pirates (Storm-2755) Abuse Microsoft Graph for works
Arctic Wolf researchers are tracking a widespread, active Microsoft 365 account-compromise campaign that shares significant tactical overlap with the "Payroll Pirates" activity cluster Microsoft tracks as Storm-2755, first documented publicly by Microsoft's Security Blog on 2026-04-09 against Canadian organizations and now observed more broadly across the U.S., Canada, and Europe.
Victims receive voicemail-themed phishing emails styled as automated call notifications with Microsoft branding and an "OPEN [Organization] VOICEMAIL PORTAL" call to action, with subject lines following the pattern '[Organization] :ATTN: Review messages. Ref id: [random string]'. Clicking the link routes the victim through a multi-stage redirect chain built entirely from abused legitimate infrastructure: a Google Meet link-redirect URL, Google's outbound-link infrastructure, a Google Ads Campaign Manager /ddm/clk dynamic click tracker, and an Amazon S3-hosted landing page, before finally reaching an attacker-registered adversary-in-the-middle (AiTM) domain. Separately, Microsoft's Storm-2755 reporting describes SEO poisoning and malvertising that ranked the actor-controlled domain bluegraintours[.]com at the top of search results for queries like "Office 365" and common misspellings such as "Office 265", driving victims directly to a spoofed Microsoft 365 sign-in page.
The AiTM infrastructure is newly registered (domains observed less than 10 days old at time of use) and hosted on Hostinger, serving over HTTP/2 with response headers 'server: openresty/1.31.1.1' and 'x-powered-by: Express' at the root, and 'x-powered-by: PHP/8.2.32' on a fingerprinting endpoint at path '/st_58200519/class_identifier.php'. That endpoint collects a browser/device fingerprint (navigator properties, screen dimensions, language, timezone, WebGL vendor/renderer, cookie support) and queries api.country.is for geolocation, storing the result in a 7-day 'rcfh_country' cookie, before serving a reverse-proxied copy of the genuine Microsoft authentication flow. Because the kit proxies the real Microsoft login in real time rather than presenting a static credential-harvesting page, it captures session cookies and OAuth access/refresh tokens as the victim completes an otherwise normal sign-in, including MFA — rendering non-phishing-resistant MFA insufficient. A missing OAuth nonce parameter in the AiTM-initiated flow produces the rare Microsoft Entra sign-in error 90014, and Entra error 50199 has been observed immediately preceding successful token replay; both are high-fidelity indicators when paired with residential-proxy source traffic. Microsoft's Storm-2755 reporting separately documents an Axios/1.7.9 HTTP client used to replay stolen tokens roughly every 30 minutes, keeping sessions alive for up to approximately 30 days until refresh-token expiration.
Post-compromise sign-in activity shows a distinctive pattern: an initial burst of sign-ins from multiple residential-proxy IP addresses within seconds of compromise, often reporting implausible OS/browser combinations (e.g., Mobile Safari reported on Windows 10); recurring "maintenance" sign-ins roughly every 8 hours (11-24 hours after the initial burst) from rotating residential-proxy addresses commonly associated with an "anyIP"-style network; and a single Entra SessionID persisting unchanged across many different source IP addresses, ASNs, and geographic locations. The client consistently claims to be Microsoft Outlook while the actual user-agent string is anomalous — Firefox 131.0, Firefox 151.0, or Python Requests — rather than a genuine Outlook/Edge client.
Once inside a tenant, the actor queries Microsoft Graph (GET https://graph.microsoft.com/v1.0/users with role/department filters for payroll, HR, finance, and administrative terms; GET https://graph.microsoft.com/v1.0/users?$top=999 for broad enumeration; and GET https://graph.microsoft.com/v1.0/me) using the user-agent 'axios/1.18.1', triggering the Microsoft Defender XDR alert "Suspicious Exchange Online Graph Reconnaissance Activity." The actor then reads mailbox content via MailItemsAccessed "Bind" operations (ClientAppId 5d661950-3475-41cd-a2c3-d671a3162bc1 claiming Microsoft Outlook, undocumented APIId c999ed3e-27ae-4cb3-b3a2-46b056af63d3, user-agent 'Client=REST;Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0'), searching for messages containing payroll, invoices, payments, banking, benefits, and internal-documentation keywords. This collection is tightly synchronized across tenants — Arctic Wolf observed 18 MailItemsAccessed events across 3 different tenants within 26 seconds, and 11 events across 2 tenants within 43 seconds — indicating centralized, automated orchestration rather than manual, per-victim browsing.
Most intrusions deliberately avoid classic business-email-compromise indicators (MFA-method changes, password resets, new device registration, outbound lateral phishing, evasive inbox-rule creation) to minimize detection surface while the actor harvests information. In a smaller set of hands-on-keyboard intrusions, the actor does take direct action: creating inbox rules that move messages containing "direct deposit" or "bank" keywords to Deleted Items or Conversation History and mark them read (hiding HR correspondence about fraudulent payroll-change requests from the victim), and in limited cases changing the account password or MFA methods to entrench persistence. This interactive activity originates from a distinct hosting-provider ASN (AS27176, Datawagon LLC) rather than the residential-proxy ranges used for routine token refresh. Storm-2755's documented endgame is direct financial theft: sending an email such as "Question about direct deposit" while impersonating the compromised employee, then socially engineering HR staff into manually changing direct-deposit details, or directly manipulating HR SaaS platforms (e.g., Workday) to redirect the victim's salary to an attacker-controlled bank account.
Targeting spans healthcare, education, manufacturing, government, and professional-services organizations across the United States, Canada, and Europe, with hundreds of organizations affected as of Arctic Wolf's August 2026 reporting.
MITRE ATT&CK techniques used in TL-2026-1970
Persistence
T1078.004 Valid Accounts: Cloud Accounts; T1556.006 Modify Authentication Process: Multi-Factor Authentication
Discovery
T1087.003 Account Discovery: Email Account; T1087.004 Account Discovery: Cloud Account
Command and Control
T1090.002 Proxy: External Proxy
Collection
T1114.002 Email Collection: Remote Email Collection
Credential Access
T1528 Steal Application Access Token; T1539 Steal Web Session Cookie; T1557 Adversary-in-the-Middle
Stealth
T1564.008 Hide Artifacts: Email Hiding Rules
Initial Access
T1566.002 Phishing: Spearphishing Link
Resource Development
T1583.001 Acquire Infrastructure: Domains; T1583.008 Acquire Infrastructure: Malvertising; T1608.006 Stage Capabilities: SEO Poisoning
Impact
Affected products and versions in Payroll Pirates (Storm-2755) Abuse Microsoft Graph for
- Microsoft — Microsoft 365 / Entra ID (OAuth session and Microsoft Graph API)
Vulnerable versions: all tenants without phishing-resistant MFA and session-lifetime controls
Remediation for Payroll Pirates (Storm-2755) Abuse Microsoft Graph for
Immediate actions
- Search Entra ID sign-in logs for error code 90014 (missing OAuth nonce) and error code 50199 correlated with subsequent successful sign-ins from residential-proxy ASNs
- Hunt for a single Entra SessionID observed across multiple distinct IP addresses, ASNs, or geolocations, especially with ~8-hour recurrence
- Alert on user-agent claiming Microsoft Outlook while the underlying client string is Firefox 131.0/151.0 or Python Requests
- Alert on Microsoft Graph queries from user-agent 'axios/1.18.1' (or Axios generally) enumerating /users with payroll/HR/finance filters or $top=999
- Review and remove inbox rules that move messages containing 'direct deposit' or 'bank' to Deleted Items/Conversation History and mark them read
- Block or sinkhole known AiTM domains (bluegraintours[.]com and any mslogin./msonline./msauth.-pattern impersonation domains) at DNS/proxy
- Force password reset and full session/refresh-token revocation for any account showing the above indicators
Workarounds
- Restrict or monitor third-party OAuth app / Graph API access with anomalous user-agents (e.g., axios) against mailbox and directory scopes
- Restrict outbound email or DLP scanning for subject lines matching '[Organization] :ATTN: Review messages. Ref id:' and 'Question about direct deposit'
Longer-term hardening
- Deploy phishing-resistant MFA (FIDO2/WebAuthn or certificate-based) for all users with access to payroll, HR, or finance systems
- Enable Continuous Access Evaluation (CAE) and Conditional Access token-lifetime policies to shorten the window a stolen OAuth session remains usable
- Apply Conditional Access location/device-compliance policies to reduce the value of a stolen session cookie replayed from unmanaged residential-proxy infrastructure
- Add SOC monitoring for the Microsoft Defender XDR 'Suspicious Exchange Online Graph Reconnaissance Activity' alert and MailItemsAccessed volume anomalies
- Require secondary out-of-band verification (phone callback to a known number) for any payroll direct-deposit change request, including changes made directly in HR SaaS platforms such as Workday
- User awareness training on voicemail-themed phishing lures and SEO-poisoned 'Office 365' search results
Timeline of Payroll Pirates (Storm-2755) Abuse Microsoft Graph for
- Microsoft Security Blog publishes the first public analysis of Storm-2755 "payroll pirate" attacks, documenting SEO-poisoned/malvertised bluegraintours[.]com AiTM sign-in pages, Axios token-replay, inbox-rule concealment of direct-deposit correspondence, and social-engineering of HR/Workday to redirect Canadian employees' salaries.
- Arctic Wolf observes a broader wave of the AiTM/Microsoft Graph reconnaissance activity throughout July 2026, expanding beyond the originally reported Canadian scope to hundreds of organizations across healthcare, education, manufacturing, government, and professional services in the U.S., Canada, and Europe.
- Arctic Wolf publishes "Payroll Pirates: Strange New Tides in Business Email Compromise," detailing the Google Meet/Google Ads/Amazon S3 redirect chain, AiTM kit fingerprinting endpoint, Entra sign-in error codes 90014 and 50199, residential-proxy session-refresh cadence, and cross-tenant synchronized MailItemsAccessed collection.
- The Hacker News, TechNadu, Tech Times, and Security Online publish coverage summarizing the Arctic Wolf findings and the Storm-2755 overlap for a broader defender audience.
- Threadlinqs Intelligence Platform completes deep-dive research on the campaign for detection-engineering and SOC-hunting guidance.
- GBHackers publishes "Payroll Pirates Abuse Microsoft Graph to Find HR and Finance Staff After Account Compromise," the article that triggered this threat's ingestion into the platform.
Sources cited for Payroll Pirates (Storm-2755) Abuse Microsoft Graph for
- Payroll Pirates Abuse Microsoft Graph to Find HR and Finance Staff After Account Compromise
- Payroll Pirates: Strange New Tides in Business Email Compromise
- Investigating Storm-2755: "Payroll pirate" attacks targeting Canadian employees
- Microsoft 365 AitM Phishing Hijacks Accounts to Collect Payroll and Finance Emails
- Standard MFA Won't Stop Hackers Who Route Microsoft 365 Phishing Through Google
- Payroll Pirates AiTM Campaign Hits Microsoft 365 Across Sectors
- Storm-2755's Silent Payroll Heist Targeting Canada
- The Payroll Pirate Campaign Leverages AiTM Session Hijacking to Target HR Departments
Threats related to Payroll Pirates (Storm-2755) Abuse Microsoft Graph for
- Microsoft 365 AitM Phishing Campaign Hijacks Sessions via Residential Proxies to Harvest Payroll and Finance Emails
- Storm-2755 'Payroll Pirate' Campaign: AiTM Phishing and Workday Account Hijacking Targeting Canadian Employees (CVE-2025-27152)
- Greatness PhaaS Platform Spoofs RingCentral in Adversary-in-the-Middle and Device Code Phishing Campaign Targeting Microsoft 365 Accounts
- Misconfigured Server Exposes Three Evilginx-Based Microsoft 365 Phishing Operations (codemado, mail-argenta, saroula01)
- Deepfake Investment Scam Ads Funnel Victims Into Fake-Analyst WhatsApp Groups (GoldBull, CoinLure)
- Mass Phishing and Scam Campaign Abuses 450+ Compromised Google Workspace Accounts in the Education Sector
Detection coverage for TL-2026-1970
As of 2026-08-10, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-1970 across Splunk SPL, Microsoft KQL and Sigma, covering 13 indicator(s) of compromise. The whole corpus is readable without an account; a free account unlocks full detection query text in Splunk SPL, Microsoft KQL and Sigma; paid tiers add raw indicator values, correlation and the MCP server. Threadlinqs MCP server · View plans.