Tycoon 2FA

Technique
Credential phishing Authorization phishing
Sub-technique
AitM Device code phishing
Targeted platforms
Microsoft Google
Also tracked as
Storm-1747

Updated · First published

Current breakthrough rate

Inactive

  1. Mar 2026: High
  2. Apr 2026: High
  3. May 2026: High
  4. Jun 2026: High
  5. Jul 2026: Inactive
  6. Aug 2026: Inactive

Tycoon 2FA is an adversary-in-the-middle phishing-as-a-service platform targeting Microsoft 365 and Google accounts, tracked by Microsoft as Storm-1747. Once the dominant AiTM kit, it combines rotating custom CAPTCHA gates, layered JavaScript obfuscation and AES-encrypted relay traffic to resist analysis. Push detections dropped sharply from June 2026.

URL patterns

  • Domain name is typically a short, pronounceable nonsense word (such as coostosoo, joolioshu, liviogea) and often registered on an uncommon TLD (such as .company, .finance, .email, .com.de, .it.com, .za.com, .sa.com)
  • The landing page URL path is often a short random string containing a ! symbol - for example, /U0!JfZbhJkZ/
    • Auto-grab email addresses may be separated from the path with a $ symbol
  • After passing the custom CAPTCHA, the URL path will typically be a 10-15 character lowercase alpanumeric slug with an id parameter value consisting of a long chain of hex groups joined with hyphens - similar to an extra long, non-standard UUID
    • https://disisho[.]ru/txys2fiky3psc?id=c543ef673adb49b85-aa7449953d0-a4b76d237668b3-62f41160ec8-eadff1a14-6b93e3d75-0d4211a554-a03f1c60702e42a-5cedb0567d4bbf6-58671e1f01cb-9f4acb4a0d04704f0

Custom CAPTCHAs

Tycoon 2FA makes use of a wide variety of custom CAPTCHAs pages that have regularly changed over time. These are used as an initial gate prior to serving the cloned login pages in an attempt to defeat automated analysis by security scanners.

Tycoon CAPTCHAs
Screenshot captured 30 Oct 2025
urlscan ↗
Screenshot captured 31 Oct 2025
urlscan ↗
Screenshot captured 31 Oct 2025
urlscan ↗
Screenshot captured 20 Feb 2026
urlscan ↗
Screenshot captured 31 Mar 2026
urlscan ↗
Screenshot captured 30 Apr 2026
urlscan ↗
Screenshot captured 12 May 2026
urlscan ↗

Network traffic

Kill switch check

Before displaying the cloned login page, a cross-origin GET request is sent to a central server. If the response body is simply 0, then the phishing page is displayed. Any other response and the attack aborts by displaying benign decoy content instead.

Session initiation

Multiple recognisable network requests are made during the preparation of the phishing page. Starting with a multi-part form POST request containing the parameters:

  • bltpg
  • sid

When operational, the response from the server is the JSON {"status":"success"}.

Then a standard URL encoded form data POST request with the parameter data containing the auto-grab email address. The response from the server is JSON containing an encrypted URL to redirect to for the credential capture stage:

JSON
{"data":"<base64 encoded blob>", "key":"<32 character hex>"}

Microsoft credential relay

User actions and credentials are sent cross-origin to a central backend server as base64 encoded, encrypted blobs in the data parameter of POST requests. For example, the checkemail step that occurs after the victim enters their email address has the following plaintext format:

Plaintext
/john.doe@example.com/Cqic/chrome/198.51.100.44/United Kingdom/1/1

/<email>/<bltpg>/<browser>/<ip>/<country>/<appnum>/<getresponse>

The data is encrypted with AES in CBC mode using static IV and key (1234567890123456) with the CryptoJS library.

Randomised URLs are generated on the client side by appending a random suffix to the base relay URL. The random suffix is created according to a regular expression pattern using the randexp JavaScript library.

Google credential relay

User actions and credentials are sent over a WebSockets channel using the Socket.IO library. Events sent over the sockets channel include: send_to_browser, response_from_browser, user_reconnected, browser_connected, recieveid, getprevresponse, responserecieved.

Evasion techniques

How this tool resists automated analysis and takedown.

  • Anti-bot gate

    Interstitial checks a visitor must clear before the lure is served.

    • Rotating custom CAPTCHA designs
    • Client-side bot filter on lure page
  • Browser fingerprinting

    Client-side signals used to tell a real victim from an analysis environment.

    • Automation globals (WebDriver, PhantomJS)
    • Bot/scanner User-Agent regex
    • Burp User-Agent check
    • WebGL, languages, window.chrome checks
    • Screen size and CPU timing checks
  • Network filtering

    Decisions made on where the request comes from rather than what it looks like.

    • Hosting provider ASN blocklist
  • Cloaking

    Benign content served in place of the lure when a visitor fails a check.

    • Benign decoy site redirects
  • Anti-indexing

    Keeping infrastructure out of crawlers, feeds and each other’s reach.

    • noindex, nofollow robots meta tag
    • RandExp-randomised URL paths
    • Per-victim single-use link ids
  • HTML & JS obfuscation

    Hiding page logic from static inspection of the delivered source.

    • 3-5 nested self-decrypting JS layers
    • Reversed and sliced strings
    • obfuscator.io string-array packing
  • C2 obfuscation

    Disguising the traffic between the phishing page and its backend.

    • AES-128-CBC with static key and IV
    • Binary-encoded then base64 beacons
  • Anti-debugging

    Frustrating manual inspection of a page while it runs.

    • debugger-statement timing trap
    • DevTools shortcuts blocked
    • Right-click context menu disabled

Representative samples

Sample URLs

  1. hxxps://madoutrio[.]company/pY!MH4PGWzT/

    urlscan
  2. hxxps://supabase[.]thoufruyea[.]my[.]id/0L99OLeTl6wzC@n/

    urlscan
  3. hxxps://ember-9kad[.]vaceapo[.]sa[.]com/xYiu!iaAR2AALxw0dEy1gNxh/

    urlscan
  4. hxxps://olxqf[.]qlunvowc[.]es/7QnBceubw@96RtTpSL/

    urlscan

Public analysis

Third-party research on this tool.

See more

TechniqueSub-techniqueTools
Authorization phishingDevice code phishing
Malicious copy & pasteClickFix