{"id":13960,"date":"2026-06-30T10:03:34","date_gmt":"2026-06-30T10:03:34","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2026\/06\/30\/eviltokens-phishing-breaches-finance-firms-using-ghost-code-across-u-s-and-european-businesses\/"},"modified":"2026-06-30T10:03:34","modified_gmt":"2026-06-30T10:03:34","slug":"eviltokens-phishing-breaches-finance-firms-using-ghost-code-across-u-s-and-european-businesses","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2026\/06\/30\/eviltokens-phishing-breaches-finance-firms-using-ghost-code-across-u-s-and-european-businesses\/","title":{"rendered":"EvilTokens Phishing Breaches Finance Firms Using \u201cGhost\u201d Code Across U.S. and European Businesses"},"content":{"rendered":"<p>    EvilTokens Phishing Breaches Finance Firms Using \u201cGhost\u201d Code Across U.S. and European Businesses<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n    <!-- no image --><br \/>\n \t<BR><br \/>\n<BR><\/BR><\/p>\n<div>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/any.run\/malware-trends\/eviltokens\/?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=mtt&amp;utm_term=290626\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>EvilTokens<\/strong><\/a>\u00a0can keep serious account-takeover activity out of your SOC\u2019s view by relying on \u201cghost\u201d code that only surfaces after the browser decrypts it. Because of this, analysis that looks only at the static URL can overlook the part of the attack that matters most \u2014 leaving teams with partial evidence, slower triage, and a longer window of exposure to a\u00a0possible Microsoft\u00a0365 compromise.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">Inspecting the page at the <strong><a href=\"https:\/\/any.run\/cybersecurity-blog\/in-browser-data-inspection\/?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=blog&amp;utm_term=290626\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">full browser level<\/a><\/strong> closes that gap.\u00a0By watching\u00a0how the page actually behaves once it executes in a dynamic environment, teams get the proof they need to confirm the threat and act on it sooner.\u00a0<\/p>\n<h2 id=\"h-key-takeaways-nbsp\" class=\"wp-block-heading\">\n<strong>Key Takeaways<\/strong>\u00a0<\/h2>\n<ul class=\"wp-block-list\">\n<li>EvilTokens\u00a0conceals critical stages of its phishing flow behind browser-side decryption, leaving a <a href=\"https:\/\/cybersecuritynews.com\/eviltokens-hides-its-attack-flow-in-the-browser\/\" target=\"_blank\" rel=\"noreferrer noopener\">blind spot for static URL analysis<\/a>.\u00a0<\/li>\n<li>The kit takes advantage of Microsoft\u2019s genuine device-login process to obtain account access without ever directly capturing the victim\u2019s password.\u00a0<\/li>\n<li>Evidence gathered at the browser level lets SOC teams cut down on manual review, skip needless escalations, and reach containment decisions faster.\u00a0<\/li>\n<li>\n<a href=\"https:\/\/any.run\/threat-intelligence-lookup\/?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=landing_lookup&amp;utm_term=290626\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>Threat Intelligence<\/strong><\/a> pivots tie a single\u00a0EvilTokens\u00a0session to related kits, infrastructure, indicators, and the broader landscape of device-code phishing.\u00a0<\/li>\n<li>The decrypted code and its behavioral patterns can also feed stronger phishing signatures, threat-hunting efforts, and custom detection logic.\u00a0<\/li>\n<\/ul>\n<h2 id=\"h-who-nbsp-eviltokens-nbsp-targets-regions-and-industries-most-exposed-nbsp\" class=\"wp-block-heading\">\n<strong>Who\u00a0EvilTokens\u00a0Targets: Regions and Industries Most Exposed<\/strong>\u00a0<\/h2>\n<p class=\"wp-block-paragraph\">ANY.RUN Threat Intelligence data shows that recent\u00a0EvilTokens\u00a0activity is clustered primarily across the United States and Europe. <a href=\"https:\/\/intelligence.any.run\/analysis\/lookup?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=lookup_query&amp;utm_term=290626#%7B%22query%22:%22threatName:%5C%22eviltokens%5C%22%22,%22dateRange%22:7%7D\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>View recent\u00a0EvilTokens\u00a0activity in ANY.RUN Threat Intelligence\u00a0<\/strong><\/a><\/p>\n<p class=\"wp-block-paragraph\">So far, the kit has been seen going after organizations in:\u00a0<\/p>\n<ul class=\"wp-block-list\">\n<li>Managed security services\u00a0<\/li>\n<li>Technology\u00a0<\/li>\n<li>Manufacturing\u00a0<\/li>\n<li>Education\u00a0<\/li>\n<li>Banking\u00a0<\/li>\n<li>Consulting and financial services\u00a0<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">The pattern points to\u00a0EvilTokens\u00a0focusing on environments where a single compromised Microsoft 365 account can open the door to sensitive data, internal conversations, and linked business services.\u00a0<\/p>\n<h2 id=\"h-why-nbsp-eviltokens-nbsp-becomes-a-blind-spot-for-soc-teams-nbsp\" class=\"wp-block-heading\">\n<strong>Why\u00a0EvilTokens\u00a0Becomes a Blind Spot for SOC Teams<\/strong>\u00a0<\/h2>\n<p class=\"wp-block-paragraph\">EvilTokens\u00a0remains\u00a0one of the phishing kits ANY.RUN\u00a0observes\u00a0most often in its weekly threat reports.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">A recent analysis session\u00a0demonstrated\u00a0how the kit\u00a0leans on\u00a0Microsoft Device Code Phishing to take over accounts without lifting credentials outright. Rather than stealing a password, it persuades the victim to walk through Microsoft\u2019s legitimate device-login flow and, without realizing it, grant access to their own account. <\/p>\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/app.any.run\/tasks\/55d3ead7-c07a-4fb1-aa42-8c397d1a0f8a?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=task&amp;utm_term=290626\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Check analysis session with recent\u00a0EvilTokens\u00a0attack\u00a0<\/a><\/strong><\/p>\n<p class=\"wp-block-paragraph\">The reason the attack is hard to investigate comes down to how it hides its phishing content. The landing-page HTML is encrypted with AES-GCM and only becomes readable once the browser decrypts it and\u00a0renders\u00a0it into the DOM.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">That means static URL checks and network-level detection may record the\u00a0initial\u00a0response while never revealing what the victim\u00a0actually sees\u00a0on screen. The result is an incomplete verdict, extra manual checks, avoidable escalations, and delayed containment.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">This visibility gap turns into a business problem. When a SOC\u00a0can\u2019t\u00a0observe\u00a0what a suspicious page does after it runs in the browser, the fallout reaches well past a slower investigation. It can mean:\u00a0<\/p>\n<ul class=\"wp-block-list\">\n<li>A longer window of exposure to a\u00a0possible Microsoft\u00a0365 account takeover\u00a0<\/li>\n<li>Slower containment and response decisions\u00a0<\/li>\n<li>More alerts pushed up to senior security staff\u00a0<\/li>\n<li>A heavier investigation load and higher operational cost\u00a0<\/li>\n<li>Incomplete evidence for blocking the surrounding infrastructure\u00a0<\/li>\n<li>Greater odds of unauthorized access to corporate data and services\u00a0<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">To confirm the threat quickly, teams need to see what unfolds once the page starts executing. In the walkthrough below, we use ANY.RUN\u2019s in-browser data inspection to surface the decrypted page, follow the requests driving the device-code flow, and gather evidence for both response and future detection.\u00a0<\/p>\n<p class=\"has-background wp-block-paragraph\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 87%,rgb(169,184,195) 100%)\"><em>Surface phishing activity hidden inside the browser. Give your SOC the evidence to confirm threats and respond sooner.<\/em> <a href=\"https:\/\/any.run\/enterprise?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=enterprise&amp;utm_term=290626#contact-sales\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>Contact ANY.RUN<\/strong>\u00a0<\/a><\/p>\n<p class=\"wp-block-paragraph\">Using in-browser data inspection within ANY.RUN\u2019s <strong><a href=\"https:\/\/any.run\/features\/?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=features&amp;utm_term=290626\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Interactive Sandbox<\/a><\/strong>, investigators can study cases like this across several layers:\u00a0<\/p>\n<ul class=\"wp-block-list\">\n<li>\n<strong>HTML DOM Changes:\u00a0<\/strong>Records how the DOM shifts over time and lets investigators compare snapshots of the same page. It flags byte-level differences from the\u00a0previous\u00a0DOM state, making it simple to pinpoint the exact moment the decrypted phishing page appears.\u00a0<\/li>\n<li>\n<strong>HTTP Requests:\u00a0<\/strong>Opens up\u00a0visibility into browser-level network traffic \u2014 requests covering HTML, JavaScript, Fetch\/XHR, scripts, static assets, binaries, archives, and other request types.\u00a0<\/li>\n<li>\n<strong>URL Details:\u00a0<\/strong>Shows the final URL and domain, SSL certificate data, DNS A records, request statistics, and any detection signatures that\u00a0fired.\u00a0<\/li>\n<li>\n<strong>Indicators:\u00a0<\/strong>Pulls together indicators of compromise tied to the page, such as top-level domains, subdomains, URL endpoints, file hashes, IP addresses, and ASN details.\u00a0<\/li>\n<\/ul>\n<h2 id=\"h-triage-walkthrough-using-browser-data-nbsp\" class=\"wp-block-heading\">\n<strong>Triage Walkthrough Using Browser Data<\/strong>\u00a0<\/h2>\n<p class=\"wp-block-paragraph\">The network traffic reveals that\u00a0EvilTokens\u00a0serves\u00a0the landing page inside an HTTP response encrypted with AES-GCM. The decrypted HTML DOM can then be reviewed in the Browser Data panel:\u00a0<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjQhCWBzpo8mBqW-NEqFxAvkAJKFX7wFQKVuBUt6td3tWNJhFUBdyKC1J1lrChN5CncboHBmBv9fkyK4l5Vmw_ZoYtAJ3TU-vJgU3xVgdHnMTKQhmAbpSDh0LTSXF2xruGd1zus0Z4BzrnH0ggr-Y6j0dakC5bKrevUCWnKD820tNduMtCY_-WPYcOcpYs\/s16000\/1%2520%281%29.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\"><em>In-browser data investigation panel inside the interactive sandbox<\/em>\u00a0<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">From here, you can step through snapshots of the DOM structure once the AES-GCM-encrypted code has been decrypted. The HTML DOM Changes fields hold the following details:\u00a0<\/p>\n<ul class=\"wp-block-list\">\n<li>\n<strong>Timeshift:\u00a0<\/strong>How much time has passed since the analysis began when the DOM snapshot was taken.\u00a0<\/li>\n<li>\n<strong>Score:\u00a0<\/strong>The risk rating assigned to that state of the page. In the screenshot it reads 100, matching the signatures triggered by that DOM state.\u00a0<\/li>\n<li>\n<strong>Size diff:\u00a0<\/strong>How the DOM size changed\u00a0relative\u00a0to the\u00a0previous\u00a0snapshot.\u00a0<\/li>\n<li>\n<strong>Size:\u00a0<\/strong>The size of the current DOM snapshot.\u00a0<\/li>\n<li>\n<strong>Page:\u00a0<\/strong>The domain linked to the snapshot.\u00a0<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">The figure worth focusing on is the green +48-byte size diff. Selecting the fourth snapshot shows which line was removed and which was added versus the\u00a0previous\u00a0snapshot. Looking at the Render panel on the left, we can confirm that a user code has surfaced on the page \u2014 the attackers will use that code later to seize the victim\u2019s Microsoft 365 account.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">This indicates the landing page pulled the user code from the backend dynamically through a Fetch\/XHR request, which can be inspected in the HTTP Requests tab. Lining up the\u00a0Timeshift\u00a0values of the HTTP request and the DOM snapshot, we can determine that the user code came from a request to the\u00a0\/api\/device\/start\u00a0endpoint. Clicking the URL confirms it:\u00a0<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjdrBXc5noqDQ9yaN3r5T_ebLDuIHXmsWqLr9jlqJ2dIjyVuzls1uHfcWl9d86q7vcwmJi_V2a31IrZh5MEbHQ5YwdGVPgUrA9xbe6V2xxnj7Pv4oy6hQ3glT4HNSSXrGJ2JIw-Zq8GmKpIEEN8XOe3cYuTfT4iqgLBwjQUDfsYAXTXE2-9NUWPSROVBbY\/s16000\/2%2520%281%29.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\"><em>HTTP response from\u00a0EvilTokens<\/em>\u00a0<\/figcaption><\/figure>\n<h2 id=\"h-pivoting-from-a-single-nbsp-eviltokens-nbsp-session-to-the-wider-threat-nbsp\" class=\"wp-block-heading\">\n<strong>Pivoting from a Single\u00a0EvilTokens\u00a0Session to the Wider Threat<\/strong>\u00a0<\/h2>\n<p class=\"wp-block-paragraph\">What you learn from one analysis session can be used to surface related phishing infrastructure and activity. Begin with URL Details, where the code exposed in the DOM set off the Microsoft OAuth device-code phishing signature.\u00a0<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiDc5090qcqa78L8o845-uZXpoSYTAArwGCw6QGpO2wVDUbG-86xdcJkGUq-Zx7gEhGYj5Moa3kGQc8IlyEK_jmuPdwvIamj1KuAmlAqpckL9T5ACR3dSyF9x2a7cdJL_5KFtTm0ra2Esutae5GjjUMZ933lqaxHWbq-f9fGdo4Wpu8hrG6iXT0pye-ioU\/s16000\/3%2520%283%29.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\"><em>URL details displayed inside ANY.RUN sandbox<\/em>\u00a0<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">Searching that signature in ANY.RUN\u2019s <a href=\"https:\/\/any.run\/threat-intelligence-lookup\/?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=landing_lookup&amp;utm_term=290626\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>Threat Intelligence<\/strong><\/a> turns up other phishing resources built on similar code patterns:\u00a0<\/p>\n<p class=\"wp-block-paragraph\"><strong>TI Query:\u00a0<\/strong><a href=\"https:\/\/intelligence.any.run\/analysis\/lookup?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=lookup_query&amp;utm_term=290626#%7B%22query%22:%22ruleName:%5C%22%5EMicrosoft%20OAuth%20device-code%20phishing%20has%20been%20detected%24%5C%22%22,%22dateRange%22:7%7D\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>ruleName:\u201d^Microsoft OAuth device-code phishing has been detected$\u201d\u00a0<\/strong><\/a><\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgu9FHW0aC8zlH02hNOe0wAuJs4kyQOXTWfskjQaM8mb-O_Zm8nnKrq31dl66JWTBqPz4gveBlfUkoftFv-pd-sWCwp36Wz9WsORzGa4FtdMl9cXQsT5CvO0ePH-byo57BYvteEl1GGW1MnXiGO9rBtUa9RSSQbc5S12wIJZ3OYYi2AbJRL-IGD4dSinYo\/s16000\/4%2520%281%29.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\"><em>Search for analysis sessions that triggered the \u201cMicrosoft OAuth device-code phishing has been detected\u201d signature<\/em>\u00a0<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">The results make\u00a0clear\u00a0this behavior\u00a0isn\u2019t\u00a0exclusive to\u00a0EvilTokens. Other kits use comparable code and techniques, letting teams move past a single isolated case and recognize a broader cluster of related threats.\u00a0<\/p>\n<p class=\"has-background wp-block-paragraph\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 91%,rgb(169,184,195) 100%)\"><em>Grow one investigation into the wider threat picture. Sharpen detection and shut down related attacks before they spread.<\/em> <a href=\"https:\/\/any.run\/enterprise?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=enterprise&amp;utm_term=290626#contact-sales\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>Improve threat detection<\/strong>\u00a0<\/a><\/p>\n<p class=\"wp-block-paragraph\">To narrow the search to\u00a0EvilTokens\u00a0specifically, use this query:\u00a0<\/p>\n<p class=\"wp-block-paragraph\"><strong>TI Query:\u00a0<a href=\"https:\/\/intelligence.any.run\/analysis\/lookup?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=lookup_query&amp;utm_term=290626#%7B%22query%22:%22threatName:%5C%22eviltokens%5C%22%22,%22dateRange%22:7%7D\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">threatName:\u201deviltokens\u201d<\/a>\u00a0<\/strong><\/p>\n<p class=\"wp-block-paragraph\">Threat Intelligence data confirms that recent\u00a0EvilTokens\u00a0activity is concentrated\u00a0mainly across\u00a0the United States and Europe:\u00a0<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhvZl9aCAmkGVZ5RFPxnmgveCpZlNSrDZn3dSxw0ikFw8NaGFAtMMBp7PjdxGBi9CC5_WVNQNsgW6pvciU8FmEqG0ma854IHL5oF3nuUgI5pC1aoPr3gUCf5l1qN5dFGo1sLZUsAwS-8r9IfMHLMnZ-LNoWQlUAcVLUyGWN57rCvXsruTeb1Kc48DAZfNo\/s16000\/5%2520%281%29.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\"><em>Threat activity targeting specific regions<\/em>\u00a0<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">Teams can also follow device-code phishing more broadly with the\u00a0oauth-ms-phish\u00a0threat tag:\u00a0<\/p>\n<p class=\"wp-block-paragraph\"><strong>TI Query:\u00a0<a href=\"https:\/\/intelligence.any.run\/analysis\/lookup?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=lookup_query&amp;utm_term=290626#%7B%22query%22:%22threatName:%5C%22oauth-ms-phish%5C%22%22,%22dateRange%22:7%7D\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">threatName:\u201doauth-ms-phish\u201d<\/a>\u00a0<\/strong><\/p>\n<p class=\"wp-block-paragraph\">This wider search helps teams spot related campaigns even when they ride on a different phishing kit or infrastructure.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">Next, head back to Browser Data and open the\u00a0Indicators\u00a0tab. Not every artifact gathered during analysis belongs\u00a0in\u00a0your detection rules. The observed IP address, for instance, sits in the\u00a0CloudflareNet\u00a0autonomous system \u2014 blocking or\u00a0alerting on\u00a0that shared infrastructure could generate false positives and disrupt legitimate services.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">The session\u2019s more specific indicators \u2014 the domain, URI, and hash \u2014 make stronger candidates for further validation and detection:\u00a0<\/p>\n<p class=\"wp-block-paragraph\"><strong>TI Query:\u00a0<a href=\"https:\/\/intelligence.any.run\/analysis\/lookup?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=lookup_query&amp;utm_term=290626#%7B%22query%22:%22url:%5C%22\/api\/device\/start%5C%22%20or%20%20domainName:%5C%22emp01825.workers.dev%24%5C%22%20or%20md5:%5C%22fcd1b654a0b3e8f85ca7cfdafe494d4b%5C%22%22,%22dateRange%22:7%7D\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">url:\u201d\/api\/device\/start\u201d or domainName:\u201demp01825.workers.dev$\u201d or md5:\u201dfcd1b654a0b3e8f85ca7cfdafe494d4b\u201d<\/a>\u00a0<\/strong><\/p>\n<p class=\"wp-block-paragraph\">By pivoting across signatures, threat names, tags, and carefully chosen IOCs, teams can link an individual alert to wider phishing activity, broaden detection coverage, and get ahead of related attacks.\u00a0<\/p>\n<h2 id=\"h-breaking-down-the-nbsp-eviltokens-nbsp-attack-logic-nbsp\" class=\"wp-block-heading\">\n<strong>Breaking Down the\u00a0EvilTokens\u00a0Attack Logic<\/strong>\u00a0<\/h2>\n<p class=\"wp-block-paragraph\">The HTML DOM Changes view\u00a0isn\u2019t\u00a0only useful for triage \u2014 it also supports deeper code analysis. By studying the decrypted page logic, teams can spot recurring patterns that may feed low-level phishing detection rules.\u00a0<\/p>\n<h3 id=\"h-gate-check-and-decoy-delivery-nbsp\" class=\"wp-block-heading\">\n<strong>Gate Check and Decoy Delivery<\/strong>\u00a0<\/h3>\n<p class=\"wp-block-paragraph\">The first fragment shows the client issuing a gate-check request to:\u00a0<\/p>\n<pre class=\"wp-block-code\"><code>\/api\/device\/gate\/&lt;PAGE_ID&gt;\u00a0<\/code><\/pre>\n<p class=\"wp-block-paragraph\">The backend responds with a\u00a0killed\u00a0flag that decides what comes next. If the phishing flow is still\u00a0live, the attack\u00a0proceeds. If not, the victim is\u00a0served\u00a0a decoy page styled to look like a Microsoft error or an expired-link notice.\u00a0This gives operators a way to switch off the phishing page or mask its real behavior when particular visitors or conditions show up.\u00a0<\/p>\n<h3 id=\"h-requesting-and-displaying-the-user-code-nbsp\" class=\"wp-block-heading\">\n<strong>Requesting and Displaying the User Code<\/strong>\u00a0<\/h3>\n<p class=\"wp-block-paragraph\">The next fragment fires a POST request to\u00a0_startUrl:\u00a0<\/p>\n<pre class=\"wp-block-code\"><code>\/api\/device\/start\u00a0<\/code><\/pre>\n<p class=\"wp-block-paragraph\">The backend returns the\u00a0userCode,\u00a0sessionId, and verification URI. The script then saves the session, builds\u00a0_verificationUrl, and writes the user code into the DOM for the victim.\u00a0<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgwUJXoM5dwQAe2dIXAiyXtaxzytgrM1giX8hfPghSnzEMpbOwzypkAYqPPoY564BDMJ_LoOTXzlwsTvCKo2cKzLv4r25oAwPdFmf43VRGeu6A3KhbyT3VJEDIlZOzuPNdokmj31h6UazcGH-ZQNmHc3tHDocpeTC4twPM2F5v4ORHTMkj_MT3P_0qpk7Y\/s16000\/6%2520%281%29.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\"><em>Code used to request the user code<\/em>\u00a0<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">This is the very activity seen earlier in the HTTP Requests view, tying the browser-side code directly to the network request and to the user code shown on the page.\u00a0<\/p>\n<h3 id=\"h-monitoring-the-device-code-session-nbsp\" class=\"wp-block-heading\">\n<strong>Monitoring the Device-Code Session<\/strong>\u00a0<\/h3>\n<p class=\"wp-block-paragraph\">The frontend then tracks the device-code session\u2019s status through:\u00a0<\/p>\n<pre class=\"wp-block-code\"><code>\/api\/device\/status\/{sessionId}\u00a0<\/code><\/pre>\n<p class=\"wp-block-paragraph\">It sends repeated GET requests carrying the current\u00a0sessionId\u00a0and receives the latest status back from the backend. Once the status flips to\u00a0completed, the script stops polling, shows a success screen, and\u00a0forwards\u00a0the victim to the genuine OneDrive site.\u00a0<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjROTrd9vuvjGRNH8J1XOFNAzgeFhkyWU6T-NlSEj-sff5uuYO8I2YE_GmMyy3T9z8vSI6ltwmKIwQxYDqkaX_jEJ3NyDWPAZQbYic5jm-T2NhIXmr5sw7Bk2MNAJnTI3bNCdqmRaggfHP1bRutzAIbFnF3gQGIhKt7s8DyK0R4HlVB-byTtazhs08upzk\/s16000\/7%2520%281%29.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\"><em>Authorization status polling<\/em>\u00a0<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">That closing redirect makes the attack look successful and\u00a0above-board, while the attackers hold onto the access granted through the finished Microsoft device-login flow. By joining the decrypted DOM code with browser requests and the visible page changes, teams can rebuild the full phishing logic and surface the code patterns, endpoints, and behaviors that may harden future detection.\u00a0<\/p>\n<h2 id=\"h-turning-hidden-browser-activity-into-faster-soc-decisions-nbsp\" class=\"wp-block-heading\">\n<strong>Turning Hidden Browser Activity into Faster SOC Decisions<\/strong>\u00a0<\/h2>\n<p class=\"wp-block-paragraph\">The\u00a0EvilTokens\u00a0investigation highlights the real-world payoff of browser-level evidence. Rather than stopping at the encrypted HTTP response, teams can see the decrypted DOM,\u00a0identify\u00a0the request that produced the user code, follow the device-code session, and\u00a0pull out\u00a0artifacts for detection and threat hunting. This sharpens the investigation workflow in several ways:\u00a0<\/p>\n<ul class=\"wp-block-list\">\n<li>\n<strong>Faster triage and fewer needless escalations:\u00a0<\/strong>Tier 1 analysts can verify suspicious URLs using direct browser-level evidence instead of leaning on partial indicators.\u00a0That cuts uncertainty,\u00a0speeds up verdicts, and keeps more benign cases from landing on senior teams.\u00a0<\/li>\n<li>\n<strong>Smoother handoff and quicker response:\u00a0<\/strong>When escalation is\u00a0warranted, Tier 2 inherits the full attack context \u2014 DOM changes, HTTP requests, triggered signatures, rendered content, and relevant indicators. That reduces duplicated effort and supports faster containment.\u00a0<\/li>\n<li>\n<strong>Stronger detection engineering:\u00a0<\/strong>Decrypted page code, browser requests, endpoints, and behavioral patterns offer solid raw material for custom phishing signatures, hunting hypotheses, and detection rules grounded in observed attacker behavior.\u00a0<\/li>\n<li>\n<strong>More focused threat hunting:\u00a0<\/strong>Teams can pivot from one\u00a0EvilTokens\u00a0session to related domains, code patterns, kits, and device-code attacks inside ANY.RUN\u2019s <strong><a href=\"https:\/\/any.run\/threat-intelligence-lookup\/?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=landing_lookup&amp;utm_term=290626\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Threat Intelligence<\/a><\/strong>, pushing the investigation past a single URL.\u00a0<\/li>\n<li>\n<strong>Clearer reporting:\u00a0<\/strong>Structured findings convert tangled browser activity into evidence\u00a0that\u2019s\u00a0easier to apply during triage, escalation, incident response, and stakeholder updates.\u00a0<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">For SOC and MSSP teams, that adds up to less time spent manually piecing browser activity back together, smarter use of senior staff, and a quicker route from a <a href=\"https:\/\/cybersecuritynews.com\/url-phishing-is-draining-socs-how-to-cut-triage-time-and-catch-incidents-early\/\" target=\"_blank\" rel=\"noreferrer noopener\">suspicious URL to a confident response<\/a>.\u00a0<\/p>\n<p class=\"has-background wp-block-paragraph\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 91%,rgb(169,184,195) 100%)\"><em>Turn hidden browser activity into clear response evidence. Cut investigation delays and help your SOC move faster.<\/em> <a href=\"https:\/\/any.run\/enterprise?utm_source=li_eha&amp;utm_medium=newsletter&amp;utm_campaign=evil_tokens&amp;utm_content=enterprise&amp;utm_term=290626#contact-sales\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>Accelerate response now<\/strong>\u00a0<\/a><\/p>\n<p class=\"wp-block-paragraph\">\n<p>The post <a href=\"https:\/\/cybersecuritynews.com\/eviltokens-phishing-breaches-finance-firms-using-ghost-code-across-u-s-and-european-businesses\/\">EvilTokens Phishing Breaches Finance Firms Using \u201cGhost\u201d Code Across U.S. and European Businesses<\/a> appeared first on <a href=\"https:\/\/cybersecuritynews.com\/\">Cyber Security News<\/a>.<\/p>\n<\/div>\n<p> \t<BR><br \/>\n <BR><\/BR><br \/>\n    Balaji N<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/cybersecuritynews.com\/eviltokens-phishing-breaches-finance-firms-using-ghost-code-across-u-s-and-european-businesses\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>EvilTokens Phishing Breaches Finance Firms Using \u201cGhost\u201d Code Across U.S. and European Businesses EvilTokens\u00a0can keep serious account-takeover activity out of your SOC\u2019s view by relying on \u201cghost\u201d code that only surfaces after the browser decrypts it. Because of this, analysis that looks only at the static URL can overlook the part of the attack that [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1405,63],"tags":[130],"class_list":["post-13960","post","type-post","status-publish","format-standard","hentry","category-any-run","category-cyber-security-news","tag-cyber-security-news"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/13960"}],"collection":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/comments?post=13960"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/13960\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=13960"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=13960"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=13960"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}