❌

Normal view

Received β€” 9 February 2026 ⏭ Microsoft Security Blog

Analysis of active exploitation of SolarWinds Web Help Desk

The Microsoft Defender Research Team observed a multi‑stage intrusion where threat actors exploited internet‑exposed SolarWinds Web Help Desk (WHD)Β instances to get an initial foothold and then laterally moved towards other high-value assets within the organization. However, we have not yet confirmed whether the attacks are related to the most recent set of WHD vulnerabilities disclosed on January 28, 2026, such as CVE-2025-40551 and CVE-2025-40536 or stem from previously disclosed vulnerabilities like CVE-2025-26399. Since the attacks occurred in December 2025 and on machines vulnerable to both the old and new set of CVEs at the same time, we cannot reliably confirm the exact CVE used to gain an initial foothold.

This activity reflects a common but high-impact pattern: a single exposed application can provide a path to full domain compromise when vulnerabilities are unpatched or insufficiently monitored. In this intrusion, attackers relied heavily on living-off-the-land techniques, legitimate administrative tools, and low-noise persistence mechanisms. These tradecraft choices reinforce the importance of Defense in Depth, timely patching of internet-facing services, and behavior-based detection across identity, endpoint, and network layers.

In this post, the Microsoft Defender Research Team shares initial observations from the investigation, along with detection and hunting guidance and security posture hardening recommendations to help organizations reduce exposure to this threat. Analysis is ongoing, and this post will be updated as additional details become available.

Technical details

The Microsoft Defender Research Team identified active, in-the-wild exploitation of exposed SolarWinds Web Help Desk (WHD). Further investigations are in-progress to confirm the actual vulnerabilities exploited, such as CVE-2025-40551 (critical untrusted data deserialization) and CVE-2025-40536 (security control bypass) and CVE-2025-26399. Successful exploitation allowed the attackers to achieve unauthenticated remote code execution on internet-facing deployments, allowing an external attacker to execute arbitrary commands within the WHD application context.

Upon successful exploitation, the compromised service of a WHD instance spawned PowerShell to leverage BITS for payload download and execution:

On several hosts, the downloaded binary installed components of the Zoho ManageEngine, a legitimate remote monitoring and management (RMM) solution, providing the attacker with interactive control over the compromised system. The attackers then enumerated sensitive domain users and groups, including Domain Admins. For persistence, the attackers established reverse SSH and RDP access. In some environments, Microsoft Defender also observedΒ and raised alerts flagging attacker behavior on creating a scheduled task to launch a QEMU virtual machine under the SYSTEM account at startup, effectively hiding malicious activity within a virtualized environment while exposing SSH access via port forwarding.

SCHTASKS /CREATE /V1 /RU SYSTEM /SC ONSTART /F /TN "TPMProfiler" /TR 		"C:\Users\\tmp\qemu-system-x86_64.exe -m 1G -smp 1 -hda vault.db -		device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::22022-:22"

On some hosts, threat actors used DLL sideloading by abusing wab.exe to load a malicious sspicli.dll. The approach enables access to LSASS memory and credential theft, which can reduce detections that focus on well‑known dumping tools or direct‑handle patterns. In at least one case, activity escalated to DCSync from the original access host, indicating use of high‑privilege credentials to request password data from a domain controller. In ne next figure we highlight the attack path.

Mitigation and protection guidance

  • Patch and restrict exposure now. Update WHD CVE-2025-40551, CVE-2025-40536 and CVE-2025-26399, remove public access to admin paths, and increase logging on Ajax Proxy.
  • Evict unauthorized RMM. Find and remove ManageEngine RMM artifacts (for example, ToolsIQ.exe) added after exploitation.
  • Reset and isolate. Rotate credentials (start with service and admin accounts reachable from WHD), and isolate compromised hosts.

Microsoft Defender XDR detectionsΒ 

Microsoft Defender provides pre-breach and post-breach coverage for this campaign. Customers can rapidly identify vulnerable but unpatched WHD instances at risk using MDVM capabilities for the CVE referenced above and review the generic and specific alerts suggested below providing coverage of attacks across devices and identity.

TacticObserved activityMicrosoft Defender coverage
Initial AccessExploitation of public-facing SolarWinds WHD via CVE‑2025‑40551, CVE‑2025‑40536 and CVE-2025-26399.Microsoft Defender for Endpoint
– Possible attempt to exploit SolarWinds Web Help Desk RCE

Microsoft Defender Antivirus
– Trojan:Win32/HijackWebHelpDesk.A

Microsoft Defender Vulnerability Management
– devices possibly impacted by CVE‑2025‑40551 and CVE‑2025‑40536 can be surfaced by MDVM
ExecutionΒ Compromised devices spawned PowerShell to leverage BITS for payload download and executionΒ Microsoft Defender for Endpoint
– Suspicious service launched
– Hidden dual-use tool launch attempt – Suspicious Download and Execute PowerShell Commandline
Lateral MovementReverse SSH shell and SSH tunneling was observedMicrosoft Defender for Endpoint
– Suspicious SSH tunneling activity
– Remote Desktop session

Microsoft Defender for Identity
– Suspected identity theft (pass-the-hash)
– Suspected over-pass-the-hash attack (forced encryption type)
Persistence / Privilege EscalationAttackers performed DLL sideloading by abusing wab.exe to load a malicious sspicli.dll file.Β Microsoft Defender for Endpoint
– DLL search order hijack
Credential AccessActivity progressed to domain replication abuse (DCSync)Β Β Microsoft Defender for Endpoint
– Anomalous account lookups
– Suspicious access to LSASS service
– Process memory dump -Suspicious access to sensitive data

Microsoft Defender for Identity
-Suspected DCSync attack (replication of directory services)

Microsoft Defender XDR Hunting queries Β Β 

Security teams can use the advanced hunting capabilities in Microsoft Defender XDR to proactively look for indicators of exploitation.

The following Kusto Query Language (KQL) query can be used to identify devices that are using the vulnerable software:

1) Find potential post-exploitation execution of suspicious commands

DeviceProcessEvents 
| where InitiatingProcessParentFileName endswith "wrapper.exe" 
| where InitiatingProcessFolderPath has \\WebHelpDesk\\bin\\ 
| where InitiatingProcessFileName  in~ ("java.exe", "javaw.exe") or InitiatingProcessFileName contains "tomcat" 
| where FileName  !in ("java.exe", "pg_dump.exe", "reg.exe", "conhost.exe", "WerFault.exe") 
 
 
let command_list = pack_array("whoami", "net user", "net group", "nslookup", "certutil", "echo", "curl", "quser", "hostname", "iwr", "irm", "iex", "Invoke-Expression", "Invoke-RestMethod", "Invoke-WebRequest", "tasklist", "systeminfo", "nltest", "base64", "-Enc", "bitsadmin", "expand", "sc.exe", "netsh", "arp ", "adexplorer", "wmic", "netstat", "-EncodedCommand", "Start-Process", "wget"); 
let ImpactedDevices =  
DeviceProcessEvents 
| where isnotempty(DeviceId) 
| where InitiatingProcessFolderPath has "\\WebHelpDesk\\bin\\" 
| where ProcessCommandLine has_any (command_list) 
| distinct DeviceId; 
DeviceProcessEvents 
| where DeviceId in (ImpactedDevices | distinct DeviceId) 
| where InitiatingProcessParentFileName has "ToolsIQ.exe" 
| where FileName != "conhost.exe"

2) Find potential ntds.dit theft

DeviceProcessEvents
| where FileName =~ "print.exe"
| where ProcessCommandLine has_all ("print", "/D:", @"\windows\ntds\ntds.dit")

3) Identify vulnerable SolarWinds WHD Servers

 DeviceTvmSoftwareVulnerabilities 
| where CveId has_any ('CVE-2025-40551', 'CVE-2025-40536', 'CVE-2025-26399')

References

This research is provided by Microsoft Defender Security Research with contributions fromΒ Sagar Patil, Hardik Suri, Eric Hopper, and Kajhon Soyini.

Learn moreΒ Β Β 

ReviewΒ ourΒ documentationΒ to learnΒ more about our real-time protection capabilities and see howΒ toΒ enable them within yourΒ organization.Β Β 

Learn more aboutΒ securing Copilot Studio agents with Microsoft DefenderΒ 

Learn more aboutΒ Protect your agents in real-time during runtime (Preview) – Microsoft Defender for Cloud Apps | Microsoft Learn

ExploreΒ how to build and customize agents with Copilot Studio Agent BuilderΒ Β 

The post Analysis of active exploitation of SolarWinds Web Help Desk appeared first on Microsoft Security Blog.

Received β€” 6 February 2026 ⏭ Microsoft Security Blog

New Clickfix variant β€˜CrashFix’ deploying Python Remote Access Trojan

In January 2026, Microsoft Defender Experts identified a new evolution in the ongoing ClickFix campaign. This updated tactic deliberately crashes victims’ browsers and then attempts to lure users into executing malicious commands under the pretext of restoring normal functionality.

This variant represents a notable escalation in ClickFix tradecraft, combining user disruption with social engineering to increase execution success while reducing reliance on traditional exploit techniques. The newly observed behavior has been designated CrashFix, reflecting a broader rise in browser‑based social engineering combined with living‑off‑the‑land binaries and Python‑based payload delivery. Threat actors are increasingly abusing trusted user actions and native OS utilities to bypass traditional defences, making behaviour‑based detection and user awareness critical.

Technical Overview

Crashfix Attack life cycle.

This attack typically begins when a victim searches for an ad blocker and encounters a malicious advertisement. This ad redirects users to the official Chrome Web Store, creating a false sense of legitimacy around a harmful browser extension. The extension impersonates the legitimate uBlock Origin Lite ad blocker to deceive users into installing it.

Sample Data:

File Origin Referrer URL: https://chromewebstore.google[.]com
FileOriginURL: https://clients2[.]googleusercontent[.]com/crx/blobs/AdNiCiWgWaD8B4kV4BOi-xHAdl_xFwiwSmP8QmSc6A6E1zgoIEADAFK6BjirJRdrSZzhbF76CD2kGkCiVsyp7dbwdjMX-0r9Oa823TLI9zd6DKnBwQJ3J_98pRk8vPDsYoHiAMZSmuXxBj8-Ca_j38phC9wy0r6JCZeZXw/CPCDKMJDDOCIKJDKBBEIAAFNPDBDAFMI_2025_1116_1842_0.crx?authuser=0 
FileName: cpcdkmjddocikjdkbbeiaafnpdbdafmi_42974.crx
Folderpath: C:\Users\PII\AppData\Local\Temp\scoped_dir20916_1128691746\cpcdkmjddocikjdkbbeiaafnpdbdafmi_42974.crx
SHA256: c46af9ae6ab0e7567573dbc950a8ffbe30ea848fac90cd15860045fe7640199c

UUID is transmitted to an attacker-controlled‑ typosquatted domain, www[.]nexsnield[.]com, where it is used to correlate installation, update, and uninstall activities.

To evade detection and prevent users from immediately associating the malicious browser extension with subsequent harmful behavior, the payload employs a delayed execution technique. Once activated, the payload causes browser issues only after a period, making it difficult for victims to connect the disruptions to the previously installed malicious extension.

The core malicious functionality performs a denial-of‑service attack against the victim’s browser by creating an infinite loop. Eventually, it presents a fake CrashFix security warning through a pop‑up window to further mislead the user.

Fake CrashFix Popup window.

A notable new tactic in this ClickFix variant is the misuse of the legitimate native Windows utility finger.exe, which is originally intended to retrieve user information from remote systems. The threat actors are seen abusing this tool by executing the following malicious command through the Windows dialog box.

Illustration of Malicious command copied to the clipboard.
Malicious Clipboard copied Commands ran by users in the Windows dialog box.

The native Windows utility finger.exe is copied into the temporary directory and subsequently renamed to ct.exe (SHA‑256: beb0229043741a7c7bfbb4f39d00f583e37ea378d11ed3302d0a2bc30f267006). This renaming is intended to obscure its identity and hinder detection during analysis.

The renamed ct.exe establishes a network connection to the attacker controlled‑ IP address 69[.]67[.]173[.]30, from which it retrieves a large charcode payload containing obfuscated PowerShell. Upon execution, the obfuscated script downloads an additional PowerShell payload, script.ps1 (SHA‑256:
c76c0146407069fd4c271d6e1e03448c481f0970ddbe7042b31f552e37b55817
), from the attacker’s server at 69[.]67[.]173[.]30/b. The downloaded file is then saved to the victim’s AppData\Roaming directory, enabling further execution.

Obfuscated PowerShell commands downloading additional payload script.ps1.

The downloaded PowerShell payload, script.ps1, contains several layers of obfuscation. Upon de-obfuscation, the following behaviors were identified:

  • The script enumerates running processes and checks for the presence of multiple analysis or debugging tools such as Wireshark, Process Hacker, WinDbg, and others.
  • It determines whether the machine is domain-joined, as‑ part of an environment or privilege assessment.
  • It sends a POST request to the attacker controlled‑ endpoint 69[.]67[.]173[.]30, presumably to exfiltrate system information or retrieve further instructions.
Illustration of Script-Based Anti-Analysis Behavior.

Because the affected host was domain-joined, the script proceeded to download a backdoor onto the device. This behavior suggests that the threat actor selectively deploys additional payloads when higher‑ value targetsβ€”such as enterprise‑ joined‑ systems are identified.

Script.ps1 downloading a WinPython package and a python-based payload for domain-joined devices.

The component WPy64‑31401 is a WinPython packageβ€”a portable Python distribution that requires no installation. In this campaign, the attacker bundles a complete Python environment as part of the payload to ensure reliable execution across compromised systems.

The core malicious logic resides in the modes.py file, which functions as a Remote Access Trojan (RAT). This script leverages pythonw.exe to execute the malicious Python payload covertly, avoiding visible console windows and reducing user suspicion.

The RAT, identified as ModeloRAT here, communicates with the attacker’s command‑and‑control (C2) servers by sending periodic beacon requests using the following format:

http://{C2_IPAddress}:80/beacon/{client_id}


Illustration of ModeloRAT C2 communication via HTTP beaconing.

Further establishing persistence by creating a Run registry entry. It modifies the python script’s execution path to utilize pythonw.exe and writes the persistence key under:

HKCU\Software\Microsoft\Windows\CurrentVersion\Run
This ensures that the malicious Python payload is executed automatically each time the user logs in, allowing the attacker to maintain ongoing access to the compromised system.

The ModeloRAT subsequently downloaded an additional payload from a Dropbox URL, which delivered a Python script named extentions.py. This script was executed using python.exe

Python payload extension.py dropped via Dropbox URL.

The ModeloRAT initiated extensive reconnaissance activity upon execution. It leveraged a series of native Windows commandsβ€”such as nltest, whoami, and net useβ€”to enumerate detailed domain, user, and network information.

Additionally, in post-compromise infection chains, Microsoft identified an encoded PowerShell command that downloads a ZIP archive from the IP address 144.31.221[.]197. The ZIP archive contains a Python-based payload (udp.pyw) along with a renamed Python interpreter (run.exe), and establishes persistence by creating a scheduled task named β€œSoftwareProtection,” designed to blend in as legitimate software protection service, and which repeatedly executes the malicious Python payload every 5 minutes.

PowerShell Script downloading and executing Python-based Payload and creating a scheduled task persistence.

Mitigation and protection guidance

  • Turn onΒ cloud-delivered protectionΒ in Microsoft Defender Antivirus or the equivalent for your antivirus product to cover rapidly evolving attacker tools and techniques. Cloud-based machine learning protections block a majority of new and unknown variants.Β 
  • RunΒ endpoint detection and response (EDR) in block modeΒ so that Microsoft Defender for Endpoint can block malicious artifacts, even when your non-Microsoft antivirus does not detect the threat or when Microsoft Defender Antivirus is running in passive mode. EDR in block mode works behind the scenes to help remediate malicious artifacts that are detected post-breach.Β 
  • As a best practice, organizations may apply network egress filtering and restrict outbound access to protocols, ports, and services that are not operationally required. Disabling or limiting network activity initiated by legacy or rarely used utilities, such as the finger utility (TCP port 79), can help reduce the surface attack and limit opportunities for adversaries to misuse built-in system tools.
  • EnableΒ network protectionΒ in Microsoft Defender for Endpoint.Β 
  • Turn onΒ web protectionΒ in Microsoft Defender for Endpoint.Β 
  • Encourage users to use Microsoft Edge and other web browsers that supportΒ SmartScreen, whichΒ identifiesΒ and blocks malicious websites, including phishing sites,Β scamΒ sites, and sites thatΒ containΒ exploits and host malware.Β 
  • Enforce MFA on all accounts, remove users excluded from MFA, and strictlyΒ require MFAΒ from all devices, in all locations,Β at all times.Β 
  • Remind employees that enterprise or workplace credentials should not be stored in browsers or password vaults secured with personal credentials. Organizations can turn off passwordΒ syncingΒ in browser on managed devices usingΒ Group Policy.Β 
  • Turn on the followingΒ attack surface reduction rulesΒ to block or audit activity associated with this threat:Β 

Microsoft Defender XDR detectionsΒ  Β 

Microsoft Defender XDR customers can refer to the list of applicable detections below. Microsoft Defender XDR coordinates detection, prevention, investigation, and response across endpoints, identities, email, and apps to provide integrated protection against attacks like the threat discussed in this blog.

Customers with provisioned access can also use Microsoft Security Copilot in Microsoft Defender to investigate and respond to incidents, hunt for threats, and protect their organization with relevant threat intelligence.

TacticΒ Observed activityΒ Microsoft Defender coverageΒ 
Β Execution– Execution of malicious python payloads using Python interpreter – Scheduled task process launchedMicrosoft Defender for Endpoint – Suspicious Python binary execution – Suspicious scheduled Task Process launched
Β Persistence             – Registry Run key CreatedMicrosoft Defender for Endpoint – Anomaly detected in ASEP registry
Defense Evasion– Scheduled task created to mimic & blend in as legitimate software protection serviceΒ Microsoft Defender for Endpoint – Masqueraded task or service
Discovery– Queried for installed security products. – Enumerated users, domain, network informationMicrosoft Defender for Endpoint – Suspicious security software Discovery  – Suspicious Process Discovery  – Suspicious LDAP query
Exfiltration– Finger Utility used to retrieve malicious commands from attacker-controlled serversMicrosoft Defender for Endpoint  – Suspicious use of finger.exe Β 
Malware– Malicious python payload observedMicrosoft Defender for Endpoint – Suspicious file observed

Threat intelligence reports

Microsoft customers can use the following reports in Microsoft products to get the most up-to-date information about the threat actor, malicious activity, and techniques discussed in this blog. These reports provide intelligence, protection information, and recommended actions to prevent, mitigate, or respond to associated threats found in customer environments.

Microsoft Defender XDR

Hunting queriesΒ 

Microsoft Defender XDR customers can run the following queries to find related activity in their environment:

Use the below query to identify the presence of Malicious chrome Extension

DeviceFileEvents
| where FileName has "cpcdkmjddocikjdkbbeiaafnpdbdafmi"

Identify the malicious to identify Network connection related to Chrome Extension

DeviceNetworkEvents
| where RemoteUrl has_all ("nexsnield.com")

Use the below query to identify the abuse of LOLBIN Finger.exe

DeviceProcessEvents
| where InitiatingProcessCommandLine has_all ("cmd.exe","start","finger.exe","ct.exe") or ProcessCommandLine has_all ("cmd.exe","start","finger.exe","ct.exe")
| project-reorder Timestamp,DeviceId,InitiatingProcessCommandLine,ProcessCommandLine,InitiatingProcessParentFileName

Use the below query to Identify the network connection to malicious IP address

DeviceNetworkEvents
| where InitiatingProcessCommandLine has_all ("ct.exe","confirm")
| distinct RemoteIP
| join kind=inner DeviceNetworkEvents on RemoteIP
)
| project Timestamp, DeviceId, DeviceName, RemoteIP, RemoteUrl, InitiatingProcessCommandLine, InitiatingProcessParentFileName

Use the below query to identify the network connection to Beacon IP address

DeviceNetworkEvents
| where InitiatingProcessCommandLine has_all ("pythonw.exe","modes.py")
| where RemoteIP !in ("", "127.0.0.1")
| project-reorder Timestamp, DeviceName,DeviceId,TenantId,OrgId,RemoteUrl,InitiatingProcessCommandLine,InitiatingProcessParentFileName

Use the below query to identify the Registry RUN persistence

DeviceRegistryEvents
| where InitiatingProcessCommandLine has_all ("pythonw.exe","modes.py")

Use the below query to identify the scheduled task persistence

DeviceEvents
| where ActionType == "ScheduledTaskCreated"
| where InitiatingProcessCommandLine has_all ("run.exe", "udp.pyw")

Indicators of compromise

IndicatorTypeDescription
nexsnield[.]comURLMalicious Browser extension communicating with the attacker-controlled domain Β 
69[.]67[.]173[.]30IP AddressAttacker-controlled infrastructure retrieving malicious commands and additional payloads
144[.]31[.]221[.]197IP AddressAttacker-controlled infrastructure retrieving malicious commands and additional payloads
199[.]217[.]98[.]108IP AddressAttacker-controlled infrastructure retrieving malicious commands and additional payloads
144[.]31[.]221[.]179IP AddressAttacker-controlled infrastructure downloading malicious commands and additional payloads
hxxps[:]//www[.]dropbox[.]com/scl/fi/znygol7goezlkhnwazci1/a1.zipURLAdversary hosted python payload
158[.]247[.]252[.]178IP AddressModeloRAT C2 Server
170[.]168[.]103[.]208IP AddressModeloRAT C2 Server
c76c0146407069fd4c271d6e1e03448c481f0970ddbe7042b31f552e37b55817SHA-256Second stage PowerShell payload – Script.ps1
c46af9ae6ab0e7567573dbc950a8ffbe30ea848fac90cd15860045fe7640199c

01eba1d7222c6d298d81c15df1e71a492b6a3992705883c527720e5b0bab701a

6f7c558ab1fad134cbc0508048305553a0da98a5f2f5ca2543bc3e958b79a6a3

3a5a31328d0729ea350e1eb5564ec9691492407f9213f00c1dd53062e1de3959

6461d8f680b84ff68634e993ed3c2c7f2c0cdc9cebb07ea8458c20462f8495aa

37b547406735d94103906a7ade6e45a45b2f5755b9bff303ff29b9c2629aa3c5
SHA-256Malicious Chrome Extension

Microsoft Sentinel

Microsoft Sentinel customers can use the TI Mapping analytics (a series of analytics all prefixed with β€˜TI maps) to automatically match the malicious domain indicators mentioned in this blog post with data in their workspace. If the TI Map analytics are not currently deployed, customers can install the Threat Intelligence solution from the Microsoft Sentinel Content Hub to have the analytics rule deployed in their Sentinel workspace.

References

This research is provided by Microsoft Defender Security Research with contributions fromΒ Sai Chakri Kandalai and Kaustubh Mangalwedhekar.

Learn moreΒ Β Β 

ReviewΒ ourΒ documentationΒ to learnΒ more about our real-time protection capabilities and see howΒ toΒ enable them within yourΒ organization.Β Β 

Learn more aboutΒ securing Copilot Studio agents with Microsoft DefenderΒ 

Learn more aboutΒ Protect your agents in real-time during runtime (Preview) – Microsoft Defender for Cloud Apps | Microsoft LearnΒ Β 

ExploreΒ how to build and customize agents with Copilot Studio Agent BuilderΒ Β 

The post New Clickfix variant β€˜CrashFix’ deploying Python Remote Access Trojan appeared first on Microsoft Security Blog.

Infostealers without borders: macOS, Python stealers, and platform abuse

Infostealer threatsΒ are rapidly expanding beyondΒ traditional Windows-focused campaigns, increasingly targeting macOS environments,Β leveragingΒ cross-platform languages such as Python, and abusing trusted platforms and utilities to silently deliver credential-stealing malware at scale. Since late 2025, Microsoft Defender Experts has observedΒ macOS targeted infostealerΒ campaigns using social engineering techniquesβ€”includingΒ ClickFix-style prompts and malicious DMG installersβ€”to deploy macOS-specific infostealers such asΒ DigitStealer,Β MacSync, and Atomic macOS Stealer (AMOS).Β 

These campaigns leverage fileless execution, native macOS utilities, and AppleScript automation to harvest credentials, session data, secrets from browsers, keychains, and developer environments. Simultaneously, Python-based stealers are being leveraged by attackers to rapidly adapt, reuse code, and target heterogeneous environments with minimal overhead. Other threat actors are abusing trusted platforms and utilitiesβ€”including WhatsApp and PDF converter toolsβ€”to distribute malware like Eternidade Stealer and gain access to financial and cryptocurrency accounts.

