Resumen

Este write-up detalla dos métodos para encontrar una contraseña almacenada en un archivo oculto (dotfile). El primer método utiliza ls -a para la enumeración manual, mientras que el segundo, más didáctico, emplea el comando find para localizar la ruta del archivo y cat para leerlo.

Objetivo

La contraseña para el siguiente nivel, Bandit 4, está guardada en un archivo oculto que se encuentra dentro del directorio inhere.

Contexto

Este nivel refuerza la comprensión sobre los archivos ocultos en sistemas Unix. Demuestra tanto el método de inspección manual como un enfoque de búsqueda automatizada, una habilidad crucial para escenarios donde los archivos no están en ubicaciones obvias. El comando find es una herramienta indispensable en pentesting y análisis forense. Permite a los profesionales de la seguridad localizar rápidamente archivos de configuración, logs, credenciales o artefactos de malware en sistemas de archivos complejos, basándose en atributos como nombre, permisos, tamaño o fecha.

Comandos y Conceptos Relevantes

  • ls -a: Lista todo el contenido de un directorio, incluyendo los archivos y directorios ocultos.
  • cd: Cambia el directorio actual.
  • cat: Muestra el contenido de un archivo.
  • find: Busca archivos y directorios en una jerarquía de directorios.
    • find [ruta] -name "[patrón]": Busca archivos que coincidan con un patrón de nombre.

Solución Principal (Método con ls)

  1. Conectar al servidor como bandit3
ssh bandit3@bandit.labs.overthewire.org -p 2220

Se utiliza la contraseña del nivel anterior para iniciar la sesión SSH.

  1. Confirmamos la existencia de los directorios

  2. Explorar el directorio inhere

cd inhere

Se accede al directorio especificado en el objetivo.

  1. Listar todos los archivos para encontrar el oculto
ls -a

El uso de ls -a revela el archivo .hidden que no es visible con un ls simple.

  1. Leer el contenido del archivo ...Hiding-From-You
cat ...Hiding-From-You

Método Alternativo (Solución con find)

Este método simplificado separa la búsqueda de la lectura, lo cual es útil para entender el proceso en dos pasos.

  1. Localizar el archivo con find
find . 

  • Desde el directorio actual, se buscan todos los archivo (.)
  • La salida de este comando será la ruta relativa de todos los archivos en la carpeta actual: ./inhere/...Hiding-From-You
  1. Leer el archivo usando la ruta encontrada
cat ./inhere/...Hiding-From-You

  • Una vez localizada la ruta, se usa cat para leer el archivo.
  • Contraseña Censurada por Reglas de OverTheWire.

TIPS

  • Si conoces la ruta de un archivo, no hay necesidad de desplazarte con cd hacia el directorio. Apóyate de rutas relativas y absolutas para realizar comandos mas eficientes.

Errores Comunes y Soluciones

  • Error: El directorio inhere parece estar vacío.
    • Solución: Ocurre al usar ls sin la opción -a. Siempre usa -a para asegurar que ves todos los archivos.
  • Error: El comando find no devuelve nada o da un error.
    • Solución: Verifica la sintaxis.

Recursos para Profundizar