Hola comunidad comparto con ustedes un proyecto en el cual he estado trabajando. Como dice el titulo es un RAT multiplataforma para Windows y Linux. Tanto el cliente como el servidor estan escritos en C++, por el momento solo ha sido probado en sistemas con arquitectura x64:
Clonar
Código: bash
Instalar dependencias y compilar en Linux:
Código: bash
Nos dirigimos al directorio del servidor para generar el certificado, llave privada y compilar asi:
Código: bash
Luego se modifica lo siguiente en el archivo headers.hpp del codigo del cliente:
Código: cpp
Si la opcion opcion #define _DEBUG se deja comentada para compilar la version sin salida por pantalla, entonces se debe modificar el archivo main.cpp en la siguiente linea con el host y puerto al cual conectarse
Código: cpp
Luego compilar con : make
Compilar en Windows:
Primeros instalamos OpenSSL usando uno de los binarios ya compilados desde No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. Y generamos el certificado y llave privada como en linux.
El compilador utilizado es mingw. Primero descargamos No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, una vez instalado actualizamos la lista de paquetes con:
Código: bash
Luego procedemos a instalar los siguientes paquetes:
Código: bash
Y ahora realizaremos las mismas modificaciones a los ficheros que en linux, acto seguido compilamos con el comando mingw32-make.
Luego solo toca ejecutar el servidor especificando el puerto por el cual escuchar, ej:
Código: bash
Si el cliente se compilo con la opcion #define _DEBUG descomentada entonces el host y el puerto deben ser pasados como argumentos al programa ej:
Código: bash
Aqui unas capturas
Servidor Linux


Obteniendo informacion del cliente

Servidor Windows

El cliente se autoreconecta al servidor si este se cierra. No posee ningun metodo de instalacion, infeccion o evasion de antivirus ya que esta hecho para realizar pruebas y ejecutarse en entornos controlados (Posiblemente desarolle una version con las opciones antes mencionadas).
Por ahora es muy basico, y sigo trabajando en las dependencias del cliente (Windows) y muchas otras funcionalidades que quiero agregarle. Cualquier aporte, sugerencia o comentario es bien recibido.
Esta de mas decir que no esta hecho con propositos delictivos o maliciosos, es solo para realizar pruebas en ambientes controlados, tambien puede tomarse como base para realizar proyectos de multiconexion como salas de chat y derivados.
Espero les sirva de algo y les deseo un feliz dia/tarde/noche
Edit:
Lista de cambios v0.2.0 (28/06/2020):
- Probado en Android 9 (Termux)
- Se puede compilar en distintos idiomas
- Agregado idioma español
Descarga la version 0.2.0 -> No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
- Debian
- Arch
- Windows 7
- Windows 10
- Transferencia de archivos
- Recopilacion de informacion
- Descarga de archivos de servidores http(s)
- Comunicacion cifrada (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta)
- Shell inversa interactiva
Clonar
git clone https://github.com/d3adlym1nd/unnamed_rat.git
Instalar dependencias y compilar en Linux:
#Debian
sudo apt-get install openssl openssl-dev
#Arch
sudo pacman -S openssl
#Opcional si las notificaciones de escritorio se habilitaran en el servidor
#Debian
sudo apt-get install libnotify-dev
#Arch
sudo pacman -S libnotify
Nos dirigimos al directorio del servidor para generar el certificado, llave privada y compilar asi:
#OS puede ser Windows/Linux
cd Server/OS/
openssl req -x509 -newkey rsa:4096 -out cacer.pem -outform PEM -days 1825 -nodes
make
Luego se modifica lo siguiente en el archivo headers.hpp del codigo del cliente:
//para habilitar/deshabilitar salida por pantalla comentar/descomentar lo siguiente
#define _DEBUG
Si la opcion opcion #define _DEBUG se deja comentada para compilar la version sin salida por pantalla, entonces se debe modificar el archivo main.cpp en la siguiente linea con el host y puerto al cual conectarse
Cli->Connect("YOUR HOST", "PORT")
Luego compilar con : make
Compilar en Windows:
Primeros instalamos OpenSSL usando uno de los binarios ya compilados desde No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. Y generamos el certificado y llave privada como en linux.
El compilador utilizado es mingw. Primero descargamos No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, una vez instalado actualizamos la lista de paquetes con:
pacman -Syu
Luego procedemos a instalar los siguientes paquetes:
pacman -S mingw-w64-x86_64-toolchain
Y ahora realizaremos las mismas modificaciones a los ficheros que en linux, acto seguido compilamos con el comando mingw32-make.
Luego solo toca ejecutar el servidor especificando el puerto por el cual escuchar, ej:
./server 8888
Si el cliente se compilo con la opcion #define _DEBUG descomentada entonces el host y el puerto deben ser pasados como argumentos al programa ej:
./Client 127.0.0.1 8888
Aqui unas capturas
Servidor Linux


Obteniendo informacion del cliente

Servidor Windows

El cliente se autoreconecta al servidor si este se cierra. No posee ningun metodo de instalacion, infeccion o evasion de antivirus ya que esta hecho para realizar pruebas y ejecutarse en entornos controlados (Posiblemente desarolle una version con las opciones antes mencionadas).
Por ahora es muy basico, y sigo trabajando en las dependencias del cliente (Windows) y muchas otras funcionalidades que quiero agregarle. Cualquier aporte, sugerencia o comentario es bien recibido.
Esta de mas decir que no esta hecho con propositos delictivos o maliciosos, es solo para realizar pruebas en ambientes controlados, tambien puede tomarse como base para realizar proyectos de multiconexion como salas de chat y derivados.
Espero les sirva de algo y les deseo un feliz dia/tarde/noche

Edit:
Lista de cambios v0.2.0 (28/06/2020):
- Probado en Android 9 (Termux)
- Se puede compilar en distintos idiomas
- Agregado idioma español
Descarga la version 0.2.0 -> No tienes permitido ver los links. Registrarse o Entrar a mi cuenta