This blogΒ examines how modern infostealers operate across operating systems and delivery channels by blending into legitimate ecosystems and evading conventionalΒ defenses. We provide comprehensive detection coverage through Microsoft Defender XDR and actionable guidance to help organizations detect, mitigate, and respond to these evolving threats.Β 

Activity overviewΒ 

macOS users are being targeted through fake software and browser tricksΒ 

Mac usersΒ areΒ encounteringΒ deceptive websitesβ€”often through GoogleΒ Ads or malicious advertisementsβ€”that either prompt them to download fake applications or instruct them to copy and paste commands into their Terminal. These β€œClickFix” style attacks trick users into downloading malware that steals browser passwords, cryptocurrency wallets, cloud credentials, and developer access keys.Β 

Three major Mac-focused stealer campaignsΒ includeΒ DigitStealerΒ (distributed through fakeΒ DynamicLakeΒ software),Β MacSyncΒ (delivered via copy-paste Terminal commands), and Atomic Stealer (using fake AI tool installers). All three harvest the same types of dataβ€”browser credentials, saved passwords, cryptocurrency wallet information, and developer secretsβ€”then send everything to attacker servers beforeΒ deletingΒ traces of the infection.Β 

Stolen credentials enable account takeovers across banking, email, social media, and corporate cloud services. Cryptocurrency wallet theft can result in immediateΒ financial loss. For businesses, compromised developer credentials can provide attackers with access to source code, cloud infrastructure, and customer data.Β 

Phishing campaigns are delivering Python-based stealers to organizationsΒ 

The proliferation of Python information stealers has become an escalating concern. This gravitation towards Python is driven by ease of use and the availability of tools and frameworks allowing quick development, even for individuals with limited coding knowledge. Due to this, Microsoft Defender Experts observed multiple Python-based infostealer campaigns over the past year. They are typically distributed via phishing emails and collect login credentials, session cookies, authentication tokens, credit card numbers, and crypto wallet data.

PXA Stealer, one of the most notable Python-based infostealers seen in 2025, harvests sensitive data including login credentials, financial information, and browser data. Linked to Vietnamese-speaking threat actors, it targets government and education entities through phishing campaigns. In October 2025 and December 2025, Microsoft Defender Experts investigated two PXA Stealer campaigns that used phishing emails for initial access, established persistence via registry Run keys or scheduled tasks, downloaded payloads from remote locations, collected sensitive information, and exfiltrated the data via Telegram. To evade detection, we observed the use of legitimate services such as Telegram for command-and-control communications, obfuscated Python scripts, malicious DLLs being sideloaded, Python interpreter masquerading as a system process (i.e., svchost.exe), and the use of signed and living off the land binaries.

Due to the growing threat of Python-based infostealers, it is important that organizations protect their environment by being aware of the tactics, techniques, and procedures used by the threat actors who deploy this type of malware. Being compromised by infostealers can lead to data breaches, unauthorized access to internal systems, business email compromise (BEC), supply chain attacks, and ransomware attacks.

Attackers are weaponizing WhatsApp and PDF tools to spreadΒ infostealersΒ 

Since late 2025, platform abuse has become an increasingly prevalent tactic wherein adversaries deliberately exploit the legitimacy, scale, and user trust associated with widely used applications and services.Β 

WhatsApp Abused to Deliver Eternidade Stealer: During November 2025, Microsoft Defender Experts identified a WhatsApp platform abuse campaign leveraging multi-stage infection and worm-like propagation to distribute malware. The activity begins with an obfuscated Visual Basic script that drops a malicious batch file launching PowerShell instances to download payloads.

One of the payloads is a Python script that establishes communication with a remote server and leverages WPPConnect to automate message sending from hijacked WhatsApp accounts, harvests the victim’s contact list, and sends malicious attachments to all contacts using predefined messaging templates. Another payload is a malicious MSI installer that ultimately delivers Eternidade Stealer, a Delphi-based credential stealer that continuously monitors active windows and running processes for strings associated with banking portals, payment services, and cryptocurrency exchanges including Bradesco, BTG Pactual, MercadoPago, Stripe, Binance, Coinbase, MetaMask, and Trust Wallet.

Malicious Crystal PDF installer campaign: In September 2025, Microsoft Defender Experts discovered a malicious campaign centered on an application masquerading as a PDF editor named Crystal PDF. The campaign leveraged malvertising and SEO poisoning through Google Ads to lure users. When executed, CrystalPDF.exe establishes persistence via scheduled tasks and functions as an information stealer, covertly hijacking Firefox and Chrome browsers to access sensitive files in AppData\Roaming, including cookies, session data, and credential caches.

Mitigation and protection guidanceΒ 

Microsoft recommends the following mitigations to reduce the impact of the macOS‑focused, Python‑based, and platform‑abuse infostealer threats discussed in this report. These recommendations draw from established Defender blog guidance patterns and align with protections offered across Microsoft Defender XDR.Β 

Organizations can follow these recommendations to mitigate threats associated with this threat:Β Β Β Β Β Β Β Β Β Β Β Β Β 

Strengthen user awareness & execution safeguardsΒ 

  • Educate users on social‑engineering lures, including malvertising redirect chains, fake installers, andΒ ClickFix‑style copy‑paste prompts common across macOS stealer campaigns such asΒ DigitStealer,Β MacSync, and AMOS.Β 
  • Discourage installation of unsigned DMGs or unofficial β€œterminal‑fix” utilities; reinforce safe‑download practices for consumer and enterprise macOS systems.Β 

Harden macOS environments against native tool abuseΒ 

  • Monitor for suspicious Terminal activityβ€”especially execution flows involving curl, Base64 decoding,Β gunzip,Β osascript, or JXA invocation, which appear across all three macOS stealers.Β 
  • Detect patterns of fileless execution,Β such as in‑memory pipelines using curl | base64 -d |Β gunzip, or AppleScript‑driven system discovery and credential harvesting.Β 
  • Leverage Defender’s custom detectionΒ rulesΒ to alert on abnormal access to Keychain, browser credential stores, and cloud/developer artifacts, including SSH keys, Kubernetes configs, AWS credentials, and wallet data.Β 

Control outbound traffic & stagingΒ behaviorΒ 

  • Inspect network egress for POST requests to newly registered or suspicious domainsβ€”a key indicator forΒ DigitStealer,Β MacSync, AMOS, and Python‑based stealer campaigns.Β 
  • Detect transient creation of ZIP archives under /tmpΒ or similar ephemeral directories, followed byΒ outbound exfiltration attempts.Β 
  • Block direct access to known C2 infrastructureΒ where possible, informed by your organization’s threat‑intelligence sources.Β 

Protect against Python-based stealers & cross-platform payloadsΒ 

  • Harden endpointΒ defensesΒ around LOLBIN abuse, such as certutil.exe decoding malicious payloads.Β 
  • Evaluate activity involvingΒ AutoItΒ and process hollowing, common in platform‑abuse campaigns.Β 

Microsoft also recommends the following mitigationsΒ to reduce the impact of this threat:Β 

  • Turn onβ€―cloud-delivered protectionβ€―in Microsoft Defender Antivirus or the equivalent for your antivirus product to cover rapidly evolving attacker tools and techniques. Cloud-based machine learning protections block a majority of new and unknown threats.Β 
  • Runβ€―EDR in block modeβ€―so that Microsoft Defender for Endpoint can block malicious artifacts, even when your non-Microsoft antivirus does not detect the threat or when Microsoft Defender Antivirus is running in passive mode. EDR in block mode works behind the scenes to remediate malicious artifacts that are detected post-breach.Β 
  • Enable network protection and web protection in Microsoft Defender for Endpoint to safeguard against malicious sites and internet-based threats.Β 
  • Encourage users to use Microsoft Edge and other web browsers that support Microsoft Defender SmartScreen, whichΒ identifiesΒ and blocks malicious websites, including phishing sites,Β scamΒ sites, and sites that host malware.Β 
  • Allowβ€―investigation and remediationβ€―in full automated mode to allow Microsoft Defender for Endpoint to take immediate action on alerts to resolve breaches, significantly reducing alert volume.Β 
  • Turn onβ€―tamper protection featuresβ€―to prevent attackers from stopping security services. Combine tamper protection with theβ€―DisableLocalAdminMergeβ€―setting to prevent attackers from using local administrator privileges to set antivirus exclusions.Β 

Microsoft Defender XDR detectionsΒ 

Microsoft Defender XDR customers can refer to the list of applicable detections below. Microsoft Defender XDR coordinates detection, prevention, investigation, and response across endpoints, identities, email, and apps to provide integrated protection against attacks like the threat discussed in this blog.Β 

Customers with provisioned access can also useΒ Microsoft Security Copilot in Microsoft DefenderΒ to investigate and respond to incidents, hunt for threats, and protect their organization with relevant threat intelligence.Β Β 

Tacticβ€―Β Β Observed activityβ€―Β Β Microsoft Defender coverageβ€―Β Β 
ExecutionΒ EncodedΒ powershellΒ commands downloading payloadΒ 
Execution ofΒ various commands and scripts viaΒ osascriptΒ andΒ shΒ 
Microsoft Defender for EndpointΒ 
SuspiciousΒ PowershellΒ download or encoded command executionΒ Β Β 
Suspicious shell command executionΒ 
Suspicious AppleScript activityΒ 
Suspicious script launchedΒ Β 
PersistenceΒ Registry Run key createdΒ 
Scheduled task created for recurring executionΒ 
LaunchAgentΒ orΒ LaunchDaemonΒ for recurring executionΒ 
Microsoft Defender for EndpointΒ 
Anomaly detected in ASEP registryΒ 
Suspicious Scheduled Task LaunchedΒ SuspiciousΒ PslistΒ modificationsΒ 
SuspiciousΒ launchctlΒ tool activity

Microsoft Defender AntivirusΒ 
Trojan:AtomicSteal.FΒ 
DefenseΒ EvasionΒ Unauthorized code executionΒ facilitatedΒ by DLL sideloadingΒ andΒ process injectionΒ 
Renamed Python interpreterΒ executesΒ obfuscated
Python scriptΒ Decode payload withΒ certutilΒ 
RenamedΒ AutoITΒ interpreter binary andΒ AutoITΒ scriptΒ 
Delete data staging directoriesΒ 
Microsoft Defender for EndpointΒ 
An executable file loaded an unexpected DLL fileΒ 
A process was injected with potentially malicious codeΒ 
Suspicious Python binary executionΒ 
SuspiciousΒ certutilΒ activityΒ Obfuse’ malware was preventedΒ 
RenameΒ AutoITΒ toolΒ 
Suspicious path deletionΒ 

Microsoft Defender AntivirusΒ 
Trojan:Script/Obfuse!MSRΒ 
Credential AccessΒ Credential and Secret HarvestingΒ Cryptocurrency probingΒ Microsoft Defender for EndpointΒ 
Possible theftΒ of passwords and other sensitive web browser informationΒ 
Suspicious access of sensitive filesΒ 
Suspicious process collected data from local systemΒ 
Unix credentials were illegitimately accessedΒ 
DiscoveryΒ System information queriedΒ using WMI and PythonΒ Microsoft Defender for EndpointΒ 
Suspicious System Hardware DiscoveryΒ Suspicious Process DiscoveryΒ Suspicious Security Software DiscoveryΒ Suspicious Peripheral Device DiscoveryΒ 
Command and ControlΒ Communication toΒ command and controlΒ serverΒ Microsoft Defender for EndpointΒ 
Suspicious connection to remote serviceΒ 
CollectionΒ Sensitive browser information compressed into ZIP file for exfiltrationΒ Β Microsoft Defender for EndpointΒ 
Compression of sensitive dataΒ 
Suspicious Staging of Data
Suspicious archive creationΒ 
Β ExfiltrationΒ Exfiltration through curlΒ Microsoft Defender for EndpointΒ 
Suspicious file or content ingressΒ 
Remote exfiltration activityΒ 
Network connection byΒ osascriptΒ 

Threat intelligence reportsΒ 

Microsoft customers can use the following reports in Microsoft products to get the most up-to-date information about the threat actor, malicious activity, and techniques discussed in this blog. These reports provide the intelligence, protection information, and recommended actions to prevent, mitigate, or respond to associated threats found in customer environments.Β 

Microsoft DefenderΒ XDRΒ Threat analyticsΒ Β Β 

Hunting queriesΒ Β Β 

Microsoft Defender XDRΒ Β 

Microsoft Defender XDR customers can run the following queries to find related activity in their networks:Β 

Use the following queries toΒ identifyΒ activity related toΒ DigitStealerΒ 

// Identify suspicious DynamicLake disk image (.dmg) mounting 
DeviceProcessEvents 
| where FileName has_any ('mount_hfs', 'mount') 
| where ProcessCommandLine has_all ('-o nodev' , '-o quarantine') 
| where ProcessCommandLine contains '/Volumes/Install DynamicLake' 

 
// Identify data exfiltration to DigitStealer C2 API endpoints. 
DeviceProcessEvents 
| where InitiatingProcessFileName has_any ('bash', 'sh') 
| where ProcessCommandLine has_all ('curl', '--retry 10') 
| where ProcessCommandLine contains 'hwid=' 
| where ProcessCommandLine endswith "api/credentials" 
        or ProcessCommandLine endswith "api/grabber" 
        or ProcessCommandLine endswith "api/log" 
| extend APIEndpoint = extract(@"/api/([^\s]+)", 1, ProcessCommandLine) 

Use the following queries to identify activity related to MacSync

// Identify exfiltration of staged data via curl 
DeviceProcessEvents 
| where InitiatingProcessFileName =~ "zsh" and FileName =~ "curl" 
| where ProcessCommandLine has_all ("curl -k -X POST -H", "api-key: ", "--max-time", "-F file=@/tmp/", ".zip", "-F buildtxd=") 

Use the following queries to identify activity related to Atomic Stealer (AMOS)

// Identify suspicious AlliAi disk image (.dmg) mounting  
DeviceProcessEvents  
| where FileName has_any ('mount_hfs', 'mount') 
| where ProcessCommandLine has_all ('-o nodev', '-o quarantine')  
| where ProcessCommandLine contains '/Volumes/ALLI' 

Use the following queries to identify activity related to PXA Stealer: Campaign 1

// Identify activity initiated by renamed python binary 
DeviceProcessEvents 
| where InitiatingProcessFileName endswith "svchost.exe" 
| where InitiatingProcessVersionInfoOriginalFileName == "pythonw.exe" 

// Identify network connections initiated by renamed python binary 
DeviceNetworkEvents 
| where InitiatingProcessFileName endswith "svchost.exe" 
| where InitiatingProcessVersionInfoOriginalFileName == "pythonw.exe" 

Use the following queries to identify activity related to PXA Stealer: Campaign 2

// Identify malicious Process Execution activity 
DeviceProcessEvents 
 | where ProcessCommandLine  has_all ("-y","x",@"C:","Users","Public", ".pdf") and ProcessCommandLine  has_any (".jpg",".png") 

// Identify suspicious process injection activity 
DeviceProcessEvents 
 | where FileName == "cvtres.exe" 
 | where InitiatingProcessFileName has "svchost.exe" 
 | where InitiatingProcessFolderPath !contains "system32" 

Use the following queries to identify activity related to WhatsApp Abused to Deliver Eternidade Stealer

// Identify the files dropped from the malicious VBS execution 
DeviceFileEvents 
| where InitiatingProcessCommandLine has_all ("Downloads",".vbs") 
| where FileName has_any (".zip",".lnk",".bat") and FolderPath has_all ("\\Temp\\") 

// Identify batch script launching powershell instances to drop payloads 
DeviceProcessEvents 
| where InitiatingProcessParentFileName == "wscript.exe" and InitiatingProcessCommandLine β€―has_any ("instalar.bat","python_install.bat") 
| where ProcessCommandLine !has "conhost.exe" 
 
// Identify AutoIT executable invoking malicious AutoIT script 
DeviceProcessEvents 
| where InitiatingProcessCommandLine β€― has ".log" and InitiatingProcessVersionInfoOriginalFileName == "Autoit3.exe" 

Use the following queries to identify activity related to Malicious CrystalPDF Installer Campaign

// Identify network connections to C2 domains 
DeviceNetworkEvents 
| where InitiatingProcessVersionInfoOriginalFileName == "CrystalPDF.exe" 

// Identify scheduled task persistence 
DeviceEvents 
| where InitiatingProcessVersionInfoProductName == "CrystalPDF" 
| where ActionType == "ScheduledTaskCreated 

Indicators of compromiseΒ 

IndicatorΒ TypeΒ DescriptionΒ 
3e20ddb90291ac17cef9913edd5ba91cd95437da86e396757c9d871a82b1282aΒ da99f7570b37ddb3d4ed650bc33fa9fbfb883753b2c212704c10f2df12c19f63Β SHA-256Β Payloads related toΒ DigitStealerΒ campaignΒ 
42d51feea16eac568989ab73906bbfdd41641ee3752596393a875f85ecf06417Β SHA-256Β Payload related to Atomic Stealer (AMOS)Β 
2c885d1709e2ebfcaa81e998d199b29e982a7559b9d72e5db0e70bf31b183a5f   6168d63fad22a4e5e45547ca6116ef68bb5173e17e25fd1714f7cc1e4f7b41e1Β Β 3bd6a6b24b41ba7f58938e6eb48345119bbaf38cd89123906869fab179f27433Β Β Β 5d929876190a0bab69aea3f87988b9d73713960969b193386ff50c1b5ffeadd6β€―Β Β bdd2b7236a110b04c288380ad56e8d7909411da93eed2921301206de0cb0dda1Β Β Β 495697717be4a80c9db9fe2dbb40c57d4811ffe5ebceb9375666066b3dda73c3Β Β Β de07516f39845fb91d9b4f78abeb32933f39282540f8920fe6508057eedcbbeaΒ Β SHA-256Β Payloads related to WhatsApp malware campaignΒ 
598da788600747cf3fa1f25cb4fa1e029eca1442316709c137690e645a0872bbΒ 3bc62aca7b4f778dabb9ff7a90fdb43a4fdd4e0deec7917df58a18eb036fac6eΒ c72f8207ce7aebf78c5b672b65aebc6e1b09d00a85100738aabb03d95d0e6a95Β SHA-256Β Payloads related to Malicious Crystal PDF installer campaignΒ Β 
9d867ddb54f37592fa0ba1773323e2ba563f44b894c07ebfab4d0063baa6e777Β 08a1f4566657a07688b905739055c2e352e316e38049487e5008fc3d1253d03bΒ 5970d564b5b2f5a4723e548374d54b8f04728473a534655e52e5decef920e733Β 59855f0ec42546ce2b2e81686c1fbc51e90481c42489757ac03428c0daee6dfeΒ a5b19195f61925ede76254aaad942e978464e93c7922ed6f064fab5aad901efcΒ e7237b233fc6fda614e9e3c2eb3e03eeea94f4baf48fe8976dcc4bc9f528429eΒ 59347a8b1841d33afdd70c443d1f3208dba47fe783d4c2015805bf5836cff315Β e965eb96df16eac9266ad00d1087fce808ee29b5ee8310ac64650881bc81cf39Β SHA-256Β Payloads related to PXA Stealer: Campaign 1Β 
hxxps://allecos[.]de/DocumentaciΓ³n_del_expediente_de_derechos_de_autor_del_socio.zipΒ Β URLΒ Used to deliver initial access ZIP file (PXA Stealer: Campaign 1)Β 
hxxps://bagumedios[.]cloud/assets/media/others/ADN/pureΒ URLΒ Used to deliverΒ PureRATΒ payload (PXA Stealer: Campaign 1)Β 
hxxp://concursal[.]macquet[.]de/uid_page=244739642061129Β hxxps://tickets[.]pfoten-prinz[.]de/uid_page=118759991475831Β URLΒ URL contained in phishing email (PXA Stealer: Campaign 1)Β 
hxxps://erik22[.]carrd.coΒ URLΒ Used in make network connection andΒ subsequentΒ redirection in (PXA Stealer: Campaign 2)Β 
hxxps://erik22jomk77[.]card.coΒ URLΒ Used in make network connection andΒ subsequentΒ redirection in (PXA Stealer: Campaign 2)Β 
hxxps[:]//empautlipa[.]com/altor/installer[.]msiΒ URLΒ Used to deliver VBSΒ initialΒ access payload (WhatsApp Abused to DeliverΒ EternidadeΒ Stealer)Β 
217.119.139[.]117Β IP AddressΒ AMOS C2 server (AMOS campaign)Β 
157[.]66[.]27[.]11Β Β IP AddressΒ Β PureRATΒ C2 server (PXA Stealer: Campaign 1)Β 
195.24.236[.]116Β IP AddressΒ C2 server (PXA Stealer: Campaign 2)Β 
dynamiclake[.]orgΒ DomainΒ Deceptive domain used to deliver unsigned diskΒ image. (DigitStealerΒ campaign)Β 
booksmagazinetx[.]comΒ goldenticketsshop[.]comΒ DomainΒ C2 servers (DigitStealerΒ campaign)Β Β 
b93b559cf522386018e24069ff1a8b7a[.]pages[.]devΒ 67e5143a9ca7d2240c137ef80f2641d6[.]pages[.]devΒ DomainΒ CloudFlareΒ Pages hosting payloads. (DigitStealerΒ campaign)Β 
barbermoo[.]couponsΒ barbermoo[.]funΒ barbermoo[.]shopΒ barbermoo[.]spaceΒ barbermoo[.]todayΒ barbermoo[.]topΒ barbermoo[.]worldΒ barbermoo[.]xyzΒ DomainΒ C2 servers (MacSyncΒ Stealer campaign)Β 
alli-ai[.]proΒ DomainΒ Deceptive domain that redirects user after CAPTCHA verification (AMOS campaign)Β 
ai[.]foqguzz[.]comΒ DomainΒ Redirected domain used to deliver unsigned disk image. (AMOS campaign)Β 
day.foqguzz[.]comΒ DomainΒ C2 server (AMOS campaign)Β 
bagumedios[.]cloudΒ DomainΒ C2 server (PXA Stealer: Campaign 1)Β 
Negmari[.]comΒ Β Ramiort[.]comΒ Β Strongdwn[.]comΒ DomainΒ C2 servers (Malicious Crystal PDF installer campaign)Β 

Microsoft SentinelΒ Β 

Microsoft Sentinel customers can use the TI Mapping analytics (a series of analytics all prefixed with β€˜TI map’) to automatically match the malicious domain indicators mentioned in this blog post with data in their workspace. If the TI Map analytics are not currently deployed, customers can install the Threat Intelligence solution from theΒ Microsoft Sentinel Content HubΒ to have the analytics rule deployed in their Sentinel workspace.Β Β Β 

ReferencesΒ Β 

This research is provided by Microsoft Defender Security Research with contributions fromΒ Felicia Carter, Kajhon Soyini, Balaji Venkatesh S, Sai Chakri Kandalai, Dietrich Nembhard, Sabitha S, and Shriya Maniktala.

Learn moreΒ Β Β 

ReviewΒ ourΒ documentationΒ to learnΒ more about our real-time protection capabilities and see howΒ toΒ enable them within yourΒ organization.Β Β 

Learn more aboutΒ securing Copilot Studio agents with Microsoft DefenderΒ 

Learn more aboutΒ Protect your agents in real-time during runtime (Preview) – Microsoft Defender for Cloud Apps | Microsoft LearnΒ Β 

ExploreΒ how to build and customize agents with Copilot Studio Agent BuilderΒ Β 

The post Infostealers without borders: macOS, Python stealers, and platform abuse appeared first on Microsoft Security Blog.

Received β€” 3 February 2026 ⏭ Microsoft Security Blog

Infostealers without borders: macOS, Python stealers, and platform abuse

Infostealer threatsΒ are rapidly expanding beyondΒ traditional Windows-focused campaigns, increasingly targeting macOS environments,Β leveragingΒ cross-platform languages such as Python, and abusing trusted platforms and utilities to silently deliver credential-stealing malware at scale. Since late 2025, Microsoft Defender Experts has observedΒ macOS targeted infostealerΒ campaigns using social engineering techniquesβ€”includingΒ ClickFix-style prompts and malicious DMG installersβ€”to deploy macOS-specific infostealers such asΒ DigitStealer,Β MacSync, and Atomic macOS Stealer (AMOS).Β 

These campaigns leverage fileless execution, native macOS utilities, and AppleScript automation to harvest credentials, session data, secrets from browsers, keychains, and developer environments. Simultaneously, Python-based stealers are being leveraged by attackers to rapidly adapt, reuse code, and target heterogeneous environments with minimal overhead. Other threat actors are abusing trusted platforms and utilitiesβ€”including WhatsApp and PDF converter toolsβ€”to distribute malware like Eternidade Stealer and gain access to financial and cryptocurrency accounts.

