RemotePE Lazarus in-memory RAT title banner from the Fox-IT writeup

RemotePE: Inside Lazarus’s In-Memory RAT and Its DPAPI-Keyed Three-Stage Loader Chain

Attribution. This is an original English rewrite based on “RemotePE: The Lazarus RAT that lives in memory” by Yun Zheng Hu and Mick Koomen on the Fox-IT (NCC Group) International blog (published 22 May 2026). All research, screenshots, tables, IOCs and YARA rules are the original authors’ work. Figures, IOCs, YARA rules and command tables are reproduced at their original reading positions; surrounding prose is rewritten in our own words. Fox-IT’s related write-up on adjacent Lazarus RATs is “Three Lazarus RATs coming for your cheese” (2025).

RemotePE Lazarus in-memory RAT title banner from the Fox-IT writeup
Source: original article on the Fox-IT blog.

Executive Summary

Fox-IT (NCC Group) details RemotePE, a final-stage in-memory remote-access tool used by the Lazarus group (DPRK) against financial and cryptocurrency targets. RemotePE is delivered through a three-stage chain: DPAPILoader, an environmentally-keyed first-stage that uses DPAPI to bind decryption to the victim machine; RemotePELoader, an operator-controlled HTTP beacon that uses HellsGate-style direct syscalls, ETW patching and DLL unhooking to retrieve and decrypt the next stage from C2; and RemotePE itself — a reflective in-memory PE whose object model exposes a structured command interface (IConsole, IFileExplorer, IProcess, IConfigProfile, ITimer, IPing) and a 7-pass secure-delete routine that lines up cleanly with prior Lazarus families such as POOLRAT, ThemeForestRAT and PondRAT.

The campaign window spans July 2023 – May 2026 and shows an actor-in-the-loop delivery model: out of six recorded C2 sessions, payload return latency ranges from instant to ~20 hours, all converging on Korean Standard Time business hours. C2 traffic rides AES-GCM with SplitMix64-derived keys, MSZIP-compressed responses, and Microsoft-themed cookie / JSON-key masquerading (MicrosoftApplicationsTelemetryDeviceId, ai_session, armAuthorization, odata.metadata). The Fox-IT post ships a full IOC set, four YARA rules, infrastructure on Namecheap shared hosting, and a Dissect-based forensic workflow for offline DPAPI decryption.

Summary — The Three-Stage Chain

The chain is deliberately split so that each stage hides what comes after it. DPAPILoader is the only artefact on disk that is cryptographically tied to the victim; without that machine’s DPAPI key, neither the loader nor the configuration is decryptable in a lab. RemotePELoader is decrypted into memory by DPAPILoader and reaches out to the operator-controlled C2 for the third stage. RemotePE itself never touches disk: the operator returns it on demand, RemotePELoader maps it reflectively, and it executes entirely from memory.

Three-stage loader chain: DPAPILoader decrypts RemotePELoader which retrieves RemotePE into memory
Figure 1. The three-stage chain: DPAPILoader decrypts and loads RemotePELoader from disk, which retrieves and executes RemotePE in memory. Source: original article on the Fox-IT blog.

DPAPILoader: First-Stage, Environmentally-Keyed Loader

DPAPILoader is the persistent component. The earliest sample observed by Fox-IT masquerades as Iassvc.dll — the legitimate Microsoft Internet Authentication Service DLL — and is loaded by svchost.exe under a Windows service called Ias with the matching display name and description copied straight from the real IAS service. Service registration looks like a legitimate Microsoft component to any quick review:

          name (string) = Ias
   displayname (string) = Internet Authentication Service
   description (string) = Internet Authentication Service (IAS) is a component of Windows Server operating systems that provides centralized user authentication, authorization and accounting.
      servicedll (path) = %SystemRoot%system32Iassvc.dll
       imagepath (path) = %systemroot%system32svchost.exe
imagepath_args (string) = -k netsvcs -p
    objectname (string) = LocalSystem
         start (string) = Auto Start (2)
          type (string) = Service - Own Process (0x10)
  errorcontrol (string) = Normal (1)

DPAPI Encryption

DPAPILoader looks for an encrypted PE payload and configuration blob inside C:ProgramDataMicrosoftWindowsDeviceMetadataStoreen-US*.*, calls CryptUnprotectData() with the local DPAPI key, then XOR-decodes the cleartext with constant 0x8D. The decrypted PE is mapped reflectively via libpeconv and executed in process. Because DPAPI keys are derived from the victim’s logon credentials, this is textbook T1480.001 Environmental Keying — a sample lifted from one machine cannot be detonated on another.

