❌

Normal view

There are new articles available, click to refresh the page.
Today β€” 11 August 2026Main stream

DeadLock ransomware: Breaking down a Rust-based encryptor with decentralized recovery infrastructure

Microsoft Threat Intelligence tracks DeadLock ransomware as an emerging financially motivated operation distinguished by its use of decentralized infrastructure to support victim communications and data leak operations. Its recovery ecosystem combines the Session messaging network with blockchain-backed services that store and deliver resources used throughout the extortion process. This architecture likely increases the resilience of portions of its communication, leak-hosting, and negotiation infrastructure, allowing DeadLock operators to recover from some disruption efforts while maintaining continuity for victims. Microsoft has observed DeadLock ransomware being deployed by multiple groups including an affiliate of the Lynx and INC ransomware ecosystems.

First observed in July 2025, DeadLock operators employ double extortion tactics, encrypting victim environments while threatening to publicly release exfiltrated data. As of July 2026, the operators have published more than 80 compromised organizations on their data leak site, called the DeadLock blog, with more than half of the claimed victims in Europe. Microsoft identified DeadLock ransomware impacting organizations across information technology (IT), mining, transportation and logistics, manufacturing, hospitality, consumer goods, and other sectors in Europe, Asia, North America, South America, and Africa.

The DeadLock encryptor includes a resource-aware throttling mechanism designed to maintain system responsiveness during encryption. In addition to its encryption capabilities, the ransomware also appears to implement language or country-based geofencing designed to avoid running in environments associated with former Soviet and Commonwealth of Independent States (CIS)-linked countries as well as select Middle Eastern countries, a pattern commonly observed among ransomware operators believed to operate from those regions. Together, these capabilities demonstrate how DeadLock combines established ransomware tradecraft with decentralized infrastructure designed to improve operational resilience.

In this blog, we present a technical analysis of the DeadLock ransomware encryptor, covering its execution flow, defense evasion techniques, encryption design, and post-encryption behaviors, including a decentralized recovery chat system. We also provide indicators of compromise (IOCs), Microsoft Defender detections, and mitigation guidance to help organizations defend against this threat and similar ransomware activity.

Pre-encryption

Configuration parsing

Before performing any malicious activity, the DeadLock encryptor decrypts an embedded configuration blob using XOR decoding with an 8-byte key.

Below are the malware’s configuration fields and their values.

FieldValue
Victim UID<redacted>
Malware public key03bf50bbf97c4e951e66ff12b689a37a3ce675b4921e254eae76da77573843e4a9
Encryption rule1000,05052429880,025124288000,010524288000,F991114288000
Language exclude listGeofencing language IDs (see Language geofencing)
Process stop listProcesses to terminate (see Process and service termination)
Service stop listServices to stop and delete (see Process and service termination)
File exclude listExtensions and file names to avoid encrypting (see Directory traversal)
Directory exclude listPre-traversal filter with directories to avoid encrypting (see Directory traversal)
Sub-path Exclude ListSub-paths to avoid encrypting during traversal (see Directory traversal)
Text ransom noteFull text ransom note content (see Ransom notes deployment)
HTML recovery chatFull HTML/JS interactive chat page (see Recovery chat: Technical architecture)

Language geofencing

As an early exit check, the malware queries the system’s default and user interface (UI) languages. If either language matches the exclude list in the configuration, the malware self-deletes immediately without performing any encryption.

The following languages trigger this exit behavior:

LANGIDLanguageCountry
1049RussianRussia
1058UkrainianUkraine
1059BelarusianBelarus
1064Tajik (Cyrillic)Tajikistan
1065PersianIran
1067ArmenianArmenia
1068AzeriΒ (Latin)Azerbaijan
1079GeorgianGeorgia
1087KazakhKazakhstan
1088KyrgyzKyrgyzstan
1090TurkmenTurkmenistan
1114SyriacSyria
2072Romanian (Moldova)Moldova
2092AzeriΒ (Cyrillic)Azerbaijan
2115Uzbek (Cyrillic)Uzbekistan
8193ArabicOman
9217Arabic (Yemen)Yemen

Command-line processing and privilege elevation

The encryptor’s behavior branches based on command-line arguments and the current privilege level. If a target directory path is provided as the command-line argument, the malware skips all preparation steps and jumps directly to encryption. This feature allows the operator to invoke the encryptor with specific targets for focused encryption. If no sub-commands are provided and the process is already elevated, the malware proceeds normally through all execution phases.

The more interesting case occurs when no command-line argument is provided while the process is not elevated. In this scenario, the malware attempts to gain administrator privileges through a batch-script-based elevation technique. It generates a randomly named .cmd file (8 uppercase characters, such as ESYEKQSY.cmd) and executes it using ShellExecuteW with the RunAs verb, which triggers the Windows User Account Control (UAC) consent dialog. If the user denies the prompt, the malware retries up to 10 times before giving up and exiting.

During dynamic analysis, the sample did not successfully relaunch itself with elevated privileges. As a result, full pre-encryption preparation appears to require execution from an already elevated context. When invoked with a target path, the malware bypasses preparation and proceeds directly to encrypt accessible files. This behavior is specific to the analyzed sample and may change in later variants.

Token privilege escalation

When running with administrator privileges, the malware further expands its access by enabling SeDebugPrivilege, SeRestorePrivilege, SeBackupPrivilege, SeTakeOwnershipPrivilege, SeAuditPrivilege, and SeSecurityPrivilege. These privileges increase the malware’s ability to interact with system processes, protected files, and security-related settings, helping it overcome common access restrictions and maximize the scope of files and resources it can target during the encryption phase.

Recycle bin emptying

The malware silently empties the recycle bin on all drives without any UI or confirmation dialog, eliminating a potential source of file recovery for victims.

Custom icon registration

To visually brand encrypted files, the malware writes an embedded .ico file to C:\ProgramData\<UID>.ico and registers it as the default icon for files with the extension .dlock.

To associate the custom icon with encrypted files, the ransomware creates the HKLM\SOFTWARE\Classes\.dlock\DefaultIcon registry key and sets its (Default) value to the path of the dropped icon file.

Below is the malware’s embedded .ico file.

A lock symbol surrounded by a circular target.
Figure 1. DeadLock icon for encrypted files

Process and service termination

Before starting encryption, the malware terminates processes and disables services that could interfere with file access or provide defensive capabilities. This approach ensures that locked files become accessible for encryption while simultaneously disrupting the environment’s ability to detect, respond to, or recover from the attack.

For services, the malware enumerates all active Win32 services and compares them against the stop list in the configuration. For each matching service, DeadLock sets its start type to DISABLED and sends a stop command to terminate that service. Notable targets include windefend (Windows Defender), vss/swprv/wbengine (Volume Shadow Copy and Backup services), mssearch, Hyper-V services (vmcompute, vmms), and Active Directory services (adws, ntds, kdc). Below is the full service stop list in the malware configuration:

A list of service names and their corresponding service types, primarily related to Windows services.
Figure 2. Service stop list

For processes, the malware enumerates all running processes and terminates any matching its stop list while skipping its own process ID. Targeted processes include security tools (msmpeng, securityhealthservice, smartscreen), backup and cloud sync applications (onedrive, dropbox, googledrivefs, owncloud), remote access tools (anydesk, putty, mstsc, rustdesk), shell and system processes (explorer, powershell, taskmgr, cmd), and search/indexing services. Below is the full process stop list in the malware configuration:

A list of various Windows processes and system components.
Figure 3. Process stop list

Event log clearing

To eliminate forensic evidence, the malware employs three complementary methods that collectively ensure every event log channel on the system is cleared of existing entries, disabled from recording future events, and has its access permissions locked down:

  • Direct clearing: Clears the following log channels via the classic Event Log API: Application, Security, Setup, Servicing, Eventlog, Forwarded Events, Windows PowerShell, and System.
  • Registry-based disabling: Enumerates every sub-key under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels. For each channel, sets Enabled to 0 (disabling all future logging) and overwrites ChannelAccess with a restrictive Security Descriptor Definition Language (SDDL) string that limits access to SYSTEM, built-in administrators, and local admin.
  • Modern API enumeration: Uses wevtapi.dll to enumerate all registered event log channel paths (including custom application channels not in the hardcoded list) before clearing each one.

By combining API-based clearing, registry manipulation, and full channel enumeration, the malware covers multiple log sources, including third-party application logs and custom diagnostic channels, to minimize existing forensic evidence on the infected device.

Directory traversal

To maintain system stability and ensure the victim can access ransom instructions, the malware excludes specific directories, file extensions, and file names from encryption. This selective encryption model is a common ransomware design pattern where the system must remain operational enough for the victim to receive instructions and facilitate payment.

Extensions and file names from the configuration’s file exclude list are skipped during encryption:

A list of file extensions and system files related to Windows operating system.
Figure 4. List of skipped extensions and file names

For directory processing, the malware uses a two-tier directory exclusion system applied at different stages of the encryption pipeline. Tier 1 provides rough filtering that saves significant time by avoiding traversal overhead, while tier 2 provides granular path-specific exclusions within directories that are traversed. Both prevent encryption, but they operate at different stages of the traversal pipeline.

In its pre-traversal phase (tier 1), the malware checked at the drive batch level before threads are spawned for traversal. If a top-level directory matches against the configured directory exclude list (\users\*\appdata, program files (x86)\, program files\, and programdata\), the entire tree is skipped without being walked.

In its during-traversal phase (tier 2), the malware checked the file name during recursive directory enumeration and applied to both subdirectories and files as they are encountered. In this tier, the directory and file names are checked against the configured sub-path exclude list below.

A list of file paths and folders typically associated with the Windows operating system.
Figure 5. Sub-path exclude list

Encryption

Resource-aware throttling

One of the more distinctive aspects of the DeadLock encryptor is its resource-aware throttling mechanism, designed to keep the infected system responsive during encryption. The malware spawns a dedicated monitoring/dispatch thread per drive batch that acts as a gatekeeper for file encryption dispatch. Before dispatching each new file to be encrypted, this thread polls system resource utilization and checks against hardcoded thresholds:

  1. Polls memory and CPU idle before each file dispatch
  2. Calculates memory usage percentage and CPU idle percentage
  3. If memory usage exceeds 29% or CPU load exceeds 70% (idle < 30%), the dispatch thread pauses via a waitable timer and retries until resources return below thresholds
  4. Once thresholds are within limits, atomically sets a dispatch flag on the work queue and signals waiting encrypting worker threads

With this mechanism, worker threads already encrypting files are not interrupted, and only the dispatch of new files is gated. This means partially encrypted files are expected to complete, and the throttling manifests as reduced parallelism rather than stop/start behavior. This approach can prevent system hangs that would alert the user and reduce the likelihood of behavioral detection by maintaining normal-looking resource consumption patterns.

Thread architecture

For the encryption work itself, the malware spawns directory processing threads, with the thread count being 2 times the CPU core number. Each thread recursively traverses directories, dropping ransom notes and dispatching files for encryption. Individual file encryption threads are tasked with handling the actual cryptographic operations.

Cryptographic scheme

The DeadLock ransomware implements a hybrid cryptographic design that combines Curve25519 elliptic-curve cryptography with the XChaCha20 stream cipher for file encryption. Key encapsulation uses the Networking and Cryptography Library (NaCl) crypto_box construction, which pairs an asymmetric key exchange with authenticated encryption to securely wrap each file’s symmetric key.

LayerAlgorithmPurpose
File content encryptionXChaCha20Symmetric stream cipher
Key encapsulationCurve25519 Elliptic Curve Diffie-Hellman (ECDH) + XSalsa20-Poly1305Asymmetric key wrapping (NaCl crypto_box)
Random generationWindows CryptoAPIAll key material random generation


The configuration’s operator public key 03bf50bbf97c4e951e66ff12b689a37a3ce675b4921e254eae76da77573843e4a9 is 33 bytes. The leading 03 byte is a SEC1 compressed point format prefix borrowed from Bitcoin/secp256k1. The malware validates this prefix byte against a lookup table that accepts 00, 02, 03, 04, and 05, mapping each to an expected key length.

After format validation, only the remaining 32 bytes are used in the actual Curve25519 ECDH scalar multiplication. This SEC1 prefix is non-standard for Curve25519, which natively uses bare 32-byte keys, and the malware author has likely adopted it for format versioning across their builder and decryptor tooling.

Per-file encryption process

For each target file, the malware performs the following sequence of operations:

  1. Rename the target file from <filename> to <filename>.<UID>.dlock
  2. Open the renamed file and retrieve file size/attributes
  3. Clear the system attribute if FILE_ATTRIBUTE_SYSTEM is set
  4. Determine the encryption strategy based on file size (see File size-based encryption strategy)
  5. Generate cryptographic material:
  6. 32-byte random XChaCha20 key
  7. 24-byte random XChaCha20 nonce (first 16 bytes for HChaCha20 subkey derivation, last 8 bytes as stream nonce)
  8. 32-byte random ephemeral Curve25519 private key
  9. 12-byte random file tag (only the first byte is functionally referenced by the encryptor to derive padding length; the remaining 11 bytes serve as a random file identifier written to the cleartext footer, likely used by the decryptor for file correlation/tracking)
  10. 1–10 bytes random padding (length = file_tag[0] % 10 + 1)
  11. Perform Curve25519 ECDH: Multiply the ephemeral private key by the attacker’s embedded public key to derive a shared secret
  12. Build metadata plaintext: XChaCha20 key + 24-byte XChaCha20 nonce + random padding + dDlK magic + optional FA flag + chunk parameters
  13. Encrypt metadata using crypto_box (XSalsa20-Poly1305) with the ECDH shared secret and a zero nonce
  14. Encrypt file content using XChaCha20 with the generated key and 24-byte nonce
  15. Append the encrypted footer/metadata to the end of the file

The use of a zero crypto_box nonce is worth noting. This is cryptographically safe because each file generates a unique ephemeral Curve25519 keypair, which produces a unique ECDH shared secret per file. With this, a constant zero nonce never repeats with the same key.

The entire design ensures that each file is encrypted with a distinct key derived from a per-file ephemeral key exchange, eliminating any possibility of key reuse across files. Overall, the cryptographic construction is sound and does not present a practical path to decryption without the attacker’s private key.

File size-based encryption strategy

To balance encryption thoroughness with speed, the malware implements a tiered encryption policy based on file size. The encryption rule in the configuration 1000,05052429880,025124288000,010524288000,F991114288000 encodes this policy. Each comma-separated entry is parsed by splitting at position 3: the first 3 characters represent the encryption percentage (decimal), and the remaining characters represent the file size threshold (decimal bytes). The special prefix F replaces the percentage field with a chunked-full mode.

RuleEncryption percentFile size thresholdBehavior
1000100%β‰₯ 0 bytesDefault: encrypt entire file
0505242988050%β‰₯ ~50 MBEncrypt 50% of file in distributed chunks
02512428800025%β‰₯ ~118 MBEncrypt 25% in distributed chunks
01052428800010%β‰₯ ~500 MBEncrypt 10% in distributed chunks
F991114288000Chunkedβ‰₯ ~1 GBSpecial full-chunk mode with calculated intervals


Rules are evaluated in order, and the last matching rule wins. For example, when the malware processes a 2 GB file, all rules match, but the final F99… entry will determine the encryption behavior.

For partial encryption, the malware calculates:

  • Total bytes to encrypt = ceil(file_size Γ— (percentage / 100))
  • Encrypted block count = ceil(total_bytes_to_encrypt / 512)
  • Skip interval = floor((file_size βˆ’ total_bytes_to_encrypt) / encrypted_block_count)

This creates an intermittent encryption pattern where 512-byte blocks are encrypted at regular intervals throughout the file. The result is a file that is rendered unusable while requiring only a fraction of the time needed for full encryption. This is a crucial optimization for the ransomware when targeting large files such as databases, virtual machine images, and backups.

File footer

After encryption, the malware appends a structured metadata blob to the end of each file. This footer contains all the information the decryptor needs to reverse the encryption, along with markers for format validation:

A detailed structure of a cryptographic message, including encryption, authentication, and various data types arranged in a hierarchical format.
Figure 6. DeadLock file footer

The footer serves several important functions:

Key and nonce reconstruction: The cleartext ephemeral Curve25519 public key (33 bytes) at the end of the footer allows the decryptor to recompute the ECDH shared secret and open the crypto_box to recover the XChaCha20 key and nonce used for file content encryption.

Inner dDlK magic (decryption validation): After the decryptor opens the crypto_box, it checks for the dDlK marker at the expected offset (32 + 24 + padding_length bytes into the plaintext) to confirm the correct private key was used and that decryption succeeded. While the Poly1305 Message Authentication Code (MAC) already provides cryptographic integrity verification, this marker offers a fast format-level sanity check.

FA flag (decryption mode indicator): This flag is used by the decryptor to determine which read strategy to use when reversing the encryption. It is present when the file was encrypted using sequential/contiguous block encryption, and absent when intermittent/skip encryption was used. Specifically, FA is appended in two cases:

  1. F-prefix rule matched: When the file size triggers the F991114288000 config entry (the special chunked-full mode), the FA flag is always set.
  2. Percentage rule with zero skip interval: When a percentage-based rule matches but the calculated skip interval between encrypted chunks works out to zero (meaning the percentage effectively covers the entire file), FA is also set.

Without this flag, the 8-byte chunk parameters in the footer would be ambiguous as they could represent either a block count or a skip interval. The FA flag resolves this ambiguity and enables the decryptor to correctly reconstruct the original file.

File identifier/format tag: The 12-byte random value in the cleartext footer serves as a file identifier (with the first byte used to derive the padding length inside the encrypted payload).

Post-encryption

Wallpaper

As an immediate visual indicator of compromise, the malware generates a custom BMP wallpaper file at runtime using the victim’s screen resolution. Below is an example of the generated BMP wallpaper:

DeadLock wallpaper stating the infrastructure is DeadLocked with a note to open the file HOW_RECOVER .< UID>.txt for instructions to recover.
Figure 7. DeadLock wallpaper

The wallpaper is written to C:\ProgramData\<UID>.bmp (on Vista and later) or C:\Documents and Settings\All Users\Application Data\<UID>.bmp (on XP), set as the desktop background, and persisted in the registry at HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Wallpaper.

Ransom notes deployment

After encrypting files, the malware deploys two types of ransom notes, each with distinct deployment logic and purpose:

Text note (HOW_RECOVER.<UID>.txt): The text note is dropped into every encrypted directory, but with a notable timing behavior: it is only deployed during the second pass of the directory processing loop. The malware iterates over drive batches multiple times, and the text note drop is gated by an iteration counter. On the first pass, the text note is suppressed, likely to prioritize encryption speed before littering the file system with ransom note files. For defenders and analysts, this has a practical implication: if testing with a minimal drive configuration that only triggers a single iteration, the text note will never appear.