This blogΒ examines how modern infostealers operate across operating systems and delivery channels by blending into legitimate ecosystems and evading conventionalΒ defenses. We provide comprehensive detection coverage through Microsoft Defender XDR and actionable guidance to help organizations detect, mitigate, and respond to these evolving threats.Β 

Activity overviewΒ 

macOS users are being targeted through fake software and browser tricksΒ 

Mac usersΒ areΒ encounteringΒ deceptive websitesβ€”often through GoogleΒ Ads or malicious advertisementsβ€”that either prompt them to download fake applications or instruct them to copy and paste commands into their Terminal. These β€œClickFix” style attacks trick users into downloading malware that steals browser passwords, cryptocurrency wallets, cloud credentials, and developer access keys.Β 

Three major Mac-focused stealer campaignsΒ includeΒ DigitStealerΒ (distributed through fakeΒ DynamicLakeΒ software),Β MacSyncΒ (delivered via copy-paste Terminal commands), and Atomic Stealer (using fake AI tool installers). All three harvest the same types of dataβ€”browser credentials, saved passwords, cryptocurrency wallet information, and developer secretsβ€”then send everything to attacker servers beforeΒ deletingΒ traces of the infection.Β 

Stolen credentials enable account takeovers across banking, email, social media, and corporate cloud services. Cryptocurrency wallet theft can result in immediateΒ financial loss. For businesses, compromised developer credentials can provide attackers with access to source code, cloud infrastructure, and customer data.Β 

Phishing campaigns are delivering Python-based stealers to organizationsΒ 

The proliferation of Python information stealers has become an escalating concern. This gravitation towards Python is driven by ease of use and the availability of tools and frameworks allowing quick development, even for individuals with limited coding knowledge. Due to this, Microsoft Defender Experts observed multiple Python-based infostealer campaigns over the past year. They are typically distributed via phishing emails and collect login credentials, session cookies, authentication tokens, credit card numbers, and crypto wallet data.

PXA Stealer, one of the most notable Python-based infostealers seen in 2025, harvests sensitive data including login credentials, financial information, and browser data. Linked to Vietnamese-speaking threat actors, it targets government and education entities through phishing campaigns. In October 2025 and December 2025, Microsoft Defender Experts investigated two PXA Stealer campaigns that used phishing emails for initial access, established persistence via registry Run keys or scheduled tasks, downloaded payloads from remote locations, collected sensitive information, and exfiltrated the data via Telegram. To evade detection, we observed the use of legitimate services such as Telegram for command-and-control communications, obfuscated Python scripts, malicious DLLs being sideloaded, Python interpreter masquerading as a system process (i.e., svchost.exe), and the use of signed and living off the land binaries.

Due to the growing threat of Python-based infostealers, it is important that organizations protect their environment by being aware of the tactics, techniques, and procedures used by the threat actors who deploy this type of malware. Being compromised by infostealers can lead to data breaches, unauthorized access to internal systems, business email compromise (BEC), supply chain attacks, and ransomware attacks.

Attackers are weaponizing WhatsApp and PDF tools to spreadΒ infostealersΒ 

Since late 2025, platform abuse has become an increasingly prevalent tactic wherein adversaries deliberately exploit the legitimacy, scale, and user trust associated with widely used applications and services.Β 

WhatsApp Abused to Deliver Eternidade Stealer: During November 2025, Microsoft Defender Experts identified a WhatsApp platform abuse campaign leveraging multi-stage infection and worm-like propagation to distribute malware. The activity begins with an obfuscated Visual Basic script that drops a malicious batch file launching PowerShell instances to download payloads.

One of the payloads is a Python script that establishes communication with a remote server and leverages WPPConnect to automate message sending from hijacked WhatsApp accounts, harvests the victim’s contact list, and sends malicious attachments to all contacts using predefined messaging templates. Another payload is a malicious MSI installer that ultimately delivers Eternidade Stealer, a Delphi-based credential stealer that continuously monitors active windows and running processes for strings associated with banking portals, payment services, and cryptocurrency exchanges including Bradesco, BTG Pactual, MercadoPago, Stripe, Binance, Coinbase, MetaMask, and Trust Wallet.

Malicious Crystal PDF installer campaign: In September 2025, Microsoft Defender Experts discovered a malicious campaign centered on an application masquerading as a PDF editor named Crystal PDF. The campaign leveraged malvertising and SEO poisoning through Google Ads to lure users. When executed, CrystalPDF.exe establishes persistence via scheduled tasks and functions as an information stealer, covertly hijacking Firefox and Chrome browsers to access sensitive files in AppData\Roaming, including cookies, session data, and credential caches.

Mitigation and protection guidanceΒ 

Microsoft recommends the following mitigations to reduce the impact of the macOS‑focused, Python‑based, and platform‑abuse infostealer threats discussed in this report. These recommendations draw from established Defender blog guidance patterns and align with protections offered across Microsoft Defender XDR.Β 

Organizations can follow these recommendations to mitigate threats associated with this threat:Β Β Β Β Β Β Β Β Β Β Β Β Β 

Strengthen user awareness & execution safeguardsΒ 

  • Educate users on social‑engineering lures, including malvertising redirect chains, fake installers, andΒ ClickFix‑style copy‑paste prompts common across macOS stealer campaigns such asΒ DigitStealer,Β MacSync, and AMOS.Β 
  • Discourage installation of unsigned DMGs or unofficial β€œterminal‑fix” utilities; reinforce safe‑download practices for consumer and enterprise macOS systems.Β 

Harden macOS environments against native tool abuseΒ 

  • Monitor for suspicious Terminal activityβ€”especially execution flows involving curl, Base64 decoding,Β gunzip,Β osascript, or JXA invocation, which appear across all three macOS stealers.Β 
  • Detect patterns of fileless execution,Β such as in‑memory pipelines using curl | base64 -d |Β gunzip, or AppleScript‑driven system discovery and credential harvesting.Β 
  • Leverage Defender’s custom detectionΒ rulesΒ to alert on abnormal access to Keychain, browser credential stores, and cloud/developer artifacts, including SSH keys, Kubernetes configs, AWS credentials, and wallet data.Β 

Control outbound traffic & stagingΒ behaviorΒ 

  • Inspect network egress for POST requests to newly registered or suspicious domainsβ€”a key indicator forΒ DigitStealer,Β MacSync, AMOS, and Python‑based stealer campaigns.Β 
  • Detect transient creation of ZIP archives under /tmpΒ or similar ephemeral directories, followed byΒ outbound exfiltration attempts.Β 
  • Block direct access to known C2 infrastructureΒ where possible, informed by your organization’s threat‑intelligence sources.Β 

Protect against Python-based stealers & cross-platform payloadsΒ 

  • Harden endpointΒ defensesΒ around LOLBIN abuse, such as certutil.exe decoding malicious payloads.Β 
  • Evaluate activity involvingΒ AutoItΒ and process hollowing, common in platform‑abuse campaigns.Β 

Microsoft also recommends the following mitigationsΒ to reduce the impact of this threat:Β 

  • Turn onβ€―cloud-delivered protectionβ€―in Microsoft Defender Antivirus or the equivalent for your antivirus product to cover rapidly evolving attacker tools and techniques. Cloud-based machine learning protections block a majority of new and unknown threats.Β 
  • Runβ€―EDR in block modeβ€―so that Microsoft Defender for Endpoint can block malicious artifacts, even when your non-Microsoft antivirus does not detect the threat or when Microsoft Defender Antivirus is running in passive mode. EDR in block mode works behind the scenes to remediate malicious artifacts that are detected post-breach.Β 
  • Enable network protection and web protection in Microsoft Defender for Endpoint to safeguard against malicious sites and internet-based threats.Β 
  • Encourage users to use Microsoft Edge and other web browsers that support Microsoft Defender SmartScreen, whichΒ identifiesΒ and blocks malicious websites, including phishing sites,Β scamΒ sites, and sites that host malware.Β 
  • Allowβ€―investigation and remediationβ€―in full automated mode to allow Microsoft Defender for Endpoint to take immediate action on alerts to resolve breaches, significantly reducing alert volume.Β 
  • Turn onβ€―tamper protection featuresβ€―to prevent attackers from stopping security services. Combine tamper protection with theβ€―DisableLocalAdminMergeβ€―setting to prevent attackers from using local administrator privileges to set antivirus exclusions.Β 

Microsoft Defender XDR detectionsΒ 

Microsoft Defender XDR customers can refer to the list of applicable detections below. Microsoft Defender XDR coordinates detection, prevention, investigation, and response across endpoints, identities, email, and apps to provide integrated protection against attacks like the threat discussed in this blog.Β 

Customers with provisioned access can also useΒ Microsoft Security Copilot in Microsoft DefenderΒ to investigate and respond to incidents, hunt for threats, and protect their organization with relevant threat intelligence.Β Β 

Tacticβ€―Β Β Observed activityβ€―Β Β Microsoft Defender coverageβ€―Β Β 
ExecutionΒ EncodedΒ powershellΒ commands downloading payloadΒ 
Execution ofΒ various commands and scripts viaΒ osascriptΒ andΒ shΒ 
Microsoft Defender for EndpointΒ 
SuspiciousΒ PowershellΒ download or encoded command executionΒ Β Β 
Suspicious shell command executionΒ 
Suspicious AppleScript activityΒ 
Suspicious script launchedΒ Β 
PersistenceΒ Registry Run key createdΒ 
Scheduled task created for recurring executionΒ 
LaunchAgentΒ orΒ LaunchDaemonΒ for recurring executionΒ 
Microsoft Defender for EndpointΒ 
Anomaly detected in ASEP registryΒ 
Suspicious Scheduled Task LaunchedΒ SuspiciousΒ PslistΒ modificationsΒ 
SuspiciousΒ launchctlΒ tool activity

Microsoft Defender AntivirusΒ 
Trojan:AtomicSteal.FΒ 
DefenseΒ EvasionΒ Unauthorized code executionΒ facilitatedΒ by DLL sideloadingΒ andΒ process injectionΒ 
Renamed Python interpreterΒ executesΒ obfuscated
Python scriptΒ Decode payload withΒ certutilΒ 
RenamedΒ AutoITΒ interpreter binary andΒ AutoITΒ scriptΒ 
Delete data staging directoriesΒ 
Microsoft Defender for EndpointΒ 
An executable file loaded an unexpected DLL fileΒ 
A process was injected with potentially malicious codeΒ 
Suspicious Python binary executionΒ 
SuspiciousΒ certutilΒ activityΒ Obfuse’ malware was preventedΒ 
RenameΒ AutoITΒ toolΒ 
Suspicious path deletionΒ 

Microsoft Defender AntivirusΒ 
Trojan:Script/Obfuse!MSRΒ 
Credential AccessΒ Credential and Secret HarvestingΒ Cryptocurrency probingΒ Microsoft Defender for EndpointΒ 
Possible theftΒ of passwords and other sensitive web browser informationΒ 
Suspicious access of sensitive filesΒ 
Suspicious process collected data from local systemΒ 
Unix credentials were illegitimately accessedΒ 
DiscoveryΒ System information queriedΒ using WMI and PythonΒ Microsoft Defender for EndpointΒ 
Suspicious System Hardware DiscoveryΒ Suspicious Process DiscoveryΒ Suspicious Security Software DiscoveryΒ Suspicious Peripheral Device DiscoveryΒ 
Command and ControlΒ Communication toΒ command and controlΒ serverΒ Microsoft Defender for EndpointΒ 
Suspicious connection to remote serviceΒ 
CollectionΒ Sensitive browser information compressed into ZIP file for exfiltrationΒ Β Microsoft Defender for EndpointΒ 
Compression of sensitive dataΒ 
Suspicious Staging of Data
Suspicious archive creationΒ 
Β ExfiltrationΒ Exfiltration through curlΒ Microsoft Defender for EndpointΒ 
Suspicious file or content ingressΒ 
Remote exfiltration activityΒ 
Network connection byΒ osascriptΒ 

Threat intelligence reportsΒ 

Microsoft customers can use the following reports in Microsoft products to get the most up-to-date information about the threat actor, malicious activity, and techniques discussed in this blog. These reports provide the intelligence, protection information, and recommended actions to prevent, mitigate, or respond to associated threats found in customer environments.Β 

Microsoft DefenderΒ XDRΒ Threat analyticsΒ Β Β 

Hunting queriesΒ Β Β 

Microsoft Defender XDRΒ Β 

Microsoft Defender XDR customers can run the following queries to find related activity in their networks:Β 

Use the following queries toΒ identifyΒ activity related toΒ DigitStealerΒ 

// Identify suspicious DynamicLake disk image (.dmg) mounting 
DeviceProcessEvents 
| where FileName has_any ('mount_hfs', 'mount') 
| where ProcessCommandLine has_all ('-o nodev' , '-o quarantine') 
| where ProcessCommandLine contains '/Volumes/Install DynamicLake' 

 
// Identify data exfiltration to DigitStealer C2 API endpoints. 
DeviceProcessEvents 
| where InitiatingProcessFileName has_any ('bash', 'sh') 
| where ProcessCommandLine has_all ('curl', '--retry 10') 
| where ProcessCommandLine contains 'hwid=' 
| where ProcessCommandLine endswith "api/credentials" 
        or ProcessCommandLine endswith "api/grabber" 
        or ProcessCommandLine endswith "api/log" 
| extend APIEndpoint = extract(@"/api/([^\s]+)", 1, ProcessCommandLine) 

Use the following queries to identify activity related to MacSync

// Identify exfiltration of staged data via curl 
DeviceProcessEvents 
| where InitiatingProcessFileName =~ "zsh" and FileName =~ "curl" 
| where ProcessCommandLine has_all ("curl -k -X POST -H", "api-key: ", "--max-time", "-F file=@/tmp/", ".zip", "-F buildtxd=") 

Use the following queries to identify activity related to Atomic Stealer (AMOS)

// Identify suspicious AlliAi disk image (.dmg) mounting  
DeviceProcessEvents  
| where FileName has_any ('mount_hfs', 'mount') 
| where ProcessCommandLine has_all ('-o nodev', '-o quarantine')  
| where ProcessCommandLine contains '/Volumes/ALLI' 

Use the following queries to identify activity related to PXA Stealer: Campaign 1

// Identify activity initiated by renamed python binary 
DeviceProcessEvents 
| where InitiatingProcessFileName endswith "svchost.exe" 
| where InitiatingProcessVersionInfoOriginalFileName == "pythonw.exe" 

// Identify network connections initiated by renamed python binary 
DeviceNetworkEvents 
| where InitiatingProcessFileName endswith "svchost.exe" 
| where InitiatingProcessVersionInfoOriginalFileName == "pythonw.exe" 

Use the following queries to identify activity related to PXA Stealer: Campaign 2

// Identify malicious Process Execution activity 
DeviceProcessEvents 
 | where ProcessCommandLine  has_all ("-y","x",@"C:","Users","Public", ".pdf") and ProcessCommandLine  has_any (".jpg",".png") 

// Identify suspicious process injection activity 
DeviceProcessEvents 
 | where FileName == "cvtres.exe" 
 | where InitiatingProcessFileName has "svchost.exe" 
 | where InitiatingProcessFolderPath !contains "system32" 

Use the following queries to identify activity related to WhatsApp Abused to Deliver Eternidade Stealer

// Identify the files dropped from the malicious VBS execution 
DeviceFileEvents 
| where InitiatingProcessCommandLine has_all ("Downloads",".vbs") 
| where FileName has_any (".zip",".lnk",".bat") and FolderPath has_all ("\\Temp\\") 

// Identify batch script launching powershell instances to drop payloads 
DeviceProcessEvents 
| where InitiatingProcessParentFileName == "wscript.exe" and InitiatingProcessCommandLine β€―has_any ("instalar.bat","python_install.bat") 
| where ProcessCommandLine !has "conhost.exe" 
 
// Identify AutoIT executable invoking malicious AutoIT script 
DeviceProcessEvents 
| where InitiatingProcessCommandLine β€― has ".log" and InitiatingProcessVersionInfoOriginalFileName == "Autoit3.exe" 

Use the following queries to identify activity related to Malicious CrystalPDF Installer Campaign

// Identify network connections to C2 domains 
DeviceNetworkEvents 
| where InitiatingProcessVersionInfoOriginalFileName == "CrystalPDF.exe" 

// Identify scheduled task persistence 
DeviceEvents 
| where InitiatingProcessVersionInfoProductName == "CrystalPDF" 
| where ActionType == "ScheduledTaskCreated 

Indicators of compromiseΒ 

IndicatorΒ TypeΒ DescriptionΒ 
3e20ddb90291ac17cef9913edd5ba91cd95437da86e396757c9d871a82b1282aΒ da99f7570b37ddb3d4ed650bc33fa9fbfb883753b2c212704c10f2df12c19f63Β SHA-256Β Payloads related toΒ DigitStealerΒ campaignΒ 
42d51feea16eac568989ab73906bbfdd41641ee3752596393a875f85ecf06417Β SHA-256Β Payload related to Atomic Stealer (AMOS)Β 
2c885d1709e2ebfcaa81e998d199b29e982a7559b9d72e5db0e70bf31b183a5f   6168d63fad22a4e5e45547ca6116ef68bb5173e17e25fd1714f7cc1e4f7b41e1Β Β 3bd6a6b24b41ba7f58938e6eb48345119bbaf38cd89123906869fab179f27433Β Β Β 5d929876190a0bab69aea3f87988b9d73713960969b193386ff50c1b5ffeadd6β€―Β Β bdd2b7236a110b04c288380ad56e8d7909411da93eed2921301206de0cb0dda1Β Β Β 495697717be4a80c9db9fe2dbb40c57d4811ffe5ebceb9375666066b3dda73c3Β Β Β de07516f39845fb91d9b4f78abeb32933f39282540f8920fe6508057eedcbbeaΒ Β SHA-256Β Payloads related to WhatsApp malware campaignΒ 
598da788600747cf3fa1f25cb4fa1e029eca1442316709c137690e645a0872bbΒ 3bc62aca7b4f778dabb9ff7a90fdb43a4fdd4e0deec7917df58a18eb036fac6eΒ c72f8207ce7aebf78c5b672b65aebc6e1b09d00a85100738aabb03d95d0e6a95Β SHA-256Β Payloads related to Malicious Crystal PDF installer campaignΒ Β 
9d867ddb54f37592fa0ba1773323e2ba563f44b894c07ebfab4d0063baa6e777Β 08a1f4566657a07688b905739055c2e352e316e38049487e5008fc3d1253d03bΒ 5970d564b5b2f5a4723e548374d54b8f04728473a534655e52e5decef920e733Β 59855f0ec42546ce2b2e81686c1fbc51e90481c42489757ac03428c0daee6dfeΒ a5b19195f61925ede76254aaad942e978464e93c7922ed6f064fab5aad901efcΒ e7237b233fc6fda614e9e3c2eb3e03eeea94f4baf48fe8976dcc4bc9f528429eΒ 59347a8b1841d33afdd70c443d1f3208dba47fe783d4c2015805bf5836cff315Β e965eb96df16eac9266ad00d1087fce808ee29b5ee8310ac64650881bc81cf39Β SHA-256Β Payloads related to PXA Stealer: Campaign 1Β 
hxxps://allecos[.]de/DocumentaciΓ³n_del_expediente_de_derechos_de_autor_del_socio.zipΒ Β URLΒ Used to deliver initial access ZIP file (PXA Stealer: Campaign 1)Β 
hxxps://bagumedios[.]cloud/assets/media/others/ADN/pureΒ URLΒ Used to deliverΒ PureRATΒ payload (PXA Stealer: Campaign 1)Β 
hxxp://concursal[.]macquet[.]de/uid_page=244739642061129Β hxxps://tickets[.]pfoten-prinz[.]de/uid_page=118759991475831Β URLΒ URL contained in phishing email (PXA Stealer: Campaign 1)Β 
hxxps://erik22[.]carrd.coΒ URLΒ Used in make network connection andΒ subsequentΒ redirection in (PXA Stealer: Campaign 2)Β 
hxxps://erik22jomk77[.]card.coΒ URLΒ Used in make network connection andΒ subsequentΒ redirection in (PXA Stealer: Campaign 2)Β 
hxxps[:]//empautlipa[.]com/altor/installer[.]msiΒ URLΒ Used to deliver VBSΒ initialΒ access payload (WhatsApp Abused to DeliverΒ EternidadeΒ Stealer)Β 
217.119.139[.]117Β IP AddressΒ AMOS C2 server (AMOS campaign)Β 
157[.]66[.]27[.]11Β Β IP AddressΒ Β PureRATΒ C2 server (PXA Stealer: Campaign 1)Β 
195.24.236[.]116Β IP AddressΒ C2 server (PXA Stealer: Campaign 2)Β 
dynamiclake[.]orgΒ DomainΒ Deceptive domain used to deliver unsigned diskΒ image. (DigitStealerΒ campaign)Β 
booksmagazinetx[.]comΒ goldenticketsshop[.]comΒ DomainΒ C2 servers (DigitStealerΒ campaign)Β Β 
b93b559cf522386018e24069ff1a8b7a[.]pages[.]devΒ 67e5143a9ca7d2240c137ef80f2641d6[.]pages[.]devΒ DomainΒ CloudFlareΒ Pages hosting payloads. (DigitStealerΒ campaign)Β 
barbermoo[.]couponsΒ barbermoo[.]funΒ barbermoo[.]shopΒ barbermoo[.]spaceΒ barbermoo[.]todayΒ barbermoo[.]topΒ barbermoo[.]worldΒ barbermoo[.]xyzΒ DomainΒ C2 servers (MacSyncΒ Stealer campaign)Β 
alli-ai[.]proΒ DomainΒ Deceptive domain that redirects user after CAPTCHA verification (AMOS campaign)Β 
ai[.]foqguzz[.]comΒ DomainΒ Redirected domain used to deliver unsigned disk image. (AMOS campaign)Β 
day.foqguzz[.]comΒ DomainΒ C2 server (AMOS campaign)Β 
bagumedios[.]cloudΒ DomainΒ C2 server (PXA Stealer: Campaign 1)Β 
Negmari[.]comΒ Β Ramiort[.]comΒ Β Strongdwn[.]comΒ DomainΒ C2 servers (Malicious Crystal PDF installer campaign)Β 

Microsoft SentinelΒ Β 

Microsoft Sentinel customers can use the TI Mapping analytics (a series of analytics all prefixed with β€˜TI map’) to automatically match the malicious domain indicators mentioned in this blog post with data in their workspace. If the TI Map analytics are not currently deployed, customers can install the Threat Intelligence solution from theΒ Microsoft Sentinel Content HubΒ to have the analytics rule deployed in their Sentinel workspace.Β Β Β 

ReferencesΒ Β 

This research is provided by Microsoft Defender Security Research with contributions fromΒ Felicia Carter, Kajhon Soyini, Balaji Venkatesh S, Sai Chakri Kandalai, Dietrich Nembhard, Sabitha S, and Shriya Maniktala.

Learn moreΒ Β Β 

ReviewΒ ourΒ documentationΒ to learnΒ more about our real-time protection capabilities and see howΒ toΒ enable them within yourΒ organization.Β Β 

Learn more aboutΒ securing Copilot Studio agents with Microsoft DefenderΒ 

Learn more aboutΒ Protect your agents in real-time during runtime (Preview) – Microsoft Defender for Cloud Apps | Microsoft LearnΒ Β 

ExploreΒ how to build and customize agents with Copilot Studio Agent BuilderΒ Β 

The post Infostealers without borders: macOS, Python stealers, and platform abuse appeared first on Microsoft Security Blog.

Received β€” 1 February 2026 ⏭ Microsoft Security Blog

Case study: Securing AI application supply chains

The rapid adoption of AI applications, including agents, orchestrators, and autonomous workflows, represents a significant shift in how software systems are built and operated. Unlike traditional applications, these systems are active participants in execution. They make decisions, invoke tools, and interact with other systems on behalf of users. While this evolution enables new capabilities, it also introduces an expanded and less familiar attack surface.

Security discussions often focus on prompt-level protections, and that focus is justified. However, prompt security addresses only one layer of risk. Equally important is securing the AI application supply chain, including the frameworks, SDKs, and orchestration layers used to build and operate these systems. Vulnerabilities in these components can allow attackers to influence AI behavior, access sensitive resources, or compromise the broader application environment.

The recent disclosure of CVE-2025-68664, known as LangGrinch, in LangChain Core highlights the importance of securing the AI supply chain. This blog uses that real-world vulnerability to illustrate how Microsoft Defender posture management capabilities can help organizations identify and mitigate AI supply chain risks.

