Home

Awesome

Build status

NTCALL64

Windows NT x64 syscall fuzzer.

This program based on NtCall by Peter Kosyh. It isn't advanced version and its purpose - port NtCall functionality for x64 Windows NT 6+.

System Requirements

Usage

NTCALL64 -help[-win32k][-log][-call Id][-pc Value][-wt Value][-s]

When used without parameters NtCall64 will start fuzzing services in KiServiceTable (ntos, sometimes referenced as SSDT).

Default timeout of each fuzzing thread is set to 30 sec. If logging enabled then timeout extended to 120 sec.

Note that when used with -call option all blacklists will be ignored and fuzzing thread timeout will be set to INFINITE.

Example:

Note: make sure to configure Windows crash dump settings before trying this tool

(e.g. https://msdn.microsoft.com/en-us/library/windows/hardware/ff542953(v=vs.85).aspx).

How it work

It brute-force through system services and call them multiple times with input parameters randomly taken from predefined "bad arguments" list.

Configuration

By using badcalls.ini configuration file you can blacklist certain services. To do this - add service name (case sensitive) to the corresponding section of the badcalls.ini, e.g. if you want to blacklist services from KiServiceTable then use [ntos] section.

Example of badcalls.ini (default config shipped with program)

<pre>[ntos] NtClose NtInitiatePowerAction NtRaiseHardError NtReleaseKeyedEvent NtPropagationComplete NtShutdownSystem NtSuspendProcess NtSuspendThread NtTerminateProcess NtTerminateThread NtWaitForAlertByThreadId NtWaitForSingleObject NtWaitForKeyedEvent [win32k] NtUserRealWaitMessageEx NtUserShowSystemCursor NtUserSwitchDesktop NtUserLockWorkStation NtUserEnumDisplayMonitors NtUserGetMessage NtUserWaitMessage NtUserDoSoundConnect NtUserRealInternalGetMessage NtUserBroadcastThemeChangeEvent NtUserWaitAvailableMessageEx NtUserMsgWaitForMultipleObjectsEx</pre>

Warning

This program may crash the operation system, affect it stability, which may result in data lost or program crash itself. You use it at your own risk.

Bugs found with NtCall64

Build

NTCALL64 comes with full source code written in C with tiny assembler usage. In order to build from source you need Microsoft Visual Studio 2017 and later versions.

Instructions

Authors

(c) 2016 - 2023 NTCALL64 Project

Original NtCall by Peter Kosyh aka Gloomy (c) 2001, http://gl00my.chat.ru/