Below is the text note content from the malware’s configuration.

A ransom note from a cybercriminal demanding payment to decrypt stolen data and provide a security report.
Figure 8. DeadLock text ransom note

HTML note (RECOVERY_CHAT.<UID>.html): This file is dropped to all drive root directories and all Desktop folders. Unlike the text note, the HTML note is a full interactive web application with a self-contained single-page application that implements end-to-end encrypted chat, a paginated data leak blog, and a file browser, all without requiring a traditional backend server. The technical architecture of this recovery chat system is detailed in Recovery chat: Technical architecture.

Recovery chat: Technical architecture

The most distinctive feature of the DeadLock ransomware is its recovery chat system. The RECOVERY_CHAT.<UID>.html file is a self-contained HTML application that implements a full end-to-end encrypted chat system, a paginated data leak blog, and a file browser, all without requiring a traditional backend server.

DeadLock About page telling the victim that all their important files are encrypted by the ransomware, including documents, photos, videos, databases, and other critical data. It tells the victim to contact the operators to receive a decryption key or else the data will be leaked and published on the DeadLock blog.
Figure 9. HTML application β€œAbout” page UI

The architecture is designed with three decentralized components.

Polygon blockchain as configuration store

Rather than relying on traditional domain-based infrastructure that can be seized or taken offline, the DeadLock operators store configuration data on the Polygon blockchain. Two smart contracts serve as censorship-resistant infrastructure:

ContractAddressFunction selectorPurpose
Chat proxy0x8EF7c3e531d871D3B9D559722DE77EB1dEc19dAe0x933a9ce8Stores the proxy server URL
Blog0x757984507c82c8dA1d3969c535dB5706eEE6426C0xd4070542Stores actor’s blog posts


The HTML page issues eth_call requests to public Polygon Remote Procedure Call (RPC) endpoints (no wallet required with read-only calls) to obtain the proxy server address. The blog contract takes offset and limit parameters (for pagination) and returns structured data including post titles, bodies, timestamps, image URLs, and file attachment links.

On-chain storage provides several strategic advantages for the threat actor: the proxy URL can be updated by modifying the smart contract without changing any victim-facing infrastructure, and no domain registration or DNS infrastructure is required. This represents a notable evolution in ransomware infrastructure design.

The HTML recovery chat cycles through six public RPC endpoints for redundancy: polygon-bor-rpc.publicnode[.]com, polygon.drpc[.]org, polygon-pokt.nodies[.]app, polygon-rpc[.]com, 1rpc[.]io/matic, and polygon.meowrpc[.]com.

Session network for end-to-end encrypted chat

For victim-operator communication, chat messages are routed through the Session decentralized messenger network, which is an onion-routed, swarm-based messaging protocol that provides anonymity for both parties. The proxy server (whose URL is retrieved from the blockchain) acts as a relay between the victim’s browser and Session swarm nodes.

DeadLock Chat page with instructions for the victim to create a username and password to communicate with the operators.
Figure 10. HTML application ”Chat” page UI

Key generation: DeadLock’s design choice is that the victim’s Session identity is derived deterministically from their sign-in credentials. When the victim enters their credentials on the HTML page, the following derivation occurs:

A sequence of steps in cryptographic key generation, including hashing a seed, generating an Ed25519 keypair, converting it to Curve25519 format, and forming a session address.
Figure 11. Derivation after victim entered credentials

This deterministic derivation means the same credentials always produce the same keypair, and no account registration is needed as the victim’s Session identity exists only when they enter the correct credentials. If the victim forgets their credentials, the identity is unrecoverable (as stated by the actor in the chat UI). The 05 prefix is Session’s standard network identifier for user accounts.

Sending a message: The following sequence occurs when a message is sent:

  1. Encode the body and timestamp as protobuf
  2. Create an actor message and a self-sync copy
  3. Pad plaintext to 160-byte boundary
  4. Sign the padded content and key context with Ed25519
  5. Append the sender public key and signature
  6. Seal each payload with the recipient’s Curve25519 key
  7. Wrap in Session’s onion request protobuf format (verb: PUT, path: /api/v1/message)
  8. Ask the proxy to submit both copies to their respective swarms

Receiving a message: The following sequence occurs when a message is received:

  1. Sign β€œretrieve” + timestamp with the victim’s Ed25519 key
  2. Select a node associated with the victim’s own swarm
  3. Ask the proxy to poll for messages addressed to that identity
  4. Open each sealed box with the victim’s Curve25519 keypair
  5. Remove the appended public key and signature
  6. Strip padding, decode protobuf, and extract the message body

Data leak blog and Wasabi file hosting

The recovery chat page also provides access to a data leak blog whose content is stored on the Polygon blockchain.

DeadLock Blog page displaying redacted, leaked files published on the DeadLock blog.
Figure 12. Redacted HTML app β€œBlog” page UI

Blog posts retrieved from the smart contract support BBCode formatting, image galleries, and file attachments using either direct URLs or Wasabi protocol links that open an in-browser file explorer. The HTML application contains a full Amazon Web Services (AWS) S3-compatible file browser that parses the Wasabi credentials from the URI, generates AWS4-HMAC-SHA256 signed requests, lists bucket contents with folder navigation, and generates pre-signed download URLs for individual files. This allows the attacker to host stolen data on Wasabi and provide victims or the public with browsable access to the leaked files without running a web server.

Infrastructure resilience summary

HTML recovery chat infrastructure showing how the Polygon RPC communicates with Smart contracts, Proxy server communicates with Session network, and Wasabi S3 with file browser.
Figure 13. HTML recovery chat infrastructure summary

The architecture is significantly more resilient to takedown and censorship efforts, but it is not independent of off-chain infrastructure:

  • Proxy replacement: The actor can update the on-chain proxy URL without changing the HTML
  • On-chain persistence: Contract-stored blog data is resistant to conventional hosting takedowns
  • RPC dependency: The page still requires access to at least one public Polygon RPC endpoint
  • Proxy dependency: Chat access depends on the current custom proxy remaining reachable
  • Storage dependency: Images and leaked files can be removed from CDN or Wasabi hosting
  • Session resilience: Distributed swarm storage reduces reliance on a single messaging server

This infrastructure model represents a meaningful evolution from traditional ransomware communication channels and poses new challenges for takedown efforts.

Self-deletion

As a final cleanup step after encryption completes, the malware creates a batch to delete its own binary from disk. The cleanup batch loops until it successfully deletes the malware binary, then removes itself:

Self deleting batch loop script
Figure 14. Self-deleting batch loop

Defending against DeadLock ransomware

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

  • ReadΒ theΒ human-operated ransomware threat overviewΒ for advice on developing a holistic security posture to prevent ransomware, including credential hygiene and hardening recommendations.Β 
  • 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 huge 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 remediate malicious artifacts that are detected post-breach.Β 
  • Turn onΒ tamper protectionΒ features to prevent attackers from stopping security services. In addition to tamper protection, you can alsoΒ enable and configure Microsoft Defender Antivirus always-on protection in Group Policy.Β 
  • ConfigureΒ investigation and remediationΒ in full automated mode to let MicrosoftΒ Defender forΒ Endpoint take immediate action on alerts to resolve breaches, significantly reducing alert volume.Β 
  • ConfigureΒ automatic attack disruptionΒ in Microsoft Defender XDR. Automatic attack disruption is designed toΒ containΒ attacks in progress, limit the impact on an organization’s assets, andΒ provide more time for security teamsΒ to remediate the attack fully.Β 
  • To help preserve existing systemsΒ in the event ofΒ a ransomware attack,Β configure a Controlled Folder Access (CFA) policyΒ to be as strict as possible. CFA protects valuable data from threats like ransomware by preventingΒ writeΒ access to common system folders; more folders can also be added. Establishing this policy aheadΒ of aΒ ransomware event can enable organizations to respond quickly to ransomware signals, deploying the CFA policy to limit the destructive impact of an active attack. In certain instances, a CFA policy can also beΒ leveragedΒ proactively on specific sensitive assets that will not be negativelyΒ impactedΒ by restrictive protections. UseΒ audit modeΒ to evaluate the impactΒ toΒ your organization in these cases.Β 
  • Microsoft Defender XDR customers can turn onΒ attack surface reduction rulesΒ to prevent several of the infection vectors of this threat. These rules, which can be configured by any user, offer significant hardening against targeted attacks. In observed attacks, Microsoft customers who had the following rules turned on could mitigate the attack in theΒ initialΒ stages and prevent hands-on-keyboard activity:Β Β 

You can assess how an attack surface reduction rule mightΒ impactΒ your network by opening theΒ security recommendationΒ for that rule in Vulnerability management. In the Recommendation details pane, check the user impact toΒ determineΒ what percentage of your devices can accept a new policy enabling the rule in blocking mode without adverse impact to user productivity.Β Β Β 

Microsoft Defender detections

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

Microsoft Defender Antivirus

Microsoft Defender Antivirus detects threat components as the following malware:

Microsoft Defender for Endpoint

The following alerts might indicate threat activity associated with this threat. These alerts, however, can be triggered by unrelated threat activity and are not monitored in the status cards provided with this report.

  • Ransomware-linked threat actor detected
  • Ransomware behavior detected in the file system
  • Possible ransomware activity
  • File backups were deleted
  • Potential human-operated malicious activity
  • Possible data exfiltration
  • Suspicious wallpaper change

The following alerts might indicate threat activity associated with DeadLock ransomware if Defender for Endpoint is set to block mode.

  • β€˜DeadLock’ ransomware was detected
  • β€˜DeadLock’ ransomware was prevented

Microsoft Defender for Cloud Apps

The following alert might indicate threat activity associated with this threat. This alert, however, can be triggered by unrelated threat activity and are not monitored in the status cards provided with this report.

  • Ransomware activity

Microsoft Security Copilot

Microsoft Security Copilot is embedded in Microsoft Defender and provides security teams with AI-powered capabilities to summarize incidents, analyze files and scripts, summarize identities, use guided responses, and generate device summaries, hunting queries, and incident reports.

Customers can also deploy AI agents, including the following Microsoft Security Copilot agents, to perform security tasks efficiently:

Security Copilot is also available as a standalone experience where customers can perform specific security-related tasks, such as incident investigation, user analysis, and vulnerability impact assessment. In addition, Security Copilot offers developer scenarios that allow customers to build, test, publish, and integrate AI agents and plugins to meet unique security needs.

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 the intelligence, protection information, and recommended actions to prevent, mitigate, or respond to associated threats found in customer environments.

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.

Indicators of compromise

IndicatorTypeDescription
a1fdf65020ce4a0f0940c793c6425baf8a0b994ec48b9baaf72788661a9d29f4SHA-256DeadLock ransomware encryptor
deadlock.liveblog365[.]comURLLeak site domain
dlock.liveblog365[.]comURLLeak site domain
deadblogdbdu5wprek7wa2o4ce7rnt6u6ntqeud3hzjjcveosgpsqqqd[.]onionURLLeak site domain
deadlockblog.great-site[.]netURLLeak site domain
deadlockblog.medianewsonline[.]comURLLeak site domain

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 post DeadLock ransomware: Breaking down a Rust-based encryptor with decentralized recovery infrastructure appeared first on Microsoft Security Blog.

Microsoft reportedly pours fuel on PC pricing flames as it implements a 'significant increase' for Windows 11 licenses

  • Microsoft has hiked the cost of a Windows 11 license for PC makers
  • A new report claims that the annual price increase is 'significantly' more this year
  • That's really not going to help the PC market, coming on top of all the pain with hardware price rises that we're already experiencing

PC prices are already facing various unfortunate pressures β€” thanks to the RAM crisis, and other increased component costs aside from memory –— but it appears that Microsoft is throwing fuel on the fire with hikes on the software side.

Wccftech spotted a report from Economic Daily News (EDN), a Taiwanese site, claiming that Microsoft has increased the price it charges PC makers for a Windows 11 license. Apparently the cost of installing Windows 11 on a pre-built desktop PC or a laptop has gone up by 7% to 10% as of last month.

Of course, bear in mind this is just a rumor (and the article is translated, so we need to be careful about any potentially lost meaning), but it's an alarming sounding prospect.

Microsoft puts up the price of a Windows 11 license every year, so this isn't new or unexpected, but normally Microsoft applies a single-digit increase, and this year the price hike has reportedly been a good deal more, possibly tipping into double-digits (10%). The (translated) article calls this a "significant increase" compared to past years, and the information comes from an executive at an (unnamed) PC maker.

Seemingly current product prices already reflect Microsoft's extra charge, with the bigger rises in fees having been given to PCs with faster processors, we're told.

EDN observes that the prices of PCs are expected to rise by 5% in the third quarter of 2026, at least for Acer and Asus systems in the Taiwanese market. Other regions and vendors may, of course, vary, but all OEMs (PC makers) must pay Microsoft for a Windows 11 license (if using the OS, of course).

Analysis: software salt

Windows 11 setup screen choosing how to set up

(Image credit: Microsoft)

As noted, these cost increases are supposedly already priced into hardware on the shelves, and EDN observes that neither consumers nor businesses have really batted an eyelid.

That's mainly because the hardware-based pricing misery β€” for more expensive RAM, SSDs, GPUs (increasingly of late) and other components β€” is driving the nastier price rises, and the Windows 11 increase is relatively small fry in comparison. So, this software hike has purportedly flown under the radar, effectively eclipsed by the hardware pain.

If this report is true, and Microsoft has indeed put prices up a good deal more than normal, that's a distinctly unhelpful move. On the hardware side of the equation, we know prices to manufacture goods are going up β€” and that cost increases will inevitably be passed on to the end buyer. That's just business, but there's no obvious reason why software costs should be hiked more than normal, other than what the cynical might suggest appears to be opportunism from Microsoft (and maybe the growing cost of the AI side of the company).

This is effectively rubbing software salt into hardware wounds, and the PC market could really do without it. Although speaking of salt, all of this depends on whether this rumor is on the money, and I think it's worth remaining somewhat skeptical in that regard, albeit that EDN has proved a reliable source in the past.

Windows 11's RAM-hogging, advert-laden Weather app is the poster child for everything that's wrong with the operating system

  • Windows 11's Weather app uses a surprising amount of RAM
  • It consumes over 1GB at times β€” and worse still, pushes adverts
  • This is a lot of what's wrong with Windows 11 in a nutshell

If you want a neatly crystallized summary of some of the key remaining failings of Windows 11 β€” pain points Microsoft has yet to fix in its campaign to right the wrongs of the OS β€” you only need to look at the Weather app.

This is one of Microsoft's default apps with Windows 11, and as Windows Latest pointed out, the RAM that this software eats up is mind-boggling, frankly.

The tech site observed that the Weather app somehow used over 1.2GB of system memory, and that this isn't far off five times as much as the native Weather app on macOS (which uses something like 250MB of RAM).

On my Windows 11 machine I didn't see quite that level of resource usage, but the Weather app did consume around a peak of 1GB at times (although that did drop as low as 800MB, and that was the level I saw it running at in the main). That's still a lot of memory, though, and it's clear the app has a heavy system footprint.

On top of that, there's an additional downside here, which is that you get adverts displayed alongside your forecasts and weather details (in panels at the side). These are full-on adverts, too, for the likes of shoes or medical insurance, not just Microsoft's nudges to use its products like OneDrive or similar.

As Windows Latest observes, this is because this app is actually the MSN Weather app, with the adverts being pulled over from the MSN network.

Analysis: a shower of adverts

Sad man looking at Windows 11 laptop

(Image credit: Ollyy / Shutterstock)

Granted, the app provides a lot of weather information, and it's pretty comprehensive β€” but at what cost? What should be a lightweight and streamlined app consumes an improbable amount of RAM. Why is that? Well, it's due to Weather being a web app, one that, when you peek behind the hood, is running eight separate Chromium processes.

That's a clunky way of working, and the high level of resource usage this causes is particularly unwelcome in the current climate of the RAM crisis, where 8GB laptops are being brought back to try and keep costs down as manufacturers struggle to keep a lid on prices.

Okay, so Microsoft is looking at performance improvements across the board for Windows 11, and it's specifically aiming to address the issue of the memory footprint for 8GB PCs. And hopefully the Weather app will get some attention as part of that streamlining, and sooner rather than later.