Case example: Serialization injection in LangChain (CVE-2025-68664)

A recently disclosed vulnerability in LangChain Core highlights how AI frameworks can become conduits for exploitation when workloads are not properly secured. Tracked as CVE-2025-68664 and commonly referred to as LangGrinch, this flaw exposes risks associated with insecure deserialization in agentic ecosystems that rely heavily on structured metadata exchange.

Vulnerability summary

CVE-2025-68664 is a serialization injection vulnerability affecting the langchain-core Python package. The issue stems from improper handling of internal metadata fields during the serialization and deserialization process. If exploited, an attacker could:

  • Extract secrets such as environment variables without authorization
  • Instantiate unintended classes during object reconstruction
  • Trigger side effects through malicious object initialization

The vulnerability carries a CVSS score of 9.3, highlighting the risks that arise when AI orchestration systems do not adequately separate control signals from user-supplied data.

Understanding the root cause: The lc marker

LangChain utilizes a custom serialization format to maintain state across different components of an AI chain. To distinguish between standard data and serialized LangChain objects, the framework uses a reserved key called lc. During deserialization, when the framework encounters a dictionary containing this key, it interprets the content as a trusted object rather than plain user data.

The vulnerability originates in the dumps() and dumpd() functions in affected versions of the langchain-core package. These functions did not properly escape or neutralize the lc key when processing user-controlled dictionaries. As a result, if an attacker is able to inject a dictionary containing the lc key into a data stream that is later serialized and deserialized, the framework may reconstruct a malicious object.

This is a classic example of an injection flaw where data and control signals are not properly separated, allowing untrusted input to influence the execution flow.

Mitigation and protection guidance

Microsoft recommends that all organizations using LangChain review their deployments and apply the following mitigations immediately.

1. Update LangChain Core

The most effective defense is to upgrade to a patched version of the langchain-core package.

  • For 0.3.x users: Update to version 0.3.81 or later.
  • For 1.x users: Update to version 1.2.5 or later.

2. Query the security explorer to identify any instances of LangChain in your environment

To identify instances of LangChain package in the assets protected by Defender for Cloud, customers can use the Cloud Security Explorer:

*Identification in cloud compute resources requires Defender CSPM / Defender for Containers / Defender for Servers plan.

*Identification in code environment requires connecting your code environment to Defender for Cloud Learn how to set up connectors

3. Remediate based on Defender for Cloud recommendations across the software development cycle: Code, Ship, Runtime

*Identification in cloud compute resources requires Defender CSPM / Defender for Containers / Defender for Servers plan.

*Identification in code environment requires connecting your code environment to Defender for Cloud Learn how to set up connectors

4. Create GitHub issues with runtime context directly from Defender for Cloud, track progress, and use Copilot coding agent for AI-powered automated fix

Learn more about Defender for Cloud seamless workflows with GitHub to shorten remediation times for security issues.

Microsoft Defender XDR detectionsΒ 

Microsoft security products provide several layers of defense to help organizations identify and block exploitation attempts related to AI vulnerable software.Β Β 

Microsoft Defender provides visibility into vulnerable AI workloads through its Cloud Security Posture Management (Defender CSPM).

Vulnerability Assessment: Defender for Cloud scanners have been updated to identify containers and virtual machines running vulnerable versions of langchain-core. Microsoft Defender is actively working to expand coverage to additional platforms and this blog will be updated when more information is available.

Hunting queries Β Β 

Microsoft Defender XDR

Security teams can use the advanced hunting capabilities in Microsoft Defender XDR to proactively look for indicators of exploitation. A common sign of exploitation is a Python process associated with LangChain attempting to access sensitive environment variables or making unexpected network connections immediately following an LLM interaction.

The following Kusto Query Language (KQL) query can be used to identify devices that are using the vulnerable software:

DeviceTvmSoftwareInventory
| where SoftwareName has "langchain" 
    and (
        // Lower version ranges
        SoftwareVersion startswith "0." 
        and toint(split(SoftwareVersion, ".")[1]) 

References

This research is provided by Microsoft Defender Security Research with contributions fromΒ Tamer Salman, Astar Lev, Yossi Weizman, Hagai Ran Kestenberg, and Shai Yannai.

Learn more Β 

ReviewΒ ourΒ documentationΒ to learnΒ more about our real-time protection capabilities and see howΒ toΒ enable them within yourΒ organization.Β Β 

Learn more aboutΒ securing Copilot Studio agents with Microsoft DefenderΒ 

Learn more aboutΒ Protect your agents in real-time during runtime (Preview) – Microsoft Defender for Cloud Apps | Microsoft LearnΒ Β 

ExploreΒ how to build and customize agents with Copilot Studio Agent BuilderΒ Β 

The post Case study: Securing AI application supply chains appeared first on Microsoft Security Blog.

Turning threat reports into detection insights with AI

Security teams routinely need to transform unstructured threat knowledge, such as incident narratives, red team breach-path writeups, threat actor profiles, and public reports into concrete defensive action. The early stages of that work are often the slowest. These include extracting tactics, techniques, and procedures (TTPs) from long documents, mapping them to a standard taxonomy, and determining which TTPs are already covered by existing detections versus which represent potential gaps.

Complex documents that mix prose, tables, screenshots, links, and code make it easy to miss key details. As a result, manual analysis can take days or even weeks, depending on the scope and telemetry involved.

This post outlines an AI-assisted workflow for detection analysis designed to accelerate detection engineering. The workflow generates a structured initial analysis from common security content, such as incident reports and threat writeups. It extracts candidate TTPs from the content, validates those TTPs, and normalizes them to a consistent format, including alignment with the MITRE ATT&CK framework.

The workflow then performs coverage and gap analysis by comparing the extracted TTPs against an existing detection catalog. It combines similarity search with LLM-based validation to improve accuracy. The goal is to give defenders a high-quality starting point by quickly surfacing likely coverage areas and potential detection gaps.

This approach saves time and allows analysts to focus where they add the most value: validating findings, confirming what telemetry actually captures, and implementing or tuning detections.

Technical details

Figure 1: Overall flow of the analysis.

Figure 1: Overall flow of the analysis

Figure 1 illustrates the overall architecture of the workflow for analyzing threat data. The system accepts multiple content types and processes them through three main stages: TTP extraction, MITRE ATT&CK mapping, and detection coverage analysis.

The workflow ingests artifacts that describe adversary behavior, including documents and web-based content. These artifacts include:

  • Red team reports
  • Threat intelligence (TI) reports
  • Threat actor (TA) profiles.

The system supports multiple content formats, allowing teams to process both internal and external reports without manual reformatting.

During ingestion, the system breaks each document into machine-readable segments, such as text blocks, headings, and lists. It retains the original document structure to preserve context. This is important because the location of information, such as whether it appears in an appendix or in key findings, can affect how the data is interpreted. This is especially relevant for long reports that combine narrative text with supporting evidence.

1) TTP and metadata extraction

The first major technical step extracts candidate TTPs from the ingested content. The workflow identifies technique-like behaviors described in free text and converts them into a structured format for review and downstream mapping.

The system uses specialized Large Language Model (LLM) prompts to extract this information from raw content. In addition to candidate TTPs, the system extracts supporting metadata, including:

  • Relevant cloud stack layers
  • Detection opportunities
  • Telemetry required for detection authoring

2) MITRE ATT&CK mapping

The system validates MITRE ATT&CK mappings by normalizing extracted behaviors to specific technique identifiers and names. This process highlights areas of uncertainty for review and correction, helping standardize visibility into attack observations and potential protection gaps.

The goal is to map all relevant layers, including tactics, techniques, and sub-techniques, by assigning each extracted TTP to the appropriate level of the MITRE ATT&CK hierarchy. Each TTP is mapped using a single LLM call with Retrieval Augmented Generation (RAG). To maintain accuracy, the system uses a focused, one-at-a-time approach to mapping.

3) Existing detections mapping and gap analysis

A key workflow step is mapping extracted TTPs against existing detections to determine which behaviors are already covered and where gaps may exist. This allows defenders to assess current coverage and prioritize detection development or tuning efforts.

Figure 2: Detection Mapping Process.

Figure 2 illustrates the end-to-end detection mapping process. This phase includes the following:

  • Vector similarity search: The system uses this to identify potential detection matches for each extracted TTP.
  • LLM-based validation: The system uses thisΒ to minimize false positives and provide determinations of β€œlikely covered” versus β€œlikely gap” outcomes.

The vector similarity search process begins by standardizing all detections, including their metadata and code, during an offline preprocessing step. This information is stored in a relational database and includes details such as titles, descriptions, and MITRE ATT&CK mappings. In federated environments, detections may come from multiple repositories, so this standardization streamlines access during detection mapping. Selected fields are then used to build a vector database, enabling semantic search across detections.

Vector search uses approximate nearest neighbor algorithms and produces a similarity-based confidence score. Because setting effective thresholds for these scores can be challenging, the workflow includes a second validation step using an LLM. This step evaluates whether candidate mappings are valid for a given TTP using a tailored prompt.

The final output highlights prioritized detection opportunities and identifies potential gaps. These results are intended as recommendations that defenders should confirm based on their environment and available telemetry. Because the analysis relies on extracted text and metadata, which may be ambiguous, these mappings do not guarantee detection coverage. Organizations should supplement this approach with real-world simulations to further validate the results.

Human-in-the-loop: why validation remains essential

Final confirmation requires human expertise and empirical validation. The workflow identifies promising detection opportunities and potential gaps, but confirmation depends on testing with real telemetry, simulation, and review of detection logic in context.

This boundary is important because coverage in this approach is primarily based on text similarity and metadata alignment. A detection may exist but operate at a different scope, depend on telemetry that is not universally available, or require correlation across multiple data sources. The purpose of the workflow is to reduce time to initial analysis so experts can focus on high-value validation and implementation work.

Practical advice for using AI

Large language models are powerful for accelerating security analysis, but they can be inconsistent across runs, especially when prompts, context, or inputs vary. Output quality depends heavily on the prompt. Long prompts might not transmit intent effectively to the model.

1) Plan for inconsistency and make critical steps deterministic

For high-impact steps, such as TTP extraction or mapping behaviors to a taxonomy, prioritize stability over creativity:

  • Use stronger models for the most critical steps and reserve smaller or cheaper models for tasks like summarization or formatting. Reasoning models are often more effective than non-reasoning models.
  • Use structured outputs, such as JSON schemas, and explicit formatting requirements to reduce variance. Most state-of-the-art models now support structured output.
  • Include a self-critique or answer review step in the model output. Use sequential LLM calls or a multi-turn agentic workflow to ensure a satisfactory result.

2) Insert reviewer checkpoints where mistakes are costly

Even high-performing models can miss details in long or heterogeneous documents. To reduce the risk of omissions or incorrect mappings, add human-in-the-loop reviewer gates:

  • Reviewer checkpoints are especially valuable for final TTP lists and any β€œcoverage vs. gap” conclusions.
  • Treat automated outputs as a first-pass hypothesis. Require expert validation and, if possible, empirical checks before operational decisions.

3) Optimize prompt context for better accuracy

Avoid including too much information in prompts. While modern models have large token windows, excess content can dilute relevance, increase cost, and reduce accuracy.

Best Practices:

  • Provide only the minimum necessary context. Focus on the information needed for the current step. Use RAG or staged, multi-step prompts instead of one large prompt.
  • Be specific. Use clear, direct instructions. Vague or open-ended requests often produce unclear results.

4) Build an evaluation loop

Establish an evaluation process for production-quality results:

  • Develop gold datasets and ground-truth samples to track coverage and accuracy over time.
  • Use expert reviews to validate results instead of relying on offline metrics.
  • Use evaluations to identify regressions when prompts, models, or context packaging changes.

Where AI accelerates detection and experts validate

Detection engineering is most effective when treated as a continuous loop:

  1. Gather new intelligence
  2. Extract relevant behaviors
  3. Check current coverage
  4. Set validation priorities
  5. Implementing improvements

AI can accelerate the early stages of this loop by quickly structuring TTPs and enabling efficient matching against existing detections. This allows defenders to focus on higher-value work, such as validating coverage, investigating areas of uncertainty, and refining detection logic.

In evaluation, the AI-assisted approach to TTP extraction produced results comparable to those of security experts. By combining the speed of AI with expert review and validation, organizations can scale detection coverage analysis more effectively, even during periods of high reporting volume.

This research is provided by Microsoft Defender Security Research with contributions fromΒ Β Fatih Bulut.

References

  1. MITRE ATT&CK Framework: https://attack.mitre.org
  2. Fatih Bulut, Anjali Mangal. β€œTowards Autonomous Detection Engineering”. Annual Computer Security Applications Conference (ACSAC) 2025. Link: https://www.acsac.org/2025/files/web/acsac25-casestudy-bulut.pdf

The post Turning threat reports into detection insights with AI appeared first on Microsoft Security Blog.

Received β€” 29 January 2026 ⏭ Microsoft Security Blog

Resurgence of a multi‑stage AiTM phishing and BEC campaign abusing SharePointΒ 

Microsoft Defender Researchers uncovered a multi‑stage adversary‑in‑the‑middle (AiTM) phishing and business email compromise (BEC) campaign targeting multiple organizations in the energy sector, resulting in the compromise of various user accounts. The campaign abused SharePoint file‑sharing services to deliver phishing payloads and relied on inbox rule creation to maintain persistence and evade user awareness. The attack transitioned into a series of AiTM attacks and follow-on BEC activity spanning multiple organizations.

Following the initial compromise, the attackers leveraged trusted internalΒ identities from the target to conduct large‑scale intra‑organizational and external phishing, significantly expanding the scope of the campaign. Defender detections surfaced the activity to all affected organizations.

This attack demonstrates the operational complexity of AiTM campaigns and the need for remediation beyond standard identity compromise responses. Password resets alone are insufficient. Impacted organizations in the energy sector must additionally revoke active session cookies and remove attacker-created inbox rules used to evade detection.

Attack chain: AiTM phishing attack

Stage 1: Initial access via trusted vendor compromise

Analysis of the initial access vector indicates that the campaign leveraged a phishing email sent from an email address belonging to a trusted organization, likely compromised before the operation began. The lure employed a SharePoint URL requiring user authentication and used subject‑line mimicry consistent with legitimate SharePoint document‑sharing workflows to increase credibility.

Threat actors continue to leverage trusted cloud collaboration platforms particularly Microsoft SharePoint and OneDrive due to their ubiquity in enterprise environments. These services offer built‑in legitimacy, flexible file‑hosting capabilities, and authentication flows that adversaries can repurpose to obscure malicious intent. This widespread familiarity enables attackers to deliver phishing links and hosted payloads that frequently evade traditional email‑centric detection mechanisms.

Stage 2: Malicious URL clicks

Threat actors often abuse legitimate services and brands to avoid detection. In this scenario, we observed that the attacker leveraged the SharePoint service for the phishing campaign. While threat actors may attempt to abuse widely trusted platforms, Microsoft continuously invests in safeguards, detections, and abuse prevention to limit misuse of our services and to rapidly detect and disrupt malicious activity

Stage 3: AiTM attack

Access to the URL redirected users to a credential prompt, but visibility into the attack flow did not extend beyond the landing page.

Stage 4: Inbox rule creation

The attacker later signed in with another IP address and created an Inbox rule with parameters to delete all incoming emails on the user’s mailbox and marked all the emails as read.

Stage 5: Phishing campaign

Followed by Inbox rule creation, the attacker initiated a large-scale phishing campaign involving more than 600 emails with another phishing URL. The emails were sent to the compromised user’s contacts, both within and outside of the organization, as well as distribution lists. The recipients were identified based on the recent email threads in the compromised user’s inbox.

Stage 6: BEC tactics

The attacker then monitored the victim user’s mailbox for undelivered and out of office emails and deleted them from the Archive folder. The attacker read the emails from the recipients who raised questions regarding the authenticity of the phishing email and responded, possibly to falsely confirm that the email is legitimate. The emails and responses were then deleted from the mailbox. These techniques are common in any BEC attacks and are intended to keep the victim unaware of the attacker’s operations, thus helping in persistence.

Stage 7: Accounts compromise

The recipients of the phishing emails from within the organization who clicked on the malicious URL were also targeted by another AiTM attack. Microsoft Defender Experts identified all compromised users based on the landing IP and the sign-in IP patterns.Β 

Mitigation and protection guidance

Microsoft Defender XDR detects suspicious activities related to AiTM phishing attacks and their follow-on activities, such as sign-in attempts on multiple accounts and creation of malicious rules on compromised accounts. To further protect themselves from similar attacks, organizations should also consider complementing MFA with conditional access policies, where sign-in requests are evaluated using additional identity-driven signals like user or group membership, IP location information, and device status, among others.

Defender Experts also initiated rapid response with Microsoft Defender XDR to contain the attack including:

  • Automatically disrupting the AiTM attack on behalf of the impacted users based on the signals observed in the campaign.
  • Initiating zero-hour auto purge (ZAP) in Microsoft Defender XDR to find and take automated actions on the emails that are a part of the phishing campaign.

Defender Experts further worked with customers to remediate compromised identities through the following recommendations:

  • Revoking session cookies in addition to resetting passwords.
  • Revoking the MFA setting changes made by the attacker on the compromised user’s accounts.
  • Deleting suspicious rules created on the compromised accounts.

Mitigating AiTM phishing attacks

The general remediation measure for any identity compromise is to reset the password for the compromised user. However, in AiTM attacks, since the sign-in session is compromised, password reset is not an effective solution. Additionally, even if the compromised user’s password is reset and sessions are revoked, the attacker can set up persistence methods to sign-in in a controlled manner by tampering with MFA. For instance, the attacker can add a new MFA policy to sign in with a one-time password (OTP) sent to attacker’s registered mobile number. With these persistence mechanisms in place, the attacker can have control over the victim’s account despite conventional remediation measures.

While AiTM phishing attempts to circumvent MFA, implementation of MFA still remains an essential pillar in identity security and highly effective at stopping a wide variety of threats. MFA is the reason that threat actors developed the AiTM session cookie theft technique in the first place. Organizations are advised to work with their identity provider to ensure security controls like MFA are in place. Microsoft customers can implement MFA through various methods, such as using the Microsoft Authenticator, FIDO2 security keys, and certificate-based authentication.

Defenders can also complement MFA with the following solutions and best practices to further protect their organizations from such attacks:

  • Use security defaults as a baseline set of policies to improve identity security posture. For more granular control, enable conditional access policies, especially risk-based access policies. Conditional access policies evaluate sign-in requests using additional identity-driven signals like user or group membership, IP location information, and device status, among others, and are enforced for suspicious sign-ins. Organizations can protect themselves from attacks that leverage stolen credentials by enabling policies such as compliant devices, trusted IP address requirements, or risk-based policies with proper access control.
  • Implement continuous access evaluation.
  • Invest in advanced anti-phishing solutions that monitor and scan incoming emails and visited websites. For example, organizations can leverage web browsers that automatically identify and block malicious websites, including those used in this phishing campaign, and solutions that detect and block malicious emails, links, and files.
  • Continuously monitor suspicious or anomalous activities. Hunt for sign-in attempts with suspicious characteristics (for example, location, ISP, user agent, and use of anonymizer services).

Detections

Because AiTM phishing attacks are complex threats, they require solutions that leverage signals from multiple sources. Microsoft Defender XDRΒ uses its cross-domain visibility to detect malicious activities related to AiTM, such as session cookie theft and attempts to use stolen cookies for signing in.

Using Microsoft Defender for Cloud Apps connectors, Microsoft Defender XDR raises AiTM-related alerts in multiple scenarios. For Microsoft Entra ID customers using Microsoft Edge, attempts by attackers to replay session cookies to access cloud applications are detected by Defender for Cloud Apps connectors for Microsoft 365 and Azure. In such scenarios, Microsoft Defender XDRΒ raises the following alert:

  • Stolen session cookie was used

In addition, signals from these Defender for Cloud Apps connectors, combined with data from the Defender for Endpoint network protection capabilities, also triggers the following Microsoft Defender XDR alert on Microsoft Entra ID. environments:

  • Possible AiTM phishing attempt

A specific Defender for Cloud Apps connector for Okta, together with Defender for Endpoint, also helps detect AiTM attacks on Okta accounts using the following alert:

  • Possible AiTM phishing attempt in Okta

Other detections that show potentially related activity are the following:

Microsoft Defender for Office 365

  • Email messages containing malicious file removed after delivery
  • Email messages from a campaign removed after delivery
  • A potentially malicious URL click was detected
  • A user clicked through to a potentially malicious URL
  • Suspicious email sending patterns detected

Microsoft Defender for Cloud Apps

  • Suspicious inbox manipulation rule
  • Impossible travel activity
  • Activity from infrequent country
  • Suspicious email deletion activity

Microsoft Entra ID Protection

  • Anomalous Token
  • Unfamiliar sign-in properties
  • Unfamiliar sign-in properties for session cookies

Microsoft Defender XDR

  • BEC-related credential harvesting attack
  • Suspicious phishing emails sent by BEC-related user

Indicators of Compromise

  • Network Indicators
    • 178.130.46.8 – Attacker infrastructure
    • 193.36.221.10 – Attacker infrastructure

Recommended actions

Microsoft recommends the following mitigations to reduce the impact of this threat:

Hunting queries – Microsoft XDR

AHQ#1 – Phishing Campaign:

EmailEvents

| where Subject has β€œNEW PROPOSAL – NDA”

AHQ#2 – Sign-in activity from the suspicious IP Addresses

AADSignInEventsBeta

| where Timestamp >= ago(7d)

| where IPAddress startswith β€œ178.130.46.” or IPAddress startswith β€œ193.36.221.”

Microsoft Sentinel

Microsoft Sentinel customers can use the following analytic templates to find BEC related activities similar to those described in this post:

In addition to the analytic templates listed above, Microsoft Sentinel customers can use the following hunting content to perform Hunts for BEC related activities:


The post Resurgence of a multi‑stage AiTM phishing and BEC campaign abusing SharePointΒ  appeared first on Microsoft Security Blog.

Received β€” 24 January 2026 ⏭ Microsoft Security Blog

From runtime risk to real‑time defense: Securing AI agentsΒ 

AI agents, whether developed in Microsoft Copilot Studio or on alternative platforms, are becoming a powerful means for organizations to createΒ custom solutions designed to enhance productivity and automate organizational processes by seamlessly integrating with internal data and systems.Β 

From a security research perspective,Β this shift introduces a fundamental changeΒ in the threat landscape. As MicrosoftΒ Defender researchers evaluate how agents behave under adversarial pressure, one risk stands out: once deployed, agents can access sensitive data and execute privileged actions based on natural language input alone. IfΒ anΒ threatΒ actorΒ can influence how an agent plans or sequences those actions, the result may be unintended behavior thatΒ operatesΒ entirely within the agent’s allowed permissions, which makes it difficult to detect using traditional controls.Β 

To address this, it is important to have a mechanism for verifying and controlling agent behavior during runtime, not just atΒ buildΒ time.Β 

By inspecting agent behavior as it executes, defenders can evaluate whether individual actions align with intended use and policy. In Microsoft Copilot Studio, this is supported through real-time protection during tool invocation, where Microsoft Defender performs security checks thatΒ determineΒ whether each action should be allowed or blocked before execution. This approach provides security teams with runtime oversight into agent behavior while preserving the flexibility that makes agents valuable.Β 

In thisΒ article, we examine three scenarios inspired by observed and emerging AI attack techniques, whereΒ threat actorsΒ attemptΒ to manipulate agent tool invocation to produce unsafe outcomes,Β often without the agent creator’s awareness. For each scenario, we show howΒ webhook-basedΒ runtime checks, implemented through Defender integration with Copilot Studio, can detect and stop these risky actions in real time, giving security teams the observability and control needed to deploy agents with confidence.Β 

Topics, tools,Β and knowledge sources:Β Β How AI agents execute actions and why attackers target themΒ 

FigureΒ 1:Β AΒ visual representation of the 3 elements Copilot Studio agentsΒ reliesΒ onΒ to respond to user prompts.

Microsoft Copilot Studio agents are composed of multiple components that work together to interpret input, plan actions, and execute tasks. From a security perspective, these same componentsΒ (topics, tools, and knowledge sources)Β also define the agent’s effective attack surface. Understanding how they interact is essential to recognizing how attackers mayΒ attemptΒ to influence agent behavior, particularly in environments that rely on generative orchestration to chain actions at runtime. Because these componentsΒ determineΒ how the agent responds to user prompts and autonomous triggers, crafted input becomes a primary vector for steering the agent toward unintended or unsafe execution paths.Β 