For incident-response work, Fox-IT’s open-source Dissect framework can replay the decryption offline given the victim’s DPAPI master keys, producing the original PE for analysis:

Terminal output showing Dissect framework decrypting the DPAPI-encrypted PE payload
Figure 2. Decrypting the DPAPI-encrypted PE payload using Dissect. Source: original article on the Fox-IT blog.

Observed DPAPILoader Samples

PE timestampDLL nameExportString obfuscation
2023-11-14Iassvc.dllServiceMainXOR 0x8D
2024-02-21sspicli.dllInitSecurityInterfaceWXOR 0x8D
2024-08-21wmiclnt.dllWmiOpenBlockDPAPI + XOR 0x8D
Observed DPAPILoader samples by export and obfuscation. The 2024-02-21 build sideloads under ESET’s edp.exe through sspicli.dll export hijacking. Source: original article on the Fox-IT blog.

RemotePELoader: Second-Stage, Operator-Controlled Loader

RemotePELoader is the second-stage in-memory loader. Its single job is to retrieve and execute the next-stage PE (RemotePE) returned by the operator on demand. It does not stage the final RAT on disk and does not write logs — everything happens inside the same svchost.exe process the DPAPILoader runs in.

HellsGate & EDR Evasion

RemotePELoader uses HellsGate-style direct syscalls (lifted from TartarusGate) to resolve Nt* syscall numbers at runtime, bypassing any userland EDR hooks installed in ntdll.dll. It also unhooks the rest of ntdll by re-mapping a fresh copy from the KnownDlls object directory — a clean, EDR-friendly path that does not need to touch disk — and it patches EtwEventWrite with a two-instruction stub that zeroes the return value and returns immediately, silencing kernel-bound ETW telemetry from that process:

48 33 c0          ; XOR    RAX, RAX
c3                ; RET

Configuration

The RemotePELoader configuration is itself DPAPI-encrypted on disk, in the same DeviceMetadataStoreen-US*.* path. The decrypted structure carries the C2 URLs (up to three), an optional proxy, the polling-interval window, and the next wake-up timestamp:

struct RemotePEC2Config     // sizeof=0xb38
{
  int dwReconnectMinutes;   // minutes to wait after C2 session ends
  int dwSleepUntilEpoch;    // UNIX epoch wake-up timestamp
  int dwSleepMin;           // minimum sleep time between C2 polls
  int dwSleepMax;           // maximum sleep time between C2 polls
  wchar_t wsC2Url_1[260];   // C2 URL (up to three)
  wchar_t wsC2Url_2[260];
  wchar_t wsC2Url_3[260];
  wchar_t wsProxy[260];     // optional proxy address
  char    sProxyUserName[128];
  char    sProxyPassword[128];
  wchar_t wsUserAgent[260]; // configurable HTTP user-agent string
};
Terminal output showing Dissect framework decrypting the DPAPI-encrypted RemotePE configuration
Figure 3. Decrypting the DPAPI-encrypted config using Dissect. Source: original article on the Fox-IT blog.

C2 Communication

Each C2 message is wrapped in an AES-GCM envelope keyed off a per-message SplitMix64 seed; the seed, the authentication tag and the ciphertext travel together as a single binary blob:

struct C2Message {
    uint64_t       aes_seed;          // SplitMix64 seed for AES key and nonce
    unsigned char  aes_tag[16];       // AES authentication tag
    unsigned char  ciphertext[];      // AES-GCM encrypted data
};

RemotePELoader POSTs the envelope to one of its C2 URLs over HTTPS. The initial check-in carries an at_check=true cookie; the server replies with an ai_session identifier that the loader carries on every subsequent request. Identity and host-information are exfiltrated via the cookie surface itself — Microsoft-themed names make the traffic look like Office / Azure telemetry:

