Duda sobre Backdoor en Linux

Iniciado por darkchoto, Agosto 13, 2015, 08:16:40 PM

Tema anterior - Siguiente tema

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

Agosto 13, 2015, 08:16:40 PM Ultima modificación: Agosto 19, 2015, 10:07:14 PM por EPSILON
Buenas chicos tengo la siguiente inquietud:

Estoy en un server linux vulnerable, el cual he explotado y elevado privilegios (maquina virtual de pruebas con server vulnerable). lo que me gustaría saber son técnicas para dejar una puerta trasera persistente en el sistema explotado, es decir, que cuando quiera volver a entrar a esta maquina no tenga que explotar/elevar privilegios nuevamente.

Gracias por cualquier ayuda.

PD: Espero esta sea la zona idónea para dejar este tema, de no ser así favor mover a la zona correspondiente.

La verdad no soy ningun experto, pero tienes un amplio conjunto de opciones. Dependiendo de lo sigiloso que puedas ser elige. Puedes añadir un servicio que espere a que se conecten a él, y al hacerlo que te mande una shell.

Problema: una shell voladora es facil de ver para la mayoria de adminsitradores/ o sistemas de detección. Solución: esta conexión puede ser, evidentmente encriptada para facilitar la tarea. Otro problema es que se conecte otro; solución ... por ejemplo que solo mande la shell después de recibir unos caracteres arbitrarios y evidentmente predeterminados por ti.
Para que sea menos visible el puerto escuchando... algo muy ruidoso, y encima en un puerto que nunca ha sido usado... puedes hacer que solo escuche en intervalos determinados de tiempo.

Montar un script que cambie permisos de una cuenta sin credenciales a una determinada hora para que puedas conectarte sin llamar la atención... etc etc

Otra solución seria incrustar un rootkit, algo más complejo de programar, pero al trabajar desde memoria el control que tienes es masivo. Ocultar procesos y demás desde aquí es algo mucho más manejable seria bastante invisible. Algunos se inyectan en las capas más internas.

Depende del uso que se le de a la máquina puedes buscar maneras de expandir y propagar tu control sobre el entorno y la red. Infectar puertos usb, redes internas, redes wireless cercanos...

Como ves puedes hacer mil cosas, lo bonito de esto es que es un proceso bastante creativo.

Un saludo

@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta (me causo gracia tu nick, jaja) Efectivamente posteaste en la sección correcta, y por tu duda te diria que uses No tienes permitido ver los links. Registrarse o Entrar a mi cuenta , es muy conocido y efectivo en el asunto de los backdoors, y tiene mucha documentación por internet, Espero que te sirva de algo.

Saludos!

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
La verdad no soy ningun experto, pero tienes un amplio conjunto de opciones. Dependiendo de lo sigiloso que puedas ser elige. Puedes añadir un servicio que espere a que se conecten a él, y al hacerlo que te mande una shell.

Problema: una shell voladora es facil de ver para la mayoria de adminsitradores/ o sistemas de detección. Solución: esta conexión puede ser, evidentmente encriptada para facilitar la tarea. Otro problema es que se conecte otro; solución ... por ejemplo que solo mande la shell después de recibir unos caracteres arbitrarios y evidentmente predeterminados por ti.
Para que sea menos visible el puerto escuchando... algo muy ruidoso, y encima en un puerto que nunca ha sido usado... puedes hacer que solo escuche en intervalos determinados de tiempo.

Montar un script que cambie permisos de una cuenta sin credenciales a una determinada hora para que puedas conectarte sin llamar la atención... etc etc

Otra solución seria incrustar un rootkit, algo más complejo de programar, pero al trabajar desde memoria el control que tienes es masivo. Ocultar procesos y demás desde aquí es algo mucho más manejable seria bastante invisible. Algunos se inyectan en las capas más internas.

Depende del uso que se le de a la máquina puedes buscar maneras de expandir y propagar tu control sobre el entorno y la red. Infectar puertos usb, redes internas, redes wireless cercanos...

Como ves puedes hacer mil cosas, lo bonito de esto es que es un proceso bastante creativo.

Un saludo

Gracias por la respuesta, algo así a lo que comentas como shell voladora, me gustaría si te es posible me ampliaras el proceso a grandes rasgos tendría que realizar para esto?.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta (me causo gracia tu nick, jaja) Efectivamente posteaste en la sección correcta, y por tu duda te diria que uses No tienes permitido ver los links. Registrarse o Entrar a mi cuenta , es muy conocido y efectivo en el asunto de los backdoors, y tiene mucha documentación por internet, Espero que te sirva de algo.

Saludos!

Gracias por tu respuesta. y si, me sirve de mucho.
Pienso en algo que me deje una shell con permisos de root después de hacer cierto proceso de autenticación para que no pueda ser vista por alguien mas, podrías describirle el proceso a grandes rasgos para lograr algo así ?.

Para quien pueda llegar a leer este post:

Lo que quiero hacer es algo como lo que dice en la sección "DEJANDO PUESTAS TRASERAS" de este enlace No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Gracias por la respuesta, algo así a lo que comentas como shell voladora, me gustaría si te es posible me ampliaras el proceso a grandes rasgos tendría que realizar para esto?.

Basicamente se bindea a un puerto un pequeño programa que espera a que se conecten a él. Cuando lo hacen le entrega una shell al que se ha conectado. (O al revés) La implementación más facil, (y vieja) es usando lo que se llama, por su utilidad, la navaja suiza del hacker: netcat. Se han desarrollado desde entonces varias variantes encryptadas, tanto tráfico como el ejecutable. Pero la base sigue más o menos siendo la misma y ésta se sigue usando sin duda, actualmente. Para que pruebes o te hagas una idea te comento el proceso que como verás es muy simple. Descargamos nc.exe ; o 'apt-get install nc-traditional' en linux.

La sintaxis es más que simple:
nc -vlp5555 -e "cmd.exe"     // -v verbose, explicar datos. -l LISTEN, escuchar, esperar a que se conecten a él. -pNNNN puerto. -e "programa.exe" aqui ponemos lo que se le "mandará" a quien se conecte. En este caso cmd.exe. Para linux pon /bin/bash
Para conectarte seria simplemente
nc (-v) ip puerto.

Por lo tanto si somos capaces de ejecutar cuando el sistema arranque esto, podriamos obtener una shell remota cuando quisieramos.

El programa que ves en la página que has puesto hace lo mismo, puedes también usarlo.

También puedes montar un script -si sabes algun lenguaje de scripting(python, ruby,perl)- que obtenga una cadena de texto de un servidor http tuyo própio, y ejecute como comando del sistema ésta. En este caso seria tráfico por el puerto 80, por lo tanto evitaria la mayoria de los firewalls. Y levantaria pocas sospechas.

Hay muchas otras miles maneras, como te he dicho puedes hacer lo que quieras. Si andas totalmente perdido mirate algun tutorial de netcat. Es lo más básico en este tema, pero te ayudará a entender. Y la complejidad la marca cada uno, la base es la misma.

Un saludo



@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta , te dejo este vídeo sobre el uso de Cymothoa que puede servirte para el backdoor.