Book a demo →
← All posts
Threat Watch

Formbook XLoader: A Fake Order That Hides Inside a Windows Process

A localized order lure in a ZIP ends with Formbook XLoader hiding inside the Windows process aspnet_compiler.exe to steal saved browser logins.

Formbook XLoader: A Fake Order That Hides Inside a Windows Process

AegisAI Threat Watch · Process hollowing

Formbook XLoader: A Fake Order That Hides Inside a Windows Process

An order-themed ZIP attachment starts a script chain that hollows Formbook XLoader into aspnet_compiler.exe and steals saved browser logins.

TL;DR
What
A ZIP of order documents carries a script that ends with Formbook XLoader running inside aspnet_compiler.exe, a signed Windows utility, and stealing saved browser logins.
Who it hits
Procurement and finance staff, mainly at manufacturing and technology firms, in sandbox data from the UK, Italy, the Balkans and the South Caucasus.
Why scanners miss it
Every stage runs as a trusted Windows tool or in memory, so a check on process names sees nothing unusual.
Do today
Hunt for hidden PowerShell started by wscript.exe, and for aspnet_compiler.exe or rekeywiz.exe launching with an unusual parent.

Reported by ANY.RUN, 10 November 2026.

A Formbook XLoader campaign hides inside a signed Windows process: an order-themed ZIP starts a script chain that hollows the malware into aspnet_compiler.exe, so the thief runs under a trusted name while it reads saved browser logins.

Process hollowing means starting a legitimate program in a suspended state, emptying its memory and loading attacker code in its place. The process still carries the legitimate name, which is why a defence that trusts process names has nothing to flag. Formbook, also sold as XLoader, is an infostealer that has been sold as a service since 2016.

Analysis based on ANY.RUN research published on 10 November 2026. The same malware family has hit the same part of Europe before: Infosecurity Magazine reported earlier Formbook campaigns against Greece, Spain, Slovenia, Bosnia and Croatia in April 2026. Threat Watch has also covered order emails that pass DMARC.

15
launches of aspnet_compiler.exe seen in a single sandbox session
5 s
how often the Operate-Beacon watchdog checks that the hollowed process is alive
2 MB
size of the obfuscated JavaScript file inside the ZIP
16 days
from the first sandbox submission (7 October) to the archive seen as an email attachment (23 October)

Source: ANY.RUN, 10 November 2026. The 15 launches and the 5 second check are from one analysed sandbox session.

Key judgments

  • Every stage borrows trust. The script runs through wscript.exe, the next stage runs in memory through PowerShell, the malware sits inside aspnet_compiler.exe and later moves into rekeywiz.exe, so a rule that keys on a suspicious file or process name has little to match.
  • The ZIP is mostly noise. The JavaScript is about 2 MB of obfuscator.io output with encrypted strings, built to defeat static analysis rather than to hide a short script.
  • Killing the process does not end the infection. A watchdog named Operate-Beacon checks every five seconds whether the hollowed process is running and reloads the injector if it is not.
  • The lure follows the recipient's language and routine. The related samples use Croatian, Bosnian, Turkish and Azerbaijani themes, so a defence tuned to one language of lure misses the rest, as the researchers note.
  • Persistence is named to blend in. The Run key values and the Startup shortcut both use the pattern SystemUpdate_ps_*, and the shortcut is described as "System Update Service".

Evaluating email security tools? The 2026 Buyer's Guide to Email Security has nine evaluation areas and the questions to ask vendors. Get the guide.

How does Formbook XLoader hide inside aspnet_compiler.exe?

