Process injection: eseguire codice in un altro processo
Iniettare codice in un processo legittimo (explorer.exe, un browser) permette di eseguire sotto la sua identità, ereditarne i privilegi e mimetizzarsi.
La tecnica canonica
h = OpenProcess(target)
p = VirtualAllocEx(h, ..., PAGE_EXECUTE_READWRITE)
WriteProcessMemory(h, p, shellcode, ...)
CreateRemoteThread(h, ..., p, ...)Varianti più furtive evitano CreateRemoteThread: APC injection (coda una funzione su un thread esistente), thread hijacking (sospendi un thread, cambi il contesto), mapping di sezioni condivise.
Difesa
Gli EDR monitorano la sequenza VirtualAllocEx+WriteProcessMemory+CreateRemoteThread e le regioni RWX. CFG, blocco di codice non firmato (WDAC), e mitigazioni ASR di Defender riducono la superficie. Allocazioni RWX in un processo sono un forte indicatore.