Windows malware and offensive tradecraft increasingly rely on direct system calls, NTDLL unhooking, and related userland-hook bypass methods to evade antivirus and EDR monitoring during code injection and process manipulation. Public research describes replacing high-level WinAPI calls with Nt* syscalls such as NtAllocateVirtualMemory, NtWriteVirtualMemory, and NtCreateSection, often through custom assembly stubs or frameworks like SysWhispers, to avoid hooks placed in ntdll.dll. Other documented techniques include restoring clean .text sections of loaded DLLs from disk, dynamically invoking APIs without standard imports, and abusing TLS-based reentrancy checks in inline hooks so security products skip behavioral inspection.
These methods are reflected in real malware analyses. WikiLoader was observed using indirect syscalls via ntdll.dll to change memory protections, inject code into bingmaps.dll, and later inject shellcode into explorer.exe with ZwOpenProcess, ZwAllocateVirtualMemory, and ZwWriteVirtualMemory. An XWorm loader used direct Nt* syscalls for section-based payload injection into legitimate processes while checking for JMP opcodes on Nt functions as an anti-hooking measure. A separate APT29-linked Dropbox loader resolved direct syscalls through hashed lookups and restored DLL code sections from disk to remove user-mode hooks before maintaining persistence and exchanging encrypted payloads through Dropbox-based command and control.

Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
12 events from the most recent confirmed update back to the earliest known activity.
An analysis of XWorm-delivering shellcode found it decrypted an intermediate payload from a temporary file and injected the final payload into newly created legitimate Windows processes using NtCreateSection, NtMapViewOfSection, NtWriteVirtualMemory, and NtResumeThread, while checking Nt functions for hooks.
A malware analysis reported that WikiLoader second-stage shellcode loaded bingmaps.dll, used indirect syscalls via ntdll.dll to patch GetBingsMapFactory, performed anti-debug checks, and injected a third shellcode into explorer.exe with ZwOpenProcess, ZwAllocateVirtualMemory, and ZwWriteVirtualMemory.
A follow-up tutorial showed how to replace the ntdll-exported NtAllocateVirtualMemory call with a custom assembly syscall stub in a DLL injection example to bypass userland hooks, and referenced SysWhispers as an alternative generator.
A tutorial introduced Windows syscalls and demonstrated replacing higher-level allocation APIs with NtAllocateVirtualMemory in a DLL injection workflow, while noting syscall IDs vary by Windows version and stub addresses should be resolved dynamically.
The SysWhispers2 project was published as an updated tool for generating direct Windows syscall stubs to evade user-mode API hooks used by security products. Its documentation highlights syscall-address sorting instead of static syscall tables, randomized function name hashes, and optional random syscall jumps via clean ntdll syscall instructions.
A malware analysis of AcroSup64.dll described a Dropbox-based loader that resolves syscalls using a SysWhispers2-like method, hijacks thread execution, restores in-memory .text sections from disk to remove hooks, and establishes Run-key persistence.
Deep Instinct published analysis of an evasion method that nulls TLS slots and TlsExpansionSlots to make a hooked NtWriteVirtualMemory path appear reentrant, causing the hook to skip behavioral checks.
The SysWhispers GitHub project was published as a tool that generates header and assembly files for invoking direct Windows system calls, aiming to bypass user-mode API hooks used by security products. Its documentation included DLL injection examples replacing Win32 APIs with Nt* syscalls and described cross-version support through PEB-based version handling.
An overview article summarized multiple Windows EDR bypass approaches, including patching hooks, restoring clean NTDLL .text sections, using direct syscalls via Dumpert and SysWhispers, and dynamic API invocation with D/Invoke.
MDSec published research on bypassing user-mode hooks and directly invoking Windows system calls for red-team operations. The article focused on techniques for evading userland API monitoring by security products through direct syscall usage.
Outflank published research on combining direct system calls with sRDI to bypass AV/EDR, an early public reference point later cited in discussions of userland-hook bypass techniques.
The EDR bypass overview cites public 2019 research by SpecialHoang and MDSec on bypassing EDR memory protection by patching hooked NTDLL functions, including proof-of-concept work against CylancePROTECT.
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
12 references tracked. Mallory keeps watching after this page renders.
github.com
Open sourcegithub.com
Open sourcecocomelonc.github.io
Open sourcecocomelonc.github.io
Open sources3cur3th1ssh1t.github.io
Open sourcemdsec.co.uk
Open sourceoutflank.nl
Open sourceundocumented.ntinternals.net
Open sourceMap indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.