When I talk to home health administrators about MFA, the conversation usually ends the same way: "We have MFA. We are protected from credential theft." That statement was more accurate eighteen months ago than it is today. Since September 2025, multiple threat groups — some financially motivated, some state-affiliated — have scaled a phishing technique that does not steal passwords and does not break MFA. It uses Microsoft's own website to gain access to your staff's Microsoft 365 accounts, and the only visible sign that something has gone wrong is a staff member entering a code on a page that is genuinely, legitimately microsoft.com.
This is OAuth device code flow abuse — a technique that weaponises a legitimate Microsoft authentication workflow to obtain long-lived access tokens that provide full API access to email, files, calendar, and collaboration tools without ever touching the user's password or intercepting their MFA code. The attack kits that automate it — Square Phish and Graphish are the most widely deployed — are available in criminal markets and are increasingly used against healthcare targets, including home health agencies, specifically because healthcare organisations heavily rely on Microsoft 365 for clinical coordination and billing communication.
Understanding this attack is not optional for home health administrators who have invested in MFA as their primary credential protection. MFA does not stop this attack. Conditional Access policies configured correctly do. The difference between those two things — and what specifically needs to be configured to close the gap — is what this article addresses.
What OAuth Device Code Flow Is — And Why It Exists
Before explaining how this attack works, it helps to understand what OAuth device code flow is and why Microsoft built it. The device code flow is a legitimate authentication mechanism designed for devices that cannot display a browser or accept keyboard input — smart TVs, printers, IoT devices, or command-line tools running on servers. These devices cannot complete a standard browser-based login where you type credentials into a webpage. Instead, they display a code and direct the user to visit microsoft.com/devicelogin on a separate device — typically a smartphone or laptop — where they enter the code and authenticate. The authentication happens on the second device; the original device receives the resulting access token.
This is a reasonable solution to a real problem. The workflow is legitimate, the page is genuine, and the process works as designed. The attack exploits the fact that nothing in this workflow looks suspicious to a user — because nothing technically is. The attacker simply generates the device code for their own attacker-controlled application instead of a legitimate device, delivers that code to the victim through a phishing email, and waits for the victim to enter it on Microsoft's real page. When they do, Microsoft issues an access token — to the attacker's application, not the victim's device.
The Attack Sequence: What Your Staff Member Actually Experiences
The abstract explanation of OAuth device code abuse is less instructive than understanding what a home health billing coordinator or clinical supervisor actually experiences when this attack targets them. Here is the realistic attack sequence as it plays out in a home health context.
Step 1: The Phishing Email Arrives
The email appears to come from Microsoft 365 IT Support, from the agency's administrator, or — in the more sophisticated campaigns targeting healthcare — from the agency's EHR vendor requesting re-authorisation of the EHR's Microsoft 365 integration. The subject line might read: "Action Required: Re-authorize Microsoft 365 Access for [EHR Platform] Integration" or "Your Microsoft 365 session has expired — verification required to restore access."
The email is convincing for a specific reason: it does not ask the recipient to click a link to a fake website. It asks them to visit microsoft.com/devicelogin — Microsoft's real website — and enter a provided code. The email may contain a QR code that opens the page on a mobile device, or a direct link to the legitimate Microsoft URL. Advanced versions embed the code in what appears to be a PDF attachment with official Microsoft branding.
Step 2: The Staff Member Visits Microsoft's Real Website
The staff member navigates to microsoft.com/devicelogin — the genuine, legitimate Microsoft authentication page. The browser shows a valid SSL certificate for microsoft.com. The page looks exactly like any other Microsoft authentication page because it is. No security tool flags it as malicious. The browser's phishing protection does not trigger. The staff member feels safe because they are on Microsoft's actual domain.
They enter the code from the email. They may be prompted to sign in to their Microsoft 365 account if they are not already signed in — and they do, completing their normal MFA authentication on the same real Microsoft page. Their MFA code is entered to Microsoft's legitimate authentication system. Nothing about this interaction involves a fake page or a credential-stealing tool.
Step 3: The Attacker Receives the Access Token
When the staff member completes the device code authentication, Microsoft issues an OAuth access token to the application identified in the device code request — which is the attacker's application, not the legitimate EHR integration the email described. The attacker's application receives this token immediately. The token provides full Microsoft Graph API access to the staff member's account: all emails, all files in OneDrive and SharePoint, calendar appointments, Teams conversations, and any other Microsoft 365 data the account can access.
The token also comes with a refresh token — a long-lived credential that allows the attacker to obtain new access tokens without any further user interaction, even if the staff member changes their password later. The refresh token persists until it is explicitly revoked. The attacker now has persistent, authenticated access to everything in the staff member's Microsoft 365 account, obtained through Microsoft's own authentication system, with no stolen credentials and no intercepted MFA codes.
Step 4: The Damage That Follows
With persistent Microsoft 365 access, the attacker's objectives in a home health targeting campaign are specific. The email archive contains years of clinical communication — patient names, home addresses, care coordination correspondence, physician order confirmations, and billing correspondence with Medicare and insurance companies. This data is valuable for both data exfiltration (the HIPAA breach) and for social engineering further targets (using the compromised account to send trusted-looking phishing emails to physicians, referral partners, and other staff). The SharePoint or OneDrive files may contain patient lists, care plans, HIPAA documentation, and financial records. Teams conversations may contain clinical discussions with patient information that are now fully readable by the attacker.
The billing coordinator whose account is compromised through this technique provides the attacker with access to Medicare correspondence, insurance company communications, prior authorisation documentation, and payment-related email threads — precisely the data that enables BEC attacks targeting billing payment redirection. The clinical supervisor whose account is compromised provides access to the care coordination communication that enables targeted social engineering of physicians and referral hospital discharge planners.
Why MFA Does Not Stop This Attack
This is the question that most home health administrators ask when they first understand the OAuth device code attack: if we have MFA enforced, why does this work? The answer requires understanding what MFA actually protects against and what it does not.
MFA protects against an attacker who has stolen a password trying to authenticate with that password. When an attacker enters a stolen username and password into a Microsoft login page, MFA requires a second factor — the authenticator app approval, the SMS code, the hardware token — that the attacker does not have. The authentication fails. The attacker cannot access the account.