Cookie nameCookie value
MSCCRandom buffer matching [0-9a-z]{24} prepended to the literal -c1=2-c2=2-c3=2
MicrosoftApplicationsTelemetryDeviceIdBot ID
MSFPCRandom numbers, format %08lx%08lx%08lx%08lx
HASHRandom number, format %04x
LVCurrent year and month, YYYYMM format
VConstant number
LUEpoch of current time
MS0Random numbers (%08lx%08lx%08lx%08lx) — marks the request as RemotePELoader-originated
at_checkIndicates a check-in request (no session yet)
ai_sessionSession ID returned by the C2 after initial check-in
RemotePELoader check-in cookie fields. MS0 marks RemotePELoader, MUID marks RemotePE; the rest spoof Microsoft telemetry naming. Source: original article on the Fox-IT blog.

When the operator decides to deliver the next stage, the server response carries the next-stage PE inside an odata.metadata JSON key — another Microsoft-shaped envelope that blends into normal OData traffic:

Network traffic showing RemotePELoader C2 session in which the server returns the encrypted PE payload
Figure 4. RemotePELoader C2 session showing the server returning the encrypted PE payload. Source: original article on the Fox-IT blog.

RemotePE: Final-Stage, In-Memory RAT

RemotePE is the actual RAT — mapped reflectively by RemotePELoader, never written to disk. Internally it is structured around a small object hierarchy: IChannelController owns the network channel, IMiddleController dispatches incoming command batches to per-class handlers, and individual IConfigProfile / IConsole / IFileExplorer / IProcess / ITimer / IPing objects implement the actual operator commands. The class names themselves leak through the RTTI metadata and are what Fox-IT’s YARA rules anchor on.

Control Flow

RemotePE supports both polling and an out-of-band wake mechanism: it listens on a named Windows event (554D5C1F-AABE-49E4-AB57-994D22ECED28) so that another process on the same host can signal it to drop its sleep timer and beacon immediately. Command output is MSZIP-compressed via cabinet.dll before being sent back. File deletes go through a 7-pass secure-overwrite routine (constant-byte fill, rename, then unlink) that is byte-for-byte similar to the deletion routine seen in POOLRAT, one of the previously documented Lazarus families.

Diagram of RemotePE command parsing flow from C2 message to per-command handler
Figure 5. RemotePE command parsing. Source: original article on the Fox-IT blog.

Commands

Internal classClass IDFunction IDDescription
IConfigProfile00Get current C2 configuration
IConfigProfile01Set C2 configuration
IConsole10Get current working directory
IConsole11Change current working directory
IConsole12Execute command and return output
IConsole13Get loaded modules (DLLs)
IConsole14Register new module (DLL)
IConsole15Invoke registered module’s function pointer with arguments
IConsole16Unload module (DLL)
IFileExplorer20Get information on drives of system
IFileExplorer21List files in directory
IFileExplorer22Delete file (7-pass secure overwrite)
IFileExplorer23Rename file
IFileExplorer24Read from file
IFileExplorer25Write to file
IFileExplorer26ZIP file or directory and return as data
IProcess30Get process listing
IProcess31Kill process by ID
IProcess32Search for file in directories of a given environment variable
IProcess33Create process
IProcess34Create process as user
ITimer40Sleep X minutes (non-persistent)
ITimer41Sleep X minutes (persistent — written to C2 config on disk)
ITimer42Exit RemotePE
IPing5n/aNo-op command (keep-alive)
RemotePE command surface, indexed by the (class_id, function_id) tuple used inside the C2 protocol. Source: original article on the Fox-IT blog.

C2 Protocol

Commands are batched. Each request carries a 16-bit command count followed by an array of variable-length C2Command records, each tagged with the class/function tuple plus a request_id used to match responses:

struct C2Command {
    uint32_t       payload_size;
    uint16_t       class_id;        // class ID from the commands table
    uint16_t       function_id;     // function ID from the commands table
    uint32_t       request_id;      // used to match responses
    unsigned char  payload[];       // variable length, payload_size bytes
};

struct C2CommandBatch {
    uint16_t       command_count;
    C2Command      commands[];      // variable length, command_count entries
};

Responses mirror the same layout: a batch header, per-command response records each carrying a status code, the original request_id and an MSZIP-compressed output buffer:

struct C2CommandResponse {
    uint32_t       response_size;
    uint32_t       error;           // error code, if any
    uint32_t       request_id;      // used to respond to a C2Command request
    unsigned char  payload[];       // variable length, MSZIP-compressed, response_size bytes
};

struct C2CommandResponseBatch {
    uint16_t            command_count;
    C2CommandResponse   commands[]; // variable length, command_count entries
};

