Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: DtxdF en Junio 04, 2019, 05:27:40 PM

Título: Ayuda con rpyc en python
Publicado por: DtxdF en Junio 04, 2019, 05:27:40 PM

Estoy creando una aplicación en python usando el protocolo rpyc para ejecutar python remotamente, en esto me encuentro con una duda que me frena.

Inspiración, gracias pupy rat (Un troyano igualmente escrito en python y usando este protocolo). En eso que pruebo este rat me di cuenta de algo, la conexión era inversa y la conexión para interactuar de rpyc (Cuando yo empecé a usar este módulo), era una conexión directa, me frena el hecho de que el firewall/IPS/Ente protector o la interaccion no iba a hacer la misma debido a que los niveles de detección de la conexión va a hacer mucho mas propensa a la detección (Aunque también una conexión inversa puede ser detectable, pero ese es otro tema).

Lo que necesito es que llenen de conocimiento acerca de cómo hacer para enviar código de python del servidor al cliente.

Gracias :'D
Título: Re:Ayuda con rpyc en python
Publicado por: ??????? en Junio 04, 2019, 06:07:16 PM
Buenas @DtxdF (https://underc0de.org/foro/index.php?action=profile;u=71723)! No logro entender tu pedido... a ver si entiendo. Una vez te conectes con la máquina remotamente, lo que quieres hacer es enviar código escrito por vos al cliente? (por ejemplo: print 'hello world') ó que exactamente?, disculpa que no te haya entendido.
Título: Re:Ayuda con rpyc en python
Publicado por: DtxdF en Junio 04, 2019, 06:35:47 PM
Gracias por responder @Kirari (https://underc0de.org/foro/index.php?action=profile;u=92682)

Lo siento si no me explique correctamente. Básicamente lo que yo quiero hacer es que en vez de que el cliente envíe código hacia el servidor, sea el servidor quien lo haga.

Si apreciamos en la documentación y tutoriales nos daremos cuenta que el servidor siempre es el que recoje el código que le transfiere el cliente, lo ejecuta y le manda el resultado dependiendo del atributo, función, etc.

Documentación: https://rpyc.readthedocs.io/en/latest/
Título: Re:Ayuda con rpyc en python
Publicado por: ??????? en Junio 04, 2019, 10:11:07 PM
Bien, entonces de manera resumida... querés enviar instrucciones de Python de servidor a cliente mediante RPyC. Pero el problema tuyo es que decís que no sabes como hacerlo de esa manera, ya que RPyC lo hace de la manera inversa de cliente a servidor... estoy bien?
Título: Re:Ayuda con rpyc en python
Publicado por: DtxdF en Junio 05, 2019, 06:22:16 AM
@Kirari (https://underc0de.org/foro/index.php?action=profile;u=92682)

Correcto, trate de usar la utilidad que crea un servidor multihilos (Aunque solo en conexiones, no en ejecución), probé esa utilidad e indagar los atributos que se generan con eso clase haber si me genera un atributo que haga referencia al socket de la conexión para ver si puedo interactuar con el cliente, pero sin éxito.

Si nos fijamos en el rat pupy: https://github.com/n1nj4sec/pupy, nos indica que usa rpyc y es cierto porque cuando se compila pesa poco y tiene una severidad de módulos que se cargan en memoria remotamente.

Gracias por responder ...
Título: Re:Ayuda con rpyc en python
Publicado por: ??????? en Junio 05, 2019, 02:11:39 PM
Mmmmm cuando esté en la pc, probaré hacer lo que dices, te ayudaré en caso de que funcione. Saludos!
Título: Re:Ayuda con rpyc en python
Publicado por: DtxdF en Junio 05, 2019, 02:37:25 PM
@Kirari (https://underc0de.org/foro/index.php?action=profile;u=92682)

Super!, muchas gracias por tu ayuda, espero tu respuesta.
Título: Re:Ayuda con rpyc en python
Publicado por: ??????? en Junio 06, 2019, 08:14:50 PM
Buenas noches @DtxdF (https://underc0de.org/foro/index.php?action=profile;u=71723)! He estado probando el módulo de RPyC, probé algunas de sus funciones, pero todavía no he podido hacer lo del servidor al cliente, encontré una forma (posiblemente funcione) pero todavía tengo que adaptarlo bien y estudiarme mejor el módulo, ya que recién estoy empezando a usarlo. Lo malo de todo es que no hay mucha documentación especifica de este, aunque vi lo del RAT Pupy y estoy viendo como se implementa el código y así tener una idea. Pero en cuanto tenga una solución, te estaré avisando. Si encontraste la respuesta, entonces estaría bueno que la compartas por acá y así aprendemos  8). Saludos!
Título: Re:Ayuda con rpyc en python
Publicado por: DtxdF en Junio 07, 2019, 12:06:22 AM
@Kirari (https://underc0de.org/foro/index.php?action=profile;u=92682)

Hola!, Gracias por indagar y atenderme.

También hice una prueba usando el constructor/función de python "exec" y ejecutar código remoto sin usar ningún módulo (Excepto socket y os, pero me refiero a un módulo estilo rpyc) y funciono correctamente, claro tenía que cargar el módulo y a veces los módulos dependen de binarios o librerías, pero creo que si hallamos la manera de cargar un binario (por lo menos en Windows para empezar) en memoria y que de adapté a las necesidades del módulo/librería sería una posible solución.