Web threats / Phishing kits

N0va phishing kit

N0va is a Microsoft device-code phishing kit with a browser fingerprint, a small controller API and an evolving numeric XOR wrapper. We have matched it on 21 sites since 4 September.

N0va in numbers

Since 4 September, the first N0va match in our records, counted on 12 October 2026. How we count.

Sites with N0va code21
Sites with a match in the last 30 days14
New sites in September14
Sites captured since 25 September8

ANY.RUN named the device-code kit

ANY.RUN published the name N0va for a kit that uses Microsoft's device authorization flow. Its page asks for an email address, but it does not reproduce the password form. Instead, it asks its controller to start a device-code session.

The reply supplies a short user code and Microsoft's verification address. N0va copies the code to the clipboard, opens the Microsoft page and tells the visitor to complete the sign-in there. The kit polls a separate status route until the reply reports token_captured. The credentials and MFA response stay on the Microsoft page, while the resulting tokens belong to the session that N0va started.

The browser is measured before the code completes

N0va creates a session identifier and keeps it in local storage as webmail_session_id. The initialization request can include the email, requested scope, flow type, prompt profile and a link identifier. A separate request sends a browser fingerprint that includes the WebGL renderer.

The page follows the polling interval returned by the controller instead of using a fixed delay. Its status responses distinguish an unfinished session, a captured token and an error. Those related initialization, status and fingerprint routes are a stronger family signature than a generic Microsoft device-code prompt.

The wrapper changed while the flow stayed recognizable

An early captured page hid the application in a long array of numbers. A short loader XORed every value, reconstructed String.fromCharCode and the document open, write and close calls from split strings, then replaced the wrapper with the decoded page.

A later capture used a rebuilt numeric array and different XOR values around the same controller flow. It also added an anti-bot score and flags, an optional invisible Turnstile token and a secret tied to the incoming page link. Flow and prompt parameters became configurable. The visual page changed, but the session identifier, device-code reply and controller status remained recognizable.

What we see

MonthNew sites
September14
October so far7

We captured 8 N0va sites since 25 September. 0 of them were running WordPress.

Finding N0va in source and traffic

Inspect the original response before allowing scripts to rewrite the document. Search for a large numeric array decoded with XOR, split strings that reconstruct document-writing methods, and the webmail_session_id key. In network traffic, connect the initialization request, returned user code and verification address, fingerprint upload and repeated status checks. The combination with a token_captured state identifies the complete N0va flow.