Skip to content

IOCTLpus can be used to make DeviceIoControl requests with arbitrary inputs (with functionality somewhat similar to Burp Repeater).

License

Notifications You must be signed in to change notification settings

VoidSec/ioctlpus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IOCTLpus

IOCTLpus Logo

IOCTLpus can be used to make DeviceIoControl requests with arbitrary inputs (with functionality somewhat similar to Burp Repeater).

Here is an example of a communication with a driver:

IOCTLpus Example

If no arguments is passed to IOCTLpus, it will run in GUI mode; if the --cli argument is passed it will run in CLI mode.

Example: --cli --guid \\.\PhysicalDrive0 --ioctl 70000 -i 32 -o 32 --input 0000000000000000000000000000000000000000000000000000000000000000

CLI Usage:

  --cli                Run IOCTLpus in CLI mode.

  --guid               Path/GUID of the driver to interact with.

  --ioctl              IOCTL code.

  -i, --input-size     (Default: 32) Input Size (decimal).

  -o, --output-size    (Default: 32) Output Size (decimal).

  --input              Input buffer.

  -r, --repeat         (Default: 0) # of times to repeat the IOCTL request.

  --access-mask        (Default: 20000000) Access Mask.

  --help               Display this help screen.

  --version            Display version information.

Tentative Roadmap

  • Create handles using Device Interface GUIDs in addition to symbolic links. [GIF]
  • Persist requests to SQLite databases.
  • Apply filters to request history.
  • Integrate Kaitai Struct to define and view buffer structures (inspired by).
  • Develop an API to use the tool headlessly (e.g. for fuzzing).
  • Design a cool logo.

Similar Tools

Developers

Licence

GPLv3

About

IOCTLpus can be used to make DeviceIoControl requests with arbitrary inputs (with functionality somewhat similar to Burp Repeater).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%