Asynchronous Procedure Call
Auf attack.mitre.org ansehen →10 Syscalls implementieren diese Technik
- NtQueueApcThread
Reiht einen Usermode-APC (Asynchronous Procedure Call) in die Queue eines Zielthreads ein.
- NtQueueApcThreadEx
Reiht einen User-APC für einen Thread mit optionalem Reserve-Objekt oder Special-User-APC-Flag zur erzwungenen Zustellung ein.
- NtTestAlert
Prüft, ob der aufrufende Thread einen anstehenden Alert hat, und stellt ggf. eingereihte User-Mode-APCs zu.
- NtAllocateReserveObject
Reserviert vorab ein Kernel-Reserve-Object (APC oder Completion), damit künftige Operationen unter Speichermangel nicht fehlschlagen.
- NtResumeThread
Verringert den Suspend-Count eines Threads; bei Wert null wird die Ausführung fortgesetzt.
- NtAlertResumeThread
Setzt einen suspendierten Thread fort und alarmiert ihn gleichzeitig, sodass anstehende APCs zugestellt werden.
- NtSetContextThread
Setzt den CPU-Registerkontext eines Threads — die Kernel-Primitive hinter Thread-Hijacking und Shellcode-Umleitung.
- NtWaitForSingleObject
Wartet, bis ein Dispatcher-Objekt signalisiert wird oder das optionale Timeout abläuft.
- NtWaitForMultipleObjects
Wartet auf bis zu MAXIMUM_WAIT_OBJECTS Dispatcher-Objekte mit WaitAny- oder WaitAll-Semantik.
- NtSetTimer
Bewaffnet ein Timer-Objekt mit Due-Time, optionaler Periode und optionaler beim Ablauf feuernder APC-Routine.