When using generative orchestration, each user input or trigger can cause the orchestrator to dynamically build and execute a multi-step plan,Β leveragingΒ all three components to deliverΒ accurateΒ and context-aware results.Β 

  1. TopicsΒ are modular conversation flows triggered by specific user phrases. Each topic is made up of nodes that guide the conversation step-by-step, and can include actions, questions, or conditions.Β 
  1. ToolsΒ are the capabilities the copilot can call during a conversation,Β such as connector actions, AIΒ builder models, or generative answers. These can be embedded within topics or executed independently, giving the agent flexibility in how it handles requests.Β 
  1. Knowledge sourcesΒ enhance generative answers by grounding them in reliable enterprise content. When configured, they allow the copilot to access information from Power Platform, Dynamics 365, websites, and other external systems, ensuring responses areΒ accurateΒ and contextually relevant.Β Β Read more about MicrosoftΒ CopilotΒ Studio agentsΒ here.Β Β 

UnderstandingΒ and mitigatingΒ potentialΒ risksΒ withΒ real-timeΒ protectionΒ in MicrosoftΒ DefenderΒ 

In theΒ modelΒ above, the agent’sΒ capabilitiesΒ are effectively equivalent to code execution in the environment.Β When a tool is invoked, it can perform real-world actions, read or write data, send emails, update records, or trigger workflows – just like executing a command inside a sandbox where the sandboxΒ is a set of all theΒ agent’sΒ capabilities. This means that if an attacker can influence the agent’s plan, they can indirectly cause the execution of unintended operations within the sandbox.Β Β From a security lens:Β 

  • TheΒ riskΒ is that the agent’s orchestrator depends on natural language input toΒ determineΒ which tools to use and how to use them. This creates exposure to prompt injection and reprogramming failures, where malicious prompts, embedded instructions, or crafted documents can manipulate the decision-making process.Β 
  • TheΒ exploitΒ occurs when these manipulated instructions lead the agent to perform unauthorized tool use, such as exfiltrating data, carrying out unintended actions, or accessing sensitive resources, without directly compromising the underlying systems.Β 

Because of this,Β MicrosoftΒ DefenderΒ treatsΒ every tool invocation as a high-value, high-risk event,Β andΒ monitorsΒ it in real time.Β BeforeΒ any tool, topic, or knowledge action isΒ executed, theΒ Copilot StudioΒ generative orchestratorΒ initiatesΒ aΒ webhookΒ call toΒ Defender. This call transmitsΒ all relevantΒ contextΒ forΒ the plannedΒ invocationΒ includingΒ the currentΒ component’sΒ parameters, outputs fromΒ previousΒ steps in the orchestration chain, user context, and other metadata.Β Β 

Defender analyzesΒ this information,Β evaluatingΒ both theΒ intentΒ andΒ destinationΒ ofΒ everyΒ action,Β and decidesΒ in real time whether to allow or block the action, providing precise runtime control without requiring any changes to the agent’s internal orchestration logic.Β Β 

By viewing tools as privileged execution points and inspecting them with the same rigor we apply to traditional code execution, we can give organizations the confidence to deploy agents at scale – without opening the door to exploitation.Β 

Below are three realistic scenarios where ourΒ webhook-basedΒ security checks step in to protect against unsafe actions.Β 

MaliciousΒ instructionΒ injection in anΒ event-triggeredΒ workflowΒ 

Consider the following business scenario:Β aΒ finance agent is tasked with generating invoice records and responding to finance-related inquiriesΒ regardingΒ the company.Β TheΒ agent is configured to automatically process all messages sent toΒ invoice@contoso.comΒ mailboxΒ using anΒ eventΒ trigger. The agent uses the generative orchestrator, which enables it to dynamically combineΒ tools,Β topics, andΒ knowledgeΒ in a single execution plan.

In this setup:Β 

  • Trigger: An incoming email toΒ invoice@contoso.comΒ starts the workflow.Β 
  • Tool: The CRM connector is used to create or update a record with extracted payment details.Β 
  • Tool: The email sending tool sendsΒ confirmationΒ back to the sender.Β 
  • Knowledge: A company-provided finance policy file was uploaded to the agent so it can answer questions about payment terms, refund procedures, and invoice handling rules.Β 

TheΒ instructions that were given to the agentΒ areΒ for the agent to only handle invoice data and basic finance-related FAQs, but because generative orchestration can freely chain together tools, topics, and knowledge, its plan can adaptΒ or bypassedΒ based on the content of the incoming emailΒ in certain conditions.Β 

A malicious external sender could craft an email that appears toΒ containΒ invoice data but also includes hidden instructions telling the agent to search for unrelated sensitive information from its knowledge base and send it to the attacker’s mailbox. Without safeguards, the orchestrator could interpret this as a valid request and insert a knowledgeΒ search step into its multi-componentΒ plan, followed by an emailΒ sentΒ to the attacker’s addressΒ with the results.Β 

Before the knowledgeΒ componentΒ is invoked, MCS sends aΒ webhookΒ request to our security productΒ containing:Β 

  • The target action (knowledge search).Β 
  • SearchΒ query parameters derived from the orchestrator’s plan.Β 
  • Outputs fromΒ previousΒ orchestration steps.Β 
  • Context from the triggering email.Β 

Agent Runtime Protection analyzes the request and blocks the invocation before it executes, ensuring that the agent’sΒ knowledgebaseΒ is never queried with the attacker’s input.Β Β 

This action is logged in the Activity History, where administrators can see that the invocation was blocked, along with an error messageΒ indicatingΒ that the threat-detection controls intervened:Β 

In addition, anΒ XDR informational alert will be triggeredΒ in the security portalΒ to keep the security team aware ofΒ potentialΒ attacksΒ (even thoughΒ this specific attack was blocked):Β 

PromptΒ injection viaΒ sharedΒ documentΒ leading toΒ maliciousΒ emailΒ exfiltrationΒ attemptΒ 

Consider thatΒ an organizational agent is connected to the company’s cloud-based SharePoint environment, which stores internal documents. The agent’s purpose is to retrieve documents, summarize their content, extract action items, and send these to relevant recipients.Β 

To perform these tasks, the agent uses:Β 

  • Tool A – to access SharePointΒ files within a siteΒ (using the signed-in user’sΒ identity)Β 

A malicious insiderΒ editsΒ a SharePoint document that theyΒ have permission to, inserting crafted instructions intended to manipulate the organizational agent’s behavior.Β Β 

When the crafted file is processed, the agent is tricked intoΒ locatingΒ and reading the contents of a sensitive file,Β transactions.pdf, stored on a different SharePointΒ fileΒ the attacker cannot directly access but that the connector (and thus the agent) isΒ permittedΒ to access. The agent thenΒ attemptsΒ to send the file’s contents via email to an attacker-controlled domain.Β Β 

At the point of invoking the email-sending tool, Microsoft Threat Intelligence detects that the activity may be malicious and blocks the email, preventingΒ dataΒ exfiltration.Β 

CapabilityΒ reconnaissanceΒ attempt on agentΒ 

A publicly accessible support chatbot is embeddedΒ onΒ the company’s website without requiring user authentication.Β The chatbot is configured with a knowledge base that includes customer information and points of contact.Β 

An attacker interacts with the chatbot using a series of carefully crafted and sophisticated prompts to probe andΒ enumerateΒ its internal capabilities. This reconnaissance aims to discover available tools and potential actions the agent can perform, with the goal of exploiting them in later interactions.Β 

After the attackerΒ identifiesΒ theΒ knowledgeΒ sources accessible to the agent, they can extract all information from those sources, including potentially sensitive customer data and internal contact details,Β causing it to perform unintended actions.Β 

Microsoft DefenderΒ detectsΒ these probing attempts andΒ actsΒ to blockΒ anyΒ subsequentΒ tool invocations that were triggered as a direct result, preventing the attacker fromΒ leveragingΒ the discovered capabilities to access or exfiltrate sensitive data.Β 

Final wordsΒ 

Securing Microsoft Copilot Studio agents during runtime is critical toΒ maintainingΒ trust, protecting sensitive data, and ensuring complianceΒ inΒ real-world deployments. AsΒ demonstratedΒ throughΒ the aboveΒ scenarios, even the most sophisticated generative orchestrations can be exploited if tool invocations are not carefullyΒ monitoredΒ and controlled.Β 

Defender’sΒ webhook-basedΒ runtime inspectionΒ combined with advanced threat intelligence, organizations gain a powerful safeguard that can detect and block malicious or unintended actions as they happen,Β without disrupting legitimate workflows or requiring intrusive changes to agent logicΒ (seeΒ moreΒ details at theΒ β€˜Learn more’ sectionΒ below).Β 

This approach provides a flexible and scalable security layer that evolves alongside emerging attack techniques and enables confident adoption of AI-powered agents across diverse enterprise use cases.Β 

As you build and deploy your own Microsoft Copilot Studio agents, incorporating real-timeΒ webhookΒ security checks will be an essential step in delivering safe, reliable, and responsible AIΒ experiences.Β 

This research is provided by Microsoft Defender Security Research with contributions fromΒ DorΒ Edry,Β Uri Oren.Β 

Learn more

  • ReviewΒ ourΒ documentationΒ to learnΒ more about our real-time protection capabilities and see howΒ toΒ enable them within yourΒ organization.Β Β 

The post From runtime risk to real‑time defense: Securing AI agentsΒ  appeared first on Microsoft Security Blog.

Received β€” 22 January 2026 ⏭ Microsoft Security Blog

Resurgence of a multi‑stage AiTM phishing and BEC campaign abusing SharePointΒ 

Microsoft Defender Researchers uncovered a multi‑stage adversary‑in‑the‑middle (AiTM) phishing and business email compromise (BEC) campaign targeting multiple organizations in the energy sector, resulting in the compromise of various user accounts. The campaign abused SharePoint file‑sharing services to deliver phishing payloads and relied on inbox rule creation to maintain persistence and evade user awareness. The attack transitioned into a series of AiTM attacks and follow-on BEC activity spanning multiple organizations.

Following the initial compromise, the attackers leveraged trusted internalΒ identities from the target to conduct large‑scale intra‑organizational and external phishing, significantly expanding the scope of the campaign. Defender detections surfaced the activity to all affected organizations.

This attack demonstrates the operational complexity of AiTM campaigns and the need for remediation beyond standard identity compromise responses. Password resets alone are insufficient. Impacted organizations in the energy sector must additionally revoke active session cookies and remove attacker-created inbox rules used to evade detection.

Attack chain: AiTM phishing attack

Stage 1: Initial access via trusted vendor compromise

Analysis of the initial access vector indicates that the campaign leveraged a phishing email sent from an email address belonging to a trusted organization, likely compromised before the operation began. The lure employed a SharePoint URL requiring user authentication and used subject‑line mimicry consistent with legitimate SharePoint document‑sharing workflows to increase credibility.

Threat actors continue to leverage trusted cloud collaboration platforms particularly Microsoft SharePoint and OneDrive due to their ubiquity in enterprise environments. These services offer built‑in legitimacy, flexible file‑hosting capabilities, and authentication flows that adversaries can repurpose to obscure malicious intent. This widespread familiarity enables attackers to deliver phishing links and hosted payloads that frequently evade traditional email‑centric detection mechanisms.

Stage 2: Malicious URL clicks

Threat actors often abuse legitimate services and brands to avoid detection. In this scenario, we observed that the attacker leveraged the SharePoint service for the phishing campaign. While threat actors may attempt to abuse widely trusted platforms, Microsoft continuously invests in safeguards, detections, and abuse prevention to limit misuse of our services and to rapidly detect and disrupt malicious activity

Stage 3: AiTM attack

Access to the URL redirected users to a credential prompt, but visibility into the attack flow did not extend beyond the landing page.

Stage 4: Inbox rule creation

The attacker later signed in with another IP address and created an Inbox rule with parameters to delete all incoming emails on the user’s mailbox and marked all the emails as read.

Stage 5: Phishing campaign

Followed by Inbox rule creation, the attacker initiated a large-scale phishing campaign involving more than 600 emails with another phishing URL. The emails were sent to the compromised user’s contacts, both within and outside of the organization, as well as distribution lists. The recipients were identified based on the recent email threads in the compromised user’s inbox.

Stage 6: BEC tactics

The attacker then monitored the victim user’s mailbox for undelivered and out of office emails and deleted them from the Archive folder. The attacker read the emails from the recipients who raised questions regarding the authenticity of the phishing email and responded, possibly to falsely confirm that the email is legitimate. The emails and responses were then deleted from the mailbox. These techniques are common in any BEC attacks and are intended to keep the victim unaware of the attacker’s operations, thus helping in persistence.

Stage 7: Accounts compromise

The recipients of the phishing emails from within the organization who clicked on the malicious URL were also targeted by another AiTM attack. Microsoft Defender Experts identified all compromised users based on the landing IP and the sign-in IP patterns.Β 

Mitigation and protection guidance

Microsoft Defender XDR detects suspicious activities related to AiTM phishing attacks and their follow-on activities, such as sign-in attempts on multiple accounts and creation of malicious rules on compromised accounts. To further protect themselves from similar attacks, organizations should also consider complementing MFA with conditional access policies, where sign-in requests are evaluated using additional identity-driven signals like user or group membership, IP location information, and device status, among others.

Defender Experts also initiated rapid response with Microsoft Defender XDR to contain the attack including:

  • Automatically disrupting the AiTM attack on behalf of the impacted users based on the signals observed in the campaign.
  • Initiating zero-hour auto purge (ZAP) in Microsoft Defender XDR to find and take automated actions on the emails that are a part of the phishing campaign.

Defender Experts further worked with customers to remediate compromised identities through the following recommendations:

  • Revoking session cookies in addition to resetting passwords.
  • Revoking the MFA setting changes made by the attacker on the compromised user’s accounts.
  • Deleting suspicious rules created on the compromised accounts.

Mitigating AiTM phishing attacks

The general remediation measure for any identity compromise is to reset the password for the compromised user. However, in AiTM attacks, since the sign-in session is compromised, password reset is not an effective solution. Additionally, even if the compromised user’s password is reset and sessions are revoked, the attacker can set up persistence methods to sign-in in a controlled manner by tampering with MFA. For instance, the attacker can add a new MFA policy to sign in with a one-time password (OTP) sent to attacker’s registered mobile number. With these persistence mechanisms in place, the attacker can have control over the victim’s account despite conventional remediation measures.

While AiTM phishing attempts to circumvent MFA, implementation of MFA still remains an essential pillar in identity security and highly effective at stopping a wide variety of threats. MFA is the reason that threat actors developed the AiTM session cookie theft technique in the first place. Organizations are advised to work with their identity provider to ensure security controls like MFA are in place. Microsoft customers can implement MFA through various methods, such as using the Microsoft Authenticator, FIDO2 security keys, and certificate-based authentication.

Defenders can also complement MFA with the following solutions and best practices to further protect their organizations from such attacks:

  • Use security defaults as a baseline set of policies to improve identity security posture. For more granular control, enable conditional access policies, especially risk-based access policies. Conditional access policies evaluate sign-in requests using additional identity-driven signals like user or group membership, IP location information, and device status, among others, and are enforced for suspicious sign-ins. Organizations can protect themselves from attacks that leverage stolen credentials by enabling policies such as compliant devices, trusted IP address requirements, or risk-based policies with proper access control.
  • Implement continuous access evaluation.
  • Invest in advanced anti-phishing solutions that monitor and scan incoming emails and visited websites. For example, organizations can leverage web browsers that automatically identify and block malicious websites, including those used in this phishing campaign, and solutions that detect and block malicious emails, links, and files.
  • Continuously monitor suspicious or anomalous activities. Hunt for sign-in attempts with suspicious characteristics (for example, location, ISP, user agent, and use of anonymizer services).

Detections

Because AiTM phishing attacks are complex threats, they require solutions that leverage signals from multiple sources. Microsoft Defender XDRΒ uses its cross-domain visibility to detect malicious activities related to AiTM, such as session cookie theft and attempts to use stolen cookies for signing in.

Using Microsoft Defender for Cloud Apps connectors, Microsoft Defender XDR raises AiTM-related alerts in multiple scenarios. For Microsoft Entra ID customers using Microsoft Edge, attempts by attackers to replay session cookies to access cloud applications are detected by Defender for Cloud Apps connectors for Microsoft 365 and Azure. In such scenarios, Microsoft Defender XDRΒ raises the following alert:

  • Stolen session cookie was used

In addition, signals from these Defender for Cloud Apps connectors, combined with data from the Defender for Endpoint network protection capabilities, also triggers the following Microsoft Defender XDR alert on Microsoft Entra ID. environments:

  • Possible AiTM phishing attempt

A specific Defender for Cloud Apps connector for Okta, together with Defender for Endpoint, also helps detect AiTM attacks on Okta accounts using the following alert:

  • Possible AiTM phishing attempt in Okta

Other detections that show potentially related activity are the following:

Microsoft Defender for Office 365

  • Email messages containing malicious file removed after delivery
  • Email messages from a campaign removed after delivery
  • A potentially malicious URL click was detected
  • A user clicked through to a potentially malicious URL
  • Suspicious email sending patterns detected

Microsoft Defender for Cloud Apps

  • Suspicious inbox manipulation rule
  • Impossible travel activity
  • Activity from infrequent country
  • Suspicious email deletion activity

Microsoft Entra ID Protection

  • Anomalous Token
  • Unfamiliar sign-in properties
  • Unfamiliar sign-in properties for session cookies

Microsoft Defender XDR

  • BEC-related credential harvesting attack
  • Suspicious phishing emails sent by BEC-related user

Indicators of Compromise

  • Network Indicators
    • 178.130.46.8 – Attacker infrastructure
    • 193.36.221.10 – Attacker infrastructure

Recommended actions

Microsoft recommends the following mitigations to reduce the impact of this threat:

Hunting queries – Microsoft XDR

AHQ#1 – Phishing Campaign:

EmailEvents

| where Subject has β€œNEW PROPOSAL – NDA”

AHQ#2 – Sign-in activity from the suspicious IP Addresses

AADSignInEventsBeta

| where Timestamp >= ago(7d)

| where IPAddress startswith β€œ178.130.46.” or IPAddress startswith β€œ193.36.221.”

Microsoft Sentinel

Microsoft Sentinel customers can use the following analytic templates to find BEC related activities similar to those described in this post:

In addition to the analytic templates listed above, Microsoft Sentinel customers can use the following hunting content to perform Hunts for BEC related activities:


The post Resurgence of a multi‑stage AiTM phishing and BEC campaign abusing SharePointΒ  appeared first on Microsoft Security Blog.

A new era of agents, a new era of postureΒ 

The rise of AI Agents marks one of the most exciting shifts in technology today. Unlike traditionalΒ applications or cloud resources, these agentsΒ are not passive components-Β they reason, make decisions, invoke tools, and interact with other agents and systems on behalf of users. ThisΒ autonomy brings powerful opportunities,Β but it also introduces a new set of risks, especiallyΒ given how easily AI agents can be created, even byΒ teamsΒ who may not fully understand the security implications.Β 

This fundamentally changes the securityΒ equation, makingΒ securingΒ AI agent a uniquely complex challenge – and this is where AIΒ agentsΒ posture becomes critical. The goal is not to slow innovation or restrict adoption, but toΒ enable the business to build and deploy AI agents securely by design.Β Β 

A strong AI agentsΒ posture starts with comprehensive visibility across all AI assets and goes further by providing contextual insights – understanding what each agent can doΒ and what it connected to, the risks it introduces,Β howΒ it can be harden,Β and how to prioritize and mitigate issues before they turn into incidents.Β 

In this blog,Β we’llΒ explore the unique security challenges introduced by AI agents and how Microsoft Defender helps organizations reduce risk and attack surface through AI security posture management across multi-cloud environments.Β 

Understanding theΒ unique challengesΒ Β 

The attack surface of an AI agent is inherently broad. By design, agents are composed of multiple interconnectedΒ layers – models, platforms, tools,Β knowledgeΒ sources,Β guardrails,Β identities, and more.Β 

Across this layered architecture, threats canΒ emergeΒ at multiple points, including prompt-based attacks, poisoning of grounding data, abuse of agent tools,Β manipulation of coordinating agents,Β etc.Β As a result, securing AI agents demandsΒ a holistic approach.Β Every layer of this multi-tiered ecosystem introduces its own risks, and overlooking any one of them can leave the agent exposed.Β 

Let’sΒ explore several uniqueΒ scenarios where Defender’s contextual insights help address these challenges across the entire AI agent stack.Β 

ScenarioΒ 1: Finding agents connected toΒ sensitive dataΒ 

Agents are often connected to data sources,Β and sometimes -whether by design or by mistake- they are granted access to sensitive organizational information, including PII.Β Such agents are typically intended for internal use – for example, processing customer transaction records or financial data. While they deliver significant value, they alsoΒ representΒ a critical point of exposure. If an attacker compromises one of these agents, they could gain access toΒ highly sensitiveΒ information that was never meant to leave the organization. Moreover, unlike direct access to a database – which can be easily logged andΒ monitored – data exfiltration through an agent may blend in with normal agent activity, making it much harder to detect. This makes data-connected agents especially important toΒ monitor, protect, and isolate, as the consequences of their misuse can be severe.Β 

Microsoft DefenderΒ providesΒ visibility for those agents connected to sensitive data and help security teams mitigate such risks. In the example shown in FigureΒ 1, the attack pathΒ demonstratesΒ how an attacker couldΒ leverageΒ anΒ Internet-exposedΒ APIΒ to gain access to an AI agentΒ grounded withΒ sensitive data.Β The attack path highlights the source of the agent’s sensitive data (e.g., a blob container) andΒ outlinesΒ the stepsΒ requiredΒ to remediate the threat.Β 

Figure1 – The attack path illustrates how an attacker couldΒ leverageΒ an Internet exposed API to gain access to an AI agent grounded with sensitive dataΒ Β 

ScenarioΒ 2:Β IdentifyingΒ agentsΒ with indirect prompt injection riskΒ 

AI agents regularly interact with external data – user messages, retrieved documents,Β third-partyΒ APIs, and various data pipelines. While these inputs are usually treated as trustworthy, they can become a stealthy delivery mechanism forΒ Indirect Prompt Injection (XPIA), an emerging class ofΒ AI-specificΒ attacks. Unlike direct prompt injection, where an attacker issues harmful instructions straight to the model, XPIA occursΒ where malicious instructions are hidden in external dataΒ source that an agent processes, such as a webpage fetched through a browser tool or an email being summarized. The agent unknowingly ingests this crafted content, which embeds hidden or obfuscated commands that are executed simply because the agent trusts the source andΒ operatesΒ autonomously.Β 

This makes XPIA particularly dangerous for agents performingΒ high-privilegeΒ operations – modifyingΒ databases, triggering workflows, accessing sensitive data, or performing autonomous actions at scale. In these cases, a single manipulated data source can silently influence an agent’s behavior, resulting in unauthorized access, data exfiltration, orΒ internal system compromise.Β This makesΒ identifyingΒ agentsΒ suspectableΒ toΒ XPIAΒ a critical security requirement.Β 

ByΒ analyzingΒ anΒ agent’sΒ toolΒ combinationsΒ and configurations,Β Microsoft DefenderΒ identifiesΒ agents that carry elevated exposure to indirect prompt injection,Β based on both the functionality of their tools and the potential impact of misuse.Β Defender then generates tailored securityΒ recommendationsΒ for these agents andΒ assigns them a dedicatedΒ Risk Factor, that helpΒ prioritizeΒ them.Β 

inΒ FigureΒ 2,Β we can seeΒ aΒ recommendation generated by the Defender forΒ an agent withΒ IndirectΒ promptΒ injectionΒ riskΒ andΒ lackingΒ properΒ guardrails – controls that are essential for reducing theΒ possibilityΒ of an XPIAΒ event.Β 

FigureΒ 2 – Recommendation generated by the Defender forΒ an agent withΒ Indirect prompt injection riskΒ andΒ lackingΒ properΒ guardrails.

InΒ FigureΒ 3,Β we can seeΒ aΒ recommendationΒ generated by the Defender forΒ an agent with both high autonomy andΒ a high riskΒ of indirect prompt injection, a combination that significantly increases the probability of a successful attack.Β Β 

In both cases, Defender provides detailedΒ andΒ actionable remediation steps. For example, addingΒ human-in-the-loopΒ control is recommended forΒ an agent with both high autonomy andΒ a highΒ indirect prompt injectionΒ risk, helpingΒ reduce the potential impact of XPIA-driven actions.Β 

FigureΒ 3 – Recommendation generated by the Defender forΒ an agent withΒ both high autonomy andΒ a high riskΒ of indirect prompt injection.

Scenario 3: Identifying coordinator agentsΒ 