For now, though, even if you don't use Weather, it remains a clear reminder of what's wrong with some parts of Windows 11 in terms of unnecessary bloat, both in the way the app is programmed, and the addition of those adverts (which doubtless don't help performance, either). These ads are present in Windows 10's Weather app, too, in case you were wondering, and it's surely a simple enough job β€” and an easy win β€” for Microsoft to at least ditch these.

As you might imagine, there have been a fair few potshots fired at Microsoft over this on social media, and one Redditor echoes something I've said myself in the past: "It's honestly ridiculous that we pay for a premium operating system and still get served ads inside basic native apps like Weather."

This is a key point for me. You can either have a free operating system that pays for itself via promotional bits and pieces β€” you can't really argue with that if you've forked out nothing for the privilege of running an OS β€” or you have a paid one that has no promotions.

Microsoft has promised to chill on the upselling in Windows 11, and it looks like the Weather app would be a good place to revisit with that in mind.

Yesterday β€” 10 August 2026Main stream

Microsoft Responds to Outcry After Quietly Installing Beta 'Photos' App on Enterprise Machines

10 August 2026 at 00:34
Microsoft's cloud storage app OneDrive got a new Photos app in the worst possible way, reports the blog Neowin . "The app is reportedly showing up even on Windows 11 Enterprise machines, despite apparently being a beta application aimed at consumer functionality." One admin questioned why a beta app was appearing on an Enterprise SKU in the first place, while another described the situation as yet another consumer-oriented feature being forced onto corporate PCs. Things get even more frustrating for IT departments because there does not appear to be a straightforward Microsoft-provided way to disable the app... Enterprise administrators generally need to know what is being installed on their managed devices, particularly when a software is labeled as beta. Quietly adding another application and leaving admins to clean it up themselves is therefore unlikely to win Microsoft many fans. But there's another problem, according to the blog Windows Latest. "OneDrive Photos automatically scans your system storage for photos," and apparently "doesn't need a Microsoft account to work, as it can also detect your local files." There's also a People section that groups similar faces in your photos. Microsoft asks for permission before turning it on and explicitly warns that facial data could be considered biometric data in some regions. The company says only you can see the grouped faces, that the data isn't shared with third parties, and that you can delete it by disabling the feature. In a statement to Neowin, Microsoft admitted this new photos "experience" they're "incubating" had gone "more broadly than it should have," and then promised that "We're fixing that." The spokesperson also said the Windows Photos app will "always give you the option of local and cloud photos" and, also a choice of whether or not to use it OneDrive." But there's another "awkward catch," notes the blog Digital Trends. "Users currently can't uninstall OneDrive Photos without removing the main OneDrive app too." Because OneDrive Photos is tied to the main OneDrive sync client, Windows 11 doesn't currently offer a separate uninstall option. The only straightforward way to get rid of OneDrive Photos right now is to uninstall OneDrive itself... Removing the main client can also affect its File Explorer integration and shortcuts... Microsoft says this will change. The company is working on controls that will let users remove OneDrive Photos separately from the main OneDrive app. On enterprise PCs managed through Intune, Microsoft says the app will automatically disappear where it isn't supported.

Read more of this story at Slashdot.

Before yesterdayMain stream

Microsoft quietly stops recommending 32GB of RAM, as even Apple reportedly struggles to secure memory for iPhones and MacBooks

  • Microsoft is eating humble pie over its unrealistic RAM recommendations
  • It has deleted articles that pushed 32GB as an ideal or 'no-worries' loadout
  • Apple is also feeling the heat in the RAM crisis, with rumors that it's struggling to secure an alternative source of memory supply from China

There are some fresh twists with the RAM crisis hitting some big tech companies, as Microsoft has backtracked on its previous memory recommendations, and even Apple is apparently finding it difficult to cope with the scarcity of memory.

Let's discuss Microsoft first, and as Windows Latest pointed out, the company has been busy backpedalling on previous memory recommendations now that the RAM crisis – which just keeps getting worse – has made those suggestions look foolish.

Microsoft previously had support documents in its Windows Learning Center which have now been removed, and Windows Latest highlights two of them. One was about optimizing your gaming PC, and it advised that "32GB is ideal for serious players who run the most demanding titles" (albeit the article also said 16GB was "plenty" for most games).

Another piece said that 32GB of RAM was the "no-worries zone", and that article was also quietly deleted as there was some backlash against this, given that it was published when the price of system memory had become ridiculous. (And buying a 32GB kit was very much a worry for your wallet).

The links to those articles now redirect to the home page of the Learning Center, and Microsoft is evidently trying to forget about pushing 32GB of RAM as an 'ideal' or 'worry-free' target for memory on your PC.

More broadly, since Copilot+ PCs were launched and the AI features for these devices made them require 16GB, Microsoft has obviously been keen to have that as a baseline memory configuration. Except now, a change of stance is necessary, as with the RAM crisis reaching alarming new heights, Microsoft has been forced to enact huge price hikes with its Surface devices.

And of course, the latest twist with that Surface hardware is that Microsoft has brought back 8GB models with last year's Surface Pro and Surface Laptop. Which makes it kind of difficult to push 16GB as a minimum, let alone make suggestions that 32GB is where it's really at for properly smooth performance.

The abandonment of these Learning Center articles is hardly surprising, then, and Microsoft is also addressing how speedily Windows 11 runs with 8GB of memory (not quickly enough currently). One of its promises with fixing the OS was better performance with a leaner RAM loadout, and Microsoft just made it clear that the company is now actively working to make Windows 11 run better with 8GB before the end of the year.

This has become a vital goal, really, when you consider that Apple has pulled off a commendable showing of performance with its MacBook Neo that packs 8GB of RAM. That was effectively a gauntlet thrown down for Microsoft – something of a declaration that macOS is coming to try to take Windows 11's market share – and one that the Windows maker had to respond to (which became clear enough when Microsoft went on the attack against the Neo).

Apple turnover: China play rumored to end in a fumble

The MacBook Neo at an Apple event

(Image credit: Future)

Speaking of Apple, Microsoft isn't the only tech giant being buffeted by the rising costs caused by the RAM storm. While it has had a big success with the Neo, the challenge for Tim Cook's firm – soon to be John Ternus's, of course – is to maintain that momentum, and by all accounts, that's proving a tricky task.

Recent Mac price hikes have caused a good deal of pain – taking some of the wind out of the good ship Neo's sails – and Apple is trying to secure its RAM supply lines for the future, with rumors abounding that it's turning to Chinese chip makers to find extra production capacity.

The latest speculation, however, is that according to a report from Digital Daily (a Korean tech site, via Wccftech), Apple has floundered in negotiations with Chinese memory giant CXMT.

Apparently CXMT has strong enough domestic demand that it doesn't have to offer more attractive pricing to Apple. Essentially, CXMT is holding the line and has "insisted on prices that were higher or similar to those offered by Samsung or SK Hynix" (bear in mind there may be nuances lost with the translation of the article).

You get the message, though: Apple is failing to obtain better deals on mobile DRAM, which includes LPDDR5X, for its iPhones (and that RAM is also used in its MacBooks, of course). And CXMT was supposed to be an escape route from the difficulties of getting enough RAM inventory from Samsung and SK Hynix (and also Micron, a key supplier for Apple), but it seems like a dead-end for now.

At least if this report is correct, but analyst Tim Culpan has also written a short post which backs up the notion that Apple is in trouble here. Culpan writes: "Apple and its suppliers are scrambling to get enough memory chips for its upcoming release of new iPhone models."

'Scrambling' is a word that evokes quite a sense of panic, and indeed with the iPhone 18 models – and the foldable offering – not much more than a month away from launch now (in theory), I'd bet there are some heated words flying here and there. Culpan notes: "Assemblers are working with Apple to rush shipments of DRAM used in mobile devices."

That report is specifically about smartphones, mind, but this same situation applies to mobile RAM that's also used in MacBooks.

The overall theme is more RAM misery all round, which is hardly a surprise given all the negative news we've been hearing on the grapevine of late. GPU pricing has been the latest round of doom and gloom over the past week or two, and I don't think the pessimistic news is going to stop flowing for the foreseeable.

It's not bad news for everyone, though. A source in the semiconductor industry told Digital Daily that: "With the general-purpose DRAM floor remaining unbroken and Samsung and SK Hynix monopolizing the lead in high-value AI memory such as HBM4, the operating profit margins and global market control of the domestic semiconductor sector are expected to rise even more steeply in the second half of the year."

So, it's a familiar story: profits will be on the up and up for memory makers, while consumers will be suffering the pain of the hikes. Apple's purported rush for RAM supplies as the clock runs down on the iPhone launch window is a particularly worrying sounding story, one that doesn't bode well in terms of avoiding more Mac (and iPhone) price rises in the future. Neither can we rule out more Surface price rises, or other laptops for that matter.

Is Windows 11 spying on you via a new background process? No, it isn't, but the controversy around this clearly shows Microsoft must do better with privacy

  • A controversy has erupted over a background process in Windows 11
  • It turns out that process isn't new, and neither is it a surprise introduction from Microsoft that 'does nothing for you' except pipe telemetry back
  • A Microsoft exec clarified the purpose of the process, and that it doesn't send any data back unless you want to do that

There's been some more controversy over privacy and telemetry in Windows 11, and while this particular alarm bell turned out to be falsely rung in the end, it does point to wider issues around the mistrust of Microsoft in general.

As Windows Latest reports, this story starts with a post on X from a user called Xilly who drew attention to an apparent new process in Windows 11 called 'Windows Health and Optimized Experiences'.

However, as Windows Latest – and others on X – observe, this isn't a new background service in Microsoft's OS at all. In fact, it has been kicking around in Windows 11 for over a year now (since May 2025).

The additional nuance, though, is that this process was only introduced in testing in the Canary channel back in May of last year, and it seems to have only just come through to Windows 11 release builds now. That's as far as I can tell, and this is what Xilly points out on X.

So, it is in fact relatively new to release builds – and presumably rolling out now – but nonetheless the service itself has been known about for a long time. The real problem here is the way Xilly frames it as monitoring your PC for certain metrics related to laptop battery management, and that: "If you are on a desktop gaming PC it does nothing for you except run in the background" (while eating resources and engaging in telemetry, "sending data to Microsoft every 15 minutes").

Xilly's post prompted a response from Scott Hanselman, who is a VP and member of technical staff at Microsoft as well as a prominent voice in the Fix Windows 11 campaign.

Hanselman made it clear that the process is not new, as already discussed, and that it's for system diagnostics: "When Windows detects slow or sluggish behavior, it can record targeted performance traces locally under %SystemRoot%\Temp\DiagOutputDir\Whesvc that can be filed with Feedback Hub. It's not laptop specific."

So, this is a process that detects poor performance and files diagnostics locally, which can then be fed back to Microsoft if the user wishes.

Hanselman also highlights the dramatic approach Xilly took ("saying things in all capitals"), and Windows Latest further points out that the X user runs a business for optimizing gaming PCs, and pushes that service in a reply to their own original post.

Analysis: trust, telemetry, and what Microsoft needs to do

Samsung Galaxy Book 4 Edge

(Image credit: Future/Jacob Krol)

To summarize, then, Xilly's description of the service is incorrect, and while this background process does collect diagnostic data on how Windows 11 is running, it's written locally (with a negligible performance impact) and only sent to Microsoft if you actively submit feedback from your PC (via the Feedback Hub). The key phrasing in Hanselman's response is that the relevant data "can" be filed with Microsoft (not "will" be filed, as in it'll automatically happen).

Xilly also suggested that this was something Microsoft just sneaked in (hence the 'all caps' warning), when in fact it has been documented in preview builds before, and as Windows Latest notes, it's part of the Adaptive Energy Saver feature for helping to extend battery life.

The long and short is that there's nothing to worry about here, but what this episode serves as is a reminder of how Microsoft is short on trust when it comes to issues around privacy.

It's clear how quickly some Windows 11 users were to believe Xilly's accusation on X and other social media such as Reddit. For example, in this Reddit thread, despite one poster pointing out the reality of the situation in a nutshell (pretty much), there's a notable amount of complaining about why this process is sending data to Microsoft (which it isn't), or broader complaints along the lines of: "If you choose to install a spyware OS, expect to be spied on."

In fact, the most upvoted comment is: "Honestly, if any big tech giant wants to spy on you, they don't need a separate service. The MSA/online account [Microsoft account] is more than enough."

There are many people out there online who believe that, one way or another, Microsoft is spying on them to quite an extent with Windows. That stems from a broader level of distrust that's been stoked by the historical level of telemetry in Microsoft's desktop operating system since Windows 10 emerged, with reports periodically popping up to highlight these issues in that OS and Windows 11. Add to that all of Microsoft's promotional activity (and some outright adverts), as well as the likes of the Recall feature helping to pile on the skepticism (Microsoft handled that one really badly), and you can see why there's a problem with doubters here.

I keep saying that one thing Microsoft isn't properly addressing with the fix Windows 11 campaign is the level of telemetry performed by the OS, and I think it's high time that the company did this, and introduced a new choice for a zero level of telemetry (save for baseline security-related aspects). That option is lacking on Windows 11 Home, and it should be present and easily accessible, as this would go a long way to help cure some of the ill feeling out there around Windows 11 'spying' on people.

CaptiveCrunch: Midnight Blizzard targets travelers worldwide for malware delivery and credential theft

Since early May 2026, Microsoft Threat Intelligence has observed Storm-2945, a sub-cluster of Midnight Blizzard, conducting widespread but targeted traffic manipulation attacks involving hospitality sector networks served by captive portals worldwide. Despite some tactic, technique, and procedure (TTP) similarities to the Forest Blizzard DNS hijacking operation that we publicly disclosed in April 2026, we attribute this campaign, which we call CaptiveCrunch, to Storm-2945. As reported by ReliaQuest on July 23, a portion of this activity leverages doppelganger domains mimicking Microsoft online services to conduct follow-on adversary-in-the-middle (AitM) phishing operations that abuse the device code authentication flow in Microsoft Entra ID. Microsoft Threat Intelligence has also identified active traffic manipulation attacks leading to the delivery of malware on impacted systems. Microsoft has observed Storm-2945 leveraging AI to support a significant portion of these operations.

Today, we are sharing our findings on these ongoing intrusions to raise awareness of this threat and enable customers to protect their devices, especially while traveling. We provide our assessment of Storm-2945’s relationship to Midnight Blizzard and analysis of the CaptiveCrunch campaign, detailing the malware and tradecraft used in these operations. We also provide mitigation, detection, and hunting guidance to help organizations identify and defend against Storm-2945 and related activity.

Microsoft Threat Intelligence would like to thank our partners at Anthropic and OpenAI for their collaboration and support during this investigation.

The CaptiveCrunch campaign

Since February 2026, Storm-2945 has conducted AI-augmented operations including targeted device code and OAuth code phishing campaigns leading to Entra device registration and subsequent data collection from Microsoft 365. Since early May 2026, Microsoft Threat Intelligence has observed Storm-2945 manipulating DNS and HTTP traffic from networks served by captive portals to redirect user traffic through actor-controlled infrastructure. Although our investigation into the initial compromise vector for the captive portal networks is ongoing, we have observed notable commonalities in the equipment and management systems used across multiple affected networks. These similarities suggest that the activity might not be limited to isolated compromises of individual venues and could reflect access to shared services within portions of the captive portal ecosystem.

Diagram depicting an overview of the CaptiveCrunch campaign attack flow
Figure 1. Overview of the CaptiveCrunch attack flow

As part of the CaptiveCrunch campaign, Storm-2945 has leveraged their AitM position to redirect users through actor-controlled phishing infrastructure and has also delivered malware purporting to be browser or operating system updates in response to automated connectivity checks issued by users’ browsers. Multiple variants have been delivered, including fully-featured Windows remote access trojans (RAT) in compiled Golang, with functionality to conduct system enumeration, collect files and keystrokes, steal credentials and session tokens, conduct audio and video surveillance, monitor for removable media, and provide the threat actor a remote shell on infected systems. Β 

The threat actor infrastructure leverages a variety of ClickFix techniques to elicit the user into downloading and executing the malware:

A Windows Driver Repair Utility interface, with instructions for manually repairing a failed automated driver repair, including steps to run a verification script via Windows Terminal.
Figure 2. ClickFix prompt with manual user instructions
A Google web page claiming the verification check failed with additional manual instructions for the user to follow.
Figure 3. ClickFix prompt with additional user instructions after verification failure

In addition to variants of malware targeting Windows systems, Microsoft Threat Intelligence is also aware of indications that the threat actor might be targeting Android devices with similar techniques as the ClickFix landings also include instructions for Android devices to download and install an APK file.

To date, Microsoft has identified widespread compromise of Wi-Fi networks at hospitality-related organizations and other networks serviced by captive portal equipment in several countries. ReliaQuest has identified this activity not only at hotels, but also conference centers and other shared venues, and assesses that the goal of this activity is to access the accounts of corporate travelers.

Storm-2945 and Midnight Blizzard

Microsoft Threat Intelligence assesses that Storm-2945 is an operational sub-cluster of Midnight Blizzard based on distinctive technical and operational overlaps. These include technical similarities to Storm-2372, a Midnight Blizzard initial access operations sub-cluster, also notable for their device code and OAuth code phishing operations tracked throughout 2025, Microsoft Graph-based email exfiltration, social engineering delivered via commercial messaging apps, and significant similarities in victimology.

Midnight Blizzard is a Russia-based threat actor attributed by the US and UK governments to the Foreign Intelligence Service of the Russian Federation, also known as the SVR. This threat actor is known to primarily target governments, diplomatic entities, non-governmental organizations (NGOs), and information technology (IT) service providers, primarily in the US and Europe. Midnight Blizzard is consistent and persistent in their operational targeting, and their objectives rarely change. Their focus is to collect intelligence through longstanding and dedicated espionage in support of Russian foreign policy interests.

Midnight Blizzard operations often involve compromise of valid accounts and, in some highly targeted cases, advanced techniques to compromise authentication mechanisms within an organization to expand access and evade detection. They utilize diverse initial access methods, and Midnight Blizzard is also adept at identifying and abusing OAuth applications to move laterally across cloud environments and for post-compromise activity, such as email collection.

CaptiveCrunch tradecraft and tooling

CornFlake: Remote access and infostealer implant

CornFlake is a full-featured Windows RAT written in Go that serves as Storm-2945’s primary persistent implant. Microsoft has observed the threat actor rapidly iterating on this malware layer, which features customizable capabilities from the social engineering user interface and data collection capabilities to anti-detection and evasion techniques.

On initial execution, CornFlake operates in dropper mode: it displays a convincing fake progress window designed to occupy the victim’s attention while the binary copies itself to %APPDATA%\svchost32\svchost32.exe and establishes persistence.

Fake window options configurable by the threat actor at build time:

  • winupdate β€” A Windows Update screen displaying β€œWorking on updates… Don’t turn off your computer”
  • defender β€” A Windows Security virus scan
  • directx β€” A DirectX End-User Runtime Web Installer
  • vcredist β€” A Microsoft Visual C++ 2015-2022 Redistributable installer
  • sysopt β€” A disk optimization utility
  • netfix β€” A Windows Network Diagnostics tool
  • browser β€” A browser update prompt
  • pdfview β€” A document viewer installer
A false update window claiming the updates are 3 percent downloaded.
Figure 4. False update window

CornFlake registers as a Windows service named svchost32 with the display name β€œCloud Sync Service” and description β€œSynchronizes files with the cloud storage provider”, deliberately mimicking the legitimate svchost.exe process. It establishes redundant persistence mechanisms: Windows service registrations, Registry Run keys, named scheduled tasks, and a persistence watchdog routine that runs continuously to restore any persistence mechanism that is removed by defenders or endpoint protection.

For command and control (C2), CornFlake performs an Elliptic Curve Diffie-Hellman (ECDH) P-256 ephemeral key exchange with the C2 server, derives a session key via SHA-256, and communicates over a custom JSON protocol framed within the encrypted channel. This provides an encrypted channel to the C2 server, with each C2 session using a unique ephemeral key, making decryption of captured traffic impossible without the session-specific private key. The runtime configuration file sync.dat supports hot reconfiguration of C2 servers, watched directories, file targeting patterns, and Transport Layer Security (TLS) settings without requiring redeployment.

Once established on a victim system, CornFlake provides the operator with a comprehensive collection toolkit, gated by configuration flags that allow selective activation post-deployment:

