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
Instalar dependencias y compilar en Linux:
Nos dirigimos al directorio del servidor para generar el certificado, llave privada y compilar asi:
Luego se modifica lo siguiente en el archivo headers.hpp del codigo del cliente:
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
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:
Luego procedemos a instalar los siguientes paquetes:
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:
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:
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
Instalar dependencias y compilar en Linux:
Nos dirigimos al directorio del servidor para generar el certificado, llave privada y compilar asi:
Luego se modifica lo siguiente en el archivo headers.hpp del codigo del cliente:
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
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:
Luego procedemos a instalar los siguientes paquetes:
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:
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:
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