Asynchronous Procedure Call
Ver en attack.mitre.org →10 syscalls implementan esta técnica
- NtQueueApcThread
Encola una llamada a procedimiento asíncrono (APC) en modo usuario para un hilo objetivo.
- NtQueueApcThreadEx
Encola un APC de usuario a un hilo con objeto reserva opcional o flag special-user-APC para entrega forzada.
- NtTestAlert
Comprueba si el hilo llamante tiene una alerta pendiente y entrega, en su caso, las APC en cola en user-mode.
- NtAllocateReserveObject
Pre-asigna un reserve object de kernel (APC o completion) para que operaciones futuras no fallen bajo presión de memoria.
- NtResumeThread
Decrementa el contador de suspensión de un hilo, reanudando la ejecución cuando llega a cero.
- NtAlertResumeThread
Reanuda un hilo suspendido y lo alerta a la vez para entregar cualquier APC pendiente.
- NtSetContextThread
Establece el contexto de registros de la CPU de un hilo — primitiva del kernel detrás del secuestro de hilo y la redirección de shellcode.
- NtWaitForSingleObject
Espera hasta que un objeto dispatcher se señale o expire el timeout opcional.
- NtWaitForMultipleObjects
Espera hasta MAXIMUM_WAIT_OBJECTS objetos dispatcher con semántica WaitAny o WaitAll.
- NtSetTimer
Arma un objeto timer con un due time, periodo opcional y rutina APC opcional disparada al expirar.