5. Indirect Syscalls intro
Indirect syscalls use a jump to dynamically resolve the syscall location inside ntdll.dll
.
Indirect syscalls help avoid detection by maintaining a more natural execution flow.
Indirect Syscall Workflow:
- Locate the
ntdll.dll
export for the target syscall dynamically at runtime. - Extract the syscall stub address and jump to its location.
- Execute the syscall via the legitimate
ntdll.dll
mapping, maintaining a normal call stack. - Return the result to user-mode.
https://redops.at/en/blog/direct-syscalls-vs-indirect-syscalls