The response batch is wrapped in the same AES-GCM envelope as the request, base64-encoded, and shipped back in an armAuthorization JSON key on the HTTP response. Again, the field name is chosen to blend with legitimate Azure-style telemetry:

Captured HTTP response showing RemotePE returning command output to its C2 via the armAuthorization JSON key
Figure 6. RemotePE returning command output to the C2 server via the armAuthorization JSON key. Source: original article on the Fox-IT blog.

Fox-IT publishes a Python decryption helper as a public Gist — given a captured envelope and the SplitMix64 seed, it produces a readable response batch:

Example of a decrypted RemotePE C2 command response produced via the Fox-IT Python helper
Figure 7. Example of a decrypted C2 command response. Source: original article on the Fox-IT blog.

Retrieved Samples

PE timestampConfig loadingBot ID source
2023-07-04Reads DPAPI-encrypted config from diskSOFTWAREMicrosoftSQMClientMachineId
2023-10-17C2 URLs passed via lpThreadParameter, fixed User-AgentSOFTWAREMicrosoftSQMClientMachineId
2024-04-18Reads DPAPI-encrypted config from diskSOFTWAREMicrosoftSQMClientMachineId
2024-05-11DPAPI config path passed via lpThreadParameterSoftwareMicrosoftCryptographyMachineGuid
Observed RemotePE samples and their configuration-loading behaviour. Source: original article on the Fox-IT blog.

Infrastructure — Actor-in-the-Loop Delivery

Fox-IT recorded six RemotePELoader check-in sessions across the campaign. The delta between the check-in and the operator returning a RemotePE payload ranges from instant to almost a full day — but converted to Korean Standard Time (UTC+9), every payload return falls inside normal business hours, strongly consistent with a DPRK-operated dispatch desk:

C2 session started (UTC)Payload returned (UTC)DeltaPayload returned (KST, UTC+9)
2024-02-07 00:212024-02-07 01:0948 min2024-02-07 10:09
2024-12-09 08:482024-12-09 09:0820 min2024-12-09 18:08
2024-12-10 23:572024-12-11 00:4649 min2024-12-11 09:46
2025-01-10 08:212025-01-10 08:210 min2025-01-10 17:21
2025-02-10 21:562025-02-10 23:0367 min2025-02-11 08:03
2025-07-09 11:572025-07-10 07:5020 hrs2025-07-10 16:50
RemotePELoader C2 sessions and payload-delivery latency. KST-converted timestamps cluster inside Korean business hours. Source: original article on the Fox-IT blog.

C2 hostnames are themed around Microsoft / Azure / Akamai / Intel cloud-services and are hosted on Namecheap shared hosting, which makes IP-based blocking ineffective — legitimate domains live on the same address space. The campaign overlaps in tradecraft with Lazarus sub-clusters tracked as Citrine Sleet (Microsoft), UNC4736 (Google / Mandiant) and Gleaming Pisces (Unit 42), and with AppleJeus operations targeting cryptocurrency users.

Conclusion (Fox-IT)

RemotePE represents a maturation of the Lazarus toolkit: an in-memory RAT layered behind a victim-bound DPAPI key and an operator-in-the-loop delivery model, where the high-value third stage is only ever sent to confirmed targets and never sits on disk. The chain frustrates traditional sandbox analysis (you cannot detonate a sample lifted from a victim), defeats memory-only static IOCs (RemotePE has no on-disk fingerprint), and blends into Microsoft / Azure-themed traffic on shared hosting. Defenders need to anchor on the parts that do live on disk — DPAPILoader and the encrypted config — and on telemetry that survives ETW patching, such as kernel-mode auditing and network metadata.

Indicators of Compromise

Domains

DomainFirst seenLast seen
livedrivefiles[.]com2023-07-172025-07-27
aes-secure[.]net2023-09-18active
azureglobalaccelerator[.]com2023-09-18active
msdeliverycontent[.]com2024-02-192026-05-09
akamaicloud[.]com2024-02-192025-02-14
intelcloudinsights[.]com2024-04-132026-04-23
devicelinkintel[.]com2024-08-16active
RemotePE(Loader) C2 domains. Source: original article on the Fox-IT blog.

Host-Based Indicators

TypeIndicatorComment
file.nameIassvc.dllFilename used for DPAPILoader
event.name554D5C1F-AABE-49E4-AB57-994D22ECED28RemotePE-specific named event (out-of-band wake)
Host-based indicators. Source: original article on the Fox-IT blog.

