Windows Kernel Rootkit en Rust (shadow-rs)
Hoy os traemos un interesante proyecto llamado shadow-rs, diseñado para crear un rootkit en el kernel de Windows utilizando el lenguaje Rust. El objetivo es demostrar técnicas avanzadas para el desarrollo de rootkits, aprovechando las características de seguridad y rendimiento del lenguaje Rust.
Características
- 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 (Hide / Unhide) ✅
- Thread Protection (Anti-Kill) ✅
- Lists protected and hidden threads currently on the system ✅
- Driver (Hide / Unhide) ✅
- Enumerate Driver ✅
- Support for mapping the driver in memory ✅
- DSE (Enable / Disable) ✅
- Keylogger (Start / Stop) ✅
- List / Remove / Restore Callbacks
- PsSetCreateProcessNotifyRoutine ✅
- PsSetCreateThreadNotifyRoutine ✅
- PsSetLoadImageNotifyRoutine ✅
- CmRegisterCallbackEx ✅
- ObRegisterCallbacks (PsProcessType / PsThreadType) ✅
- Listing currently removed callbacks ✅
- Enumerate Module ✅
- Registry Protection (Anti-Deletion e Overwriting) ✅
- Process Injection – Shellcode (ZwCreateThreadEx) ✅
- APC Injection – Shellcode ✅
- DLL Injection (ZwCreateThreadEx) ✅
Intrucciones de compilación
Para compilar el proyecto, asegúrate de tener instalada la toolchain de Rust.
Driver
Para compilar el driver, primero ve a la carpeta driver y luego ejecuta el siguiente comando (cuando realices la primera compilación, debes ser administrador, pero después no será necesario):
cargo make default --release
cargo make default --release --features mapper
cargo build --release
cargo build --release --features mapper
Intrucciones de instalación
bcdedit /set testsigning on
bcdedit /debug on
bcdedit /dbgsettings net hostip:<IP> port:<PORT>
Powered by WPeMatico