Process hollowing: svuotare un processo e riempirlo
Il process hollowing fa girare codice malevolo sotto le sembianze di un processo di sistema affidabile (svchost, notepad).
Il flusso
CreateProcess("notepad.exe", CREATE_SUSPENDED)
NtUnmapViewOfSection(target, imageBase) # svuota
VirtualAllocEx + WriteProcessMemory # scrivi il PE malevolo
SetThreadContext(entry = nuovo EP)
ResumeThread # parte il malwareIl processo mantiene nome, path e (spesso) firma apparente del legittimo, ma esegue tutt'altro. Buono per evadere controlli superficiali basati sul nome.
Difesa
Gli EDR rilevano l'incoerenza tra l'immagine su disco e quella in memoria (memory scanning, module stomping detection), i processi creati sospesi seguiti da unmap/write, e i mismatch dell'entry point. Confronto immagine-su-disco vs in-memoria è la contromisura chiave.