All Projects → hfiref0x → Ntcall64

hfiref0x / Ntcall64

Licence: bsd-2-clause
Windows NT x64 syscall fuzzer

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Ntcall64

Vmmfuzzer
A hypervisor or virtual machine monitor (VMM) fuzzer.
Stars: ✭ 83 (-58.71%)
Mutual labels:  fuzzer
Aflplusplus
The fuzzer afl++ is afl with community patches, qemu 5.1 upgrade, collision-free coverage, enhanced laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, and a lot more!
Stars: ✭ 2,319 (+1053.73%)
Mutual labels:  fuzzer
Protofuzz
Google Protocol Buffers message generator
Stars: ✭ 171 (-14.93%)
Mutual labels:  fuzzer
Crlf Injection Scanner
Command line tool for testing CRLF injection on a list of domains.
Stars: ✭ 91 (-54.73%)
Mutual labels:  fuzzer
Clusterfuzz Tools
Bugs are inevitable. Suffering is optional.
Stars: ✭ 111 (-44.78%)
Mutual labels:  fuzzer
Sienna Locomotive
A user-friendly fuzzing and crash triage tool for Windows
Stars: ✭ 130 (-35.32%)
Mutual labels:  fuzzer
Autogadgetfs
USB testing made easy
Stars: ✭ 71 (-64.68%)
Mutual labels:  fuzzer
Sharpfuzz
AFL-based fuzz testing for .NET
Stars: ✭ 185 (-7.96%)
Mutual labels:  fuzzer
Fuzzing Survey
The Art, Science, and Engineering of Fuzzing: A Survey
Stars: ✭ 116 (-42.29%)
Mutual labels:  fuzzer
Grammarinator
ANTLR v4 grammar-based test generator
Stars: ✭ 162 (-19.4%)
Mutual labels:  fuzzer
Ffw
A fuzzing framework for network servers
Stars: ✭ 97 (-51.74%)
Mutual labels:  fuzzer
Fisy Fuzz
This is the full file system fuzzing framework that I presented at the Hack in the Box 2020 Lockdown Edition conference in April.
Stars: ✭ 110 (-45.27%)
Mutual labels:  fuzzer
Libprotobuf Mutator fuzzing learning
Learn how to combine libprotobuf-mutator with libfuzzer & AFL++
Stars: ✭ 134 (-33.33%)
Mutual labels:  fuzzer
Imf
Inferred Model-based Fuzzer
Stars: ✭ 85 (-57.71%)
Mutual labels:  fuzzer
Pythonfuzz
coverage guided fuzz testing for python
Stars: ✭ 175 (-12.94%)
Mutual labels:  fuzzer
Afl Patches
Patches to afl to fix bugs or add enhancements
Stars: ✭ 76 (-62.19%)
Mutual labels:  fuzzer
Eclipser
Grey-box Concolic Testing on Binary Code
Stars: ✭ 120 (-40.3%)
Mutual labels:  fuzzer
Javafuzz
coverage guided fuzz testing for java
Stars: ✭ 193 (-3.98%)
Mutual labels:  fuzzer
Filebuster
An extremely fast and flexible web fuzzer
Stars: ✭ 176 (-12.44%)
Mutual labels:  fuzzer
Janus
Janus: a state-of-the-art file system fuzzer on Linux
Stars: ✭ 139 (-30.85%)
Mutual labels:  fuzzer

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

  • x64 Windows 7/8/8.1/10;
  • Account with administrative privileges (optional).

Usage

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

  • -help - show program parameters help;
  • -log - enable logging via COM1 port, service parameters will be logged (slow), default disabled;
  • -pname - port name for logging, default COM1 (-log enabled required, mutual exclusive with -ofile);
  • -ofile - file name for logging, default ntcall64.log (-log enabled required, mutual exclusive with -pname);
  • -win32k - launch W32pServiceTable services fuzzing (sometimes referenced as Shadow SSDT);
  • -call Id - fuzz syscall by supplied id (id can be from any table ntos/win32k);
  • -pc Value - set pass count for each syscall (maximum value is limited to ULONG64 max value), default value 65536;
  • -wt Value - set wait timeout for calling threads in seconds (except single syscall fuzzing), default value is 30;
  • -s - Attempt to run program from LocalSystem account.

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:

  • ntcall64 -log
  • ntcall64 -log -pc 1234
  • ntcall64 -log -pc 1234 -call 4096
  • ntcall64 -log -ofile mylog.txt
  • ntcall64 -win32k -log -pname COM2
  • ntcall64 -win32k
  • ntcall64 -win32k -log
  • ntcall64 -win32k -log -pc 1234
  • ntcall64 -call 4097
  • ntcall64 -call 4097 -log
  • ntcall64 -call 4097 -log -pc 1000
  • ntcall64 -pc 1000
  • ntcall64 -s
  • ntcall64 -pc 1000 -s

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)

[ntos]
NtClose
NtRaiseHardError
NtReleaseKeyedEvent
NtPropagationComplete
NtShutdownSystem
NtSuspendProcess
NtSuspendThread
NtTerminateProcess
NtTerminateThread
NtWaitForAlertByThreadId
NtWaitForSingleObject
NtWaitForKeyedEvent

[win32k]
NtUserRealWaitMessageEx
NtUserShowSystemCursor
NtUserSwitchDesktop
NtUserLockWorkStation
NtUserEnumDisplayMonitors
NtUserGetMessage
NtUserWaitMessage
NtUserDoSoundConnect
NtUserRealInternalGetMessage
NtUserBroadcastThemeChangeEvent
NtUserWaitAvailableMessageEx
NtUserMsgWaitForMultipleObjectsEx

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 2015 and later versions.

Instructions

  • Select Platform ToolSet first for project in solution you want to build (Project->Properties->General):
    • v120 for Visual Studio 2013;
    • v140 for Visual Studio 2015;
    • v141 for Visual Studio 2017;
    • v142 for Visual Studio 2019.
  • For v140 and above set Target Platform Version (Project->Properties->General):
    • If v140 then select 8.1;
    • If v141/v142 then select 10.
  • Minimum required Windows SDK version 8.1

Authors

(c) 2016 - 2021 NTCALL64 Project

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].