Skip to content

Security1 publisher2 min readPublished

A signed Windows binary can stand up a real Microsoft login and pocket the tokens

Huntress showed WWAHost.exe rendering attacker JavaScript with full WinRT access, driving a genuine login.microsoftonline.com prompt. The tokens survive MFA. The gate is Developer Mode.

The Watch · Security desk

Illustration accompanying A signed Windows binary can stand up a real Microsoft login and pocket the tokens

What happened

  • The proof of concept opened a genuine Microsoft login served from login.microsoftonline.com, rendered by the signed process, with no address bar and no browser.
  • After the researcher entered a password and completed MFA, the access and refresh tokens arrived in the attacker's listener a second later.
  • The whole chain fails closed without Developer Mode: Add-AppxPackage -Register returns 0x80073CFF unless Developer Mode or an enterprise sideloading policy is set.

Compiled by The WatchSomething wrong?How this is made

Why it matters

  • capability OAuth token theft becomes possible with no phishing domain, no lookalike page, and nothing unsigned on disk, because the login flow is Microsoft's own.
  • constraint MFA does not stop this: the user authenticates legitimately and the attacker keeps the tokens that come back.
  • decision Defenders have to check for an enterprise sideloading policy, not just the Developer Mode toggle, since AllowAllTrustedApps is the likelier way a managed fleet is exposed.

The chain works because every part of it is a Microsoft-signed binary doing what it was built to do. WWAHost.exe hosts web content inside AppX packages [2]. When the package manifest declares ContentUriRules with WindowsRuntimeAccess="all", the JavaScript that WWAHost renders inherits the full Windows Runtime API surface, including WebAuthenticationBroker, the system-level OAuth handler [3].

Huntress researcher wired up a proof of concept: a throwaway sideloaded package, a page hosted on a Kali box, and a WebAuthenticationBroker call using Microsoft Office's own client ID [4]. Running it opened a real Microsoft login dialog on the desktop, served from login.microsoftonline.com, rendered by a signed Microsoft process, with no address bar and no browser [5]. The researcher typed the password, completed MFA, and the access and refresh tokens landed in the listener a second later [6].

There is no phishing page and no lookalike domain, because the login flow is Microsoft's own [7]. The tokens survive MFA because the user authenticates legitimately and the attacker captures what comes back [8].

The constraint is Developer Mode. Without it, Add-AppxPackage -Register fails immediately with 0x80073CFF [9]. Enabling Developer Mode requires local administrator rights [10]. Once it is on, the rest of the chain runs as a standard user with no further admin, no UAC prompt, and no code signing [11].

That toggle is not on by default on standard end-user machines [12]. It is common on development machines, CI/CD runners, and cloud VMs, and it can be pushed across a fleet by GPO [13]. The researcher is precise about the real gate: Developer Mode or an enterprise sideloading policy, the AllowAllTrustedApps path, and the enterprise policy is the more likely way a managed fleet ends up vulnerable at scale [14]. The GPO mitigation closes both [15].

One detail bounds the technique's shelf life. This is the legacy WebAuthenticationBroker, which Microsoft has steered developers away from [16]. WWAHost itself does not appear in LOLBAS; the researcher found it by pulling a catalog of Microsoft-signed binaries that are not on that list and filtering for anything that could reach the network and execute what it got back [1]. Signature-based defenses have no obvious reason to flag any step, because every component is a trusted, signed Microsoft binary [17].

The test ran on Windows 11 24H2, build 26100, with Developer Mode enabled [18].

What to watch

  • Whether Microsoft treats the legacy WebAuthenticationBroker path as a bug to fix or as intended AppX behavior.
  • Any sign of the technique moving from proof of concept to in-the-wild use against fleets with Developer Mode or AllowAllTrustedApps enabled.
  • Whether EDR vendors add detection for WWAHost.exe rendering remote content, given nothing in the chain is unsigned.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories