Bandit: nivel 13 → 14
Esta vez no hay contraseña, sino una clave privada SSH. Entendemos cómo funciona la autenticación por clave, por qué hay que darle permisos 600 y cómo entrar con ssh -i.
Esta vez no hay contraseña, sino una clave privada SSH. Entendemos cómo funciona la autenticación por clave, por qué hay que darle permisos 600 y cómo entrar con ssh -i.
Un hexdump de un fichero comprimido una y otra vez. Lo reconstruimos con xxd -r, identificamos cada capa y escribimos un script en bash que descomprime hasta llegar a la contraseña.
Todas las letras del fichero están rotadas 13 posiciones. Entendemos qué es ROT13, por qué el mismo comando cifra y descifra, y lo deshacemos con tr.
La contraseña viene codificada en base64. Entendemos qué es base64 (y por qué no es cifrado), la decodificamos con base64 -d y nos quedamos con la última palabra usando awk y $NF.
Un fichero binario lleno de caracteres ilegibles y una contraseña escondida tras varios signos de igual. Usamos strings para sacar el texto legible y grep para encontrarla.
Miles de líneas repetidas y una sola que aparece una vez. Combinamos sort y uniq -u para encontrarla, y entendemos por qué uniq no sirve sin ordenar antes.
Un fichero enorme y una sola línea que nos interesa. Encadenamos grep y awk con tuberías para quedarnos solo con la contraseña junto a la palabra millionth.
La contraseña está en cualquier parte del servidor. Buscamos desde la raíz por dueño, grupo y tamaño con find y silenciamos los errores redirigiendo stderr a /dev/null.
Veinte directorios y un fichero escondido que cumple tres condiciones. Combinamos filtros de find por tamaño y permisos, y limpiamos la salida con tr.
Diez ficheros y solo uno contiene texto legible. Usamos find, file y xargs para encontrarlo sin abrirlos uno a uno.