unnamedRat - Herramienta de administracion remota multiplataforma en C++

Iniciado por d3adly, Junio 25, 2020, 03:39:41 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

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:

  • Debian
  • Arch
  • Windows 7
  • Windows 10
Las funciones hasta el momento son:

  • 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
Código: bash

git clone https://github.com/d3adlym1nd/unnamed_rat.git



Instalar dependencias y compilar en Linux:
   
Código: bash

   #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:
   
Código: bash

   #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:
   
Código: cpp

   //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
   
Código: cpp

   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:
   
Código: bash
pacman -Syu


   Luego procedemos a instalar los siguientes paquetes:
   
Código: bash
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:
Código: bash
./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:
Código: bash
./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  ;D

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
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn


Muy bueno e interesante tu proyecto, estoy comenzando en este mundo y no entiendo todo pero muy bueno para ver  ;)