InΒ aΒ multi-agent architecture, not every agent carries the same level of risk. Each agent may serve a different role – some handle narrow, task-specific functions, while othersΒ operateΒ as coordinator agents, responsible for managing and directing multiple sub-agents. These coordinator agents are particularly critical because they effectively act as command centers within the system. A compromise of such an agentΒ doesn’tΒ just affect a single workflow – it cascades into every sub agent under its control.Β Unlike sub-agents, coordinators might alsoΒ be customer-facing, which further amplifies their risk profile. This combination of broad authority and potential exposure makes coordinator agentsΒ potentiallyΒ more powerfulΒ and more attractive targets for attackers,Β making comprehensive visibility and dedicated security controls essential for their safe operationΒ 

Microsoft Defender accounts for the role of each agent within a multi-agent architecture, providing visibility into coordinator agents andΒ dedicated security controls.Β Defender alsoΒ leveragesΒ attack path analysis toΒ identifyΒ how agent-related risks can form an exploitable path for attackers, mapping weak links with context.Β 

For example, as illustrated in FigureΒ 4, an attack path canΒ demonstrateΒ how an attacker mightΒ utilizeΒ an Internet-Β exposed API to gain access to Azure AI Foundry coordinator agent. This visualization helps security admin teams to take preventative actions, safeguarding the AI agents from potential breaches.Β Β 

FigureΒ 4 – The attack path illustratesΒ how an attacker couldΒ leverageΒ an Internet exposed APIΒ to gain access to aΒ coordinatorΒ agent.

Hardening AI agents: reducing the attack surfaceΒ 

Beyond addressing individual risk scenarios, Microsoft Defender offers broad, foundational hardening guidance designed to reduce the overall attack surface of any AI agent.Β In addition, aΒ new set of dedicatedΒ agents likeΒ Risk FactorsΒ further helps teams prioritize which weaknesses to mitigate first, ensuring the right issues receive the right level of attention.Β 

Together, these controls significantly limit the blast radius of any attempted compromise. Even if an attackerΒ identifiesΒ a manipulation path, a properly hardened and well-configured agent will prevent escalation.Β 

By adopting Defender’s general security guidance, organizations can build AI agents that are not only capable and efficient, but resilient against both known and emerging attack techniques.Β 

Figure 5 – ExampleΒ of an agent’sΒ recommendations.

Build AIΒ agentsΒ security from the ground upΒ 

To address these challenges across the different AI Agents layers, Microsoft Defender provides a suite of security tools tailored for AI workloads. By enabling AI Security Posture Management (AI-SPM) within the Defender for Cloud Defender CSPM plan, organizations gain comprehensiveΒ multi-cloudΒ posture visibility and risk prioritization across platforms such asΒ MicrosoftΒ Foundry, AWS Bedrock, and GCP Vertex AI. This multi-cloud approach ensures criticalΒ vulnerabilitiesΒ and potential attack paths are effectivelyΒ identifiedΒ and mitigated, creating a unified and secure AI ecosystem.Β 

Together, these integrated solutions empower enterprises to build, deploy, andΒ operateΒ AI technologies securely, even within a diverse and evolving threat landscape.Β 

To learn more about Security for AI with Defender for Cloud, visit ourΒ websiteΒ andΒ documentation.Β 

This research is provided by Microsoft Defender Security Research with contributionsΒ by Hagai RanΒ Kestenberg.Β 

The post A new era of agents, a new era of postureΒ  appeared first on Microsoft Security Blog.

Received β€” 21 January 2026 ⏭ Microsoft Security Blog

A new era of agents, a new era of postureΒ 

The rise of AI Agents marks one of the most exciting shifts in technology today. Unlike traditionalΒ applications or cloud resources, these agentsΒ are not passive components-Β they reason, make decisions, invoke tools, and interact with other agents and systems on behalf of users. ThisΒ autonomy brings powerful opportunities,Β but it also introduces a new set of risks, especiallyΒ given how easily AI agents can be created, even byΒ teamsΒ who may not fully understand the security implications.Β 

This fundamentally changes the securityΒ equation, makingΒ securingΒ AI agent a uniquely complex challenge – and this is where AIΒ agentsΒ posture becomes critical. The goal is not to slow innovation or restrict adoption, but toΒ enable the business to build and deploy AI agents securely by design.Β Β 

A strong AI agentsΒ posture starts with comprehensive visibility across all AI assets and goes further by providing contextual insights – understanding what each agent can doΒ and what it connected to, the risks it introduces,Β howΒ it can be harden,Β and how to prioritize and mitigate issues before they turn into incidents.Β 

In this blog,Β we’llΒ explore the unique security challenges introduced by AI agents and how Microsoft Defender helps organizations reduce risk and attack surface through AI security posture management across multi-cloud environments.Β 

Understanding theΒ unique challengesΒ Β 

The attack surface of an AI agent is inherently broad. By design, agents are composed of multiple interconnectedΒ layers – models, platforms, tools,Β knowledgeΒ sources,Β guardrails,Β identities, and more.Β 

Across this layered architecture, threats canΒ emergeΒ at multiple points, including prompt-based attacks, poisoning of grounding data, abuse of agent tools,Β manipulation of coordinating agents,Β etc.Β As a result, securing AI agents demandsΒ a holistic approach.Β Every layer of this multi-tiered ecosystem introduces its own risks, and overlooking any one of them can leave the agent exposed.Β 

Let’sΒ explore several uniqueΒ scenarios where Defender’s contextual insights help address these challenges across the entire AI agent stack.Β 

ScenarioΒ 1: Finding agents connected toΒ sensitive dataΒ 

Agents are often connected to data sources,Β and sometimes -whether by design or by mistake- they are granted access to sensitive organizational information, including PII.Β Such agents are typically intended for internal use – for example, processing customer transaction records or financial data. While they deliver significant value, they alsoΒ representΒ a critical point of exposure. If an attacker compromises one of these agents, they could gain access toΒ highly sensitiveΒ information that was never meant to leave the organization. Moreover, unlike direct access to a database – which can be easily logged andΒ monitored – data exfiltration through an agent may blend in with normal agent activity, making it much harder to detect. This makes data-connected agents especially important toΒ monitor, protect, and isolate, as the consequences of their misuse can be severe.Β 

Microsoft DefenderΒ providesΒ visibility for those agents connected to sensitive data and help security teams mitigate such risks. In the example shown in FigureΒ 1, the attack pathΒ demonstratesΒ how an attacker couldΒ leverageΒ anΒ Internet-exposedΒ APIΒ to gain access to an AI agentΒ grounded withΒ sensitive data.Β The attack path highlights the source of the agent’s sensitive data (e.g., a blob container) andΒ outlinesΒ the stepsΒ requiredΒ to remediate the threat.Β 

Figure1 – The attack path illustrates how an attacker couldΒ leverageΒ an Internet exposed API to gain access to an AI agent grounded with sensitive dataΒ Β 

ScenarioΒ 2:Β IdentifyingΒ agentsΒ with indirect prompt injection riskΒ 

AI agents regularly interact with external data – user messages, retrieved documents,Β third-partyΒ APIs, and various data pipelines. While these inputs are usually treated as trustworthy, they can become a stealthy delivery mechanism forΒ Indirect Prompt Injection (XPIA), an emerging class ofΒ AI-specificΒ attacks. Unlike direct prompt injection, where an attacker issues harmful instructions straight to the model, XPIA occursΒ where malicious instructions are hidden in external dataΒ source that an agent processes, such as a webpage fetched through a browser tool or an email being summarized. The agent unknowingly ingests this crafted content, which embeds hidden or obfuscated commands that are executed simply because the agent trusts the source andΒ operatesΒ autonomously.Β 

This makes XPIA particularly dangerous for agents performingΒ high-privilegeΒ operations – modifyingΒ databases, triggering workflows, accessing sensitive data, or performing autonomous actions at scale. In these cases, a single manipulated data source can silently influence an agent’s behavior, resulting in unauthorized access, data exfiltration, orΒ internal system compromise.Β This makesΒ identifyingΒ agentsΒ suspectableΒ toΒ XPIAΒ a critical security requirement.Β 

ByΒ analyzingΒ anΒ agent’sΒ toolΒ combinationsΒ and configurations,Β Microsoft DefenderΒ identifiesΒ agents that carry elevated exposure to indirect prompt injection,Β based on both the functionality of their tools and the potential impact of misuse.Β Defender then generates tailored securityΒ recommendationsΒ for these agents andΒ assigns them a dedicatedΒ Risk Factor, that helpΒ prioritizeΒ them.Β 

inΒ FigureΒ 2,Β we can seeΒ aΒ recommendation generated by the Defender forΒ an agent withΒ IndirectΒ promptΒ injectionΒ riskΒ andΒ lackingΒ properΒ guardrails – controls that are essential for reducing theΒ possibilityΒ of an XPIAΒ event.Β 

FigureΒ 2 – Recommendation generated by the Defender forΒ an agent withΒ Indirect prompt injection riskΒ andΒ lackingΒ properΒ guardrails.

InΒ FigureΒ 3,Β we can seeΒ aΒ recommendationΒ generated by the Defender forΒ an agent with both high autonomy andΒ a high riskΒ of indirect prompt injection, a combination that significantly increases the probability of a successful attack.Β Β 

In both cases, Defender provides detailedΒ andΒ actionable remediation steps. For example, addingΒ human-in-the-loopΒ control is recommended forΒ an agent with both high autonomy andΒ a highΒ indirect prompt injectionΒ risk, helpingΒ reduce the potential impact of XPIA-driven actions.Β 

FigureΒ 3 – Recommendation generated by the Defender forΒ an agent withΒ both high autonomy andΒ a high riskΒ of indirect prompt injection.

Scenario 3: Identifying coordinator agentsΒ 

InΒ aΒ multi-agent architecture, not every agent carries the same level of risk. Each agent may serve a different role – some handle narrow, task-specific functions, while othersΒ operateΒ as coordinator agents, responsible for managing and directing multiple sub-agents. These coordinator agents are particularly critical because they effectively act as command centers within the system. A compromise of such an agentΒ doesn’tΒ just affect a single workflow – it cascades into every sub agent under its control.Β Unlike sub-agents, coordinators might alsoΒ be customer-facing, which further amplifies their risk profile. This combination of broad authority and potential exposure makes coordinator agentsΒ potentiallyΒ more powerfulΒ and more attractive targets for attackers,Β making comprehensive visibility and dedicated security controls essential for their safe operationΒ 

Microsoft Defender accounts for the role of each agent within a multi-agent architecture, providing visibility into coordinator agents andΒ dedicated security controls.Β Defender alsoΒ leveragesΒ attack path analysis toΒ identifyΒ how agent-related risks can form an exploitable path for attackers, mapping weak links with context.Β 

For example, as illustrated in FigureΒ 4, an attack path canΒ demonstrateΒ how an attacker mightΒ utilizeΒ an Internet-Β exposed API to gain access to Azure AI Foundry coordinator agent. This visualization helps security admin teams to take preventative actions, safeguarding the AI agents from potential breaches.Β Β 

FigureΒ 4 – The attack path illustratesΒ how an attacker couldΒ leverageΒ an Internet exposed APIΒ to gain access to aΒ coordinatorΒ agent.

Hardening AI agents: reducing the attack surfaceΒ 

Beyond addressing individual risk scenarios, Microsoft Defender offers broad, foundational hardening guidance designed to reduce the overall attack surface of any AI agent.Β In addition, aΒ new set of dedicatedΒ agents likeΒ Risk FactorsΒ further helps teams prioritize which weaknesses to mitigate first, ensuring the right issues receive the right level of attention.Β 

Together, these controls significantly limit the blast radius of any attempted compromise. Even if an attackerΒ identifiesΒ a manipulation path, a properly hardened and well-configured agent will prevent escalation.Β 

By adopting Defender’s general security guidance, organizations can build AI agents that are not only capable and efficient, but resilient against both known and emerging attack techniques.Β 

Figure 5 – ExampleΒ of an agent’sΒ recommendations.

Build AIΒ agentsΒ security from the ground upΒ 

To address these challenges across the different AI Agents layers, Microsoft Defender provides a suite of security tools tailored for AI workloads. By enabling AI Security Posture Management (AI-SPM) within the Defender for Cloud Defender CSPM plan, organizations gain comprehensiveΒ multi-cloudΒ posture visibility and risk prioritization across platforms such asΒ MicrosoftΒ Foundry, AWS Bedrock, and GCP Vertex AI. This multi-cloud approach ensures criticalΒ vulnerabilitiesΒ and potential attack paths are effectivelyΒ identifiedΒ and mitigated, creating a unified and secure AI ecosystem.Β 

Together, these integrated solutions empower enterprises to build, deploy, andΒ operateΒ AI technologies securely, even within a diverse and evolving threat landscape.Β 

To learn more about Security for AI with Defender for Cloud, visit ourΒ websiteΒ andΒ documentation.Β 

This research is provided by Microsoft Defender Security Research with contributionsΒ by Hagai RanΒ Kestenberg.Β 

The post A new era of agents, a new era of postureΒ  appeared first on Microsoft Security Blog.

Received β€” 16 January 2026 ⏭ Microsoft Security Blog

Defending against the CVE-2025-55182 (React2Shell) vulnerability in React Server Components

CVE-2025-55182 (also referred to as React2Shell and includes CVE-2025-66478, which was merged into it) is a critical pre-authentication remote code execution (RCE) vulnerability affecting React Server Components, Next.js, and related frameworks. With a CVSS score of 10.0, this vulnerability could allow attackers to execute arbitrary code on vulnerable servers through a single malicious HTTP request.

Exploitation activity related to this vulnerability was detected as early as December 5, 2025. Most successful exploits originated from red team assessments; however, we also observed real-world exploitation attempts by threat actors delivering multiple subsequent payloads, majority of which are coin miners. Both Windows and Linux environments have been observed to be impacted.

TheΒ React Server Components ecosystemΒ is a collection of packages, frameworks, and bundlers that enable React 19 applications to run parts of their logic on the server rather than the browser. It uses the Flight protocol to communicate between client and server. When a client requests data, the server receives a payload, parses this payload, executes server-side logic, and returns a serialized component tree. The vulnerability exists because affected React Server Components versions fail to validate incoming payloads. This could allow attackers to inject malicious structures that React accepts as valid, leading to prototype pollution and remote code execution.

This vulnerability presents a significant risk because of the following factors:

  • Default configurations are vulnerable, requiring no special setup or developer error.
  • Public proof-of-concept exploits are readily available with near-100% reliability.
  • Exploitation can happen without any user authentication since this is a pre-authentication vulnerability.
  • The vulnerability could be exploited using a single malicious HTTP request.

In this report, Microsoft Defender researchers share insights from observed attacker activity exploiting this vulnerability. Detailed analyses, detection insights, as well as mitigation recommendations and hunting guidance are covered in the next sections. Further investigation towards providing stronger protection measures is in progress, and this report will be updated when more information becomes available.

Analyzing CVE-2025-55182 exploitation activity

React is widely adopted in enterprise environments. In Microsoft Defender telemetry, we see tens of thousands of distinct devices across several thousand organizations running some React or React-based applications. Some of the vulnerable applications are deployed inside containers, and the impact on the underlying host is dependent on the security configurations of the container.

We identified several hundred machines across a diverse set of organizations compromised using common tactics, techniques, and procedures (TTPs) observed with web application RCE. To exploit CVE-2025-55182, an attacker sends a crafted input to a web application running React Server Components functions in the form of a POST request. This input is then processed as a serialized object and passed to the backend server, where it is deserialized. Due to the default trust among the components, the attacker-provided input is then deserialized and the backend runs attacker-provided code under the NodeJS runtime.

Figure 1: Attack diagram depicting activity leading to action on objectives

Post-exploitation, attackers were observed to run arbitrary commands, such as reverse shells to known Cobalt Strike servers. To achieve persistence, attackers added new malicious users, utilized remote monitoring and management (RMM) tools such as MeshAgent, modified authorized_keys file, and enabled root login. To evade security defenses, the attackers downloaded from attacker-controlled CloudFlare Tunnel endpoints (for example, *.trycloudflare.com) and used bind mounts to hide malicious processes and artifacts from system monitoring tools.

The malware payloads seen in campaigns investigated by Microsoft Defender vary from remote access trojans (RATs) like VShell and EtherRAT, the SNOWLIGHT memory-based malware downloader that enabled attackers to deploy more payloads to target environments, ShadowPAD, and XMRig cryptominers. The attacks proceeded by enumerating system details and environment variables to enable lateral movement and credential theft.

Credentials that were observed to be targeted included Azure Instance Metadata Service (IMDS) endpoints for Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP), and Tencent Cloud to acquire identity tokens, which could be used to move laterally to other cloud resources. Attackers also deployed secret discovery tools such as TruffleHog and Gitleaks, along with custom scripts to extract several different secrets. Attempts to harvest AI and cloud-native credentials, such as OpenAI API keys, Databricks tokens, and Kubernetes service‑account credentials were also observed. Azure Command-Line Interface (CLI) (az) and Azure Developer CLI (azd) were also used to obtain tokens.

Figure 2: Example of reverse shell observed in one of the campaigns

Mitigation and protection guidance

Microsoft recommends customers to act on these mitigation recommendations:

Manual identification guidance

Until full in-product coverage is available, you can manually assess exposure on servers or containers:

  1. Navigate to your project directory and open the node_modules folder.
  2. Review installed packages and look for:
    • react-server-dom-webpack
    • react-server-dom-parcel
    • react-server-dom-turbopack
    • next
  3. Validate versions against the known affected range:
    • React: 19.0.0,19.1.0, 19.1.1, 19.2.0
    • Next.js: 15.0.0 – 15.0.4, 15.1.0 – 15.1.8, 15.2.0 – 15.2.5, 15.3.0 – 15.3.5, 15.4.0 – 15.4.7, 15.5.0 – 15.5.6, 16.0.0 – 16.0.6, 14.3.0-canary.77 and later canary releases
  4. If any of these packages match the affected versions, remediation is required. Prioritize internet-facing assets first, especially those identified by Defender as externally exposed.

Mitigation best practices

  1. Patch immediately
    • React and Next.js have released fixes for the impacted packages. Upgrade to one of the following patched versions (or later within the same release line):
      • React: 19.0.1, 19.1.2, 19.2.1
      • Next.js: 5.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
    • Because many frameworks and bundlers rely on these packages, make sure your framework-level updates also pull in the corrected dependencies.
  2. Prioritize exposed services
    • Patch all affected systems, starting with internet-facing workloads.
    • Use Microsoft Defender Vulnerability Management (MDVM) to surface vulnerable package inventory and to track remediation progress across your estate.
  3. Monitor for exploit activity
    • Review MDVM dashboards and Defender alerts for indicators of attempted exploitation.
    • Correlate endpoint, container, and cloud signals for higher confidence triage.
    • Invoke incident response process to address any related suspicious activity stemming from this vulnerability.
  4. Add WAF protections where appropriate
    • Apply Azure Web Application Firewall (WAF) custom rules for Application Gateway and Application Gateway for Containers to help block exploit patterns while patching is in progress. Microsoft has published rule guidance and JSON examples in the Azure Network Security Blog, with ongoing updates as new attack permutations are identified.

Recommended customer action checklist

  • Identify affected React Server Components packages in your applications and images.
  • Upgrade to patched versions. Refer to the React page for patching guidance.
  • Prioritize internet-facing services for emergency change windows.
  • Enable and monitor Defender alerts tied to React Server Components exploitation attempts.
  • Apply Azure WAF custom rules as a compensating control where feasible.
  • Use MDVM to validate coverage and confirm risk reduction post-update.

CVE-2025-55182 represents a high-impact, low-friction attack path against modern React Server Components deployments. Rapid patching combined with layered Defender monitoring and WAF protections provides the strongest short-term and long-term risk reduction strategy.

Microsoft Defender XDR detectionsΒ 

Microsoft Defender XDR customers can refer to the list of applicable detections below. Microsoft Defender XDR coordinates detection, prevention, investigation, and response across endpoints, identities, email, apps to provide integrated protection against attacks like the threat discussed in this blog.

Customers with provisioned access can also use Microsoft Security Copilot in Microsoft Defender to investigate and respond to incidents, hunt for threats, and protect their organization with relevant threat intelligence.

TacticΒ Observed activityΒ Microsoft Defender coverageΒ 
Initial Access /ExecutionSuspicious process launched by Node Β Microsoft Defender for Endpoint
– Possible exploitation of React Server Components vulnerability (2 detectors)

Microsoft Defender Antivirus
– HackTool:Linux/SuspNodeActivity.A
– HackTool:Linux/SuspNodeActivity.B
– Behavior:Linux/SuspNodeActivity.B
– Trojan:JS/CVE-2025-55182.A
– Trojan:VBS/CVE-2025-55182.DA!MTB
Execution Β Execution of suspicious commands initiated by the next-server parent process to probe for command execution capabilities.Microsoft Defender for Cloud
– Potential React2Shell command injection detected on a Kubernetes cluster
– Potential React2Shell command injection detected on Azure App Service

Microsoft Defender for Endpoint
– Suspicious process executed by a network service
– Suspicious Node.js script execution
– Suspicious Node.js process behavior

In many cases subsequent activity post exploitation was detected and following alerts were triggered on the victim devices. Note that the following alerts below can also be triggered by unrelated threat activity.

TacticΒ Observed activityΒ Microsoft Defender coverageΒ 
ExecutionSuspicious downloads, encoded execution, anomalous service/process creation, and behaviors indicative of a reverse shell and crypto-miningMicrosoft Defender for Endpoint
– Suspicious PowerShell download or encoded command execution
– Possible reverse shell
– Suspicious service launched
– Suspicious anonymous process created using memfd_create
– Possible cryptocurrency miner
Defense EvasionUnauthorized code execution through process manipulation, abnormal DLL loading, and misuse of legitimate system toolsMicrosoft Defender for Endpoint
– A process was injected with potentially malicious code
– An executable file loaded an unexpected DLL file
– Use of living-off-the-land binary to run malicious code
Credential Access Β Unauthorized use of Kerberos tickets to impersonate accounts and gain unauthorized accessMicrosoft Defender for Endpoint
– Pass-the-ticket attack
Credential AccessSuspicious access to sensitive files such as cloud and GIT credentialsMicrosoft Defender for Cloud
– Possible secret reconnaissance detected
Lateral movementAttacker activity observed in multiple environmentsMicrosoft Defender for Endpoint
– Hands-on-keyboard attack involving multiple devices

Automatic attack disruption through Microsoft Defender for Endpoint alerts

To better support customers in the event of exploitation, we are expanding our detection framework to identify and alert on CVE-2025-55182 activity across all operating systems for Microsoft Defender for Endpoint customers. These detections are integrated with automatic attack disruption.

When these alerts, combined with other signals, provide high confidence of active attacker behavior, automatic attack disruption can initiate autonomous containment actions to help stop the attack and prevent further progression.

Microsoft Defender Vulnerability Management and Microsoft Defender for Cloud

Microsoft Defender for Cloud rolled out support to surface CVE-2025-55182 with agentless scanning across containers and cloud virtual machines (VMs). Follow the documentation on how to enable agentless scanning:

Microsoft Defender Vulnerability Management (MDVM) can surface impacted Windows, Linux, and macOS devices. In addition, MDVM and Microsoft Defender for Cloud dashboards can surface:

  • Identification of exposed assets in the organization
  • Clear remediation guidance tied to your affected assets and workloads

Microsoft Security Copilot

Security Copilot customers can use the standalone experience to create their own prompts or run the following prebuilt promptbooks to automate incident response or investigation tasks related to this threat:

  • Incident investigation
  • Microsoft User analysis
  • Threat actor profile
  • Threat Intelligence 360 report based on MDTI article
  • Vulnerability impact assessment

Note that some promptbooks require access to plugins for Microsoft products such as Microsoft Defender XDR or Microsoft Sentinel.

Threat intelligence reports

Microsoft Defender XDR customers can use the following threat analytics reports in the Defender portal (requires license for at least one Defender XDR product) to get the most up-to-date information about the threat actor, malicious activity, and techniques discussed in this blog. These reports provide intelligence, protection information, and recommended actions to prevent, mitigate, or respond to associated threats found in customer environments.

Microsoft Defender XDR threat analytics

Microsoft Security Copilot customers can also use the Microsoft Security Copilot integration in Microsoft Defender Threat Intelligence, either in the Security Copilot standalone portal or in the embedded experience in the Microsoft Defender portal to get more information about this threat actor.

Hunting queries and recommendations

Microsoft Defender XDR

Microsoft Defender XDR customers can run the following query to find related activity in their networks:

Detect potential React2Shell command injection attempt