CapabilityDescription
KeyloggingRaw input API-based keylogger capturing all keystrokes, including password fields
Clipboard monitoringCaptures clipboard changes with SHA-256 deduplication and records the active window title at time of capture
Screenshot captureIdle-triggered and on-demand screenshots with configurable idle threshold
Audio surveillanceWindows Audio Session API (WASAPI)-based microphone capture, encoded as WAV files
Video surveillanceMedia Foundation-based webcam capture, encoded as JPEG
Browser credential theftChromeKatz-derived module supporting live cookie extraction from process memory (Chromium browsers) and stored password extraction from on-disk databases, including Chrome App-Bound Encryption (ABE) bypass and Firefox NSS/SDR decryption
File exfiltrationTargets files based on file extensions with real-time file system monitoring and an upload throttle (1,000 files or 500 MB per cycle). File extensions are categorized as Documents, Archives, Images, Code, Data, Emails, and Keys
USB drive monitoringDetects and scans removable media when inserted
Security posture sweepCollects 18 categories of host intelligence including installed software, antivirus (AV)/endpoint detection and response (EDR) products, Defender exclusions, User Account Control (UAC) level, Remote Desktop Protocol (RDP) history, Office most recently used (MRU) files, and credential hints
Remote shellArbitrary command execution via cmd.exe or PowerShell (with -NoP flag to suppress profile-based detection)

CornFlake also exposes a localhost HTTP API server (/upload, /reload, /status) that transforms the RAT into a modular platform: companion or next-stage payloads such as ChocoShell could task file exfiltration, trigger configuration hot reloads or check C2 connectivity using the pre-established secure C2 channel for communication.

ChocoShell: PowerShell infostealer

ChocoShell is the campaign’s Powershell-based infostealer, delivered and executed entirely in-memory. Its primary objective is the high-volume theft of browser session cookies, saved passwords, Microsoft 365 Single Sign-On (SSO) tokens, and Wi-Fi credentials from compromised systems. Where CornFlake provides the operator with a persistent, long-running foothold on the device, ChocoShell is designed to extract the most operationally valuable credentials, giving the operator access to victim cloud environments.

The ChocoShell script was authored with full developer comments that reveal the operator’s intent behind each code decision, including explicit references to Microsoft detection signatures and the reasoning behind specific evasion choices. The consistent coding standard and descriptive commentary suggest the author might have leveraged AI-assisted code generation.

Defense evasion. Upon execution, ChocoShell beacons to a hardcoded C2 server at 213.145.86[.]112 and implements several evasion techniques in sequence. It disables the Antimalware Scan Interface (AMSI) via .NET reflection to prevent ScriptBlock scanning and evades Microsoft behavioral detection that triggers on suspicious PowerShell web request cmdlets. A timing-based sandbox detection check is also employed as a virtual machine (VM) detection mechanism, silently exiting without performing any collection if detected.

C2 communication. ChocoShell communicates with its C2 server using HTTPS with URI paths designed to blend in with legitimate web traffic. Beacons use /t/pixel.gif?m=<status>, mimicking an image tracking pixel. Additional tooling is fetched from /cdn/chunks/polyfill-7e2b.min.js, disguised as a JavaScript polyfill file. This downloaded module is Base64-decoded and executed in memory via [ScriptBlock]::Create(), providing browser encryption key extraction capabilities, SYSTEM token impersonation, and Defender signature locking. Exfiltrated data is sent by POST to /t/event as GZip-compressed, Base64-wrapped JSON.

Privilege escalation. ChocoShell requires administrative privileges for its most impactful capabilities: SYSTEM token impersonation for Chrome ABE decryption, Volume Shadow Copy Service (VSS) shadow copy creation, Defender signature locking. It implements three silent UAC bypass techniques with ordered fallback:

  1. SilentCleanup task hijack: Writes a malicious command to HKCU\Environment\windir, then triggers the built-in SilentCleanup scheduled task, which resolves %windir% from the user’s environment, executing the threat actor’s command at elevated privilege. The registry value is cleaned up after two seconds to avoid cloud detection.
  2. wsreset.exe COM hijack: Creates a COM handler key in HKCU\Software\Classes and launches the auto-elevating Windows Store reset tool.
  3. sdclt.exe folder hijack: Hijacks HKCU\Software\Classes\Folder\shell\open\command and launches the Windows Backup utility with the /KickOffElev flag.

If none of the silent bypasses succeed (for example, the user is not a local administrator), ChocoShell falls back to a visible UAC prompt via Start-Process -Verb RunAs. Notably, the script also contains a variant designed to execute within the WinGet Desired State Configuration (DSC) host process (ConfigurationRemotingServer), suggesting an attack vector through malicious WinGet DSC configuration used in Windows machine provisioning.

Credential and session theft. Once running with elevated permissions, ChocoShell locks Defender signature updates and systematically harvests data from multiple sources. For Chromium-based browsers (Chrome, Edge, Brave, Opera, Opera GX, Vivaldi), it extracts the master encryption key from the browser’s Local State file, handling both the modern ABE scheme (Chrome v127+) and the legacy data protection API (DPAPI)-only scheme. ABE decryption requires SYSTEM-level DPAPI access, which the malware obtains by impersonating a SYSTEM process token borrowed from winlogon.exe, wininit.exe, or services.exe. Locked browser SQLite databases are accessed through three strategies: shared file access, Volume Shadow Service snapshots, and direct copy as a fallback.

As a parallel collection path, ChocoShell launches Chrome, Edge, and Brave with the –remote-debugging-port flag and issues Network.getAllCookies through the Chrome DevTools Protocol (CDP). This completely bypasses ABE, enabling the browser to perform its own internal decryption and returns plaintext cookie values. To handle privilege issues (SYSTEM-launched browsers inherit the wrong token), the malware creates transient scheduled tasks with TASK_LOGON_INTERACTIVE_TOKEN to launch the browser under the signed-in user’s session. After extraction, the browser is stopped and relaunched with –restore-last-session to avoid alerting the user.

For Firefox family browsers (Firefox, Waterfox, LibreWolf, Floorp, Zen), the malware copies unencrypted cookies.sqlite databases from each profile. Additionally, ChocoShell collects Microsoft 365 and Azure Active Directory (AD) access tokens, refresh tokens, and Web Account Manager (WAM) tokens from .tbres files in the Token Broker cache. Collection of these tokens represents a significant threat to enterprise environments, as threat actors could replay SSO sessions without browser cookies. Additionally, Wi-Fi credentials are harvested via netsh wlan show profile with key=clear.

Exfiltration and cleanup. All collected data is aggregated into a JSON structure, GZip-compressed, Base64-encoded, and sent by POST to the C2’s /t/event endpoint. After exfiltration, all collected data variables are nulled, garbage collection is forced, VSS shadow copies are deleted via Windows Management Instrumentation (WMI), temporary elevation scripts are removed, and all UAC bypass registry keys (already cleaned during escalation) are verified removed.

FruitStone: Operator C2 panel

FruitStone is the web-based C2 panel that Storm-2945 operators use to manage the entire CaptiveCrunch campaign infrastructure. Implemented as a single-page application (HTML and JavaScript) serving as the front-end of the C2 server with all functionality exposed without authentication, FruitStone provides a centralized dashboard for managing compromised endpoints, building and deploying new campaign payloads, and reviewing all collected data (such as screenshots, keystrokes, browser credentials).

Operational cover.Β The panel is branded asΒ β€œCloudSync Console” with a footer readingΒ β€œAcuity Systems, Inc. β€” Cloud Infrastructure Portal v3.2.1,” designed to appear as legitimate enterprise cloud management software if the panel URL is discovered by defenders or hosting providers. This masquerading extends to the CornFlake agent’s service name (Cloud Sync Service) and description (β€œSynchronizes files with the cloud storage provider”), creating a consistent cover story across the toolchain.

The CloudSync Console masquerading as Acuity Systems, Inc. sign-in panel.
Figure 5. CloudSync Console panel masquerade

Session management and multi-operator support.Β FruitStone uses JSON Web Token (JWT)-based authentication, session revocation, and rate limiting with IP blocking to prevent brute force attacks against the panel sign in. Multiple operators could be provisioned with individual accounts, and all active sessions are visible with IP address, user-agent, and creation time to enable operational security awareness across the operators.

Agent management.Β The panel displays all registered CornFlake agents in a dashboard with real-time status updates via Server-Sent Events (SSE). Each agent card shows comprehensive system information including hostname, username, OS version, CPU, RAM, disk usage, screen resolution, timezone, domain membership, and camera/microphone presence, all collected during the CornFlake posture sweep. Agents are grouped by country and subnet, with geographic distribution visualized on a map.

Operators could interact with individual agents through:

  • Remote shellΒ β€” InteractiveΒ cmd.exeΒ or PowerShell command execution with command history
  • File system browserΒ β€” Live directory traversal and arbitrary file download from compromised hosts
  • Collection taskingΒ β€” On-demand screenshot, process list, keylog buffer flush, clipboard dump, security posture survey, ChromeKatz cookie/password extraction, camera capture, and audio recording
  • Configuration pushΒ β€” Live runtime reconfiguration of C2 servers, watch paths, and C2 beacon timing
  • Agent updateΒ β€” In-place implant update by pushing a new CornFlake build to a running agent
  • Agent killΒ β€” Remote termination of the CornFlake implant

Campaign builder.Β A step-by-step wizard enables operators to configure and build new CornFlake payloads directly from the panel:

  1. IdentityΒ β€” Campaign ID, C2 host and port, HTTP base URL, executable file name (svchost32.exeΒ by default), and dropper type (C dropper at ~19 KB, Go stub at ~8 MB, or standalone self-installer)
Figure 6. Identity tab
  1. CapabilitiesΒ β€” Toggle individual collection modules: screenshots, process enumeration, keylogging, clipboard monitoring, posture survey, file exfiltration, and ChromeKatz browser credential theft
Figure 7. Capabilities tab
  1. File PathsΒ β€” Configure targeted directories and file extensions by category (documents, archives, images, code, data, emails, encryption keys)
Figure 8. File paths tab
  1. EvasionΒ β€” Enable garble symbol randomization (for GoLang payloads), XOR string encoding, GZip upload compression, and debug mode
Figure 9. Evasion tab

Infrastructure management.Β FruitStone provides management interfaces for three layers of supporting infrastructure:

  • Proxy relaysΒ β€” Multi-proxy C2 relay architecture with TLS certificate tracking (fingerprint, expiry), health checks, connection counts, bytes forwarded, and rotation capabilities that push updated server lists to all online agents
  • Beacon profilesΒ β€” Configurable timing profiles controlling agent sleep intervals, reconnection delays, TLS Server Name Indication (SNI) spoofing (likeΒ teams.microsoft.com), and DNS fallback domains
  • Staging serversΒ β€” External payload hosting infrastructure with push-to-deploy, file listing, and health monitoring
Figure 10. View of the CloudSync staging servers interface

Device code abuse for cloud access

Since July 16, Microsoft has observed a portion of CaptiveCrunch landing pages redirecting users to device code authentication flow experiences. In these cases, users served these landings might be instructed to enter a device code into a legitimate Microsoft sign-in page, a technique commonly referred to as device code phishing.

Device code authentication is a legitimate OAuth workflow designed for devices that cannot support a traditional sign-in experience. However, threat actors could abuse this flow by initiating an authentication request on behalf of a user then convincing the user to enter an actor-controlled device code into a legitimate Microsoft authentication page. When successful, the victim authenticates the threat actor’s session rather than their own.

This activity is consistent with previously reported device code phishing operations conducted by Midnight Blizzard since August 2024. The observed technique does not appear fundamentally novel; however, integrating device code phishing into captive portal and traffic manipulation operations might increase the likelihood that users perceive the authentication request as legitimate. For additional details on Midnight Blizzard-related device code phishing techniques, see: Storm-2372 conducts device code phishing campaign. To understand other threat actors’ use of device code phishing and associated mitigations, see Inside an AI‑enabled device code phishing campaign.

How to protect against CaptiveCrunch activity

Minimize trust in hospitality and guest networks

When traveling, users should treat hotel, conference, airport, and other guest wireless networks as untrustworthy.

  • Prefer private connectivity (including mobile hotspots, satellite, and eSIM-based cellular data connections) over public Wi‑Fi whenever practical.
  • Consider using enterprise-managed travel routers or hotspot devices that establish encrypted tunnels back to trusted corporate infrastructure before accessing sensitive resources.
  • Avoid downloading software updates, certificates, browser updates, network troubleshooting tools, or security utilities presented through captive portals or other unexpected web prompts.
  • Verify update requests through trusted operating system mechanisms rather than pop-up messages or website prompts.

Strengthen identity and access controls

Organizations should assume that public and hospitality network infrastructure might not be trustworthy and should adopt controls that limit exposure to traffic manipulation, credential theft, and device code phishing.

  • Educate users to recognize ClickFix-style prompts, fake verification checks, and paste-and-run instructions as malicious, especially when they invoke command interpreters or script hosts such as cmd.exe, PowerShell, rundll32.exe, or mshta.exe.
  • Use passwordless solutions like passkeys and implement multifactor authentication (MFA).
  • Only allow device code flow where necessary. Microsoft recommends blocking device code flow wherever possible. Where necessary, configure Microsoft Entra ID’s device code flow in your Conditional Access policies.
  • Implement a sign-in risk policy to automate response to risky sign-ins. A sign-in risk represents the probability that a given authentication request is not authorized by the identity owner. A sign-in risk-based policy can be implemented by adding a sign-in risk condition to Conditional Access policies that evaluates the risk level of a specific user or group. Based on the risk level (high/medium/low), a policy can be configured to block access or force MFA.
    • When a user is a high risk and Conditional access evaluation is enabled, the user’s access is revoked, and they are forced to re-authenticate.
    • For regular activity monitoring, use Risky sign-in reports, which surface attempted and successful user access activities where the legitimate owner might not have performed the sign-in.Β 
  • Use a Security Service Edge (SSE) solution like Global Secure Access to secure access to any app or resource using network, identity, and endpoint access controls.

Reduce exposure during captive portal registration

Organizations should review what information employees provide to hospitality providers when connecting to guest networks.

  • Do not reuse corporate credentials on hotel, conference, or guest-network registration pages.
  • Where possible, organizations should evaluate whether venue-provided wireless is required for corporate events and conferences.
  • Organizations should minimize unnecessary disclosure of employee identities, organizational affiliations, and travel details when booking accommodations or registering for guest network access, consistent with corporate policy and applicable local requirements.

Microsoft Defender detections and hunting guidance

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

Microsoft Defender for Endpoint detects Storm-2945 activity under the detection Suspicious activity linked to a Russian state-sponsored threat actor has been detected. However, these alerts might be triggered by unrelated threat actor activity. The following chart lists Microsoft Defender detections specific to the TTPs utilized by Storm-2945 in this attack.

TacticΒ Observed activityΒ Microsoft Defender coverageΒ 
Initial accessFile download via captive portal redirectionΒ Microsoft Defender for Endpoint – Suspicious downloaded file
Initial accessClickFix technique, fake browser or OS update, initial file downloadMicrosoft Defender for Endpoint
– Possible initial access from an emerging threat
– Possible ClickFix activity
PersistenceCornFlake registers a Windows service, a Registry Run key, a scheduled taskMicrosoft Defender for Endpoint
– Suspicious Scheduled Task Process Launched Β 
– Suspicious scheduled task
– Suspicious file added to run key
– Suspicious service registration

Microsoft Entra ID Protection
– Microsoft Entra threat intelligence
– Verified threat actor IP
Stealth/Defense evasionChocoShell disables AMSIMicrosoft Defender for Endpoint
– Possible Antimalware Scan Interface (AMSI) tampering
Credential accessChocoShell’s theft of browser session cookies, saved passwords, Microsoft 365 SSO tokens, and Wi-Fi credentials. Β  Device code abuse.Microsoft Defender for Endpoint
– Possible theft of passwords and other sensitive web browser information
– Suspicious DPAPI activity

Microsoft Defender For Identity
– Anomalous OAuth device code authentication activity

Microsoft Defender XDR
– User account compromise via OAuth device code phishing
– Malicious sign in from an IP address associated with recognized attacker infrastructure
– Suspicious Azure authentication through possible device code phishing
CollectionCornFlake monitoring and loggingMicrosoft Defender for Endpoint
– Activity that might lead to information stealer
Privilege escalationChocoShell UAC bypass techniquesMicrosoft Defender for Endpoint
– UAC bypass was detected
– Possible Component Object Model (COM) hijacking

Microsoft Security Copilot

Microsoft Security Copilot is embedded in Microsoft Defender and provides security teams with AI-powered capabilities to summarize incidents, analyze files and scripts, summarize identities, use guided responses, and generate device summaries, hunting queries, and incident reports.

Customers can also deploy AI agents, including the following Microsoft Security Copilot agents, to perform security tasks efficiently:

Security Copilot is also available as a standalone experience where customers can perform specific security-related tasks, such as incident investigation, user analysis, and vulnerability impact assessment. In addition, Security Copilot offers developer scenarios that allow customers to build, test, publish, and integrate AI agents and plugins to meet unique security needs.

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 the intelligence, protection information, and recommended actions to prevent, mitigate, or respond to associated threats found in customer environments.

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

Microsoft Defender XDR

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

Detect file creation after Wi-Fi connectivity test on devices

The following query checks for a file creation on a device within two minutes of the device performing built‑in Network Connectivity Status Indicator (NCSI) test, which occurs when network connectivity is established to a Wi-Fi network with a captive portal. This activity might indicate an attacker’s initial access file presence on a device.

Please note that not all files discovered through this query might be malicious or related to this threat activity.

let ncsi_endpoints = dynamic(["msftconnecttest.com","edge-http.microsoft.com","msftncsi.com","captive.apple.com","clients1.google.com",
    "clients3.google.com","clients4.google.com","clients6.google.com","connectivitycheck.gstatic.com","connectivitycheck.android.com",
    "android.clients.google.com","www.gstatic.com","detectportal.firefox.com","detectportal.brave-http-only.com","cloudflareportal.com",
    "cloudflarecp.com","cloudflareok.com","connectivity-check.warp-svc","connectivity.cloudflareclient.com","spectrum.s3.amazonaws.com",
    "nmcheck.gnome.org"]);
let NCSIEvents = DeviceNetworkEvents
    | where Timestamp > ago(7d)
    | where RemoteUrl has_any (ncsi_endpoints)
    | project NCSI_Timestamp = Timestamp, DeviceId, DeviceName, RemoteUrl, NCSI_ReportId = ReportId, NCSI_InitiatingProcessFileName = InitiatingProcessFileName, NCSI_InitiatingProcessCommandLine = InitiatingProcessCommandLine, NCSI_AccountName = InitiatingProcessAccountName;
let FileDownloadEvents = DeviceFileEvents
    | where Timestamp > ago(7d)
    | where ActionType == "FileCreated"
    | where FileName has_any (".exe",".msi",".zip",".rar",".7z")
    | project Download_Timestamp = Timestamp, DeviceId, FileName, FolderPath, Download_ReportId = ReportId, Download_InitiatingProcessFileName = InitiatingProcessFileName, Download_InitiatingProcessCommandLine = InitiatingProcessCommandLine, Download_AccountName = InitiatingProcessAccountName;