ANY.RUN describes one chain from the ZIP to the stolen data. Steps 1 to 3 are the delivery and the loader; steps 4 to 6 are the injection, the watchdog and the theft.

  1. An employee in procurement or finance receives a message with a ZIP attachment named like a routine business document. The analysed archive, Nova narudžba 0148-712.zip, carries a Croatian name for "new order" and holds a JavaScript file of the same name.
  2. Opening the script runs about 2 MB of obfuscated JavaScript. It decodes an embedded PowerShell payload, writes it to a randomly named file under C:\Temp\ (or %TEMP% as a fallback) and starts it with hidden, non-interactive flags. A WMI check kills the process if it runs longer than 50 seconds.
  3. The PowerShell stage, headed "PowerShell Modular AES Pipeline Loader", decrypts the next stage and runs it in memory. It then clears its resource map and forces garbage collection to leave less for disk-based analysis.
  4. The decrypted stage holds a .NET injector named GHOST.dll, protected with ConfuserEx, and the Formbook payload. The injector hollows Formbook into aspnet_compiler.exe, a legitimate Windows utility.
  5. The watchdog, Operate-Beacon, checks every five seconds that the hollowed process is still running and reloads GHOST.dll if it is not. Analysts saw 15 launches of aspnet_compiler.exe in one session.
  6. Formbook then moves into rekeywiz.exe, a legitimate Windows EFS utility, launches Firefox and creates a randomly named file in %TEMP%, which the researchers say is consistent with collecting browser databases before reading them. It contacts two command domains.

Source: ANY.RUN, 10 November 2026. The Croatian meaning of the file name is AegisAI's translation; ANY.RUN reports the name only.

What a defender sees at each stage

The table lists the process name at each step and why a name check alone does not help. It is AegisAI's reading of the reported chain.

StageWhat runsWhat looks normal about it
DeliveryZIP attachment holding a .js fileAn order document in the recipient's own language
Scriptwscript.exe runs the obfuscated JavaScriptA built-in Windows script host
LoaderHidden PowerShell runs a randomly named .ps1 from C:\Temp\ or %TEMP%PowerShell is in daily use by administrators
InjectionGHOST.dll hollows Formbook into aspnet_compiler.exeA signed Microsoft .NET utility
TheftFormbook inside rekeywiz.exe launches Firefox and reads browser dataA signed Windows EFS utility

The reported timeline

WhenWhat was reported
April 2026Infosecurity Magazine reports earlier Formbook campaigns using business-themed phishing emails with archive attachments against Greece, Spain, Slovenia, Bosnia and Croatia
7 October 2026The archive is first submitted to ANY.RUN's sandbox, and is submitted several times after that
23 October 2026The archive is seen arriving as an email attachment
10 November 2026ANY.RUN publishes its analysis

Source: ANY.RUN for the 2026 October and November dates; Infosecurity Magazine, 20 April 2026, for the earlier campaigns.

How do I detect Formbook process hollowing in aspnet_compiler.exe?

Detect the chain, not the file name. ANY.RUN's guidance is to examine parent processes, command-line arguments, execution context and memory behaviour instead of relying on process names, and to correlate several indicators, for example hidden PowerShell launched by wscript.exe, rather than a single filename.

Four signals from the report make workable hunting rules:

  • wscript.exe starting a hidden PowerShell instance that runs a randomly named script from C:\Temp\, with the flags -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -NonInteractive -NoLogo.
  • Repeated launches of aspnet_compiler.exe, which the researchers saw 15 times in one session, with a parent that is not a build tool.
  • rekeywiz.exe starting a browser. AegisAI's reading is that a utility for encrypting files has no reason to do so.
  • Run key values or Startup shortcuts that match SystemUpdate_ps_*.

On the network side, the command domains are the better indicator. One of the three associated IP addresses sits on shared hosting, so the researchers prefer domain-based detection to blocking the IP address alone. The traffic also carries a user-agent string that claims to be an Android 4.1.1 tablet while the host runs Windows, which makes an outbound proxy rule possible.

ControlWhat it sees in this campaignResult
Process-name allow list or reputationwscript.exe, powershell.exe, aspnet_compiler.exe, rekeywiz.exePasses
Static scan of the attachment2 MB of obfuscator.io output and an encrypted payloadLittle to match
IP address blockingOne of three addresses is shared hostingWeak and risky
Parent process and command-line ruleswscript.exe starting hidden PowerShell with bypass flagsCan be flagged
Domain-based network detectionThe two command domains and an Android user-agent from a Windows hostCan be flagged
Reading the message that carries the ZIPAn order or payment document in the recipient's language, with a script inside the archiveCan be flagged when it arrives by email

AegisAI's reading of the reported chain. The parent-process, domain and IP rows follow the researchers' reported guidance.

No new executable, no unusual process name. The attacker wrote an order and let Windows do the rest.

