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.