NCSIEvents
| join kind=inner (
    FileDownloadEvents
) on DeviceId
| where Download_Timestamp >= NCSI_Timestamp and Download_Timestamp 

Detect connectivity to Storm-2945 infrastructure

The following query checks for connectivity to Storm-2945 infrastructure observed in this attack activity.

let target_domains = dynamic(["ms365-device.com", "ms365-live.com", "m365-owa.com", "owa-ms365.com"]);
let target_ips = dynamic(["31.57.243.154", "38.146.28.75", "38.146.28.132", "104.194.159.150", "107.189.26.194", "213.145.86.112"]);
DeviceNetworkEvents
| where RemoteUrl has_any(target_domains) or RemoteIP in (target_ips)
| project
    Timestamp,
    DeviceName,
    DeviceId,
    RemoteUrl,
    RemoteIP,
    LocalIP,
    InitiatingProcessFileName,
    InitiatingProcessCommandLine,
    AccountName = InitiatingProcessAccountName,
    ReportId

Detect CornFlake RAT presence on affected systems

The following query checks for the presence of the CornFlake RAT binary.

DeviceProcessEvents
| where FolderPath == "%APPDATA%\\svchost32\\svchost32.exe"
   or FolderPath endswith @"\svchost32\svchost32.exe"
| project Timestamp, DeviceName, DeviceId, FileName, FolderPath, InitiatingProcessFileName, InitiatingProcessCommandLine, AccountName, ReportId

Detect CornFlake RAT Windows service registration

The following query checks for the CornFlake RAT Windows service registration.

DeviceRegistryEvents
| where RegistryKey has @"\SYSTEM\CurrentControlSet\Services\svchost32"
| where ActionType == "RegistryValueSet"
| where (RegistryValueName == "DisplayName" and RegistryValueData == "Cloud Sync Service")
    or (RegistryValueName == "Description" and RegistryValueData == "Synchronizes files with the cloud storage provider")
| project
    Timestamp,
    DeviceName,
    DeviceId,
    RegistryKey,
    RegistryValueName,
    RegistryValueData,
    ActionType,
    InitiatingProcessFileName,
    InitiatingProcessCommandLine,
    InitiatingProcessAccountName,
    ReportId

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

The following query checks IP addresses and domain IOCs across data sources supported by ASIM network session parser:

//IP list and domain list- _Im_NetworkSession
let lookback = 30d;
let ioc_ip_addr = dynamic(["213.145.86.112"]);
let ioc_domains = dynamic(["213.145.86.112/t/pixel.gif", "213.145.86.112/cdn/chunks/polyfill-7e2b.min.js", "213.145.86.112/t/event"]);
_Im_NetworkSession(starttime=todatetime(ago(lookback)), endtime=now())
| 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

The following query checks IP addresses, domains, and file hash IOCs across data sources supported by ASIM web session parser:

//IP list - _Im_WebSession
let lookback = 30d;
let ioc_ip_addr = dynamic(["213.145.86.112"]);
let ioc_sha_hashes =dynamic([β€œ918fa52ae45ed60ba7cc8bdc99c3cbe9ab92e0375ec31fc05d0d4513be11c593”, β€œbe99857449d2856dd5a84e21c8a3d5e0e01456adb44062ddec5a6b4970d8d42c”]);
_Im_WebSession(starttime=todatetime(ago(lookback)), endtime=now())
| 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

The following query checks domain and URL IOCs across data sources supported by ASIM web session parser:

// file hash list - imFileEvent
// Domain list - _Im_WebSession
let ioc_domains = dynamic(["https://213.145.86.112/t/pixel.gif", "https://213.145.86.112/cdn/chunks/polyfill-7e2b.min.js", "https://213.145.86.112/t/event"]);
_Im_WebSession (url_has_any = ioc_domains)

ChocoShell C2 communications

The following query detects ChocoShell communications with its C2 server using HTTPS with URI paths designed to blend in with legitimate web traffic. Beacons use /t/pixel.gif?m=<status>, mimicking an image tracking pixel.

let lookback = 30d;
let ioc_url_artifacts = dynamic(["/t/pixel.gif?m="]);
_Im_WebSession(starttime=todatetime(ago(lookback)), endtime=now())
| where DstDomain  in (ioc_url_artifacts)
| summarize imWS_mintime=min(TimeGenerated), imWS_maxtime=max(TimeGenerated),
  EventCount=count() by SrcIpAddr, DstIpAddr, Url, Dvc, EventProduct, EventVendor

Indicators of compromise

IndicatorTypeDescriptionFirst seen
ms365-device[.]comDomainCaptiveCrunch DCF redirect2026-07-23
ms365-live[.]comDomainCaptiveCrunch DCF redirect2026-05-14
m365-owa[.]comDomainCaptiveCrunch AitM infrastructure2026-07-20
owa-ms365[.]comDomainCaptiveCrunch AitM infrastructure2026-07-16
31.57.243[.]154 Β IP addressCaptiveCrunch AitM infrastructure2026-07-16
38.146.28[.]75 Β IP addressCaptiveCrunch AitM infrastructure2026-07-01
38.146.28[.]132IP addressCaptiveCrunch DNS Resolver2026-07-15
104.194.159[.]150 Β IP addressCaptiveCrunch AitM infrastructure2026-04-28
107.189.26[.]194IP addressChocoShell C2 / CaptiveCrunch DNS Resolver2026-02-27
213.145.86[.]112 Β IP addressChocoShell C22026-07-01
918fa52ae45ed60ba7cc8bdc99c3cbe9ab92e0375ec31fc05d0d4513be11c593 Β File hashCornFlake2026-07-03
be99857449d2856dd5a84e21c8a3d5e0e01456adb44062ddec5a6b4970d8d42cFile hashChocoShell2026-07-10

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 post CaptiveCrunch: Midnight Blizzard targets travelers worldwide for malware delivery and credential theft appeared first on Microsoft Security Blog.

Bazzite has been an excellent OS for my second gaming PC, but I can't replace Windows 11 with it on my main rig β€” here's why

Valve's SteamOS has often presented the perfect excuse to be whisked away from Microsoft's troublesome Windows 11. The Linux operating system's better gaming performance has often been proven, utilizing RAM well without the bloatware often found with Windows 11.

SteamOS provides a console-like user interface (UI), making navigation and game launches far easier than Windows 11, despite the recent Xbox mode. With those benefits in mind, I've been contemplating a full switch to SteamOS, ditching Windows for good, and the best way to do that would be via Bazzite.

Bazzite (not affiliated with Valve) is effectively a SteamOS clone, specifically designed for "Linux newcomers and enthusiasts alike", but most importantly, comes with out-of-the-box compatibility with Nvidia and Intel GPUs, and a smooth experience for handhelds.

Using my second streaming PC, I put Bazzite to the test over a few months. Without a doubt, it's easily the best option for any gamer looking for a console-like couch gaming setup.

With tools like Decky Loader, customization is easy, with plugins to change SteamOS game mode themes, navigation sound effects, or even the startup and shutdown videos. However, despite all of the benefits of using the operating system, I still can't step away from Windows 11 on my main system, and there are multiple reasons why.

Multitasking drawbacks

Bazzite/SteamOS's user interface on Asus ROG Ally

(Image credit: Universal Blue / Bazzite)

As a frequent multitasker using applications like Discord to stream games to friends, Bazzite (more specifically SteamOS) isn't an ideal option. Using Discord to stream games on the same rig works just fine in desktop mode; however, it's not the same story for its game mode, which is arguably the entire purpose of using Bazzite.

Streaming on Discord in game mode severely drops frame rates in games, with constant stutters in many I tested, and there are a few instances where attempting to stream an application will result in a black screen. I tried to use the NZXT Signal 4K30 capture card and stream my second PC's Bazzite activity on Discord via my main PC, but it's not that simple.

Sure, HDMI passthrough on the capture card is possible, but I didn't want to be limited to 4K 60 frames per second on either my TV (which is capable of 144Hz) or my gaming monitor (capable of 240Hz). Frankly, capture cards with higher passthrough capabilities don't come cheap.

Discord's end-to-end encryption on all platforms

(Image credit: Discord)

Duplicating or projecting the display, as you would on Windows 11, would be the easy solution. However, Gamescope, the compositor responsible for displaying games on screen with Bazzite, cannot duplicate outputs.

Still trying to avoid the NZXT capture card's 4K 60Hz passthrough limitation, I opted for an HDMI splitter with one input and two output ports. Unfortunately, the moment the capture card is connected, the output on either my TV or monitor has the refresh rate slashed to 60Hz and VRR disabled.

That occurs to ensure that the Extended Display Identification Data (EDID) of both is matched, according to what the capture card is capable of in passthrough.

Ports on NZXT Signal 4K30

(Image credit: Future / Isaiah Williams)

None of these issues are present on Windows, as you can use OBS to project the main display onto the capture card without ever having to rely on an HDMI splitter or a better capture card.

This isn't an attack on SteamOS or Bazzite in particular; after all, game mode is quite literally designed for gaming, so multitasking isn't a priority for Valve or specifically Bazzite developers in this case.

However, it's worth noting that streaming on the gaming OS is more trouble than it's worth, and that's without even mentioning the potential audio bugs or OS glitches. That's only one part of why it's worth sticking with Windows, though.

Compatibility issues

GIF of Corsair PC case

(Image credit: Future / Isaiah Williams)

I wish these issues stopped there, but not quite. Firstly, a large majority of popular multiplayer games such as Battlefield 6, Call of Duty (most of the modern entries), Destiny 2, and EA Sports FC 26 will not work on Linux due to their anti-cheat systems.

This is an issue that lies directly with publishers and developers for those games that refuse to adapt their anti-cheat systems to work on SteamOS. It also doesn't seem as though this will change any time soon; the Steam Machine was arguably one way to effectively force the hand of publishers to consider anti-cheat compatibility on Linux, but it's not exactly a popular PC due to its high price.

It's also worth noting that Game Pass is inaccessible natively on Bazzite, and requires either cloud gaming or third-party launchers, and you'll be lucky if you can get the latter to function.

The solution to accessing those anti-cheat games is a dual-boot with Windows 11 and Bazzite. However, that isn't completely ditching Windows 11 as I've planned to, and a dual-boot can end up messy thanks to Windows' forced updates.

Steam Machine and SteamOS logo

(Image credit: Valve)

Perhaps the most frustrating aspect is that Nvidia GPUs don't play nice with game mode on Bazzite, often resulting in glitchy functionality, or just completely black screens. I tested this by swapping out the AMD Radeon RX 9060 XT 16GB GPU in my second PC with my spare Nvidia GeForce RTX 3080 Ti and found that game mode was just frustrating to use.

So if I wanted to use Bazzite on my main rig equipped with an Nvidia GeForce RTX 4080 Super, its DX12 (a graphics API) gaming performance would be worse than Windows. Overall, the entire purpose of switching over to Linux was for better gaming performance and easy console-like UI navigation would be non-existent.

I'm sure all of these pain points will be addressed at some point, whether via Bazzite or Valve's official SteamOS builds. For now, though, I'll stick with Windows 11 on my main rig β€” even though I desperately want to be done with it.

Did you know TechRadar now has membership?

Various tech product cutouts next to the words 'Insider TechRadar Learn More'

(Image credit: Future)

Become a TechRadar Insider by simply clicking 'Join Now' at the top of this page. Have a question? Please email membership@techradar.com

CaptiveCrunch: Midnight Blizzard targets travelers worldwide for malware delivery and credential theft

Since early May 2026, Microsoft Threat Intelligence has observed Storm-2945, a sub-cluster of Midnight Blizzard, conducting widespread but targeted traffic manipulation attacks involving hospitality sector networks served by captive portals worldwide. Despite some tactic, technique, and procedure (TTP) similarities to the Forest Blizzard DNS hijacking operation that we publicly disclosed in April 2026, we attribute this campaign, which we call CaptiveCrunch, to Storm-2945. As reported by ReliaQuest on July 23, a portion of this activity leverages doppelganger domains mimicking Microsoft online services to conduct follow-on adversary-in-the-middle (AitM) phishing operations that abuse the device code authentication flow in Microsoft Entra ID. Microsoft Threat Intelligence has also identified active traffic manipulation attacks leading to the delivery of malware on impacted systems. Microsoft has observed Storm-2945 leveraging AI to support a significant portion of these operations.

Today, we are sharing our findings on these ongoing intrusions to raise awareness of this threat and enable customers to protect their devices, especially while traveling. We provide our assessment of Storm-2945’s relationship to Midnight Blizzard and analysis of the CaptiveCrunch campaign, detailing the malware and tradecraft used in these operations. We also provide mitigation, detection, and hunting guidance to help organizations identify and defend against Storm-2945 and related activity.

Microsoft Threat Intelligence would like to thank our partners at Anthropic and OpenAI for their collaboration and support during this investigation.

The CaptiveCrunch campaign

Since February 2026, Storm-2945 has conducted AI-augmented operations including targeted device code and OAuth code phishing campaigns leading to Entra device registration and subsequent data collection from Microsoft 365. Since early May 2026, Microsoft Threat Intelligence has observed Storm-2945 manipulating DNS and HTTP traffic from networks served by captive portals to redirect user traffic through actor-controlled infrastructure. Although our investigation into the initial compromise vector for the captive portal networks is ongoing, we have observed notable commonalities in the equipment and management systems used across multiple affected networks. These similarities suggest that the activity might not be limited to isolated compromises of individual venues and could reflect access to shared services within portions of the captive portal ecosystem.

Diagram depicting an overview of the CaptiveCrunch campaign attack flow
Figure 1. Overview of the CaptiveCrunch attack flow

As part of the CaptiveCrunch campaign, Storm-2945 has leveraged their AitM position to redirect users through actor-controlled phishing infrastructure and has also delivered malware purporting to be browser or operating system updates in response to automated connectivity checks issued by users’ browsers. Multiple variants have been delivered, including fully-featured Windows remote access trojans (RAT) in compiled Golang, with functionality to conduct system enumeration, collect files and keystrokes, steal credentials and session tokens, conduct audio and video surveillance, monitor for removable media, and provide the threat actor a remote shell on infected systems. Β 

The threat actor infrastructure leverages a variety of ClickFix techniques to elicit the user into downloading and executing the malware:

A Windows Driver Repair Utility interface, with instructions for manually repairing a failed automated driver repair, including steps to run a verification script via Windows Terminal.
Figure 2. ClickFix prompt with manual user instructions
A Google web page claiming the verification check failed with additional manual instructions for the user to follow.
Figure 3. ClickFix prompt with additional user instructions after verification failure

In addition to variants of malware targeting Windows systems, Microsoft Threat Intelligence is also aware of indications that the threat actor might be targeting Android devices with similar techniques as the ClickFix landings also include instructions for Android devices to download and install an APK file.

To date, Microsoft has identified widespread compromise of Wi-Fi networks at hospitality-related organizations and other networks serviced by captive portal equipment in several countries. ReliaQuest has identified this activity not only at hotels, but also conference centers and other shared venues, and assesses that the goal of this activity is to access the accounts of corporate travelers.

Storm-2945 and Midnight Blizzard

Microsoft Threat Intelligence assesses that Storm-2945 is an operational sub-cluster of Midnight Blizzard based on distinctive technical and operational overlaps. These include technical similarities to Storm-2372, a Midnight Blizzard initial access operations sub-cluster, also notable for their device code and OAuth code phishing operations tracked throughout 2025, Microsoft Graph-based email exfiltration, social engineering delivered via commercial messaging apps, and significant similarities in victimology.

Midnight Blizzard is a Russia-based threat actor attributed by the US and UK governments to the Foreign Intelligence Service of the Russian Federation, also known as the SVR. This threat actor is known to primarily target governments, diplomatic entities, non-governmental organizations (NGOs), and information technology (IT) service providers, primarily in the US and Europe. Midnight Blizzard is consistent and persistent in their operational targeting, and their objectives rarely change. Their focus is to collect intelligence through longstanding and dedicated espionage in support of Russian foreign policy interests.

Midnight Blizzard operations often involve compromise of valid accounts and, in some highly targeted cases, advanced techniques to compromise authentication mechanisms within an organization to expand access and evade detection. They utilize diverse initial access methods, and Midnight Blizzard is also adept at identifying and abusing OAuth applications to move laterally across cloud environments and for post-compromise activity, such as email collection.

CaptiveCrunch tradecraft and tooling

CornFlake: Remote access and infostealer implant

CornFlake is a full-featured Windows RAT written in Go that serves as Storm-2945’s primary persistent implant. Microsoft has observed the threat actor rapidly iterating on this malware layer, which features customizable capabilities from the social engineering user interface and data collection capabilities to anti-detection and evasion techniques.

On initial execution, CornFlake operates in dropper mode: it displays a convincing fake progress window designed to occupy the victim’s attention while the binary copies itself to %APPDATA%\svchost32\svchost32.exe and establishes persistence.

Fake window options configurable by the threat actor at build time:

  • winupdate β€” A Windows Update screen displaying β€œWorking on updates… Don’t turn off your computer”
  • defender β€” A Windows Security virus scan
  • directx β€” A DirectX End-User Runtime Web Installer
  • vcredist β€” A Microsoft Visual C++ 2015-2022 Redistributable installer
  • sysopt β€” A disk optimization utility
  • netfix β€” A Windows Network Diagnostics tool
  • browser β€” A browser update prompt
  • pdfview β€” A document viewer installer
A false update window claiming the updates are 3 percent downloaded.
Figure 4. False update window

CornFlake registers as a Windows service named svchost32 with the display name β€œCloud Sync Service” and description β€œSynchronizes files with the cloud storage provider”, deliberately mimicking the legitimate svchost.exe process. It establishes redundant persistence mechanisms: Windows service registrations, Registry Run keys, named scheduled tasks, and a persistence watchdog routine that runs continuously to restore any persistence mechanism that is removed by defenders or endpoint protection.

For command and control (C2), CornFlake performs an Elliptic Curve Diffie-Hellman (ECDH) P-256 ephemeral key exchange with the C2 server, derives a session key via SHA-256, and communicates over a custom JSON protocol framed within the encrypted channel. This provides an encrypted channel to the C2 server, with each C2 session using a unique ephemeral key, making decryption of captured traffic impossible without the session-specific private key. The runtime configuration file sync.dat supports hot reconfiguration of C2 servers, watched directories, file targeting patterns, and Transport Layer Security (TLS) settings without requiring redeployment.

Once established on a victim system, CornFlake provides the operator with a comprehensive collection toolkit, gated by configuration flags that allow selective activation post-deployment:

CapabilityDescription
KeyloggingRaw input API-based keylogger capturing all keystrokes, including password fields
Clipboard monitoringCaptures clipboard changes with SHA-256 deduplication and records the active window title at time of capture
Screenshot captureIdle-triggered and on-demand screenshots with configurable idle threshold
Audio surveillanceWindows Audio Session API (WASAPI)-based microphone capture, encoded as WAV files
Video surveillanceMedia Foundation-based webcam capture, encoded as JPEG
Browser credential theftChromeKatz-derived module supporting live cookie extraction from process memory (Chromium browsers) and stored password extraction from on-disk databases, including Chrome App-Bound Encryption (ABE) bypass and Firefox NSS/SDR decryption
File exfiltrationTargets files based on file extensions with real-time file system monitoring and an upload throttle (1,000 files or 500 MB per cycle). File extensions are categorized as Documents, Archives, Images, Code, Data, Emails, and Keys
USB drive monitoringDetects and scans removable media when inserted
Security posture sweepCollects 18 categories of host intelligence including installed software, antivirus (AV)/endpoint detection and response (EDR) products, Defender exclusions, User Account Control (UAC) level, Remote Desktop Protocol (RDP) history, Office most recently used (MRU) files, and credential hints
Remote shellArbitrary command execution via cmd.exe or PowerShell (with -NoP flag to suppress profile-based detection)

CornFlake also exposes a localhost HTTP API server (/upload, /reload, /status) that transforms the RAT into a modular platform: companion or next-stage payloads such as ChocoShell could task file exfiltration, trigger configuration hot reloads or check C2 connectivity using the pre-established secure C2 channel for communication.

ChocoShell: PowerShell infostealer

ChocoShell is the campaign’s Powershell-based infostealer, delivered and executed entirely in-memory. Its primary objective is the high-volume theft of browser session cookies, saved passwords, Microsoft 365 Single Sign-On (SSO) tokens, and Wi-Fi credentials from compromised systems. Where CornFlake provides the operator with a persistent, long-running foothold on the device, ChocoShell is designed to extract the most operationally valuable credentials, giving the operator access to victim cloud environments.

The ChocoShell script was authored with full developer comments that reveal the operator’s intent behind each code decision, including explicit references to Microsoft detection signatures and the reasoning behind specific evasion choices. The consistent coding standard and descriptive commentary suggest the author might have leveraged AI-assisted code generation.

Defense evasion. Upon execution, ChocoShell beacons to a hardcoded C2 server at 213.145.86[.]112 and implements several evasion techniques in sequence. It disables the Antimalware Scan Interface (AMSI) via .NET reflection to prevent ScriptBlock scanning and evades Microsoft behavioral detection that triggers on suspicious PowerShell web request cmdlets. A timing-based sandbox detection check is also employed as a virtual machine (VM) detection mechanism, silently exiting without performing any collection if detected.

C2 communication. ChocoShell communicates with its C2 server using HTTPS with URI paths designed to blend in with legitimate web traffic. Beacons use /t/pixel.gif?m=<status>, mimicking an image tracking pixel. Additional tooling is fetched from /cdn/chunks/polyfill-7e2b.min.js, disguised as a JavaScript polyfill file. This downloaded module is Base64-decoded and executed in memory via [ScriptBlock]::Create(), providing browser encryption key extraction capabilities, SYSTEM token impersonation, and Defender signature locking. Exfiltrated data is sent by POST to /t/event as GZip-compressed, Base64-wrapped JSON.

Privilege escalation. ChocoShell requires administrative privileges for its most impactful capabilities: SYSTEM token impersonation for Chrome ABE decryption, Volume Shadow Copy Service (VSS) shadow copy creation, Defender signature locking. It implements three silent UAC bypass techniques with ordered fallback:

  1. SilentCleanup task hijack: Writes a malicious command to HKCU\Environment\windir, then triggers the built-in SilentCleanup scheduled task, which resolves %windir% from the user’s environment, executing the threat actor’s command at elevated privilege. The registry value is cleaned up after two seconds to avoid cloud detection.
  2. wsreset.exe COM hijack: Creates a COM handler key in HKCU\Software\Classes and launches the auto-elevating Windows Store reset tool.
  3. sdclt.exe folder hijack: Hijacks HKCU\Software\Classes\Folder\shell\open\command and launches the Windows Backup utility with the /KickOffElev flag.

If none of the silent bypasses succeed (for example, the user is not a local administrator), ChocoShell falls back to a visible UAC prompt via Start-Process -Verb RunAs. Notably, the script also contains a variant designed to execute within the WinGet Desired State Configuration (DSC) host process (ConfigurationRemotingServer), suggesting an attack vector through malicious WinGet DSC configuration used in Windows machine provisioning.

Credential and session theft. Once running with elevated permissions, ChocoShell locks Defender signature updates and systematically harvests data from multiple sources. For Chromium-based browsers (Chrome, Edge, Brave, Opera, Opera GX, Vivaldi), it extracts the master encryption key from the browser’s Local State file, handling both the modern ABE scheme (Chrome v127+) and the legacy data protection API (DPAPI)-only scheme. ABE decryption requires SYSTEM-level DPAPI access, which the malware obtains by impersonating a SYSTEM process token borrowed from winlogon.exe, wininit.exe, or services.exe. Locked browser SQLite databases are accessed through three strategies: shared file access, Volume Shadow Service snapshots, and direct copy as a fallback.

As a parallel collection path, ChocoShell launches Chrome, Edge, and Brave with the –remote-debugging-port flag and issues Network.getAllCookies through the Chrome DevTools Protocol (CDP). This completely bypasses ABE, enabling the browser to perform its own internal decryption and returns plaintext cookie values. To handle privilege issues (SYSTEM-launched browsers inherit the wrong token), the malware creates transient scheduled tasks with TASK_LOGON_INTERACTIVE_TOKEN to launch the browser under the signed-in user’s session. After extraction, the browser is stopped and relaunched with –restore-last-session to avoid alerting the user.

For Firefox family browsers (Firefox, Waterfox, LibreWolf, Floorp, Zen), the malware copies unencrypted cookies.sqlite databases from each profile. Additionally, ChocoShell collects Microsoft 365 and Azure Active Directory (AD) access tokens, refresh tokens, and Web Account Manager (WAM) tokens from .tbres files in the Token Broker cache. Collection of these tokens represents a significant threat to enterprise environments, as threat actors could replay SSO sessions without browser cookies. Additionally, Wi-Fi credentials are harvested via netsh wlan show profile with key=clear.

Exfiltration and cleanup. All collected data is aggregated into a JSON structure, GZip-compressed, Base64-encoded, and sent by POST to the C2’s /t/event endpoint. After exfiltration, all collected data variables are nulled, garbage collection is forced, VSS shadow copies are deleted via Windows Management Instrumentation (WMI), temporary elevation scripts are removed, and all UAC bypass registry keys (already cleaned during escalation) are verified removed.

FruitStone: Operator C2 panel

FruitStone is the web-based C2 panel that Storm-2945 operators use to manage the entire CaptiveCrunch campaign infrastructure. Implemented as a single-page application (HTML and JavaScript) serving as the front-end of the C2 server with all functionality exposed without authentication, FruitStone provides a centralized dashboard for managing compromised endpoints, building and deploying new campaign payloads, and reviewing all collected data (such as screenshots, keystrokes, browser credentials).

Operational cover.Β The panel is branded asΒ β€œCloudSync Console” with a footer readingΒ β€œAcuity Systems, Inc. β€” Cloud Infrastructure Portal v3.2.1,” designed to appear as legitimate enterprise cloud management software if the panel URL is discovered by defenders or hosting providers. This masquerading extends to the CornFlake agent’s service name (Cloud Sync Service) and description (β€œSynchronizes files with the cloud storage provider”), creating a consistent cover story across the toolchain.

The CloudSync Console masquerading as Acuity Systems, Inc. sign-in panel.
Figure 5. CloudSync Console panel masquerade

Session management and multi-operator support.Β FruitStone uses JSON Web Token (JWT)-based authentication, session revocation, and rate limiting with IP blocking to prevent brute force attacks against the panel sign in. Multiple operators could be provisioned with individual accounts, and all active sessions are visible with IP address, user-agent, and creation time to enable operational security awareness across the operators.

Agent management.Β The panel displays all registered CornFlake agents in a dashboard with real-time status updates via Server-Sent Events (SSE). Each agent card shows comprehensive system information including hostname, username, OS version, CPU, RAM, disk usage, screen resolution, timezone, domain membership, and camera/microphone presence, all collected during the CornFlake posture sweep. Agents are grouped by country and subnet, with geographic distribution visualized on a map.

Operators could interact with individual agents through:

  • Remote shellΒ β€” InteractiveΒ cmd.exeΒ or PowerShell command execution with command history
  • File system browserΒ β€” Live directory traversal and arbitrary file download from compromised hosts
  • Collection taskingΒ β€” On-demand screenshot, process list, keylog buffer flush, clipboard dump, security posture survey, ChromeKatz cookie/password extraction, camera capture, and audio recording
  • Configuration pushΒ β€” Live runtime reconfiguration of C2 servers, watch paths, and C2 beacon timing
  • Agent updateΒ β€” In-place implant update by pushing a new CornFlake build to a running agent
  • Agent killΒ β€” Remote termination of the CornFlake implant

Campaign builder.Β A step-by-step wizard enables operators to configure and build new CornFlake payloads directly from the panel:

  1. IdentityΒ β€” Campaign ID, C2 host and port, HTTP base URL, executable file name (svchost32.exeΒ by default), and dropper type (C dropper at ~19 KB, Go stub at ~8 MB, or standalone self-installer)
Figure 6. Identity tab
  1. CapabilitiesΒ β€” Toggle individual collection modules: screenshots, process enumeration, keylogging, clipboard monitoring, posture survey, file exfiltration, and ChromeKatz browser credential theft
Figure 7. Capabilities tab
  1. File PathsΒ β€” Configure targeted directories and file extensions by category (documents, archives, images, code, data, emails, encryption keys)
Figure 8. File paths tab
  1. EvasionΒ β€” Enable garble symbol randomization (for GoLang payloads), XOR string encoding, GZip upload compression, and debug mode
Figure 9. Evasion tab

Infrastructure management.Β FruitStone provides management interfaces for three layers of supporting infrastructure:

  • Proxy relaysΒ β€” Multi-proxy C2 relay architecture with TLS certificate tracking (fingerprint, expiry), health checks, connection counts, bytes forwarded, and rotation capabilities that push updated server lists to all online agents
  • Beacon profilesΒ β€” Configurable timing profiles controlling agent sleep intervals, reconnection delays, TLS Server Name Indication (SNI) spoofing (likeΒ teams.microsoft.com), and DNS fallback domains
  • Staging serversΒ β€” External payload hosting infrastructure with push-to-deploy, file listing, and health monitoring
Figure 10. View of the CloudSync staging servers interface

Device code abuse for cloud access

Since July 16, Microsoft has observed a portion of CaptiveCrunch landing pages redirecting users to device code authentication flow experiences. In these cases, users served these landings might be instructed to enter a device code into a legitimate Microsoft sign-in page, a technique commonly referred to as device code phishing.

Device code authentication is a legitimate OAuth workflow designed for devices that cannot support a traditional sign-in experience. However, threat actors could abuse this flow by initiating an authentication request on behalf of a user then convincing the user to enter an actor-controlled device code into a legitimate Microsoft authentication page. When successful, the victim authenticates the threat actor’s session rather than their own.

This activity is consistent with previously reported device code phishing operations conducted by Midnight Blizzard since August 2024. The observed technique does not appear fundamentally novel; however, integrating device code phishing into captive portal and traffic manipulation operations might increase the likelihood that users perceive the authentication request as legitimate. For additional details on Midnight Blizzard-related device code phishing techniques, see: Storm-2372 conducts device code phishing campaign. To understand other threat actors’ use of device code phishing and associated mitigations, see Inside an AI‑enabled device code phishing campaign.

How to protect against CaptiveCrunch activity

Minimize trust in hospitality and guest networks

When traveling, users should treat hotel, conference, airport, and other guest wireless networks as untrustworthy.

  • Prefer private connectivity (including mobile hotspots, satellite, and eSIM-based cellular data connections) over public Wi‑Fi whenever practical.
  • Consider using enterprise-managed travel routers or hotspot devices that establish encrypted tunnels back to trusted corporate infrastructure before accessing sensitive resources.
  • Avoid downloading software updates, certificates, browser updates, network troubleshooting tools, or security utilities presented through captive portals or other unexpected web prompts.
  • Verify update requests through trusted operating system mechanisms rather than pop-up messages or website prompts.

Strengthen identity and access controls

Organizations should assume that public and hospitality network infrastructure might not be trustworthy and should adopt controls that limit exposure to traffic manipulation, credential theft, and device code phishing.

  • Educate users to recognize ClickFix-style prompts, fake verification checks, and paste-and-run instructions as malicious, especially when they invoke command interpreters or script hosts such as cmd.exe, PowerShell, rundll32.exe, or mshta.exe.
  • Use passwordless solutions like passkeys and implement multifactor authentication (MFA).
  • Only allow device code flow where necessary. Microsoft recommends blocking device code flow wherever possible. Where necessary, configure Microsoft Entra ID’s device code flow in your Conditional Access policies.
  • Implement a sign-in risk policy to automate response to risky sign-ins. A sign-in risk represents the probability that a given authentication request is not authorized by the identity owner. A sign-in risk-based policy can be implemented by adding a sign-in risk condition to Conditional Access policies that evaluates the risk level of a specific user or group. Based on the risk level (high/medium/low), a policy can be configured to block access or force MFA.
    • When a user is a high risk and Conditional access evaluation is enabled, the user’s access is revoked, and they are forced to re-authenticate.
    • For regular activity monitoring, use Risky sign-in reports, which surface attempted and successful user access activities where the legitimate owner might not have performed the sign-in.Β 
  • Use a Security Service Edge (SSE) solution like Global Secure Access to secure access to any app or resource using network, identity, and endpoint access controls.

Reduce exposure during captive portal registration

Organizations should review what information employees provide to hospitality providers when connecting to guest networks.

  • Do not reuse corporate credentials on hotel, conference, or guest-network registration pages.
  • Where possible, organizations should evaluate whether venue-provided wireless is required for corporate events and conferences.
  • Organizations should minimize unnecessary disclosure of employee identities, organizational affiliations, and travel details when booking accommodations or registering for guest network access, consistent with corporate policy and applicable local requirements.

Microsoft Defender detections and hunting guidance

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

Microsoft Defender for Endpoint detects Storm-2945 activity under the detection Suspicious activity linked to a Russian state-sponsored threat actor has been detected. However, these alerts might be triggered by unrelated threat actor activity. The following chart lists Microsoft Defender detections specific to the TTPs utilized by Storm-2945 in this attack.

TacticΒ Observed activityΒ Microsoft Defender coverageΒ 
Initial accessFile download via captive portal redirectionΒ Microsoft Defender for Endpoint – Suspicious downloaded file
Initial accessClickFix technique, fake browser or OS update, initial file downloadMicrosoft Defender for Endpoint
– Possible initial access from an emerging threat
– Possible ClickFix activity
PersistenceCornFlake registers a Windows service, a Registry Run key, a scheduled taskMicrosoft Defender for Endpoint
– Suspicious Scheduled Task Process Launched Β 
– Suspicious scheduled task
– Suspicious file added to run key
– Suspicious service registration

Microsoft Entra ID Protection
– Microsoft Entra threat intelligence
– Verified threat actor IP
Stealth/Defense evasionChocoShell disables AMSIMicrosoft Defender for Endpoint
– Possible Antimalware Scan Interface (AMSI) tampering
Credential accessChocoShell’s theft of browser session cookies, saved passwords, Microsoft 365 SSO tokens, and Wi-Fi credentials. Β  Device code abuse.Microsoft Defender for Endpoint
– Possible theft of passwords and other sensitive web browser information
– Suspicious DPAPI activity

Microsoft Defender For Identity
– Anomalous OAuth device code authentication activity

Microsoft Defender XDR
– User account compromise via OAuth device code phishing
– Malicious sign in from an IP address associated with recognized attacker infrastructure
– Suspicious Azure authentication through possible device code phishing
CollectionCornFlake monitoring and loggingMicrosoft Defender for Endpoint
– Activity that might lead to information stealer
Privilege escalationChocoShell UAC bypass techniquesMicrosoft Defender for Endpoint
– UAC bypass was detected
– Possible Component Object Model (COM) hijacking

Microsoft Security Copilot

Microsoft Security Copilot is embedded in Microsoft Defender and provides security teams with AI-powered capabilities to summarize incidents, analyze files and scripts, summarize identities, use guided responses, and generate device summaries, hunting queries, and incident reports.

Customers can also deploy AI agents, including the following Microsoft Security Copilot agents, to perform security tasks efficiently:

Security Copilot is also available as a standalone experience where customers can perform specific security-related tasks, such as incident investigation, user analysis, and vulnerability impact assessment. In addition, Security Copilot offers developer scenarios that allow customers to build, test, publish, and integrate AI agents and plugins to meet unique security needs.

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 the intelligence, protection information, and recommended actions to prevent, mitigate, or respond to associated threats found in customer environments.

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

Microsoft Defender XDR

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

Detect file creation after Wi-Fi connectivity test on devices

The following query checks for a file creation on a device within two minutes of the device performing built‑in Network Connectivity Status Indicator (NCSI) test, which occurs when network connectivity is established to a Wi-Fi network with a captive portal. This activity might indicate an attacker’s initial access file presence on a device.

Please note that not all files discovered through this query might be malicious or related to this threat activity.

let ncsi_endpoints = dynamic(["msftconnecttest.com","edge-http.microsoft.com","msftncsi.com","captive.apple.com","clients1.google.com",
    "clients3.google.com","clients4.google.com","clients6.google.com","connectivitycheck.gstatic.com","connectivitycheck.android.com",
    "android.clients.google.com","www.gstatic.com","detectportal.firefox.com","detectportal.brave-http-only.com","cloudflareportal.com",
    "cloudflarecp.com","cloudflareok.com","connectivity-check.warp-svc","connectivity.cloudflareclient.com","spectrum.s3.amazonaws.com",
    "nmcheck.gnome.org"]);
let NCSIEvents = DeviceNetworkEvents
    | where Timestamp > ago(7d)
    | where RemoteUrl has_any (ncsi_endpoints)
    | project NCSI_Timestamp = Timestamp, DeviceId, DeviceName, RemoteUrl, NCSI_ReportId = ReportId, NCSI_InitiatingProcessFileName = InitiatingProcessFileName, NCSI_InitiatingProcessCommandLine = InitiatingProcessCommandLine, NCSI_AccountName = InitiatingProcessAccountName;