Samples

SHA-256Comment
4f6ae0110cf652264293df571d66955f7109e3424a070423b5e50edc3eb43874DPAPILoader (Iassvc.dll)
aa4a2d1215f864481994234f13ab485b95150161b4566c180419d93dda7ac039DPAPILoader (wmiclnt.dll)
159471e1abc9adf6733af9d24781fbf27a776b81d182901c2e04e28f3fe2e6f3DPAPILoader (sspicli.dll)
7a05188ab0129b0b4f38e2e7599c5c52149ce0131140db33feb251d926428d68RemotePELoader (decrypted from disk)
37f5afb9ed3761e73feb95daceb7a1fdbb13c8b5fc1a2ba22e0ef7994c7920efRemotePE (2023-07-04)
6b33d20196267b0d64bca815ca863558d26b17cee77caf62a6cce8eae555ac8dRemotePE (2023-10-17)
62e040a32aac2d2faa8d2bffa2cf7ab662228cebf9bb78eaa0a633c0b729d119RemotePE (2024-04-18)
710f15302859c7af1c1e25219d704841b3fdbc48f16a5a574d5ab6cf4f4842e8RemotePE (2024-05-11)
Observed samples (SHA-256). Source: original article on the Fox-IT blog.

YARA Rules

rule Lazarus_DPAPILoader_Hunting {
  meta:
    description = "Hunting rule to detect DPAPILoader, a loader used to load RemotePE."
    author      = "Fox-IT / NCC Group"

  strings:
    $msg_1 = "[!] Could not allocate memory at the desired base!n"
    $msg_2 = "[!] Virtual section size is out ouf bounds: "
    $msg_3 = "[!] Invalid relocDir pointern"
    $msg_4 = "[-] Not supported relocations format at %d: %dn"
    $msg_5 = "[!] Cannot fill imports into 32 bit PE via 64 bit loader!n"

  condition:
    any of them and pe.imports("Crypt32.dll", "CryptUnprotectData")
}

rule Lazarus_RemotePE_C2_strings {
  meta:
    description = "RemotePE strings used for C2."
    author      = "Fox-IT / NCC Group"

  strings:
    $a = "MicrosoftApplicationsTelemetryDeviceId" wide ascii xor
    $b = "armAuthorization" wide ascii xor
    $c = "ai_session" wide ascii xor

  condition:
    uint16(0) == 0x5A4D and all of them
}

rule Lazarus_RemotePE_class_strings {
  meta:
    description = "RemotePE class strings."
    author      = "Fox-IT / NCC Group"

  strings:
    $a = "IMiddleController"  ascii wide xor
    $b = "IChannelController" ascii wide xor
    $c = "IConfigProfile"     ascii wide xor
    $d = "IKernelModule"      ascii wide xor

  condition:
    all of them
}

rule Lazarus_RemotePE_DPAPI_Encrypted_config {
  meta:
    description = "Detects RemotePE DPAPI-encrypted config on disk"
    author      = "Fox-IT Security Research Team"
  condition:
    filesize == 3094
    and uint32(0)    == 0x00000001   // DPAPI blob version = 1
    and uint32(0x8E) == 0x00000B40   // dwDataLen = 0xB40 (padded config)
}

Key Takeaways

  • Three-stage chain isolates the high-value payload. DPAPILoader + RemotePELoader are the only on-disk components; RemotePE itself is only ever returned by the operator on demand and lives entirely in memory. Sandbox detonation of either disk-resident stage in isolation does not yield RemotePE.
  • DPAPI binds the chain to the victim machine. The first-stage decryption key is the victim’s DPAPI master key — a textbook environmental-keying primitive (MITRE T1480.001). Without offline DPAPI key recovery, lab triage is impossible.
  • RemotePELoader is built specifically to defeat userland EDR. HellsGate-style direct syscalls bypass ntdll hooks, KnownDlls remapping unhooks the rest of ntdll, and a 5-byte xor rax,rax / ret stub neuters EtwEventWrite. Detection has to anchor on kernel-side telemetry.
  • The C2 protocol is well-engineered. AES-GCM per message, SplitMix64-derived keys, MSZIP-compressed responses, batched commands with per-command request IDs, and Microsoft-themed cookie / JSON-key surface (MicrosoftApplicationsTelemetryDeviceId, ai_session, armAuthorization, odata.metadata) that blends into legitimate Office / Azure traffic.
  • Operator-in-the-loop on Korean business hours. Across six observed C2 sessions, payload return latency varies from instant to ~20 hours, but every return falls inside KST 08:00–18:00 — strong behavioural attribution to a DPRK-operated dispatcher.
  • Reused tradecraft links RemotePE to the broader Lazarus tool family. The 7-pass secure-delete is shared with POOLRAT; the campaign overlaps with Citrine Sleet, UNC4736 / 3CX, Gleaming Pisces and AppleJeus operations. RemotePE replaces previously documented ThemeForestRAT / PondRAT lineage.
  • Namecheap shared hosting kills IP-blocklisting as a control. The C2 domains are themed around Azure / Akamai / Intel cloud naming and share infrastructure with legitimate tenants — blocking IPs nukes legitimate traffic too. Block at the FQDN / TLS-SNI / certificate level instead.

