LOADER
HOLLOWING
REGASM
PAY-PER-INSTALL
DetectionBlue TeamSOCOctober 12, 2026•9 min read

Detecting the Loader-to-Stealer Chain

Many stealers never run as themselves. A loader fetches them, then hides them inside a trusted Windows binary that has no reason to touch the network.

Scroll

Stealers are frequently delivered by loaders, some sold as pay-per-install services, through cracked software, malvertising, email and fake updates. The loader downloads an encrypted payload and runs it inside a trusted process, often a .NET host from the framework directory. Detecting the hand-off finds the stealer before the theft, and finds the loader even when the stealer is new.

Signals at a Glance

SignalWhereATT&CK
Script, document or installer downloads a PE or encrypted blob to a user-writable pathProcess creation, proxy, Sysmon 11T1105
RegAsm, MSBuild, InstallUtil, AppLaunch or jsc started by a user-writable parentProcess creationT1055.012
Framework .NET host making outbound network connectionsSysmon 3, EDR networkT1055
Suspended process creation followed by remote memory writesSysmon 8/10, EDRT1055.012
AutoIt or script-interpreter loader executing from an extracted archiveProcess creationT1059

Trusted Hosts That Should Be Quiet

The .NET command-line tools used for builds and registration rarely make network connections on a normal endpoint. When a stealer is hollowed into one, that is its first visible act. This rule is cheap and high value:

title: Network Connection from .NET Utility Often Used as Injection Host
logsource:
  category: network_connection
  product: windows
detection:
  selection:
    Initiated: 'true'
    Image|endswith:
      - '\RegAsm.exe'
      - '\RegSvcs.exe'
      - '\MSBuild.exe'
      - '\InstallUtil.exe'
      - '\AppLaunch.exe'
      - '\jsc.exe'
      - '\vbc.exe'
  filter_internal:
    DestinationIp|cidr:
      - '10.0.0.0/8'
      - '172.16.0.0/12'
      - '192.168.0.0/16'
  condition: selection and not filter_internal
level: high
# tune/validate: build servers and developer machines run MSBuild with network access

Hunting the Hand-Off

Look at lineage as well as the connection. A utility spawned by a binary in a user-writable path, with no meaningful command line, is the hollowing pattern:

// Microsoft Defender (KQL) - .NET utilities launched by user-writable parents
DeviceProcessEvents
| where FileName in~ ("RegAsm.exe","RegSvcs.exe","MSBuild.exe","InstallUtil.exe","AppLaunch.exe","jsc.exe","vbc.exe")
| where InitiatingProcessFolderPath has_any ("\\AppData\\","\\Temp\\","\\ProgramData\\","\\Users\\Public\\","\\Downloads\\")
| where ProcessCommandLine endswith FileName or ProcessCommandLine endswith strcat(FileName, "\"")
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
          InitiatingProcessFileName, InitiatingProcessFolderPath, InitiatingProcessCommandLine
// tune/validate: developer workstations and CI agents need a scoped exclusion
Vetted sources

Use SigmaHQ process-hollowing and suspicious .NET utility rules, Elastic detections for process injection and suspicious RegAsm or MSBuild activity, Splunk ESCU analytics and MITRE CAR injection analytics. Baseline build servers and developer endpoints first; MSBuild and RegAsm are legitimate tools there.

Build Detections That Fire

Mjolnir Security helps blue teams turn threat intelligence into high-fidelity detections across endpoint, network, identity and cloud telemetry.

Detection EngineeringManaged Detection & ResponseThreat HuntingIncident ResponsePurple Teaming
  • Detection Engineering We build and tune detections mapped to ATT&CK from your own telemetry.
  • Threat Hunting as a Service Hypothesis-driven hunts for the behaviours on this page.
  • 24/7 Incident Response Containment when a detection fires. Call +1 833 403 5875.
Written by: Mjolnir Threat Research (MTAC)  |  Published: October 12, 2026  |  Last reviewed: October 12, 2026