let FileDownloadEvents = DeviceFileEvents
    | where Timestamp > ago(7d)
    | where ActionType == "FileCreated"
    | where FileName has_any (".exe",".msi",".zip",".rar",".7z")
    | project Download_Timestamp = Timestamp, DeviceId, FileName, FolderPath, Download_ReportId = ReportId, Download_InitiatingProcessFileName = InitiatingProcessFileName, Download_InitiatingProcessCommandLine = InitiatingProcessCommandLine, Download_AccountName = InitiatingProcessAccountName;
NCSIEvents
| join kind=inner (
    FileDownloadEvents
) on DeviceId
| where Download_Timestamp >= NCSI_Timestamp and Download_Timestamp 

Detect connectivity to Storm-2945 infrastructure

The following query checks for connectivity to Storm-2945 infrastructure observed in this attack activity.

let target_domains = dynamic(["ms365-device.com", "ms365-live.com", "m365-owa.com", "owa-ms365.com"]);
let target_ips = dynamic(["31.57.243.154", "38.146.28.75", "38.146.28.132", "104.194.159.150", "107.189.26.194", "213.145.86.112"]);
DeviceNetworkEvents
| where RemoteUrl has_any(target_domains) or RemoteIP in (target_ips)
| project
    Timestamp,
    DeviceName,
    DeviceId,
    RemoteUrl,
    RemoteIP,
    LocalIP,
    InitiatingProcessFileName,
    InitiatingProcessCommandLine,
    AccountName = InitiatingProcessAccountName,
    ReportId

Detect CornFlake RAT presence on affected systems

The following query checks for the presence of the CornFlake RAT binary.

DeviceProcessEvents
| where FolderPath == "%APPDATA%\\svchost32\\svchost32.exe"
   or FolderPath endswith @"\svchost32\svchost32.exe"
| project Timestamp, DeviceName, DeviceId, FileName, FolderPath, InitiatingProcessFileName, InitiatingProcessCommandLine, AccountName, ReportId

Detect CornFlake RAT Windows service registration

The following query checks for the CornFlake RAT Windows service registration.

DeviceRegistryEvents
| where RegistryKey has @"\SYSTEM\CurrentControlSet\Services\svchost32"
| where ActionType == "RegistryValueSet"
| where (RegistryValueName == "DisplayName" and RegistryValueData == "Cloud Sync Service")
    or (RegistryValueName == "Description" and RegistryValueData == "Synchronizes files with the cloud storage provider")
| project
    Timestamp,
    DeviceName,
    DeviceId,
    RegistryKey,
    RegistryValueName,
    RegistryValueData,
    ActionType,
    InitiatingProcessFileName,
    InitiatingProcessCommandLine,
    InitiatingProcessAccountName,
    ReportId

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

The following query checks IP addresses and domain IOCs across data sources supported by ASIM network session parser:

//IP list and domain list- _Im_NetworkSession
let lookback = 30d;
let ioc_ip_addr = dynamic(["213.145.86.112"]);
let ioc_domains = dynamic(["213.145.86.112/t/pixel.gif", "213.145.86.112/cdn/chunks/polyfill-7e2b.min.js", "213.145.86.112/t/event"]);
_Im_NetworkSession(starttime=todatetime(ago(lookback)), endtime=now())
| 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

The following query checks IP addresses, domains, and file hash IOCs across data sources supported by ASIM web session parser:

//IP list - _Im_WebSession
let lookback = 30d;
let ioc_ip_addr = dynamic(["213.145.86.112"]);
let ioc_sha_hashes =dynamic([β€œ918fa52ae45ed60ba7cc8bdc99c3cbe9ab92e0375ec31fc05d0d4513be11c593”, β€œbe99857449d2856dd5a84e21c8a3d5e0e01456adb44062ddec5a6b4970d8d42c”]);
_Im_WebSession(starttime=todatetime(ago(lookback)), endtime=now())
| 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

The following query checks domain and URL IOCs across data sources supported by ASIM web session parser:

// file hash list - imFileEvent
// Domain list - _Im_WebSession
let ioc_domains = dynamic(["https://213.145.86.112/t/pixel.gif", "https://213.145.86.112/cdn/chunks/polyfill-7e2b.min.js", "https://213.145.86.112/t/event"]);
_Im_WebSession (url_has_any = ioc_domains)

ChocoShell C2 communications

The following query detects ChocoShell communications with its C2 server using HTTPS with URI paths designed to blend in with legitimate web traffic. Beacons use /t/pixel.gif?m=<status>, mimicking an image tracking pixel.

let lookback = 30d;
let ioc_url_artifacts = dynamic(["/t/pixel.gif?m="]);
_Im_WebSession(starttime=todatetime(ago(lookback)), endtime=now())
| where DstDomain  in (ioc_url_artifacts)
| summarize imWS_mintime=min(TimeGenerated), imWS_maxtime=max(TimeGenerated),
  EventCount=count() by SrcIpAddr, DstIpAddr, Url, Dvc, EventProduct, EventVendor

Indicators of compromise

IndicatorTypeDescriptionFirst seen
ms365-device[.]comDomainCaptiveCrunch DCF redirect2026-07-23
ms365-live[.]comDomainCaptiveCrunch DCF redirect2026-05-14
m365-owa[.]comDomainCaptiveCrunch AitM infrastructure2026-07-20
owa-ms365[.]comDomainCaptiveCrunch AitM infrastructure2026-07-16
31.57.243[.]154 Β IP addressCaptiveCrunch AitM infrastructure2026-07-16
38.146.28[.]75 Β IP addressCaptiveCrunch AitM infrastructure2026-07-01
38.146.28[.]132IP addressCaptiveCrunch DNS Resolver2026-07-15
104.194.159[.]150 Β IP addressCaptiveCrunch AitM infrastructure2026-04-28
107.189.26[.]194IP addressChocoShell C2 / CaptiveCrunch DNS Resolver2026-02-27
213.145.86[.]112 Β IP addressChocoShell C22026-07-01
918fa52ae45ed60ba7cc8bdc99c3cbe9ab92e0375ec31fc05d0d4513be11c593 Β File hashCornFlake2026-07-03
be99857449d2856dd5a84e21c8a3d5e0e01456adb44062ddec5a6b4970d8d42cFile hashChocoShell2026-07-10

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 post CaptiveCrunch: Midnight Blizzard targets travelers worldwide for malware delivery and credential theft appeared first on Microsoft Security Blog.

'I refused to let 3D die!': Someone built a custom player for all 3D movie formats β€” and is even futureproofing it to preserve the grandeur of 3D for whatever the future of projectors and TVs holds

  • SyLC 3D Player supports everything from 3D Blu-ray to Apple spatial videos, and it can convert 3D video to display it on Apple Vision Pro headsets
  • It's backwards and forwards compatible β€” and the creator says it can get dual-HDMI output for dual projection, for future-proofing
  • The app runs on Windows, and is free via Github 'because this format deserves better than a slow death'

One of the great tech disappointments of the last few decades was 3D TV. Like many movie fans I was excited by the possibilities, invested in a 3D TV, and watched the entertainment industry ensure that yet again, 3D movies were a short-lived trend. By 2013, it was already generally agreed that 3D TV was dead and that smart TVs and 4K were the way ahead.

Not everyone got the memo [I had mine until 2020… -Ed]. Over on the r/audiovisual subreddit, Jarod-The_Centre is determined to ensure 3D never dies β€” so they have been making a free player that now "plays EVERYTHING in 3D" from Blu-ray to Apple spatial videos.

And that's just the beginning of its talents. If you're a fan of things pointing out of the screen for no good reason, Jarod's player is fascinating.

I refused to let 3D die ! So I spent months building a free player that plays EVERYTHING in 3D: Blu-ray MVC, 4K HDR side-by-side, even Apple spatial videos. And it converts your 3D Blu-rays to Vision Pro format... from r/audiovisual

What does the 3D player do?

What doesn't it do? The player, called SyLC 3D Player, is a Windows app that's now in its fifth release. It's designed to play three different generations of 3D content: Blu-ray 3D/ISO/MVC MKV; HEVC/H.265 3D up to 4K 10-bit HDR; and Apple's MV-HEVC spatial videos. "The MVC of the 2020s, playing on your 2010s 3D TV," Jarod writes. "There's something poetic about that."

The app outputs in frame-packed 3D for compatible 3D TVs and projectors, and it can do something else that's really impressive: it can export 3D content as MV-HEVC, so you can take a 3D Blu-ray and turn it into a spatial video for Vision Pro.

I love Jarod's explanation for making the app. "It exists because this format deserves better than a slow death, and because apparently I don't know when to stop."

Jarod's in good company. Reddit's response to the latest announcement has been really positive and packed with good ideas, so for example Acceptable-Rise8783 suggests that for future-proofing, the app should be able to "send the two fields separately but in sync through two HDMI outputs."

With 3D TVs and projectors becoming increasingly hard to find β€” as they point out, "projectors are dropping support left and right because the chips that do 3D are becoming hard to come by" β€” the choice of viewing platforms will be reduced to dual-projector 3D or VR headsets.

The creator says this is something likely to appear in the player in a future version as the player already drives two windows simultaneously β€” and it means that dual projectors is the most 'future-proof' option for 3D, and the app supports it as best it can.

The whole discussion is fascinating, and I think Jarod sums it up beautifully. "Keep the faith. The format's not dead while we're still building for it πŸ”₯".

Thinking of buying a new TV?

Try our TV size and model finder! You tell it how far you sit from your TV, we'll tell you what size to buy based on viewing angle advice from image quality experts, and we'll recommend our three top TVs at that size for different prices.

I'm worried that Windows 11 will slowly turn into a subscription-based OS, and AI agents will be to blame β€” here's why

For quite a long time now, I've been concerned about how Microsoft is going to monetize Windows going forward. While the world's dominant desktop operating system remains available for a one-off fee (assuming you aren't an upgrader who can get it for free), there's a good chance this could change in the future.

Why do I think that? To me, it feels somewhat inevitable that eventually, Microsoft is going to look for a way to shift Windows from an upfront payment to a subscription model for consumers. That regular monthly income stream piling up in the coffers is the end game for most big tech companies and their products these days for good reasons in terms of the profits to be made.

Of course, rumors about Microsoft looking to charge a subscription fee for using Windows to consumers (as opposed to businesses, where there's already a subscription option) have been floating around for years. True, they've all been dubious and sketchy in nature, or indeed proven outright incorrect, but this idea keeps bubbling up, and I believe we're witnessing a development with AI right now that indicates how Microsoft might have an ideal opportunity to make this pivot at some point down the road.

Last week, Windows Central spotted that the Copilot feature Deep Research is getting the axe, to be replaced with a new feature: Researcher. The idea behind both pieces of functionality is roughly the same (researching and creating detailed reports complete with citations), but the difference is Deep Research was free, whereas Researcher requires a subscription to Microsoft 365 Premium.

This follows Microsoft Whiteboard (where AI assists you in brainstorming ideas) getting changed so personal accounts can no longer use it β€” the app now requires being signed up for a Microsoft Business account. On top of that, Outlook's Meeting Insight functionality was just shifted behind a paywall, being transformed into an admittedly beefier AI feature, but one that needs a Microsoft 365 Copilot license.

So, there's a trend towards turning previously free AI features into paid ones, presumably as Microsoft rejigs its Copilot offerings and figures out what works well β€” and what's being used β€” and whether any of that can be charged for.

AI pivot

Windows 11:

(Image credit: Microsoft)

Now, we all know AI agents are going to be the 'next big thing' (TM) in Windows 11, certainly if Microsoft has its way, and the idea is for these AI entities to be doing more and more within the OS.

We won't just have an agent for changing Windows settings β€” and I mean a proper incarnation of this already existing idea, which really can adjust a host of options based on a simple request to "make my laptop battery last longer" or similar β€” but we will have a small crowd of them. Maybe a troubleshooting agent, for example, which can take a problem that you're battling in Windows and use some genuine AI smarts to help solve it. Or perhaps a creativity agent which can tackle a host of image or video-related tasks, or more broadly help with organizing your projects and photos.

I think the catch will be that eventually, as we've seen with some aspects of AI and Copilot, Microsoft will start shuffling some of these agents behind a paywall β€” especially considering that more powerful capabilities like these in-depth AI tricks will cost Microsoft a fair bit to drive in terms of cloud resources. It's certainly conceivable that Microsoft could end up charging a small monthly fee to use these premium agents, maybe as separate add-ons in the hope that you'll bolt more of them onto Windows for a cumulatively greater benefit to its coffers.

We could ultimately be looking at a kind of modular, AI-focused OS, and to me, this seems like the easiest way for Microsoft to transform Windows into a subscription model, because it'll happen slowly. You don't need a troubleshooting AI agent to run Windows at all, but it'll be a nice thing to have β€” certainly for less tech-savvy types β€” in case problems do arise in the OS.

As more bits and pieces that might start off free drift behind a paywall β€” as these AI features are built up and become more compelling β€” people may eventually be tempted to buy a bundle of them. And before you know it, you've signed up for a Windows subscription of sorts (although the free version of the OS will, of course, still be available).

In the end, there may be a couple of bundles β€” tiered subscriptions, in other words β€” and let's not forget Microsoft's potential ambitions for a cloud PC model for consumers, either.

This has been a possibility raised in past rumors and leaks (and again, this is something which has already happened in the enterprise world), and if you put all this together, you're looking at a kind of Netflix model, if you will: a streamed OS with several paid subscription tiers. Albeit with a free basic tier for Windows – although who's to say that may not become ad-supported, or indeed more ad-supported, as Windows 11 already does a fair old line in adverts and promos. (Although admittedly Microsoft is cutting back on that front in its crowd-pleasing efforts to fix Windows 11).

Not a foregone conclusion β€” but a likely enough prospect

Girl using a Windows laptop hoping for good luck with her fingers crossed

(Image credit: MAYA LAB / Shutterstock)

This is just my opinion, naturally, and yes, maybe I got rather carried away with the extrapolation at the end there. It's also true that some big question marks remain hanging over the wider notion I've put forward.

As I just mentioned, Microsoft is very much bending over backwards to please Windows 11 users right now, so any possible timeline for this shift may be pushed way back in view of that. Bringing in some form of subscription is hardly going to be a well-received move, even if implemented in small, delicate increments as I'm guessing it would be.

The other obvious sticking point is that Microsoft needs to make its AI agents in Windows worth having. They need to be objects of desire and come packing genuinely useful AI abilities, otherwise clearly, people won't pay for the privilege of having them on their Windows desktop. They also need to be secure and trustworthy so they don't end up throwing spanners in the works of your Windows installation.

That could be the biggest hurdle for Microsoft to overcome, because as it stands, when the idea of AI features being paywalled in Windows 11 has been raised (in rumors and the like), it's been actively welcomed by the more skeptical out there. The cynics are more than happy to have everything AI-related locked away from them, and as non-paying users, this would give them an AI-free Windows 11 desktop.

Again, this plays into any potential move along these lines having to happen further into the future, but I think Microsoft does have this as an eventual goal. If you ask yourself the question: if Microsoft could charge a subscription for Windows 11, would it? The answer is clearly yes, a thousand times over. But the actual, real question here is whether Microsoft thinks it could successfully get away with such a plan without sparking a large-scale defection from its desktop OS.

We can keep our fingers crossed that a monthly charge for Windows isn't coming, but frankly, I think it's likely. Or even just a matter of time β€” perhaps a lot of time, granted β€” whether that subscription pertains to AI add-ons, or a cloud PC offering, or Microsoft finds another way to spin this.

Hate the Copilot key in Windows 11? It looks like Microsoft's bringing in the option to remap it to do nothing β€” if you feel that's more useful

  • A new option for the Copilot key has been spotted in testing
  • Windows 11 users are getting the ability to remap it to 'Do nothing'
  • This comes on top of work already underway to redefine the key to Right Ctrl or the context menu

Microsoft's latest revolutionary idea for Windows 11 is to have a key on your keyboard which can be remapped to do absolutely nothing.

Windows Latest noticed the latest twist in the tale of the Copilot key, as highlighted by regular leaker PhantomOfEarth on X, who spotted the development hidden in a recent Windows 11 preview build.

In the choices to customize the Copilot key – which, by default, summons Windows 11's Copilot AI (of course) – there's a new option to simply 'Do nothing'.

Yes, that's correct – you can change the key to simply be a pointless piece of plastic that does precisely zip. (Or at least you'll be able to in testing, when this ability comes into play, that is, although some Windows 11 testers have reportedly seen it live in preview already).

As you may have seen earlier this year, Microsoft is working on bringing fresh options to the Copilot key that include customizing it to invoke the context (right-click) menu, and to turn it back into Right Ctrl (which was the key that the Copilot button replaced on Copilot+ laptops and some keyboards).

Analysis: do nothing, be happy

COnfused  businessman working with his laptop, at the office

(Image credit: rui vale sousa / Shutterstock)

What's the point of a key that does nothing? Good question. Maybe it's the keyboard equivalent of a stress ball – you can hammer on that key as much as you want when you're really annoyed, and it won't splurge a load of characters into the document you're working on as you exorcise your frustrated demons.

Okay, so maybe not, but perhaps the idea is that this is aimed at people who really hate the Copilot key, but haven't decided what they might want to remap it to. So, they can go ahead and elect for the key to do nothing if it's accidentally hit, while they figure out what they might want to redefine in its place. That's stretching things, admittedly, but it's the best guess I have.

At any rate, it's a harmless enough option, although it feels inescapably odd to have a 'blank' key on your keyboard. How far we've fallen since the Copilot key was first revealed and trumpeted by Microsoft as the biggest thing to happen to keyboards in 30 years since the Windows key was introduced. And indeed more recently, Microsoft promoted the Copilot key as the "button you can press to fix everything", so there's some irony that it could soon (optionally) become the button you can press to fix 'nothing' in a very literal sense.

Don't forget that you don't have to wait for Microsoft's Copilot key remapping functions to arrive in the release version of Windows 11. You can use the Keyboard Manager in PowerToys to do this instead, although it'll be far neater to have these options in Windows 11's settings, of course.

Own an LG monitor and tired of seeing that McAfee pop-up? Microsoft has banished it from Windows 11 β€” but wider issues need to be addressed here

  • Microsoft has contacted LG regarding a McAfee pop-up served via the monitor maker's app (which in turn is installed by Windows Update)
  • As an 'immediate next step' LG has disabled this pop-up
  • However, there are still issues to address around the automatic installation of the LG monitor app, and the way Windows Update itself operates with third-party software

Microsoft has fixed a controversial situation whereby Windows 11 users with LG monitors were being hit by a pop-up for McAfee antivirus, and that advert has now been banished from the OS β€” but there's still more that Microsoft needs to do here.

Windows Latest noticed that Pavan Davuluri, who is head of Windows at Microsoft, flagged up what's happened on X.

In response to a nudge from Epic's Tim Sweeney on the matter, Davuluri said: "We've connected with the team at LG and as an immediate next step, they have agreed to disable the McAfee pop-up from their app. We appreciate LG working with us toward a shared goal of a better experience for our mutual customers. We will keep improving here with our ecosystem partners."

In case you missed this story from earlier in the week, Windows 11 users with an LG display are reportedly getting an LG monitor app (from the Microsoft Store) automatically installed on their PCs via Windows Update simply after hooking up the monitor.

The real kicker was that following this, the mentioned McAfee pop-up (pushing a trial for the antivirus) was repeatedly bothering those users, with the ad delivered via the LG monitor app. So, what Microsoft is telling us here is that as an immediate first step, that McAfee pop-up is no longer part of LG's Windows app, and won't be darkening the desktops of any LG monitor owners any longer.

The (pop-up-less) monitor app is presumably still being piped through by Windows Update, though, and hopefully the next step for Microsoft will be to address this.

Analysis: software giants in glass houses?

LG UltraGear 45GR95QE

(Image credit: Future)

Windows Update really shouldn't be installing any third-party software without the user's permission, that much is clear (or first-party for that matter). It's fine to flag available updates, wherever they come from or whatever hardware they may be for, but highlighting them is one thing, and going ahead with an auto-installation is another.

Okay, so LG has agreed to disable this pop-up, and it's good that this has happened swiftly, as it was, of course, a huge annoyance. Indeed, it's very worrying that this could happen at all, really (and in case you missed it, LG's TVs have also come under fire this week).

LG had already addressed this controversy with a rather lengthy statement that read: "LG Electronics reiterates that McAfee is not installed automatically and is never installed without the user's explicit consent. The LG Monitor App Installer is distributed through Microsoft's official Windows distribution process, which included McAfee as an option.

"McAfee will be installed only if a user actively chooses to proceed with the installation and provides consent. Under no circumstances is McAfee installed automatically or without user authorization. The LG Monitor App Installer does not access, collect, or transmit any customer personal data."

What this appears to be saying is that McAfee's actual antivirus app isn't installed without consent. It's not denying that the McAfee pop-up appeared without consent, or that the LG Monitor app is installed in the background in Windows without the user's knowledge. It only notes that the LG Monitor app is "distributed through Microsoft's official Windows distribution process", as if that makes everything okay, or somehow not LG's fault.

It is, of course, Microsoft's fault as well – both parties need to take responsibility, and fix not just the McAfee pop-up appearing, but the LG Monitor app being automatically installed simply when a monitor is connected to a Windows 11 PC. (Which is reportedly the case, I should add – I haven't experienced this myself, as I don't have an LG display, but a whole heap of feedback is present suggesting it's exactly what happens).

In short, the immediate disabling of the McAfee trial pop-up is a start, but we need a swift follow-up addressing the LG app itself and how that's dealt with in Windows 11. And more broadly, how third-party apps in general interact with Windows Update, because as already noted, this situation should never have been allowed to happen in the first place (no matter what LG, or any other hardware partner, is doing with their apps).

Furthermore, there's no shortage of people on Reddit noting that Microsoft has been keen enough to act here, but not so keen on curbing its own advertising-related excesses in Windows 11.

As one Redditor says of Microsoft: "Now all they need to do is crack down on their own bloatware…"

Although to be fair to Microsoft, it is acting to rein in some of the upselling and promotional noise that Windows 11 has come to be associated with. More work needs to be done on this front, though, for sure.

You can stop LG monitors that are reportedly installing bloatware on your Windows 11 PC, but the fix shouldn't require this much effort

Update: We reached out to LG for a statement, and it has denied claims of auto McAfee installations, stating: "LG Electronics reiterates that McAfee is not installed automatically and is never installed without the user’s explicit consent. The LG Monitor App Installer is distributed through Microsoft’s official Windows distribution process, which included McAfee as an option.

"McAfee will be installed only if a user actively chooses to proceed with the installation and provides consent. Under no circumstances is McAfee installed automatically or without user authorization. The LG Monitor App Installer does not access, collect, or transmit any customer personal data."

Original story follows below...

  • LG monitors are reportedly installing bloatware on Windows 11 PCs
  • The LG Monitor App Installer carries a McAfee pop-up and is automatically installed when connecting an LG monitor to a PC
  • There's a fix for this, but it's a rather fiddly affair

It's no secret that Windows 11 users have voiced frustrations regarding bloat on the operating system for years, and unfortunately, LG's monitors are reportedly making the situation worse.

As reported by Windows Latest, LG monitors are installing McAfee bloatware on Windows 11 PCs without consent, and there's evidence of this in the changelog of LG's monitor app on the Microsoft Store.

Even if you don't install the app yourself, Windows Update will do so, and then treat you to a McAfee pop-up. All you have to do is plug in the LG monitor to your PC, and the automatic installation of McAfee is also shown by checking the Windows Reliability Monitor, which documents a 'successful Windows update' for the LG Monitor App Installer package.

We've reached out to LG for a comment, but haven't received a response yet. In the meantime, though, there appears to be a fix that requires users to do the following: press the Windows key and R, and type 'gpedit.msc', then hit Enter.

From that point, navigate your way to Computer Configuration > Administrative Templates > System > Device Installation > "Prevent automatic download of applications associated with device metadata", then select the 'Enabled' box and apply.

Windows 11 Group Policy Editor

(Image credit: Microsoft)

In theory, this should stop any unwanted applications from being installed, specifically with devices like LG monitors that do so via device metadata.

And if you already installed the LG monitor app manually, you should remove it, because as noted, the description on the Microsoft Store suggests McAfee is a fundamental part of the monitor application.

Bloatware can be problematic for Windows 11 users because it hogs system resources, and LG is adding to that system drain, not to mention the annoyance of continually seeing that pop-up.

Alongside LG, Microsoft hasn't provided a statement on the matter yet. I'd expect Windows 11 users will want an answer of some kind, especially because of the rather fiddly steps involved to prevent these automatic installations β€” and frankly, this shouldn't require extra effort from anyone.

Microsoft fixes Windows 11's nasty bugs with Dell laptops β€” and shows there's a catch to jumping the update queue

  • Windows 11's July update was blocked from certain Dell laptops due to nasty issues with unexpected shutdowns and poor performance
  • Microsoft just issued an emergency patch to fix those problems, so the PCs in question can install the latest update
  • However, that patch might end up installed on non-Dell PCs if the user has enabled the option to get the latest updates as soon as possible

Windows 11's latest (July) update was blocked from Dell PCs as it was buggy on those systems, but the good news is that it's now fixed β€” but there's an additional wrinkle to be aware of here for those of you who don't own a Dell machine.

Windows Latest reports that Microsoft just deployed an emergency update (KB5121767) which fixes the problems with certain Dell laptops with Intel CPUs, which include unexpected shutdowns and generally poor performance (including running sluggishly and overheating, as well as increased battery drain).

Those with an affected Dell laptop β€” and that apparently includes some XPS models, as well as Dell Pro and Precision (business) notebooks, and possibly others β€” should install the emergency patch. As Microsoft makes clear, you'll find it under optional updates, which is reached via 'Advanced options' in the Windows Update panel.

However, the wrinkle that I mentioned is that Windows Latest observes that it's possible some Windows 11 PCs that aren't Dell laptops may automatically grab and install this update β€” if they have the 'Get the latest updates as soon as they're available' toggle on.

Analysis: a notable side effect

Dell XPS 17 laptop in use on a wooden desk

(Image credit: Future)

This feature is one that people turn on in the hope that they'll get Windows 11 updates, and more to the point, new feature rollouts, more quickly (there can be quite a wait for certain features to arrive, such as the Start menu revamp from last year, which some folks still haven't received even now).

