
Windows Kernel Rootkit in Rust
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.
[!IMPORTANT]
This project is under development.
Protected Processes (PP) and Protected Process Light (PPL).DSE) to allow loading of unsigned drivers.EtwTi).ZwCreateThreadEx.APC) injection to execute shellcode or DLLs in alertable threads.Thread Hijacking.Navigate to the driver directory and build the kernel driver:
cargo make default --release
[!IMPORTANT]
Note: The first build must be executed as Administrator. Subsequent builds do not require elevated privileges.
To enable mapping support for tools like kdmapper, compile with:
cargo make default --release --features mapper
Navigate to the client directory and build the user-mode client:
cargo build --release
For compatibility with mapped drivers:
cargo build --release --features mapper
bcdedit /set testsigning on
You can use Service Control Manager or OSR Driver Loader to load your driver.
Use Windbg to attach to the kernel and monitor driver activity.
bcdedit /debug on
bcdedit /dbgsettings net hostip:<IP> port:<PORT>
To contribute to shadow-rs, follow these steps:
git checkout -b <branch_name>.git commit -m '<commit_message>'.git push origin <project_name> / <local>.Alternatively, consult the GitHub documentation on how to create a pull request.
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.
I want to express my gratitude to these projects that inspired me to create shadow-rs and contribute with some features:
These materials and research have been invaluable in deepening my understanding of Windows kernel development:
This project is licensed under the MIT License. See the LICENSE file for details.