This project is a small proof of concept (PoC) written in Rust. It demonstrates how to fetch a payload from a server and inject it into running processes based on their executable name. The main steps involved in this PoC are:
- Fetching the Payload: The program connects to a specified server to download the payload (shellcode).
- Process Injection: Once the payload is fetched, the program searches for running processes that match a given executable name.
- Injecting the Payload: The payload is then injected into the identified processes, allowing the shellcode to execute within the context of those processes.
This PoC is intended for educational purposes to demonstrate techniques related to shellcode staging and process injection.
To use this project, ensure you have the following installed:
-
Clone the Repository:
git clone https://github.com/Code-Barru/staging-shellcode.git cd staging-shellcode -
Build the Project:
cargo build --release
-
Run the server:
python server.py
-
Launch a notepad.exe process (by default, the PoC injects the payload into notepad.exe, you can change this in main.rs line 4):
notepad.exe
-
Run the Project:
cargo run --release