So, bear in mind that if you've enabled this option, you may get certain updates automatically β€” like this emergency patch β€” when you don't actually need them on your PC. It doesn't help that this particular update is confusingly named, being called '2026-07 Update (KB5121767) (26200.8894)', which could leave you wondering what on earth it is exactly (until you look up the codename KB5121767).

At any rate, if you're not happy with this situation, to turn off 'Get the latest updates as soon as they're available' you need to head to Windows Update (in Settings) and adjust the relevant slider (at the top of the 'More options' panel).

Why is this option configured in this way? It seems especially odd in this case seeing as Microsoft tells us: "This OOB [emergency] update is only recommended for devices affected by this issue." That said, seemingly it doesn't do any harm to a non-affected PC (whether a Dell model, or not) if it does end up with this emergency patch installed.

At any rate, if you do enable the option to get the latest updates, just don't forget that this can have side effects, such as installing optional updates that you don't actually want. It would be a better idea if, in these cases, Microsoft simply flagged these updates as available, rather than having them install automatically.

It's also worth noting that this isn't the first time Dell laptops have run into trouble with Windows 11 recently, as last month an update to the firm's SupportAssist app left some notebooks crashing every half an hour or so.

Windows 10 Still Being Used, Often Unpatched and Insecure

19 July 2026 at 12:34
Windows 10 still runs on 16.9% of the Windows devices monitored by asset-tracking service Lansweeper. That's more than one in six, The Register points out. A year ago, the operating system accounted for about half of the machines in its dataset, falling to the low-to-mid 40% range by the time Microsoft ended standard support. The decline continued after that, reaching 18.6% in June, but Lansweeper says migration has now slowed to a crawl... Small and medium-sized businesses are particularly exposed. Lansweeper reckons that 21.4% of machines at small and medium-sized business still run Windows 10, with cost usually being the constraint that keeps the legacy operating system running. The exposure is greater in some sectors, with 23% of healthcare and pharmaceutical systems sticking with Windows 10, while consumer and retail devices hover at 22.7%. According to Lansweeper's data, "a Windows 10 device carries an average of 1,903 active CVEs against 652 on Windows 11. That's a 2.9x gap." Esben Dochy, principal technical evangelist at the company, told The Register that "the Windows 10 average also includes devices that have Extended Security Update patches applied." [According to Lansweeper's figures, 14% of Windows 10 assets have applied Extended Security Update patches.] Part of the problem, according to Lansweeper, is "patch diffing," in which Windows 11 fixes can be reverse-engineered to find flaws in Windows 10. "The supported OS effectively hands attackers a map into the unsupported one," Lansweeper said... Looking at other market share measures such as Statcounter, there was little change in the share of Windows 10 and its successor over the last few months after a surge following the end of support. As Lansweeper noted: "The easy migrations are done. What's left is the hard core: devices that haven't moved because they can't or won't." Lansweeper's evangelist noted that in some cases there is no Windows 11-certified version yet for many medical devices and industrial or retail systems.

Read more of this story at Slashdot.

The impact of DST changes

17 July 2026 at 04:00
One of the side effects of changing the US daylight savings time (DST) rules is that your computer systems must be adjusted. Recently, British Columbia changed its rules and, as of yet, Windows hasn’t been adjusted to reflect it. As a workaround, BC residents can select Arizona. It does not participate in DST, so its […]

Microsoft Patches a Record 570 Security Flaws

By: BeauHD
15 July 2026 at 11:00
An anonymous reader quotes a report from Krebs on Security: Microsoft today released software updates to plug at least 570 security holes in its Windows operating systems and other software, almost triple the number of vulnerabilities the software giant fixed in its record-smashing Patch Tuesday release last month. Microsoft attributed the burgeoning patch counts to vulnerability discoveries aided by artificial intelligence. Nearly 60 of the bugs quashed in July's Patch Tuesday earned a "critical" severity rating, meaning miscreants or malware could use them to seize remote control over a Windows device with little or no help from the user. Microsoft also addressed three zero-day flaws, including two that are already being exploited in the wild. Two of the zero-day weaknesses allow an attacker to elevate their user rights on a Windows system, as do approximately 250 other elevation of privilege flaws fixed this month; they include CVE-2026-56155 - an Active Directory Federation Services bug -- and CVE-2026-56164, a Microsoft Sharepoint vulnerability. CVE-2026-50661 is a security feature bypass in Windows BitLocker that could allow attackers to gain access to encrypted data if they have physical access to the device. Microsoft said this bug has been detailed publicly, but that it is not aware of any active exploitation. In a blog post on July 9, Microsoft Executive Vice President Pavan Davuluri wrote that Windows users will notice "a higher volume of security updates included in each security release" as a result of AI aiding in the discovery of vulnerabilities. "The pace of vulnerability discovery is changing with advances in AI making it possible to find more issues, faster, across more code, with new mechanisms that can accelerate both discovery and analysis," Davuluri wrote.

Read more of this story at Slashdot.

Windows Bind Link Attacks Can Hide Malware From EDR Tools

15 July 2026 at 09:00

Bitdefender researchers show how Windows bind links can create conflicting filesystem views to hide malware from endpoint security products.

The post Windows Bind Link Attacks Can Hide Malware From EDR Tools appeared first on SecurityWeek.

I tried Android's underrated desktop app, and it's transformed the way I work

For the longest time, I thought that, despite their annoyances, iPhones had something big over the best Android phones: PC connectivity. I'd always seen iPhone and Mac-owning friends quickly send files between the two, and assumed it was an Apple-exclusive feature.

As it turns out, this isn't true. Android users can use a Windows app that brings loads of really useful features β€” and it's really underutilized, which is why a tech journalist like me hadn't heard of it.

This software is called Phone Link, and we've got a guide on how to connect your Android phone to a Windows PC using Phone Link elsewhere on TechRadar. I downloaded it about a year ago, largely out of duty to test every tool, appliance, and gadget I could get my hands on. I was expecting it to last a weekend.

A year on, though, and Phone Link has become such a useful part of my workflow that I'd forgotten it's something not everyone's heard about. It's such a natural part of the way I use my phone and computer that I'd totally forgotten it was something I initially downloaded to test!

Well, no longer: TechRadar has let me wax lyrical about Phone Link, and I'm going to give the tool its time in the sun.

Sending photos from phone to PC

A screenshot of Phone Link on Windows, showing a photo of some headphones.

(Image credit: Future)

For the most part, whenever I want to connect my phone to my PC, it's to move pictures between the two devices.

As a smartphone journalist, you can understand that I'm sending snaps from my phone to my computer a lot. Sometimes it's camera samples from a mobile I'm testing that I want to upload for a review. Occasionally, I want to back up pictures I really like before I wipe a phone and send it back to the company.

The most frequent use case, though, is to transfer to my PC pictures I've taken on one phone, of another. I use smartphones to do review photography, and it's a great way to test out a phone I'm reviewing.

Before Phone Link, I'd have to use a USB cable to connect my phone to my computer β€” approving the connection on my Android's end, because they're always annoyingly suspicious β€” and drag and drop all the relevant pictures into a folder on my computer. It's not an especially onerous process β€” it's a lot quicker than when I used to use Google Drive to transfer pictures, for instance β€” but it takes a little while of fiddling with my phone and digging out a cable to work.

Not so with Phone Link. Its Photos tab shows a big old list of all the pictures you've taken recently, giving you options to save them to your PC, open them in an editing app, and share them with others.

These pictures appear as soon as you take them, as long as your phone is on the same Wi-Fi as your computer. I've become used to taking photos in one room of my home, and entering my office, to see them linked up on Phone Link, ready for an edit. When I've got PC notifications turned on, I can even hear the 'bong' of my computer telling me they've arrived.

Phone Link also lets you browse the contents of your mobile in the Files tab, where it appears in the Devices and drives list alongside any cloud or local drives you have. I don't use my phone to handle non-photo files, but it's a nice touch that'd be really useful if I were in another line of work.

Apps on my PC

The Windows Phone Link Apps menu on the right, and on the left the window for Too Good To Go.

(Image credit: Future)

Ostensibly, one of the main uses for Phone Link is that it lets you open your smartphone apps on your computer. Its Apps page shows you a massive list of every one you have installed on your mobile, and clicking on it opens it in a window.

This doesn't override anything you have going on on your phone; if you're using it as a second screen to watch a YouTube video or act as a music player (one of many ways you can repurpose an old Android phone), the app will open in your PC window alone.

When I first started Phone Link, I tried using it for everything, but often bounced straight off. In many circumstances, using a smartphone is simply more intuitive than using a mouse and keyboard, given that phone apps are designed for thumbs. But over time, I've found a few uses of Phone Link's app windows that are genuinely handy.

As mentioned, one of those uses is as a music player. I can let Spotify hang around as a spare window, ready to skip tracks or change playlists when I want. It's also useful as a way to check apps that don't have PC equivalents, like Too Good To Go or Mubi Go, or ones that do have web functions but are easier on the phone, like my national health service's app.

There's one way that Phone Link saved me hours, though. When I used to work for a company that didn't let you use your work Gmail account on personal computers, Phone Link was my workaround to still see emails on my PC. This saved me ages each day; time that'd otherwise be taken up checking and replying to emails on my phone, or trying to get my decrepit work laptop to turn on.

Naturally, you can manage your calls and texts via Phone Link too. Personally, I don't think I've sent an SMS or made a non-WhatsApp voice call since the 2010s, but I'm sure there are some people who'd find this handy.

I also appreciate a notification list down the left side of Phone Link. This transforms it from being software solely for controlling your mobile to a veritable hub of information from your handset. I'll often keep it up on my second monitor; it makes good use of its space.

Controlling my phone from my computer

A snippet from the Windows Phone Link app, showing phone controls.

(Image credit: Future)

As mentioned, you can use your computer to control your mobile's apps via Phone Link, but you can also use it to change the actual settings of the device itself, which proves itself useful in an entirely different way.

Phone Link lets you monitor your phone status; I can see how it's connected to other devices, what battery it's on, and whether it's currently paired with Phone Link or not. I can even see a little representation of what my wallpaper currently is. All useful to a small degree, but the charge is the only one of those that's seriously useful.

What's more important are the status controls. You can toggle between vibrate, sound, and silent, turn Do Not Disturb on and off, and turn on the media player.

From a cursory mention of the tools, these might not sound that important, but I've found them really useful in a pinch. I'm constantly forgetting to mute my phone before I go on a video meeting, and a quick click of the Do Not Disturb button means I'm not going to have unexpected calls.

As a lazy person, I also love the fact that you can use Phone Link to play a sound from your phone; I'm always doing this instead of spending five seconds actually looking.

My one gripe with Phone Link is that I still need my phone with me to use it. When you start using it each session, you're required to unlock your device and approve the connection. But this is a small price to pay for the transformational effect it's had on my workflow β€” and I hope that you, too, consider giving it a try.

❌
❌