Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: nevachana en 20 Agosto 2015, 13:16 pm



Título: Rat - ¿Cómo hacer la conexión estable?
Publicado por: nevachana en 20 Agosto 2015, 13:16 pm
Hola  :D.
Estoy creando un Rat,y ya he hecho el client ( Fud  ;-) , aunque sin muchas funciones ).
Y ahora estoy haciendo el server,pero necesitaría ideas de como hacerlo estable.
Había pensado lo siguiente.

Al iniciarse el programa se inicia un thread a la espera de clients.
Si un client se conecta,lo almacenamos en un diccionario y creamos un thread para escuchar los packets que envía.
Si el client se desconecta,lo borramos del diccionario y rompemos el thread que lo escuchaba.

Pero no me convence crear un thread que escuche conexiones para luego crear un thread por cliente..
Alguna idea?  :)

PD: había pensado cifrar los packets con AES,qué tal?


Título: Re: Rat - ¿Cómo hacer la conexión estable?
Publicado por: engel lex en 20 Agosto 2015, 16:18 pm
Creo que estás confundiendo conceptos... el servidor es al que te conectas, es decir es la parte en la pc de las victimas... el cliente es quien se conecta a los servidores para cometer sus funciones, es decir el panel de control

sobre si cifrar en AES no veo ni si quiera por qué dudarlo...


Título: Re: Rat - ¿Cómo hacer la conexión estable?
Publicado por: nevachana en 20 Agosto 2015, 17:11 pm
Creo que estás confundiendo conceptos... el servidor es al que te conectas, es decir es la parte en la pc de las victimas... el cliente es quien se conecta a los servidores para cometer sus funciones, es decir el panel de control

sobre si cifrar en AES no veo ni si quiera por qué dudarlo...
Solamente había trabajado con el cifrado cesar antes,no sé mucho.
Lo que estoy preguntando es sobre cómo optimizar el server.
Había pensado que cada vez que se conecte un client crear un thread para leer los datos que envía,si está conectado,si realiza bien las acciones etc,pero si se conectan por ejemplo 300 clientes a la vez,serían 300 threads funcionando,lo cual creo es una bestialidad.
He escuchado de servers que sólo usan un thread.


Título: Re: Rat - ¿Cómo hacer la conexión estable?
Publicado por: PedroDJavier en 1 Septiembre 2015, 12:23 pm
Solamente había trabajado con el cifrado cesar antes,no sé mucho.
Lo que estoy preguntando es sobre cómo optimizar el server.
Había pensado que cada vez que se conecte un client crear un thread para leer los datos que envía,si está conectado,si realiza bien las acciones etc,pero si se conectan por ejemplo 300 clientes a la vez,serían 300 threads funcionando,lo cual creo es una bestialidad.
He escuchado de servers que sólo usan un thread.

Pues usar threads es lo que debes haces, asi lo hago yo para un programa de chats que tengo. En C/C++ Lo que tienes que hacer es crear un mutex que protega una tabla (una estructura) donde escribas, leas y borrres los sockets disponibles. Es lo que tu dices, crear un thread que "verifice" a los clientes (aunque si es un RAT el termino correcto no se si es cliente o servidor..) y los añada al diccionario, luego otra funcion que vaya creando un thread por cada socket en el diccionario y ya está.

NOTA: 300 threads no son tantos (depende del lenguaje claro está) pero un software C lo deberia aguantar perfectamente con un PC medianamente bueno.

Un saludo!


Título: Re: Rat - ¿Cómo hacer la conexión estable?
Publicado por: nevachana en 4 Septiembre 2015, 22:12 pm
Bueno,gracias por las respuestas.
La verdad es que ya la terminé,la conexión,y no me ha quedado nada mal ( 300 clients y usa 0% de cpu,aunque supongo que serían por que son locales).
https://gyazo.com/4023f795a1e6180fa0f83066f912fc1c
El trackbar varía según el número de clientes conectados,y el average botnet power es la suma de los Mbps disponibles de cada cliente  :laugh:.


Título: Re: Rat - ¿Cómo hacer la conexión estable?
Publicado por: Thryks en 4 Septiembre 2015, 22:54 pm
En mi humilde opinion creo que no te ha quedado muy claro el comentario de engel, ya que el servidor es la maquina infectada solo necesita un hilo de ejecucion para conectarte a esa maquina desde tu maquina(cliente) asi que no deberias tener ningun problema porque con una sola conexion tendrías suficiente a menos que quieras conectarte con 3 maquinas distintas para dar instrucciones a una sola


Título: Re: Rat - ¿Cómo hacer la conexión estable?
Publicado por: nevachana en 10 Septiembre 2015, 22:01 pm
En mi humilde opinion creo que no te ha quedado muy claro el comentario de engel, ya que el servidor es la maquina infectada solo necesita un hilo de ejecucion para conectarte a esa maquina desde tu maquina(cliente) asi que no deberias tener ningun problema porque con una sola conexion tendrías suficiente a menos que quieras conectarte con 3 maquinas distintas para dar instrucciones a una sola
No no,sí que me ha quedado claro,de hecho ya he acabado todo,sólo me queda programar un par de packets y algún problema al cerrar los clientes.