Lectura de archivos especiales [1 - 2]
3/20/20254 min read


Vale ahora nos salimos de la sesión actual, para volver al nuestro usuario facu. Donde volveremos a conectarnos a la máquina bandit. Pero esta vez vamos a introducir la contraseña que anteriormente habíamos nombrado con el parámetro
$ sshpass -p 'la contraseña' ssh bandit1@bandit.labs.overthewire.org -p 2220
Donde con sshpass (Le decimos que queremos introducir la contraseña la misma linea) junto al parámetro -p y adjuntando la contraseña entre comillas simples ' '. Seguidamente el mismo comando que anteriormente hemos utilizado.


Y nuevamente volvemos a aplicar xterm como terminal. Con el comando export TERM=xterm Y comprobamos con echo $TERM y listo


Mirando la web de bandit vemos que en el nivel 1 nos indica que la contraseña se almacena en el archivo "-" por lo tanto vamos a comprobarlo...


Volvemos a comprobar el directorio actual, /home/bandit1 y que usuario somos bandit1. Seguidamente hacemos un ls -l para ver el contenido de la carpeta actual. Y vemos que hay un archivo llamado "-" el cual como permisos tiene: Propietario bandit2, grupo bandit1 y a bandit1 le deja leer el contenido, mientras que a otros no le han asignado ningún permiso. Vamos a ver como lo abrimos...


Probando, vemos que con $ cat - No funciona ya que al hacer un cat - , el mismo comando cat esta esperando que apliquemos algún parámetro dentro de cat. Es decir lo siguiente:


Si ejecutamos un $ man cat - Para ver el manual de cat. Podemos observar que hay diferentes parámetros como cat -A , cat -b , cat -e Entonces cat se piensa que le vamos a dar la orden de ejecutar alguno de estos parámetros, entonces se queda pensando en lugar de listar el contenido del archivo llamado "-"


Bien si también utilizamos la típica $ cat * para que nos liste todo el contenido de la carpeta actual, nos dará el mismo error ya que en segundo plano esta ejecutando un mismo cat - Y nos dará el mismo error que el anterior. Así que vamos a buscar una manera diferente para hacerlo...


Podriamos hacerlo de la siguiente manera, con la ruta absoluta del directorio actual. Por lo tanto $ cat /home/bandit1/- o bien $ cat /home/bandit1/- Y como vemos de output nos da la contraseña para el usuario bandit2.


Tambien podemos hacerlo con $ cat ./- - Donde utilizamos el punto . Para indicar: Vale desde el directorio actual de trabajo quiero ver / el archivo - Por lo tanto el output sería la contraseña, como vemos en la imagen.
Es decir con el punto indicamos el directorio actual de trabajo, agregamos la barra / para indicarle que queremos coger y con el - indicamos el archivo.


$ cat "$(pwd)"/- - Si nosotros aplicamos un echo "$(pwd)" podemos comprobar que a nivel de bash se aplica el mismo comando que haciendo un pwd nos da como output la ruta absoluta, pero esta vez haciendo una llamada con echo a dicho comando para poder agregarle finalmente /- donde indicamos al comando echo "$(pwd)"/- que en base a la ruta absoluta actual queremos agregarle el archivo -, con lo que juntamente con el comando echo lo que logramos es imprimir la ruta absoluta. Y si luego cambiamos el comando echo por el comando cat para listar el contenido de dicho archivo. Nos sigue dando la contraseña.
Esta sería otra manera para poder obtener la contraseña.


$ grep -r "\w" - Nuevamente otra manera para poder lograrlo es utilizando grep, junto al parámetro -r (para que de forma recursiva) busque "\w" una palabra o expresión regular. Para lograr lo siguiente...


Como observamos nos aparecerán todas las expresiones regulares dentro de la carpeta. Pero al final vemos la contraseña, por lo tanto, haremos lo siguiente...


$ grep -r "\w" | tail -n 1 - Junto con tail + el parámetro -n 1lo que logramos es grepear la última linea de todo el texto que hemos visto anteriormente


$ grep -r "\w" | tail -n 1 | awk '{print $2}' FS=":" - Como podemos ver ahora agregamos el comando awk para poder dar como ouput el segundo argumento de la linea impresa en pantalla cogiendo como delimitador con FS=":" Los 2 puntos : Por lo tanto como podemos ver en pantalla nos sale la contraseña también en pantalla.
Esta es otra manera para poder conseguirlo. Por lo tanto la contraseña seria esa 263JGJPfgU6LtdEvgfWU1XP5yac29mFx