OverTheWire

Bandit 25

Bienvenido al nivel 25 de Bandit en OverTheWire

Una vez entremos nos inidcaran que para pasar al siguiente nivel tendremos que encontrar el binario que utiliza el usuario bandit26, NO es /bin/bash.

Estará en otro directorio, tendremos que encontrarlo, averiguar como funciona y romperlo para acceder.

Herramientas:
ssh, cat, more, vi, ls, id, pwd

Tras divagar un rato con el comando find y sus posibles permisos que puede estar usando una terminal o binario de bandit26, caigo en una cosa. En el archivo /etc/passwd se muestran los usuarios y el comando por defecto que tienen como terminal.

Compruebo bandit26:

cat /etc/passwd | grep bandit26

¡BINGO!

bandit26:x:11026:11026:bandit level 26:/home/bandit26:/usr/bin/showtext

Vamos a ver que tiene ese archivo con cat.
showtext

cat /usr/bin/showtext
#!/bin/sh
export TERM=linux
exec more ~/text.txt
exit 0

Parece que llama a un archivo text.txt, revisamos el del directorio de bandit26.

cat /home/bandit26/text.txt
cat: /home/bandit26/text.txt: Permission denied

Con ls -la veremos que el archivo tiene permisos de ejecución para others. Probamos:

bash /usr/bin/showtext
more: cannot open /home/bandit25/text.txt: No such file or directory

No tenemos permisos, y busca en nuestro directorio ya que tiene una ruta relativa.

Si nos fijamos, en el directorio home de bandit25 tendremos la clave privada del usuario bandit26, la descargamos al equipo y probamos a conectarnos:

ssh -i sshkey26.private bandit26@bandit.labs.overthewire.org -p 2220

La conexion se cierra automaticamente. Cuando intenta leer el archivo text.txt no se queda “pillado” ya que el contenido es tan corto que lo muestra y sale.

Si redimensionamos la ventana a algo mas pequeño, volvemos a lanzar el comando y…
¡Olé! Se queda encajado con la funcionalidad more.

Ahora pulsaremos la tecla “v” ya que la utilidad more tiene la posibilidad de llamar a vim para editar un archivo. Desde aqui podemos volver a reescalar la ventana.

No tenemos forma de entrar en la consola, pero si de realizar ejecuciones.
Ahora tenemos que conseguir una sell. Desde Vim utilizaremos el comando
:e /etc/bandit\_pass/bandit26 para abrir el archivo con la contraseña de bandit26.

Ahora tenemos un problema, todas las veces que hagamos login en bandit26 se ejecutara este pseudo terminal que tiene el usuario, tendremos que cambiarlo. Desde este mismo panel de vim usaremos :shell pero llama al script por defecto.
Tendremos que cambiar la variable de entorno. Desde vim ejecutamos :set shell=/bin/bash y luego llamamos a :shell

¡Bingo! tenemos una shell

¡Vamos al siguiente nivel con este nuevo metodo para obtener una shell!

Enlaces de Interes