CloudAuditEvents
| where (ProcessCommandLine == "/bin/sh -c (whoami)" and (ParentProcessName == "node" or ParentProcessName has "next-server"))
        or (ProcessCommandLine has_any ("echo","powershell") and ProcessCommandLine matches regex @'(echo\s+\$\(\(\d+\*\d+\)\)|powershell\s+-c\s+"\d+\*\d+")')
| project Timestamp, KubernetesPodName, KubernetesNamespace, ContainerName, ContainerId, ContainerImageName, FileName, ProcessName, ProcessCommandLine, ProcessCurrentWorkingDirectory, ParentProcessName, ProcessId, ParentProcessId, AccountName

Identify encoded PowerShell attempts

let lookback = 10d;
DeviceProcessEvents
| where Timestamp >= ago(lookback)
| where InitiatingProcessParentFileName has "node"
| where InitiatingProcessCommandLine  has_any ("next start", "next-server") or ProcessCommandLine  has_any ("next start", "next-server")
| summarize  make_set(InitiatingProcessCommandLine), make_set(ProcessCommandLine) by DeviceId, Timestamp
//looking for powershell activity
| where set_ProcessCommandLine  has_any ("cmd.exe","powershell")
| extend decoded_powershell_1 = replace_string(tostring(base64_decode_tostring(tostring(split(tostring(split(set_ProcessCommandLine.[0],"EncodedCommand ",1).[0]),'"',0).[0]))),"\0","")
| extend decoded_powershell_1b = replace_string(tostring(base64_decode_tostring(tostring(split(tostring(split(set_ProcessCommandLine.[0],"Enc ",1).[0]),'"',0).[0]))),"\0","")
| extend decoded_powershell_2 = replace_string(tostring(base64_decode_tostring(tostring(split(tostring(split(set_ProcessCommandLine.[0],"enc ",1).[0]),'"',0).[0]))),"\0","")
| extend decoded_powershell_3 = replace_string(tostring(base64_decode_tostring(tostring(split(tostring(split(set_ProcessCommandLine.[0],"ec ",1).[0]),'"',0).[0]))),"\0","")
| where set_ProcessCommandLine !has "'powershell -c " 
| extend decoded_powershell = iff( isnotempty( decoded_powershell_1),decoded_powershell_1, 
                                                    iff(isnotempty( decoded_powershell_2), decoded_powershell_2,
                                                        iff(isnotempty( decoded_powershell_3), decoded_powershell_3,decoded_powershell_1b)))
| project-away decoded_powershell_1, decoded_powershell_1b, decoded_powershell_2,decoded_powershell_3
| where isnotempty( decoded_powershell)

Identify execution of suspicious commands initiated by the next-server parent process post-exploitation

let lookback = 10d;
DeviceProcessEvents
| where Timestamp >= ago(lookback)
| where InitiatingProcessFileName =~ "node.exe" and InitiatingProcessCommandLine has ".js"
| where FileName =~ "cmd.exe"
| where (ProcessCommandLine has_any (@"\next\", @"\npm\npm\node_modules\", "\\server.js")
    and (ProcessCommandLine has_any ("powershell -c \"", "curl", "wget", "echo $", "ipconfig", "start msiexec", "whoami", "systeminfo", "$env:USERPROFILE", "net user", "net group", "localgroup administrators",  "-ssh", "set-MpPreference", "add-MpPreference", "rundll32", "certutil", "regsvr32", "bitsadmin", "mshta", "msbuild")   
         or (ProcessCommandLine has "powershell" and
             (ProcessCommandLine has_any ("Invoke-Expression", "DownloadString", "DownloadFile", "FromBase64String", "Start-Process", "System.IO.Compression", "System.IO.MemoryStream", "iex ", "iex(", "Invoke-WebRequest", "iwr ", ".UploadFile", "System.Net.WebClient")
                or ProcessCommandLine matches regex @"[-/–][Ee^]{1,2}[NnCcOoDdEeMmAa^]*\s[A-Za-z0-9+/=]{15,}"))))
   or ProcessCommandLine matches regex @'cmd\.exe\s+/d\s+/s\s+/c\s+"powershell\s+-c\s+"[0-9]+\*[0-9]+""'

Identify execution of suspicious commands initiated by the next-server parent process post-exploitation

let lookback = 10d;
DeviceProcessEvents
| where Timestamp >= ago(lookback)
| where InitiatingProcessFileName == "node"
| where InitiatingProcessCommandLine has_any (" server.js", " start", "/server.js")
| where ProcessCommandLine  has_any ("| sh", "openssl,", "/dev/tcp/", "| bash", "|sh", "|bash", "bash,", "{sh,}", "SOCK_STREAM", "bash -i", "whoami", "| base64 -d", "chmod +x /tmp", "chmod 777")
| where ProcessCommandLine !contains "vscode" and ProcessCommandLine !contains "/.claude/"  and ProcessCommandLine !contains "/claude"

Microsoft Defender XDR’s blast radius analysis capability, incorporated into the incident investigation view, allows security teams to visualize and understand the business impact of a security compromise by showing potential propagation paths towards the organization’s critical assets before it escalates into a full blown incident. This capability merges pre-breach estate understanding with post-breach views allowing security teams to map their interconnected assets and highlights potential paths teams can prioritize for remediation efforts based on the criticality of assets and their interconnectivity to the compromised entities.

Microsoft Defender for Cloud

Microsoft Defender for Cloud customers can use security explorer templates to locate exposed containers running vulnerable container images and vulnerable virtual machines. Template titled Internet exposed containers running container images vulnerable to React2Shell vulnerability CVE-2025-55182 and Internet exposed virtual machines vulnerable to React2Shell vulnerability CVE-2025-55182 are added to the gallery.

Figure 3. Microsoft Defender for Cloud security explorer templates related to CVE-2025-55182

Microsoft Security Exposure Management

Microsoft Security Exposure Management’s automated attack path analysis maps out potential threats by identifying exposed resources and tracing the routes an attacker might take to compromise critical assets. This analysis highlights vulnerable cloud compute resources, such as virtual machines and Kubernetes containers, that are susceptible to remote code execution vulnerabilities, including React2Shell CVEs. It also outlines possible lateral movement steps an adversary might take within the environment. The attack paths are presented for all supported cloud environments, including Azure, AWS, and GCP.

To view these paths, filter the view in Microsoft Security Exposure Management, filter by entry point type:

  • Kubernetes container
  • Virtual Machine
  • AWS EC2 instance
  • GCP compute instance.

Alternatively, in Microsoft Defender for Cloud, customers can filter by titles such as:

  • Internet exposed container with high severity vulnerabilities
  • Internet exposed Azure VM with RCE vulnerabilities
  • Internet exposed GCP compute instance with RCE vulnerabilities
  • Internet exposed AWS EC2 instance with RCE vulnerabilities

Microsoft Sentinel

Microsoft Sentinel customers can use the TI Mapping analytics (a series of analytics all prefixed with β€˜TI map’) to automatically match the malicious domain indicators mentioned in this blog post with data in their workspace. If the TI Map analytics are not currently deployed, customers can install the Threat Intelligence solution from the Microsoft Sentinel Content Hub to have the analytics rule deployed in their Sentinel workspace.Β 

Detect network IP and domain indicators of compromise using ASIM

//IP list and domain list- _Im_NetworkSession
let lookback = 30d;
let ioc_ip_addr = dynamic(["194.69.203.32", "162.215.170.26", "216.158.232.43", "196.251.100.191", "46.36.37.85", "92.246.87.48"]);
let ioc_domains = dynamic(["anywherehost.site", "xpertclient.net", "superminecraft.net.br", "overcome-pmc-conferencing-books.trycloudflare.com", "donaldjtrmp.anondns.net", "labubu.anondns.net", "krebsec.anondns.net", "hybird-accesskey-staging-saas.s3.dualstack.ap-northeast-1.amazonaws.com", "ghostbin.axel.org", "194.69.203.32:81", "194.69.203.32:81", "194.69.203.32:81", "162.215.170.26:3000", "216.158.232.43:12000", "overcome-pmc-conferencing-books.trycloudflare.com", "donaldjtrmp.anondns.net:1488", "labubu.anondns.net:1488", "krebsec.anondns.net:2316/dong", "hybird-accesskey-staging-saas.s3.dualstack.ap-northeast-1.amazonaws.com", "ghostbin.axel.org"]);n_Im_NetworkSession(starttime=todatetime(ago(lookback)), endtime=now())n| where DstIpAddr in (ioc_ip_addr) or DstDomain has_any (ioc_domains)
| summarize imNWS_mintime=min(TimeGenerated), imNWS_maxtime=max(TimeGenerated),
  EventCount=count() by SrcIpAddr, DstIpAddr, DstDomain, Dvc, EventProduct, EventVendor

Detect Web Sessions IP and file hash indicators of compromise using ASIM

//IP list - _Im_WebSession
let lookback = 30d;
let ioc_ip_addr = dynamic(["194.69.203.32", "162.215.170.26", "216.158.232.43", "196.251.100.191", "46.36.37.85", "92.246.87.48"]);
let ioc_sha_hashes =dynamic(["c2867570f3bbb71102373a94c7153239599478af84b9c81f2a0368de36f14a7c", "9e9514533a347d7c6bc830369c7528e07af5c93e0bf7c1cd86df717c849a1331", "b63860cefa128a4aa5d476f300ac45fd5d3c56b2746f7e72a0d27909046e5e0f", "d60461b721c0ef7cfe5899f76672e4970d629bb51bb904a053987e0a0c48ee0f", "d3c897e571426804c65daae3ed939eab4126c3aa3fa8531de5e8f0b66629fe8a", "d71779df5e4126c389e7702f975049bd17cb597ebcf03c6b110b59630d8f3b4d", "b5acbcaccc0cfa54500f2bbb0745d4b5c50d903636f120fc870082335954bec8", "4cbdd019cfa474f20f4274310a1477e03e34af7c62d15096fe0df0d3d5668a4d", "f347eb0a59df167acddb245f022a518a6d15e37614af0bbc2adf317e10c4068b", "661d3721adaa35a30728739defddbc72b841c3d06aca0abd4d5e0aad73947fb1", "876923709213333099b8c728dde9f5d86acfd0f3702a963bae6a9dde35ba8e13", "2ebed29e70f57da0c4f36a9401a7bbd36e6ddd257e0920aa4083240afa3a6457", "f1ee866f6f03ff815009ff8fd7b70b902bc59b037ac54b6cae9b8e07beb854f7", "7e90c174829bd4e01e86779d596710ad161dbc0e02a219d6227f244bf271d2e5"]);b_Im_WebSession(starttime=todatetime(ago(lookback)), endtime=now())b| where DstIpAddr in (ioc_ip_addr) or FileSHA256 in (ioc_sha_hashes)
| summarize imWS_mintime=min(TimeGenerated), imWS_maxtime=max(TimeGenerated),
  EventCount=count() by SrcIpAddr, DstIpAddr, Url, Dvc, EventProduct, EventVendor

Detect domain and URL indicators of compromise using ASIM

// Domain list - _Im_WebSession
let ioc_domains = dynamic(["anywherehost.site", "xpertclient.net", "superminecraft.net.br", "overcome-pmc-conferencing-books.trycloudflare.com", "donaldjtrmp.anondns.net", "labubu.anondns.net", "krebsec.anondns.net", "hybird-accesskey-staging-saas.s3.dualstack.ap-northeast-1.amazonaws.com", "ghostbin.axel.org", "194.69.203.32:81", "194.69.203.32:81", "194.69.203.32:81", "162.215.170.26:3000", "216.158.232.43:12000", "overcome-pmc-conferencing-books.trycloudflare.com", "donaldjtrmp.anondns.net:1488", "labubu.anondns.net:1488", "krebsec.anondns.net:2316/dong", "hybird-accesskey-staging-saas.s3.dualstack.ap-northeast-1.amazonaws.com", "ghostbin.axel.org"]);
_Im_WebSession (url_has_any = ioc_domains)

Detect files hashes indicators of compromise using ASIM

// file hash list - imFileEvent
let ioc_sha_hashes = dynamic(["c2867570f3bbb71102373a94c7153239599478af84b9c81f2a0368de36f14a7c", "9e9514533a347d7c6bc830369c7528e07af5c93e0bf7c1cd86df717c849a1331", "b63860cefa128a4aa5d476f300ac45fd5d3c56b2746f7e72a0d27909046e5e0f", "d60461b721c0ef7cfe5899f76672e4970d629bb51bb904a053987e0a0c48ee0f", "d3c897e571426804c65daae3ed939eab4126c3aa3fa8531de5e8f0b66629fe8a", "d71779df5e4126c389e7702f975049bd17cb597ebcf03c6b110b59630d8f3b4d", "b5acbcaccc0cfa54500f2bbb0745d4b5c50d903636f120fc870082335954bec8", "4cbdd019cfa474f20f4274310a1477e03e34af7c62d15096fe0df0d3d5668a4d", "f347eb0a59df167acddb245f022a518a6d15e37614af0bbc2adf317e10c4068b", "661d3721adaa35a30728739defddbc72b841c3d06aca0abd4d5e0aad73947fb1", "876923709213333099b8c728dde9f5d86acfd0f3702a963bae6a9dde35ba8e13", "2ebed29e70f57da0c4f36a9401a7bbd36e6ddd257e0920aa4083240afa3a6457", "f1ee866f6f03ff815009ff8fd7b70b902bc59b037ac54b6cae9b8e07beb854f7", "7e90c174829bd4e01e86779d596710ad161dbc0e02a219d6227f244bf271d2e5"]);dimFileEventd| where SrcFileSHA256 in (ioc_sha_hashes) or
TargetFileSHA256 in (ioc_sha_hashes)
| extend AccountName = tostring(split(User, @'')[1]), 
  AccountNTDomain = tostring(split(User, @'')[0])
| extend AlgorithmType = "SHA256"

Find use of reverse shells

This query looks for potential reverse shell activity initiated by cmd.exe or PowerShell. It matches the use of reverse shells in this attack: reverse-shell-nishang.

Indicators of compromise

The list below is non-exhaustive and does not represent all indicators of compromise observed in the known campaigns:

IndicatorTypeDescription
c6c7e7dd85c0578dd7cb24b012a665a9d5210cce8ff735635a45605c3af1f6ad
b568582240509227ff7e79b6dc73c933dcc3fae674e9244441066928b1ea0560
69f2789a539fc2867570f3bbb71102373a94c7153239599478af84b9c81f2a03
68de36f14a7c9e9514533a347d7c6bc830369c7528e07af5c93e0bf7c1cd86df
717c849a1331b63860cefa128a4aa5d476f300ac45fd5d3c56b2746f7e72a0d2
7909046e5e0fd60461b721c0ef7cfe5899f76672e4970d629bb51bb904a05398
7e0a0c48ee0f65c72a252335f6dcd435dbd448fc0414b295f635372e1c5a9171
SHA-256Coin miner payload hashes
b33d468641a0d3c897e571426804c65daae3ed939eab4126c3aa3fa8531de5e8
f0b66629fe8ad71779df5e4126c389e7702f975049bd17cb597ebcf03c6b110b
59630d8f3b4db5acbcaccc0cfa54500f2bbb0745d4b5c50d903636f120fc8700
82335954bec84cbdd019cfa474f20f4274310a1477e03e34af7c62d15096fe0d
f0d3d5668a4df347eb0a59df167acddb245f022a518a6d15e37614af0bbc2adf
317e10c4068b661d3721adaa35a30728739defddbc72b841c3d06aca0abd4d5e
0aad73947fb1876923709213333099b8c728dde9f5d86acfd0f3702a963bae6a
9dde35ba8e132ebed29e70f57da0c4f36a9401a7bbd36e6ddd257e0920aa4083
240afa3a6457f1ee866f6f03ff815009ff8fd7b70b902bc59b037ac54b6cae9b
8e07beb854f77e90c174829bd4e01e86779d596710ad161dbc0e02a219d6227f
244bf271d2e55cd737980322de37c2c2792154b4cf4e4893e9908c2819026e5f
SHA-256Backdoor payload hashes
hxxp://194[.]69[.]203[.]32:81/hiddenbink/colonna.arc
hxxp://194[.]69[.]203[.]32:81/hiddenbink/colonna.i686
hxxp://194[.]69[.]203[.]32:81/hiddenbink/react.sh
hxxp://162[.]215[.]170[.]26:3000/sex.sh
hxxp://216[.]158[.]232[.]43:12000/sex.sh
hxxp://196[.]251[.]100[.]191/no_killer/Exodus.arm4
hxxp://196[.]251[.]100[.]191/no_killer/Exodus.x86
hxxp://196[.]251[.]100[.]191/no_killer/Exodus.x86_64
hxxp://196[.]251[.]100[.]191/update.sh
hxxp://anywherehost[.]site/xms/k1.sh
hxxp://anywherehost[.]site/xms/kill2.sh
hxxps://overcome-pmc-conferencing-books[.]trycloudflare[.]com/p.png
hxxp://donaldjtrmp.anondns.net:1488/labubu
hxxp://labubu[.]anondns[.]net:1488/dong
hxxp://krebsec[.]anondns[.]net:2316/dong
hxxps://hybird-accesskey-staging-saas[.]s3[.]dualstack[.]ap-northeast-1[.]amazonaws[.]com/agent
hxxps://ghostbin[.]axel[.]org/paste/evwgo/raw
hxxp://xpertclient[.]net:3000/sex.sh
hxxp://superminecraft[.]net[.]br:3000/sex.sh
URLsVarious payload download URLs
194.69.203[.]32
162.215.170[.]26
216.158.232[.]43
196.251.100[.]191
46.36.37[.]85
92.246.87[.]48
IP addressesC2
anywherehost[.]site
xpertclient[.]net
vps-zap812595-1[.]zap-srv[.]com
superminecraft[.]net[.]br
overcome-pmc-conferencing-books[.]trycloudflare[.]com
donaldjtrmp[.]anondns[.]net
labubu[.]anondns[.]net
krebsec[.]anondns[.]net
hybird-accesskey-staging-saas[.]s3[.]dualstack[.]ap-northeast-1[.]amazonaws[.]com
ghostbin[.]axel[.]org
DomainsC2

References

Learn more Β 

For the latest security research from the Microsoft Threat Intelligence community, check out the Microsoft Threat Intelligence Blog.

To get notified about new publications and to join discussions on social media, follow us on LinkedIn, X (formerly Twitter), and Bluesky.

To hear stories and insights from the Microsoft Threat Intelligence community about the ever-evolving threat landscape, listen to the Microsoft Threat Intelligence podcast.

The guidance provided in this blog post represents general best practices and is intended for informational purposes only. Customers remain responsible for evaluating and implementing security measures appropriate for their environments.

The post Defending against the CVE-2025-55182 (React2Shell) vulnerability in React Server Components appeared first on Microsoft Security Blog.

Received β€” 11 January 2026 ⏭ Microsoft Security Blog

Defending against the CVE-2025-55182 (React2Shell) vulnerability in React Server Components

CVE-2025-55182 (also referred to as React2Shell and includes CVE-2025-66478, which was merged into it) is a critical pre-authentication remote code execution (RCE) vulnerability affecting React Server Components, Next.js, and related frameworks. With a CVSS score of 10.0, this vulnerability could allow attackers to execute arbitrary code on vulnerable servers through a single malicious HTTP request.

Exploitation activity related to this vulnerability was detected as early as December 5, 2025. Most successful exploits originated from red team assessments; however, we also observed real-world exploitation attempts by threat actors delivering multiple subsequent payloads, majority of which are coin miners. Both Windows and Linux environments have been observed to be impacted.

TheΒ React Server Components ecosystemΒ is a collection of packages, frameworks, and bundlers that enable React 19 applications to run parts of their logic on the server rather than the browser. It uses the Flight protocol to communicate between client and server. When a client requests data, the server receives a payload, parses this payload, executes server-side logic, and returns a serialized component tree. The vulnerability exists because affected React Server Components versions fail to validate incoming payloads. This could allow attackers to inject malicious structures that React accepts as valid, leading to prototype pollution and remote code execution.

This vulnerability presents a significant risk because of the following factors:

  • Default configurations are vulnerable, requiring no special setup or developer error.
  • Public proof-of-concept exploits are readily available with near-100% reliability.
  • Exploitation can happen without any user authentication since this is a pre-authentication vulnerability.
  • The vulnerability could be exploited using a single malicious HTTP request.

In this report, Microsoft Defender researchers share insights from observed attacker activity exploiting this vulnerability. Detailed analyses, detection insights, as well as mitigation recommendations and hunting guidance are covered in the next sections. Further investigation towards providing stronger protection measures is in progress, and this report will be updated when more information becomes available.

Analyzing CVE-2025-55182 exploitation activity

React is widely adopted in enterprise environments. In Microsoft Defender telemetry, we see tens of thousands of distinct devices across several thousand organizations running some React or React-based applications. Some of the vulnerable applications are deployed inside containers, and the impact on the underlying host is dependent on the security configurations of the container.

We identified several hundred machines across a diverse set of organizations compromised using common tactics, techniques, and procedures (TTPs) observed with web application RCE. To exploit CVE-2025-55182, an attacker sends a crafted input to a web application running React Server Components functions in the form of a POST request. This input is then processed as a serialized object and passed to the backend server, where it is deserialized. Due to the default trust among the components, the attacker-provided input is then deserialized and the backend runs attacker-provided code under the NodeJS runtime.

Figure 1: Attack diagram depicting activity leading to action on objectives

Post-exploitation, attackers were observed to run arbitrary commands, such as reverse shells to known Cobalt Strike servers. To achieve persistence, attackers added new malicious users, utilized remote monitoring and management (RMM) tools such as MeshAgent, modified authorized_keys file, and enabled root login. To evade security defenses, the attackers downloaded from attacker-controlled CloudFlare Tunnel endpoints (for example, *.trycloudflare.com) and used bind mounts to hide malicious processes and artifacts from system monitoring tools.

The malware payloads seen in campaigns investigated by Microsoft Defender vary from remote access trojans (RATs) like VShell and EtherRAT, the SNOWLIGHT memory-based malware downloader that enabled attackers to deploy more payloads to target environments, ShadowPAD, and XMRig cryptominers. The attacks proceeded by enumerating system details and environment variables to enable lateral movement and credential theft.

Credentials that were observed to be targeted included Azure Instance Metadata Service (IMDS) endpoints for Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP), and Tencent Cloud to acquire identity tokens, which could be used to move laterally to other cloud resources. Attackers also deployed secret discovery tools such as TruffleHog and Gitleaks, along with custom scripts to extract several different secrets. Attempts to harvest AI and cloud-native credentials, such as OpenAI API keys, Databricks tokens, and Kubernetes service‑account credentials were also observed. Azure Command-Line Interface (CLI) (az) and Azure Developer CLI (azd) were also used to obtain tokens.

Figure 2: Example of reverse shell observed in one of the campaigns

Mitigation and protection guidance

Microsoft recommends customers to act on these mitigation recommendations:

Manual identification guidance

Until full in-product coverage is available, you can manually assess exposure on servers or containers:

  1. Navigate to your project directory and open the node_modules folder.
  2. Review installed packages and look for:
    • react-server-dom-webpack
    • react-server-dom-parcel
    • react-server-dom-turbopack
    • next
  3. Validate versions against the known affected range:
    • React: 19.0.0,19.1.0, 19.1.1, 19.2.0
    • Next.js: 15.0.0 – 15.0.4, 15.1.0 – 15.1.8, 15.2.0 – 15.2.5, 15.3.0 – 15.3.5, 15.4.0 – 15.4.7, 15.5.0 – 15.5.6, 16.0.0 – 16.0.6, 14.3.0-canary.77 and later canary releases
  4. If any of these packages match the affected versions, remediation is required. Prioritize internet-facing assets first, especially those identified by Defender as externally exposed.

Mitigation best practices

  1. Patch immediately
    • React and Next.js have released fixes for the impacted packages. Upgrade to one of the following patched versions (or later within the same release line):
      • React: 19.0.1, 19.1.2, 19.2.1
      • Next.js: 5.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
    • Because many frameworks and bundlers rely on these packages, make sure your framework-level updates also pull in the corrected dependencies.
  2. Prioritize exposed services
    • Patch all affected systems, starting with internet-facing workloads.
    • Use Microsoft Defender Vulnerability Management (MDVM) to surface vulnerable package inventory and to track remediation progress across your estate.
  3. Monitor for exploit activity
    • Review MDVM dashboards and Defender alerts for indicators of attempted exploitation.
    • Correlate endpoint, container, and cloud signals for higher confidence triage.
    • Invoke incident response process to address any related suspicious activity stemming from this vulnerability.
  4. Add WAF protections where appropriate
    • Apply Azure Web Application Firewall (WAF) custom rules for Application Gateway and Application Gateway for Containers to help block exploit patterns while patching is in progress. Microsoft has published rule guidance and JSON examples in the Azure Network Security Blog, with ongoing updates as new attack permutations are identified.

