Hacking Tools

Shadow-rs : Harnessing Rust’s Power For Kernel-Level Security Research

shadow-rs is a Windows kernel rootkit written in Rust, demonstrating advanced techniques for kernel manipulation while leveraging Rust’s safety and performance features.

This project is intended for educational and research purposes.

The project also provides useful crates for developing rootkits, such as shadowx, which consolidates core logic and essential techniques.

It includes rootkit-specific tricks, with plans for additional features in future updates.

The documentation on how to execute CLI commands can be found on the Wiki

Table Of Contents

  • Legal notice
  • Features
  • Installation
  • Supported Platforms
  • Build Instructions
    • Driver
    • Client
  • Setup Instructions
    • Enable Test Mode
    • Debug via Windbg
    • Create/Start Service
  • Contributing to shadow-rs
  • References
  • License

Legal Notice

Important

This project is under development. This project is for educational and research purposes. Malicious use of the software is strictly prohibited and discouraged.

I am not responsible for any damage caused by improper use of the software.

Features

Process

  • ✅ Process (Hide / Unhide)
  • ✅ Process Signature (PP / PPL)
  • ✅ Process Protection (Anti-Kill / Dumping)
  • ✅ Elevate Process to System
  • ✅ Terminate Process
  • ✅ Lists protected and hidden processes currently on the system

Thread

  • ✅ Thread (Hide / Unhide)
  • ✅ Thread Protection (Anti-Kill)
  • ✅ Lists protected and hidden threads currently on the system

Driver

  • ✅ Driver (Hide / Unhide)
  • ✅ Enumerate Driver

Misc

  • Driver Signature Enforcement (DSE)
    • ✅ DSE (Enable / Disable)
  • Keylogger
    • ✅ Enable Keylogger
  • ETWTI
    • ✅ ETWTI (Enable / Disable)

Callbacks

  • ✅ List / Remove / Restore Callbacks
    • PsSetCreateProcessNotifyRoutine
    • PsSetCreateThreadNotifyRoutine
    • PsSetLoadImageNotifyRoutine
    • CmRegisterCallbackEx
    • ObRegisterCallbacks (PsProcessType / PsThreadType)
  • ✅ Listing currently removed callbacks

Port

  • ✅ Ports (Hide / Unhide)

Module

  • ✅ Hide Module
  • ✅ Enumerate Module

Registry

  • ✅ Key and Values (Hide / Unhide)
  • ✅ Registry Protection (Anti-Deletion e Overwriting)

Injection

  • ✅ Process Injection – Shellcode (ZwCreateThreadEx)
  • ✅ Process Injection – DLL (ZwCreateThreadEx)
  • ✅ APC Injection – Shellcode

For more information click here.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

How Web Application Firewalls (WAFs) Work

General Working of a Web Application Firewall (WAF) A Web Application Firewall (WAF) acts as…

5 days ago

How to Send POST Requests Using curl in Linux

How to Send POST Requests Using curl in Linux If you work with APIs, servers,…

5 days ago

What Does chmod 777 Mean in Linux

If you are a Linux user, you have probably seen commands like chmod 777 while…

5 days ago

How to Undo and Redo in Vim or Vi

Vim and Vi are among the most powerful text editors in the Linux world. They…

5 days ago

How to Unzip and Extract Files in Linux

Working with compressed files is a common task for any Linux user. Whether you are…

5 days ago

Free Email Lookup Tools and Reverse Email Search Resources

In the digital era, an email address can reveal much more than just a contact…

5 days ago