Defensive Recommendations

  • Hunt for DPAPILoader masquerading patterns. Alert on any HKLMSYSTEMCurrentControlSetServicesIas service that points to a ServiceDll whose hash does not match the genuine Microsoft IAS DLL; same logic for sspicli.dll and wmiclnt.dll sideload targets. Use the Fox-IT Lazarus_DPAPILoader_Hunting YARA rule against your EDR / VT retro-hunt corpus.
  • Watch the DeviceMetadataStoreen-US path. The encrypted payload and config blobs live in C:ProgramDataMicrosoftWindowsDeviceMetadataStoreen-US*.*. Any new file matching that mask with the size / DPAPI-version signature anchored in Lazarus_RemotePE_DPAPI_Encrypted_config deserves a hard look.
  • Detect ETW-patching at runtime. The two-byte stub (48 33 c0 c3) installed at EtwEventWrite is fingerprintable from kernel callbacks (PspCreateProcessNotifyRoutine, image-load callbacks) and from periodic integrity scans of executable pages in trusted system DLLs. Any non-Microsoft writer to those pages is the alert.
  • Treat KnownDlls remapping as suspicious. Legitimate code almost never opens KnownDllsntdll.dll directly and maps it as private-RW. EDR vendors with kernel callbacks should flag any user-mode NtOpenSection against KnownDlls from a process that is not csrss.exe / smss.exe.
  • FQDN-block the IOC domains and look for cookie-fingerprint hits. Apply the seven domains from the IOC table at DNS-level. In TLS-inspected environments, alert on cookies whose names match MicrosoftApplicationsTelemetryDeviceId + MS0 together — that combination is highly specific to RemotePELoader.
  • Capture and decrypt suspected C2 traffic with the Fox-IT helper. Where you have lawful access to packet captures or proxy logs that include the AES envelope, run the published Python helper (gist.github.com/fox-srt/6f838d0b574b095d578b2beed7dc2a24) to recover plaintext commands and command output.
  • Recover and triage with Dissect. For any DPAPI-encrypted artefact pulled off a victim host, use Dissect (Fox-IT’s open-source forensic framework) with the harvested master keys to recover the loader and config offline; this is the only practical path to a clean reverse-engineering sample because of the environmental keying.
  • Block the out-of-band wake event. The named Windows event 554D5C1F-AABE-49E4-AB57-994D22ECED28 is RemotePE-specific. Alert on any kernel-visible event creation matching that GUID; nothing legitimate should signal it.

Conclusion

RemotePE is a clean illustration of where Lazarus tradecraft has landed in 2026: the high-value payload is in-memory and operator-gated, the disk-resident stages are environmentally keyed, the network plane is Microsoft-themed and AES-GCM-encrypted, and the evasion stack is tuned specifically against userland EDR. Defenders cannot rely on sample lifting and detonation alone; the workable detection path runs through (1) hunting the masqueraded DPAPILoader services, (2) catching the ETW / KnownDlls tampering at runtime from kernel telemetry, and (3) anchoring network controls at the FQDN and cookie-fingerprint layer rather than at the IP layer, where Namecheap shared hosting wins. Pair the IOC and YARA set from the Fox-IT write-up with the Dissect-based offline DPAPI workflow and you have a workable response playbook.

References

Full credit for the vulnerability research, reverse-engineering, IOC set, YARA rules and screenshots goes to Yun Zheng Hu and Mick Koomen at Fox-IT (NCC Group). Read the original at blog.fox-it.com.

Comments are closed.