Bandit Nivel 6 al 11

Avanzando en el Hacking Ético (Nivel 5 al 11)

¡Excelente trabajo! Has superado los primeros desafíos de Bandit y estás listo para profundizar tus habilidades. Los siguientes niveles te introducirán a conceptos más avanzados de Linux, como permisos de archivos, búsqueda avanzada y manipulación de datos. ¡Vamos a ello!


Nivel 5 → Nivel 6: Encontrando el Archivo Correcto

Objetivo del Nivel: La contraseña para el siguiente nivel está almacenada en algún lugar dentro del directorio inhere. Sin embargo, hay tres criterios específicos para encontrarla:

  • Es legible por el usuario bandit7.
  • Es legible por el grupo bandit6.
  • Tiene un tamaño exacto de 33 bytes.

Pistas:

  • El comando find es tu mejor amigo para buscar archivos con criterios específicos.
  • Recuerda las opciones de find: -user, -group, -size.
  • Asegúrate de estar en el directorio bandit5 o inhere para empezar la búsqueda.

Pasos a Seguir:

  1. Conéctate como bandit5.
  2. El problema te dice que el archivo está en el directorio inhere, así que cambia a él:Bashcd inhere
  3. Ahora, usa el comando find con los criterios especificados. Necesitamos buscar archivos (-type f) con el usuario bandit7, el grupo bandit6 y un tamaño de 33 bytes. La opción para el tamaño en find es -size, y si especificas 33c, significa exactamente 33 bytes.Bashfind . -type f -user bandit7 -group bandit6 -size 33c (El . al inicio le dice a find que busque en el directorio actual y sus subdirectorios).
  4. Una vez que find te devuelva el nombre del archivo (será algo como ./maybehere07/.file2), usa cat para leer su contenido:Bashcat ./maybehere07/.file2 # Reemplaza con el nombre de archivo real que encuentres
  5. ¡Ahí tienes la contraseña para bandit6!

Nivel 6 → Nivel 7: Descubriendo Archivos Escondidos

Objetivo del Nivel: La contraseña para el siguiente nivel está en algún lugar del servidor y se ha movido desde el nivel anterior. Es un archivo que:

  • Pertenece al usuario bandit7.
  • Pertenece al grupo bandit6.
  • Tiene un tamaño de 33 bytes.

Pistas:

  • Estás buscando un archivo con tres características exactas.
  • Podrías necesitar buscar desde la raíz (/) si no sabes dónde está. Recuerda que buscar en la raíz puede llevar tiempo y generar errores de «Permiso denegado», los cuales puedes ignorar.

Pasos a Seguir:

  1. Conéctate como bandit6.
  2. Esta vez, el archivo no está necesariamente en un subdirectorio predefinido como inhere. Podría estar en cualquier lugar. Por lo tanto, buscarás desde la raíz (/). Como vas a buscar en muchos directorios donde no tienes permiso, puedes redirigir los errores a /dev/null para que no te molesten.Bashfind / -type f -user bandit7 -group bandit6 -size 33c 2>/dev/null (El 2>/dev/null descarta los mensajes de error).
  3. find te devolverá la ruta completa del archivo.
  4. Usa cat para leer el contenido de ese archivo y obtener la contraseña para bandit7.

Nivel 7 → Nivel 8: Búsqueda de Datos Únicos

Objetivo del Nivel: La contraseña para el siguiente nivel está en el archivo data.txt, junto a la palabra millionth.

Pistas:

  • El comando grep es ideal para buscar texto dentro de archivos.
  • grep puede usarse con el nombre del archivo.

Pasos a Seguir:

  1. Conéctate como bandit7.
  2. Verás el archivo data.txt en tu directorio actual.
  3. Usa grep para buscar la palabra millionth dentro de data.txt. grep mostrará la línea completa donde encuentre la palabra.Bashgrep millionth data.txt
  4. La salida de este comando será la contraseña para bandit8.

Nivel 8 → Nivel 9: Ordenando y Encontrando Datos

Objetivo del Nivel: La contraseña para el siguiente nivel está en el archivo data.txt, y es la única línea que aparece una sola vez.

Pistas:

  • Necesitas ordenar el contenido del archivo.
  • Necesitas contar las ocurrencias de cada línea y encontrar la que solo ocurre una vez.
  • Comandos útiles: sort, uniq.

Pasos a Seguir:

  1. Conéctate como bandit8.
  2. El archivo data.txt tiene muchas líneas repetidas.
  3. Primero, ordena las líneas del archivo usando sort. Esto agrupará las líneas idénticas.Bashsort data.txt
  4. Luego, pasa la salida de sort a uniq. El comando uniq tiene una opción -u (de «unique») que muestra solo las líneas que no se repiten. Puedes encadenar los comandos con una tubería (|).Bashsort data.txt | uniq -u
  5. La línea que aparezca será la contraseña para bandit9.

Nivel 9 → Nivel 10: Datos Humanos

Objetivo del Nivel: La contraseña para el siguiente nivel está en el archivo data.txt. Una de las líneas del archivo contiene la cadena de texto ======.

Pistas:

  • grep nuevamente es tu amigo.
  • La cadena ====== es un patrón literal.

Pasos a Seguir:

  1. Conéctate como bandit9.
  2. Usa grep para buscar la cadena literal ====== dentro de data.txt.Bashgrep "======" data.txt (Es buena práctica usar comillas para cadenas que pueden contener caracteres especiales, aunque en este caso no es estrictamente necesario, es un buen hábito).
  3. La línea que grep te devuelva es la contraseña para bandit10.

Nivel 10 → Nivel 11: Base64 Decodificación

Objetivo del Nivel: La contraseña para el siguiente nivel está en el archivo data.txt y está codificada en Base64.

Pistas:

  • Necesitas un comando para decodificar Base64.
  • El comando base64 con la opción -d (de «decode») es lo que buscas.

Pasos a Seguir:

  1. Conéctate como bandit10.
  2. El archivo data.txt contiene una cadena larga que se ve como texto codificado.
  3. Usa cat para pasar el contenido de data.txt al comando base64 -d usando una tubería (|).Bashcat data.txt | base64 -d
  4. La salida de este comando será la contraseña para bandit11.

¡Felicidades! Has navegado con éxito a través de desafíos que requieren una comprensión más profunda de la manipulación de archivos y datos en Linux. ¡Estás progresando muy bien en tu aventura de ciberseguridad con Bandit!