Contains all the material from the DEF CON 31 workshop "(In)direct Syscalls: A Journey from High to Low".
-
Updated
Jan 19, 2024 - C
Contains all the material from the DEF CON 31 workshop "(In)direct Syscalls: A Journey from High to Low".
The following two code samples can be used to understand the difference between direct syscalls and indirect syscalls
windows syscalls with a single line and a high level of abstraction. has modern cpp20 wrappers and utilities, range-based DLL and export enumeration, wrapper around kuser_shared_data. supported compilers: clang, gcc and msvc
Start with shellcode execution using Windows APIs (high level), move on to native APIs (medium level) and finally to direct syscalls (low level).
This code example allows you to create a malware.exe sample that can be run in the context of a system service, and could be used for local privilege escalation in the context of an unquoted service path, etc. The payload itself can be remotely hosted, downloaded via the wininet library and then executed via direct system calls.
Add a description, image, and links to the direct-syscalls topic page so that developers can more easily learn about it.
To associate your repository with the direct-syscalls topic, visit your repo's landing page and select "manage topics."