Skip to content

EDR flags a svchost.exe that was started suspended, had its image unmapped, then resumed. What technique is this and what do you do?

Short answer

It matches process hollowing (MITRE T1055.012): a legitimate process is created suspended, its memory unmapped, malicious code written in, then the thread context is set and resumed. The process name is trustworthy-looking but the code is not. Isolate the host, dump the process memory for analysis, and use behavior-based prevention on that API sequence. Whitelisting by process name would miss it.

The alert names a trusted binary, which is exactly why hollowing works. The task is to recognize the sequence rather than the process name.

The technique

MITRE ATT&CK T1055.012 describes the steps. A legitimate process is created in a suspended state with CreateProcess; its memory is unmapped with ZwUnmapViewOfSection or NtUnmapViewOfSection; malicious code is written into the freed space via VirtualAllocEx and WriteProcessMemory; the thread context is adjusted with SetThreadContext; and ResumeThread runs the payload. MITRE notes it creates a new process rather than targeting an existing one, unlike other injection methods. Its detection strategy targets precisely this call sequence.

Response

  1. Contain the host, since the running "svchost.exe" executes attacker code.
  2. Capture memory of that process so you can analyze the injected payload, not the benign image on disk.
  3. Prevent by behavior: MITRE lists Behavior Prevention on Endpoint (M1040) as the mitigation, blocking common injection sequences.
  4. Hunt for the parent process that spawned it and for other hosts.

Why the others fail

Allow-listing by name is what the attacker relies on. DLL side-loading and ransomware are different techniques; deleting a DLL or restoring backups never examines the hollowed process.

What interviewers want

Recognize the API chain, analyze memory, and rely on behavior rather than names.

Likely follow-ups

  • How does process hollowing differ from classic DLL injection into an existing process?
  • How would you compare the in-memory image of a process with its on-disk file during triage?
  • Which parent-child and command-line anomalies would raise your confidence for a hollowed svchost.exe?

Sources

Get 100 cybersecurity interview questions + answers

Drop your email and we'll send you the free PDF pack and the flashcard deck.

No spam. Unsubscribe anytime.