AegisAI Threat Intelligence

What this means for a security team

This section is AegisAI's analysis. The researchers name manufacturing and technology companies as especially exposed, because employees there handle purchase orders, supplier documents and payment requests every day. Any organization with a procurement or finance desk has the same exposure, and Formbook's reach is wider than one campaign: the same family appeared in the April reporting with different loaders and different archives.

Three questions settle the exposure: whether script files such as .js open with the Windows script host on staff machines, whether endpoint detection covers parent and child process relationships rather than names, and whether credentials saved in browsers can be reset quickly for a user who opened the archive.

Why standard controls miss it

This section is AegisAI's analysis. Controls that key on process names have nothing to object to, because wscript.exe, PowerShell, aspnet_compiler.exe and rekeywiz.exe all belong to Windows. Controls that scan files meet obfuscation built for exactly that, and an encrypted second stage that never reaches disk in readable form. The remaining signals are context: who started the process, with which arguments, and what it then did. Before any of that, the attack is a message. A business document in the recipient's language that holds a script file is a request to open it, and that request is visible when the email arrives.

How AegisAI protects against it

AegisAI has not observed this campaign. ANY.RUN reports that the archive arrived as an email attachment, so the approach below is how AegisAI treats a lure of this shape when it arrives by email. It does not cover what happens on an endpoint after the script runs.

AegisAI's agents evaluate the message and the destination it points to together, and pull a malicious message out of mailboxes before users see or click it. More on how that works: inbound email security.

When a lure or a compromised session is caught, the response compounds: the message is withheld at classification, copies already delivered are retracted, rewritten links refuse a late visit, the account's outbound and internal mail gets rescanned, and lateral phishing attempts to colleagues are blocked at the same bar rather than treated as a fresh, unrelated message.

How AegisAI stops credential phishing, 48 second video

How AegisAI stops credential phishing, 48 seconds

Recommendations for defenders

  • Block script attachments such as .js inside ZIP files at the mail layer where there is no business need, and set the default handler for .js on staff machines to a text editor rather than the Windows script host.
  • Add detections for wscript.exe starting hidden PowerShell with execution-policy bypass, and for aspnet_compiler.exe or rekeywiz.exe launched by an unexpected parent, started repeatedly or opening network connections.
  • Hunt for Run key values and Startup shortcuts matching SystemUpdate_ps_*, and detect the two command domains in proxy and DNS logs instead of blocking the shared IP address.
  • Brief procurement and finance staff that order, price-list and bank-transfer documents arrive in many languages, and that a script file inside an archive is never an order.
  • Where a user opened the archive, isolate the host, then treat browser-saved credentials as exposed: reset them and review the accounts they unlock.

FAQ

What is the Formbook XLoader campaign that hides inside aspnet_compiler.exe?

It is an infostealer campaign reported by ANY.RUN on 10 November 2026. A ZIP of localized order documents holds a JavaScript file that starts a PowerShell loader, which injects Formbook XLoader into the legitimate Windows process aspnet_compiler.exe through process hollowing. The malware then reads stored browser credentials.

Is Formbook the same malware as XLoader?

Yes, for practical purposes. ANY.RUN says XLoader is an evolution of Formbook and that both names are used for the same family. Infosecurity Magazine reports that Formbook has been sold as malware-as-a-service since 2016.

How do I detect Formbook process hollowing in Sysmon or EDR logs?

Correlate several signals instead of matching one process name. Look for wscript.exe launching hidden PowerShell that runs a randomly named script from C:\Temp\, repeated launches of aspnet_compiler.exe, and rekeywiz.exe starting a browser. Also look for Run keys or Startup shortcuts named SystemUpdate_ps_*.

Why does Formbook traffic show an Android user-agent on a Windows machine?

ANY.RUN observed that the campaign's command traffic used a user-agent string impersonating an Android 4.1.1 tablet even though it came from Windows hosts. That mismatch is a detection clue: a proxy rule that flags an Android user-agent from a Windows endpoint can surface the traffic.

For researchers

What the reporting does not tell us 4 gaps

Attribution. ANY.RUN names no threat actor and gives no victim counts. Its user-community figures describe its own platform, not infections.

