Chacix / NovaLdr

Threadless Module Stomping In Rust with some features (In memory of those murdered in the Nova party massacre)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NovaLdr ⚜️

NovaLdr is a Threadless Module Stomping written in Rust, designed as a learning project while exploring the world of malware development. It uses advanced techniques like indirect syscalls and string encryption to achieve its functionalities. This project is not intended to be a complete or polished product but rather a journey into the technical aspects of malware, showcasing various techniques and features.

Features Overview πŸ’‘

  • Idirect Sycalls
  • String encryption
  • Shellcode encryption: simple XOR and converting the Shellcode bytes into MAC address
  • Threadless Execution
    • Threadless inject: Writes a trampoline into a specified function within a given DLL and redirects it to load another DLL.
    • JMPThreadHijack: Hijack a thread without calling SetThreadContext. Still needs improvement because I'm lazy and haven't implemented the whole thing well enough to maintain the original functionality of the thread. Just a quick and dirty PoC (Beware of payload execution control. Browsers tend to execute the payload multiple times)
  • Module Unlink
    • Overwrites the DOS header magic bytes.
    • Clears the DLL base addresses from the target process.
    • Eliminates DLL name strings from the target process.
    • Unlinks a module from the module list
  • Spawning Process: spawning suspended process with NtCreateUserProcess and Spoofing the PPID and Setting the process to Block DLL
  • Ntdll Unhooking: Remote and local Ntdll Unhooking using Parun's Fart technique
  • No GetModuleHandleA & GetProcAddress: Custome Function that using NT functions
  • Sleep Encrypt: custom sleep function that encrypts the stack during its sleep duration using a separate thread.

Usage: πŸ› οΈ

  • Generate Shellcode file: msfvenom -p windows/x64/messagebox TITLE=NovaLdr TEXT='In memory of all those murdered in the Nova party massacre 7.10.2023' ICON=WARNING EXITFUNC=thread -b '\xff\x00\x0b' -f raw -e none -o Nova_MSG.bin
  • Encrypt the shellcode file and convert it to MAC address format python bin2mac.py Nova_MSG.bin > nova_msg.txt
  • Copy the content of the output file and paste it to the main.rs file
  • Compile the program just run the file compile.bat

Disclaimer πŸ“’

NovaLdr is intended for educational and research purposes only. The author is not responsible for any misuse or damage caused by this program. Always seek permission before testing it against any target.

Contributing πŸ“ˆ

As this project is a learning journey, contributions, suggestions, and enhancements are welcome to make NovaLdr a valuable resource for learning malware development in Rust.

Resources & Credit πŸ“

POC

Screenshot 2023-10-19 142856

PE-SIEVE

Screenshot 2023-10-19 142029

About

Threadless Module Stomping In Rust with some features (In memory of those murdered in the Nova party massacre)

License:GNU General Public License v3.0


Languages

Language:Rust 98.0%Language:Batchfile 1.1%Language:Python 0.9%