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

cp Command: Copy Files and Directories in Linux

The cp command, short for "copy," is the main Linux utility for duplicating files and directories. Whether…

1 week ago

Image OSINT

Introduction In digital investigations, images often hold more information than meets the eye. With the…

1 week ago

cat Command: Read and Combine File Contents in Linux

The cat command short for concatenate, It is a fast and versatile tool for viewing and merging…

1 week ago

Port In Networking

What is a Port? A port in networking acts like a gateway that directs data…

1 week ago

ls Command: List Directory Contents in Linux

The ls command is fundamental for anyone working with Linux. It’s used to display the files and…

2 weeks ago

pwd Command: Find Your Location in Linux

The pwd (Print Working Directory) command is essential for navigating the Linux filesystem. It instantly shows your…

2 weeks ago