Delivery. The archive is reported as an email attachment on 23 October. Senders, wording, volume and which organizations received it are not published, and the countries come from sandbox submissions, not from victim data.

Theft. Firefox launching and a random temporary file are described as consistent with collecting browser databases. What was read and what was sent to the command servers is not shown.

Link to earlier campaigns. The April 2026 reporting concerns the same malware family and region with different archives and loaders. Neither report ties the two to one operator.

Reported indicators 16 items

Indicators from ANY.RUN's report, defanged. Treat the file names as lure examples; the hashes are specific to this sample set.

TypeIndicatorRole
Domainwww[.]hlushkova[.]topCommand server
Domainwww[.]stanbicfinanceug[.]comCommand server
IP address91[.]234[.]194[.]113Associated with the campaign
IP address2[.]58[.]67[.]83Associated with the campaign
IP address5[.]9[.]115[.]199Shared hosting; do not block alone
SHA-25658eb890b612938867237c3fa1715b8742d9b25a8fe136cd75ea659882b7b7a10Nova narudžba 0148-712.zip
SHA-256a970e997093fcd10d108354423c8fa420a6887ed97cbf7c7dbe3551faa4d9b95Nova narudžba 0148-712.js
SHA-256b0ee22dee7a8a9710992294f73069f047d31506b50dc1150ef6013fcd6225ed1AES PowerShell loader
SHA-25645e598a8dddd7e9cc7b7e7a2f319c0e9f3f090ad4a089e50c3c9e4d75ee9d718PowerShell injector
SHA-2562974a808e24e76c1a9fecdaaecebefe27e841204bc1aa20536c32c1f0b309f47GHOST.dll
SHA-256f5c9a28325ed2eab5c7d029bfed410f05ae858b6b436e3b14891f29a6ec96d73Formbook payload
SHA-2564fd6430a61e5d42a452c3a7de94d03173b9eb02d06aa33357fe5ee9776524aecPersistence shortcut
NameOperate-BeaconWatchdog component
NameSystemUpdate_ps_*Run key values and Startup shortcut (.lnk, "System Update Service")
PathC:\Temp\ps_<random>_<timestamp>.ps1Randomly named PowerShell stage (%TEMP% as fallback)
User-agentAndroid 4.1.1 tabletSent from Windows hosts in command traffic
MITRE ATT&CK mapping 8 techniques

This mapping is AegisAI's own reading of the reported behaviour; ANY.RUN's report lists no technique IDs. IDs and names were checked against attack.mitre.org on 11 November 2026.

IDNameUse in this campaign
T1566.001Phishing: Spearphishing AttachmentThe ZIP arrives as an email attachment disguised as an order document.
T1204.002User Execution: Malicious FileThe recipient opens the JavaScript file inside the archive.
T1059.007Command and Scripting Interpreter: JavaScriptThe obfuscated JavaScript starts the chain.
T1059.001Command and Scripting Interpreter: PowerShellA hidden PowerShell stage decrypts and runs the next stage in memory.
T1027Obfuscated Files or Informationobfuscator.io output, an encrypted PowerShell payload and a ConfuserEx-protected injector.
T1055.012Process Injection: Process HollowingGHOST.dll hollows Formbook into aspnet_compiler.exe.
T1547.001Boot or Logon Autostart Execution: Registry Run Keys / Startup FolderSystemUpdate_ps_* Run key values and a Startup shortcut.
T1555.003Credentials from Password Stores: Credentials from Web BrowsersReported as consistent with collecting browser databases before reading them; theft itself is not confirmed.
References 3 sources
  • ANY.RUN (10 Nov 2026). Formbook malware analysis, November 2026. any.run
  • Infosecurity Magazine (20 Apr 2026). Formbook malware campaigns. infosecurity-magazine.com
  • MITRE ATT&CK. Enterprise techniques T1566.001, T1204.002, T1059.007, T1059.001, T1027, T1055.012, T1547.001 and T1555.003. attack.mitre.org

Every email, investigated.

When an order-themed message with a script inside an archive reaches a work inbox, see how AegisAI reads the request and where it leads.

Phishing that reaches the inbox, stopped before anyone clicks.

Book a demo