Threat reportThreat IntelligenceTL-2026-3765
Fox-IT Research: EDR Evasion via Custom Bytecode Virtual Machine (Malware Virtualisation)
Fox-IT Research (TL-2026-3765), also tracked as Malware Virtualisation, is a medium-severity tracked intrusion set, first published 2026-10-16. It has no confirmed attribution, affects Various Endpoint Detection and Response (EDR) products, maps to 13 MITRE ATT&CK techniques (T1021, T1027, T1027.013), and is covered by 9 detection rules and 3 indicators of compromise.
- Severity
- MEDIUMAssessed severity
- CVEs
- 0None referenced
- Techniques
- 13MITRE ATT&CK
- Actors
- 0Not attributed
- Detection rules
- 9SPL · KQL · Sigma
- IOCs
- 3Indicators of compromise
Key facts for TL-2026-3765
- Threat ID
- TL-2026-3765
- Also known as
- Malware Virtualisation, Bytecode VM EDR Evasion
- Severity
- MEDIUM
- Status
- TRACKING
- Category
- THREAT_INTEL
- First published
- Last reviewed
- Attribution confidence
- LOW
- Motivation
- UNKNOWN
- Detection rules
- 9
- Indicators of compromise
- 3
Malware and tooling in Fox-IT Research
Malware and tooling: Centurion, Fox-IT malware virtualisation tool, iced-x86
How Fox-IT Research works
Fox-IT (NCC Group) red-team research describes a custom bytecode virtual machine that runs payloads as encrypted, polymorphic VM instructions instead of native x86-64 code to evade EDR. It is offensive technique research, not an observed in-the-wild campaign; no CVEs, IOCs or attribution are stated in the source.
Fox-IT authors Boudewijn Meijer and Rick Veldhoven published (2024-09-25, page updated 2026-05-21) the evolution of an in-house evasive payload-delivery tool used in red-team engagements. Moving beyond in-memory execution of native payloads, the tool executes malicious logic as bytecode in a custom virtual machine so that real native instructions of the payload never exist in memory in recognizable form.
VM design: a simple, position-independent interpreter with a fixed 18-byte instruction format (opcode, operand types, two 64-bit operands), 17 registers (x86-64 general-purpose registers plus GS), and a virtual stack separate from the real thread stack to avoid stack-inspection heuristics. A context structure holds the instruction pointer, flags, registers, bytecode buffer pointer and stack. Instructions are encrypted in place: the dispatch loop decrypts each instruction before execution and re-encrypts it afterwards, so the instruction size must stay constant and no fully decrypted bytecode image exists at rest.
Evasion features: (1) a polymorphic engine, in use at Fox-IT since 2015, with instruction substitution, basic-block reordering, basic-block creation via jumps/push-ret chains and NOP insertion, whose output can be fed back into itself for iterative mutation; (2) concurrent execution of several VMs on the same thread (a malicious VM interleaved with a VM generating benign events) to disrupt behavioural, event-pattern-based detection; (3) a transpiler that compiles C/C++ to x86 and uses the iced-x86 disassembly library to convert instructions into the custom bytecode, allowing existing position-independent code tools and Beacon Object Files to be ported. Native API calls are made through variadic C++ templates that place the argument count in RCX; callbacks use tagged function pointers (0xDEADBEEF markers) to distinguish bytecode from native targets; DLL entry follows DllMain semantics; user arguments are passed as an encrypted key-value structure.
Reported results: the approach was used successfully in heavily monitored environments with state-of-the-art EDR, delivering persistence modules, lateral-movement tools, shellcode/bytecode executors, AV/EDR patchers, HTTP(S) and DNS beacons and Active Directory query tools. Stated limitations: no dynamic control flow (indirect calls/jumps, RET), position-independent code only, no static variables, globals, strings or library dependencies.
Defender relevance: the source gives no detection guidance. Related public research (Praetorian Centurion, 2026-06-09; Splunk analysis of Vidar's virtualized code, 2026-09-08) shows the same concept of VM-protected payloads; defenders should focus on behavioural and memory-structure detection (small interpreter stubs, fixed-width dispatch loops, anomalous in-memory executable regions with high-entropy data, hidden VM infrastructure) rather than static signatures. No atomic IOCs exist for this technique; the IOC list contains technique/tool artifacts documented in the source. Severity is an analyst estimate.
MITRE ATT&CK techniques used in TL-2026-3765
Lateral Movement
Defense Evasion
T1027 Obfuscated Files or Information; T1027.013 Encrypted/Encoded File; T1027.014 Polymorphic Code; T1140 Deobfuscate/Decode Files or Information; T1620 Reflective Code Loading
Command and Control
T1071.001 Web Protocols; T1071.004 DNS
Discovery
Execution
Persistence
T1547 Boot or Logon Autostart Execution
Resource Development
defense-impairment
Affected products and versions in Fox-IT Research
- Various — Endpoint Detection and Response (EDR) products
Remediation for Fox-IT Research
Immediate actions
- Validate EDR coverage for in-memory execution and anonymous executable memory regions using red-team or purple-team exercises
- Review detections that rely only on static signatures or single-event patterns; add behavioural correlation
Workarounds
- Application allow-listing to limit unsigned loaders and unknown executables that could host an in-memory VM
Longer-term hardening
- Develop memory-scanning and behavioural detections for interpreter/dispatch-loop structures and fixed-width custom instruction streams
- Correlate process telemetry across a single thread for interleaved benign and suspicious API activity
- Enable memory-integrity and exploit-protection features (e.g. restricting dynamic code generation) where operationally feasible
Timeline of Fox-IT Research
- Fox-IT states its polymorphic engine has been in use since 2015 (year only stated in source)
- Fox-IT publishes 'Red Teaming in the age of EDR: Evasion of Endpoint Detection Through Malware Virtualisation' by Boudewijn Meijer and Rick Veldhoven
- Fox-IT blog post shown as updated on 2026-05-21
- Praetorian publishes Centurion, a virtualized loader running payloads as bytecode in a custom 18-byte-instruction VM
- Splunk Threat Research Team publishes analysis of Vidar malware using virtualized code for string encryption
- Threat record researched and added to the Threadlinqs platform as technique research
Sources cited for Fox-IT Research
- Red Teaming in the age of EDR: Evasion of Endpoint Detection Through Malware Virtualisation (Fox-IT)
- Centurion: virtualized loader (Praetorian)
- Peeling Back the Layers: Inside Vidar - From Virtualized Code to Stolen Credentials (Splunk)
- iced-x86 disassembler/assembler library
- MITRE ATT&CK T1027 Obfuscated Files or Information
- MITRE ATT&CK T1027.014 Polymorphic Code
- MITRE ATT&CK T1620 Reflective Code Loading
Detection coverage for TL-2026-3765
As of 2026-10-16, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-3765 across Splunk SPL, Microsoft KQL and Sigma, covering 3 indicator(s) of compromise. The whole corpus is readable without an account; a free account unlocks full detection query text in Splunk SPL, Microsoft KQL and Sigma; paid tiers add raw indicator values, correlation and the MCP server. Threadlinqs MCP server · View plans.