Recommended customer action checklist

  • Identify affected React Server Components packages in your applications and images.
  • Upgrade to patched versions. Refer to the React page for patching guidance.
  • Prioritize internet-facing services for emergency change windows.
  • Enable and monitor Defender alerts tied to React Server Components exploitation attempts.
  • Apply Azure WAF custom rules as a compensating control where feasible.
  • Use MDVM to validate coverage and confirm risk reduction post-update.

CVE-2025-55182 represents a high-impact, low-friction attack path against modern React Server Components deployments. Rapid patching combined with layered Defender monitoring and WAF protections provides the strongest short-term and long-term risk reduction strategy.

Microsoft Defender XDR detectionsΒ 

Microsoft Defender XDR customers can refer to the list of applicable detections below. Microsoft Defender XDR coordinates detection, prevention, investigation, and response across endpoints, identities, email, apps to provide integrated protection against attacks like the threat discussed in this blog.

Customers with provisioned access can also use Microsoft Security Copilot in Microsoft Defender to investigate and respond to incidents, hunt for threats, and protect their organization with relevant threat intelligence.

TacticΒ Observed activityΒ Microsoft Defender coverageΒ 
Initial Access /ExecutionSuspicious process launched by Node Β Microsoft Defender for Endpoint
– Possible exploitation of React Server Components vulnerability (2 detectors)

Microsoft Defender Antivirus
– HackTool:Linux/SuspNodeActivity.A
– HackTool:Linux/SuspNodeActivity.B
– Behavior:Linux/SuspNodeActivity.B
– Trojan:JS/CVE-2025-55182.A
– Trojan:VBS/CVE-2025-55182.DA!MTB
Execution Β Execution of suspicious commands initiated by the next-server parent process to probe for command execution capabilities.Microsoft Defender for Cloud
– Potential React2Shell command injection detected on a Kubernetes cluster
– Potential React2Shell command injection detected on Azure App Service

Microsoft Defender for Endpoint
– Suspicious process executed by a network service
– Suspicious Node.js script execution
– Suspicious Node.js process behavior

In many cases subsequent activity post exploitation was detected and following alerts were triggered on the victim devices. Note that the following alerts below can also be triggered by unrelated threat activity.

TacticΒ Observed activityΒ Microsoft Defender coverageΒ 
ExecutionSuspicious downloads, encoded execution, anomalous service/process creation, and behaviors indicative of a reverse shell and crypto-miningMicrosoft Defender for Endpoint
– Suspicious PowerShell download or encoded command execution
– Possible reverse shell
– Suspicious service launched
– Suspicious anonymous process created using memfd_create
– Possible cryptocurrency miner
Defense EvasionUnauthorized code execution through process manipulation, abnormal DLL loading, and misuse of legitimate system toolsMicrosoft Defender for Endpoint
– A process was injected with potentially malicious code
– An executable file loaded an unexpected DLL file
– Use of living-off-the-land binary to run malicious code
Credential Access Β Unauthorized use of Kerberos tickets to impersonate accounts and gain unauthorized accessMicrosoft Defender for Endpoint
– Pass-the-ticket attack
Credential AccessSuspicious access to sensitive files such as cloud and GIT credentialsMicrosoft Defender for Cloud
– Possible secret reconnaissance detected
Lateral movementAttacker activity observed in multiple environmentsMicrosoft Defender for Endpoint
– Hands-on-keyboard attack involving multiple devices

Automatic attack disruption through Microsoft Defender for Endpoint alerts

To better support customers in the event of exploitation, we are expanding our detection framework to identify and alert on CVE-2025-55182 activity across all operating systems for Microsoft Defender for Endpoint customers. These detections are integrated with automatic attack disruption.

When these alerts, combined with other signals, provide high confidence of active attacker behavior, automatic attack disruption can initiate autonomous containment actions to help stop the attack and prevent further progression.

Microsoft Defender Vulnerability Management and Microsoft Defender for Cloud

Microsoft Defender for Cloud rolled out support to surface CVE-2025-55182 with agentless scanning across containers and cloud virtual machines (VMs). Follow the documentation on how to enable agentless scanning:

We are currently expanding detection for this vulnerability in Microsoft Defender Vulnerability Management (MDVM) on Windows, Linux, and macOS devices. In parallel, we recommend that you upgrade affected React Server Components and Next.js packages immediately to patched versions to reduce risk.

Once detection is fully deployed, MDVM and Microsoft Defender for Cloud dashboards will surface:

  • Identification of exposed assets in the organization
  • Clear remediation guidance tied to your affected assets and workloads

Microsoft Security Copilot

Security Copilot customers can use the standalone experience to create their own prompts or run the following prebuilt promptbooks to automate incident response or investigation tasks related to this threat:

  • Incident investigation
  • Microsoft User analysis
  • Threat actor profile
  • Threat Intelligence 360 report based on MDTI article
  • Vulnerability impact assessment

Note that some promptbooks require access to plugins for Microsoft products such as Microsoft Defender XDR or Microsoft Sentinel.

Threat intelligence reports

Microsoft Defender XDR customers can use the following threat analytics reports in the Defender portal (requires license for at least one Defender XDR product) to get the most up-to-date information about the threat actor, malicious activity, and techniques discussed in this blog. These reports provide intelligence, protection information, and recommended actions to prevent, mitigate, or respond to associated threats found in customer environments.

Microsoft Defender XDR threat analytics

Microsoft Security Copilot customers can also use the Microsoft Security Copilot integration in Microsoft Defender Threat Intelligence, either in the Security Copilot standalone portal or in the embedded experience in the Microsoft Defender portal to get more information about this threat actor.

Hunting queries and recommendations

Microsoft Defender XDR

Microsoft Defender XDR customers can run the following query to find related activity in their networks:

Detect potential React2Shell command injection attempt

CloudAuditEvents
| where (ProcessCommandLine == "/bin/sh -c (whoami)" and (ParentProcessName == "node" or ParentProcessName has "next-server"))
        or (ProcessCommandLine has_any ("echo","powershell") and ProcessCommandLine matches regex @'(echo\s+\$\(\(\d+\*\d+\)\)|powershell\s+-c\s+"\d+\*\d+")')
| project Timestamp, KubernetesPodName, KubernetesNamespace, ContainerName, ContainerId, ContainerImageName, FileName, ProcessName, ProcessCommandLine, ProcessCurrentWorkingDirectory, ParentProcessName, ProcessId, ParentProcessId, AccountName

Identify encoded PowerShell attempts

let lookback = 10d;
DeviceProcessEvents
| where Timestamp >= ago(lookback)
| where InitiatingProcessParentFileName has "node"
| where InitiatingProcessCommandLine  has_any ("next start", "next-server") or ProcessCommandLine  has_any ("next start", "next-server")
| summarize  make_set(InitiatingProcessCommandLine), make_set(ProcessCommandLine) by DeviceId, Timestamp
//looking for powershell activity
| where set_ProcessCommandLine  has_any ("cmd.exe","powershell")
| extend decoded_powershell_1 = replace_string(tostring(base64_decode_tostring(tostring(split(tostring(split(set_ProcessCommandLine.[0],"EncodedCommand ",1).[0]),'"',0).[0]))),"\0","")
| extend decoded_powershell_1b = replace_string(tostring(base64_decode_tostring(tostring(split(tostring(split(set_ProcessCommandLine.[0],"Enc ",1).[0]),'"',0).[0]))),"\0","")
| extend decoded_powershell_2 = replace_string(tostring(base64_decode_tostring(tostring(split(tostring(split(set_ProcessCommandLine.[0],"enc ",1).[0]),'"',0).[0]))),"\0","")
| extend decoded_powershell_3 = replace_string(tostring(base64_decode_tostring(tostring(split(tostring(split(set_ProcessCommandLine.[0],"ec ",1).[0]),'"',0).[0]))),"\0","")
| where set_ProcessCommandLine !has "'powershell -c " 
| extend decoded_powershell = iff( isnotempty( decoded_powershell_1),decoded_powershell_1, 
                                                    iff(isnotempty( decoded_powershell_2), decoded_powershell_2,
                                                        iff(isnotempty( decoded_powershell_3), decoded_powershell_3,decoded_powershell_1b)))
| project-away decoded_powershell_1, decoded_powershell_1b, decoded_powershell_2,decoded_powershell_3
| where isnotempty( decoded_powershell)

Identify execution of suspicious commands initiated by the next-server parent process post-exploitation

let lookback = 10d;
DeviceProcessEvents
| where Timestamp >= ago(lookback)
| where InitiatingProcessFileName =~ "node.exe" and InitiatingProcessCommandLine has ".js"
| where FileName =~ "cmd.exe"
| where (ProcessCommandLine has_any (@"\next\", @"\npm\npm\node_modules\", "\\server.js")
    and (ProcessCommandLine has_any ("powershell -c \"", "curl", "wget", "echo $", "ipconfig", "start msiexec", "whoami", "systeminfo", "$env:USERPROFILE", "net user", "net group", "localgroup administrators",  "-ssh", "set-MpPreference", "add-MpPreference", "rundll32", "certutil", "regsvr32", "bitsadmin", "mshta", "msbuild")   
         or (ProcessCommandLine has "powershell" and
             (ProcessCommandLine has_any ("Invoke-Expression", "DownloadString", "DownloadFile", "FromBase64String", "Start-Process", "System.IO.Compression", "System.IO.MemoryStream", "iex ", "iex(", "Invoke-WebRequest", "iwr ", ".UploadFile", "System.Net.WebClient")
                or ProcessCommandLine matches regex @"[-/–][Ee^]{1,2}[NnCcOoDdEeMmAa^]*\s[A-Za-z0-9+/=]{15,}"))))
   or ProcessCommandLine matches regex @'cmd\.exe\s+/d\s+/s\s+/c\s+"powershell\s+-c\s+"[0-9]+\*[0-9]+""'

Identify execution of suspicious commands initiated by the next-server parent process post-exploitation

let lookback = 10d;
DeviceProcessEvents
| where Timestamp >= ago(lookback)
| where InitiatingProcessFileName == "node"
| where InitiatingProcessCommandLine has_any (" server.js", " start", "/server.js")
| where ProcessCommandLine  has_any ("| sh", "openssl,", "/dev/tcp/", "| bash", "|sh", "|bash", "bash,", "{sh,}", "SOCK_STREAM", "bash -i", "whoami", "| base64 -d", "chmod +x /tmp", "chmod 777")
| where ProcessCommandLine !contains "vscode" and ProcessCommandLine !contains "/.claude/"  and ProcessCommandLine !contains "/claude"

Microsoft Defender XDR’s blast radius analysis capability, incorporated into the incident investigation view, allows security teams to visualize and understand the business impact of a security compromise by showing potential propagation paths towards the organization’s critical assets before it escalates into a full blown incident. This capability merges pre-breach estate understanding with post-breach views allowing security teams to map their interconnected assets and highlights potential paths teams can prioritize for remediation efforts based on the criticality of assets and their interconnectivity to the compromised entities.

Microsoft Defender for Cloud

Microsoft Defender for Cloud customers can use security explorer templates to locate exposed containers running vulnerable container images and vulnerable virtual machines. Template titled Internet exposed containers running container images vulnerable to React2Shell vulnerability CVE-2025-55182 and Internet exposed virtual machines vulnerable to React2Shell vulnerability CVE-2025-55182 are added to the gallery.

Figure 3. Microsoft Defender for Cloud security explorer templates related to CVE-2025-55182

Microsoft Security Exposure Management

Microsoft Security Exposure Management’s automated attack path analysis maps out potential threats by identifying exposed resources and tracing the routes an attacker might take to compromise critical assets. This analysis highlights vulnerable cloud compute resources, such as virtual machines and Kubernetes containers, that are susceptible to remote code execution vulnerabilities, including React2Shell CVEs. It also outlines possible lateral movement steps an adversary might take within the environment. The attack paths are presented for all supported cloud environments, including Azure, AWS, and GCP.

To view these paths, filter the view in Microsoft Security Exposure Management, filter by entry point type:

  • Kubernetes container
  • Virtual Machine
  • AWS EC2 instance
  • GCP compute instance.

Alternatively, in Microsoft Defender for Cloud, customers can filter by titles such as:

  • Internet exposed container with high severity vulnerabilities
  • Internet exposed Azure VM with RCE vulnerabilities
  • Internet exposed GCP compute instance with RCE vulnerabilities
  • Internet exposed AWS EC2 instance with RCE vulnerabilities

Microsoft Sentinel

Microsoft Sentinel customers can use the TI Mapping analytics (a series of analytics all prefixed with β€˜TI map’) to automatically match the malicious domain indicators mentioned in this blog post with data in their workspace. If the TI Map analytics are not currently deployed, customers can install the Threat Intelligence solution from the Microsoft Sentinel Content Hub to have the analytics rule deployed in their Sentinel workspace.Β 

Detect network IP and domain indicators of compromise using ASIM

//IP list and domain list- _Im_NetworkSession
let lookback = 30d;
let ioc_ip_addr = dynamic(["194.69.203.32", "162.215.170.26", "216.158.232.43", "196.251.100.191", "46.36.37.85", "92.246.87.48"]);
let ioc_domains = dynamic(["anywherehost.site", "xpertclient.net", "superminecraft.net.br", "overcome-pmc-conferencing-books.trycloudflare.com", "donaldjtrmp.anondns.net", "labubu.anondns.net", "krebsec.anondns.net", "hybird-accesskey-staging-saas.s3.dualstack.ap-northeast-1.amazonaws.com", "ghostbin.axel.org", "194.69.203.32:81", "194.69.203.32:81", "194.69.203.32:81", "162.215.170.26:3000", "216.158.232.43:12000", "overcome-pmc-conferencing-books.trycloudflare.com", "donaldjtrmp.anondns.net:1488", "labubu.anondns.net:1488", "krebsec.anondns.net:2316/dong", "hybird-accesskey-staging-saas.s3.dualstack.ap-northeast-1.amazonaws.com", "ghostbin.axel.org"]);n_Im_NetworkSession(starttime=todatetime(ago(lookback)), endtime=now())n| where DstIpAddr in (ioc_ip_addr) or DstDomain has_any (ioc_domains)
| summarize imNWS_mintime=min(TimeGenerated), imNWS_maxtime=max(TimeGenerated),
  EventCount=count() by SrcIpAddr, DstIpAddr, DstDomain, Dvc, EventProduct, EventVendor

Detect Web Sessions IP and file hash indicators of compromise using ASIM

//IP list - _Im_WebSession
let lookback = 30d;
let ioc_ip_addr = dynamic(["194.69.203.32", "162.215.170.26", "216.158.232.43", "196.251.100.191", "46.36.37.85", "92.246.87.48"]);
let ioc_sha_hashes =dynamic(["c2867570f3bbb71102373a94c7153239599478af84b9c81f2a0368de36f14a7c", "9e9514533a347d7c6bc830369c7528e07af5c93e0bf7c1cd86df717c849a1331", "b63860cefa128a4aa5d476f300ac45fd5d3c56b2746f7e72a0d27909046e5e0f", "d60461b721c0ef7cfe5899f76672e4970d629bb51bb904a053987e0a0c48ee0f", "d3c897e571426804c65daae3ed939eab4126c3aa3fa8531de5e8f0b66629fe8a", "d71779df5e4126c389e7702f975049bd17cb597ebcf03c6b110b59630d8f3b4d", "b5acbcaccc0cfa54500f2bbb0745d4b5c50d903636f120fc870082335954bec8", "4cbdd019cfa474f20f4274310a1477e03e34af7c62d15096fe0df0d3d5668a4d", "f347eb0a59df167acddb245f022a518a6d15e37614af0bbc2adf317e10c4068b", "661d3721adaa35a30728739defddbc72b841c3d06aca0abd4d5e0aad73947fb1", "876923709213333099b8c728dde9f5d86acfd0f3702a963bae6a9dde35ba8e13", "2ebed29e70f57da0c4f36a9401a7bbd36e6ddd257e0920aa4083240afa3a6457", "f1ee866f6f03ff815009ff8fd7b70b902bc59b037ac54b6cae9b8e07beb854f7", "7e90c174829bd4e01e86779d596710ad161dbc0e02a219d6227f244bf271d2e5"]);b_Im_WebSession(starttime=todatetime(ago(lookback)), endtime=now())b| where DstIpAddr in (ioc_ip_addr) or FileSHA256 in (ioc_sha_hashes)
| summarize imWS_mintime=min(TimeGenerated), imWS_maxtime=max(TimeGenerated),
  EventCount=count() by SrcIpAddr, DstIpAddr, Url, Dvc, EventProduct, EventVendor

Detect domain and URL indicators of compromise using ASIM

// Domain list - _Im_WebSession
let ioc_domains = dynamic(["anywherehost.site", "xpertclient.net", "superminecraft.net.br", "overcome-pmc-conferencing-books.trycloudflare.com", "donaldjtrmp.anondns.net", "labubu.anondns.net", "krebsec.anondns.net", "hybird-accesskey-staging-saas.s3.dualstack.ap-northeast-1.amazonaws.com", "ghostbin.axel.org", "194.69.203.32:81", "194.69.203.32:81", "194.69.203.32:81", "162.215.170.26:3000", "216.158.232.43:12000", "overcome-pmc-conferencing-books.trycloudflare.com", "donaldjtrmp.anondns.net:1488", "labubu.anondns.net:1488", "krebsec.anondns.net:2316/dong", "hybird-accesskey-staging-saas.s3.dualstack.ap-northeast-1.amazonaws.com", "ghostbin.axel.org"]);
_Im_WebSession (url_has_any = ioc_domains)

Detect files hashes indicators of compromise using ASIM

// file hash list - imFileEvent
let ioc_sha_hashes = dynamic(["c2867570f3bbb71102373a94c7153239599478af84b9c81f2a0368de36f14a7c", "9e9514533a347d7c6bc830369c7528e07af5c93e0bf7c1cd86df717c849a1331", "b63860cefa128a4aa5d476f300ac45fd5d3c56b2746f7e72a0d27909046e5e0f", "d60461b721c0ef7cfe5899f76672e4970d629bb51bb904a053987e0a0c48ee0f", "d3c897e571426804c65daae3ed939eab4126c3aa3fa8531de5e8f0b66629fe8a", "d71779df5e4126c389e7702f975049bd17cb597ebcf03c6b110b59630d8f3b4d", "b5acbcaccc0cfa54500f2bbb0745d4b5c50d903636f120fc870082335954bec8", "4cbdd019cfa474f20f4274310a1477e03e34af7c62d15096fe0df0d3d5668a4d", "f347eb0a59df167acddb245f022a518a6d15e37614af0bbc2adf317e10c4068b", "661d3721adaa35a30728739defddbc72b841c3d06aca0abd4d5e0aad73947fb1", "876923709213333099b8c728dde9f5d86acfd0f3702a963bae6a9dde35ba8e13", "2ebed29e70f57da0c4f36a9401a7bbd36e6ddd257e0920aa4083240afa3a6457", "f1ee866f6f03ff815009ff8fd7b70b902bc59b037ac54b6cae9b8e07beb854f7", "7e90c174829bd4e01e86779d596710ad161dbc0e02a219d6227f244bf271d2e5"]);dimFileEventd| where SrcFileSHA256 in (ioc_sha_hashes) or
TargetFileSHA256 in (ioc_sha_hashes)
| extend AccountName = tostring(split(User, @'')[1]), 
  AccountNTDomain = tostring(split(User, @'')[0])
| extend AlgorithmType = "SHA256"

Find use of reverse shells

This query looks for potential reverse shell activity initiated by cmd.exe or PowerShell. It matches the use of reverse shells in this attack: reverse-shell-nishang.

Indicators of compromise

The list below is non-exhaustive and does not represent all indicators of compromise observed in the known campaigns:

IndicatorTypeDescription
c6c7e7dd85c0578dd7cb24b012a665a9d5210cce8ff735635a45605c3af1f6ad
b568582240509227ff7e79b6dc73c933dcc3fae674e9244441066928b1ea0560
69f2789a539fc2867570f3bbb71102373a94c7153239599478af84b9c81f2a03
68de36f14a7c9e9514533a347d7c6bc830369c7528e07af5c93e0bf7c1cd86df
717c849a1331b63860cefa128a4aa5d476f300ac45fd5d3c56b2746f7e72a0d2
7909046e5e0fd60461b721c0ef7cfe5899f76672e4970d629bb51bb904a05398
7e0a0c48ee0f65c72a252335f6dcd435dbd448fc0414b295f635372e1c5a9171
SHA-256Coin miner payload hashes
b33d468641a0d3c897e571426804c65daae3ed939eab4126c3aa3fa8531de5e8
f0b66629fe8ad71779df5e4126c389e7702f975049bd17cb597ebcf03c6b110b
59630d8f3b4db5acbcaccc0cfa54500f2bbb0745d4b5c50d903636f120fc8700
82335954bec84cbdd019cfa474f20f4274310a1477e03e34af7c62d15096fe0d
f0d3d5668a4df347eb0a59df167acddb245f022a518a6d15e37614af0bbc2adf
317e10c4068b661d3721adaa35a30728739defddbc72b841c3d06aca0abd4d5e
0aad73947fb1876923709213333099b8c728dde9f5d86acfd0f3702a963bae6a
9dde35ba8e132ebed29e70f57da0c4f36a9401a7bbd36e6ddd257e0920aa4083
240afa3a6457f1ee866f6f03ff815009ff8fd7b70b902bc59b037ac54b6cae9b
8e07beb854f77e90c174829bd4e01e86779d596710ad161dbc0e02a219d6227f
244bf271d2e55cd737980322de37c2c2792154b4cf4e4893e9908c2819026e5f
SHA-256Backdoor payload hashes
hxxp://194[.]69[.]203[.]32:81/hiddenbink/colonna.arc
hxxp://194[.]69[.]203[.]32:81/hiddenbink/colonna.i686
hxxp://194[.]69[.]203[.]32:81/hiddenbink/react.sh
hxxp://162[.]215[.]170[.]26:3000/sex.sh
hxxp://216[.]158[.]232[.]43:12000/sex.sh
hxxp://196[.]251[.]100[.]191/no_killer/Exodus.arm4
hxxp://196[.]251[.]100[.]191/no_killer/Exodus.x86
hxxp://196[.]251[.]100[.]191/no_killer/Exodus.x86_64
hxxp://196[.]251[.]100[.]191/update.sh
hxxp://anywherehost[.]site/xms/k1.sh
hxxp://anywherehost[.]site/xms/kill2.sh
hxxps://overcome-pmc-conferencing-books[.]trycloudflare[.]com/p.png
hxxp://donaldjtrmp.anondns.net:1488/labubu
hxxp://labubu[.]anondns[.]net:1488/dong
hxxp://krebsec[.]anondns[.]net:2316/dong
hxxps://hybird-accesskey-staging-saas[.]s3[.]dualstack[.]ap-northeast-1[.]amazonaws[.]com/agent
hxxps://ghostbin[.]axel[.]org/paste/evwgo/raw
hxxp://xpertclient[.]net:3000/sex.sh
hxxp://superminecraft[.]net[.]br:3000/sex.sh
URLsVarious payload download URLs
194.69.203[.]32
162.215.170[.]26
216.158.232[.]43
196.251.100[.]191
46.36.37[.]85
92.246.87[.]48
IP addressesC2
anywherehost[.]site
xpertclient[.]net
vps-zap812595-1[.]zap-srv[.]com
superminecraft[.]net[.]br
overcome-pmc-conferencing-books[.]trycloudflare[.]com
donaldjtrmp[.]anondns[.]net
labubu[.]anondns[.]net
krebsec[.]anondns[.]net
hybird-accesskey-staging-saas[.]s3[.]dualstack[.]ap-northeast-1[.]amazonaws[.]com
ghostbin[.]axel[.]org
DomainsC2

References

Learn more Β 

For the latest security research from the Microsoft Threat Intelligence community, check out the Microsoft Threat Intelligence Blog.

To get notified about new publications and to join discussions on social media, follow us on LinkedIn, X (formerly Twitter), and Bluesky.

To hear stories and insights from the Microsoft Threat Intelligence community about the ever-evolving threat landscape, listen to the Microsoft Threat Intelligence podcast.

The guidance provided in this blog post represents general best practices and is intended for informational purposes only. Customers remain responsible for evaluating and implementing security measures appropriate for their environments.

The post Defending against the CVE-2025-55182 (React2Shell) vulnerability in React Server Components appeared first on Microsoft Security Blog.

❌