← Volver al listado de tecnologías
Bandit Nivel 5→6 - Búsqueda con find
Bandit Nivel 5→6 - Búsqueda con find
Objetivo
La contraseña está en un archivo dentro del directorio inhere con estas propiedades:
- Legible por humanos
- 1033 bytes de tamaño
- No ejecutable
Teoría: El Comando find
Sintaxis Básica
find [directorio] [condiciones] [acciones]
Búsqueda por Tamaño
find . -size 1033c # Exactamente 1033 bytes
find . -size +1k # Mayor a 1 kilobyte
find . -size -1M # Menor a 1 megabyte
| Sufijo | Unidad |
|---|---|
c | bytes |
k | kilobytes |
M | megabytes |
G | gigabytes |
Búsqueda por Tipo
find . -type f # Solo archivos regulares
find . -type d # Solo directorios
find . -type l # Solo enlaces simbólicos
Búsqueda por Permisos
find . -executable # Archivos ejecutables
find . ! -executable # NO ejecutables (! niega)
find . -readable # Archivos legibles
find . -perm 644 # Permisos exactos
Combinando Condiciones
Por defecto, las condiciones se combinan con AND:
find . -type f -size 1033c # Archivo Y 1033 bytes
Para OR, usa -o:
find . -name "*.txt" -o -name "*.md" # .txt O .md
Solución
Paso 1: Entrar al directorio
cd inhere
ls
Verás múltiples subdirectorios (maybehere00, maybehere01, etc.)
Paso 2: Buscar con find
find . -type f -size 1033c ! -executable
Desglose:
.- buscar desde directorio actual-type f- solo archivos regulares-size 1033c- exactamente 1033 bytes! -executable- no ejecutable
Paso 3: Leer el resultado
cat ./maybehere07/.file2
O combina find con cat:
find . -type f -size 1033c ! -executable -exec cat {} \;
Acciones de find
| Acción | Descripción |
|---|---|
-print | Muestra la ruta (default) |
-exec cmd {} \; | Ejecuta comando en cada resultado |
-exec cmd {} + | Ejecuta comando con todos los resultados |
-delete | Elimina los archivos encontrados |
Ejemplos de -exec
# Mostrar contenido de cada archivo encontrado
find . -name "*.txt" -exec cat {} \;
# Mover archivos encontrados
find . -name "*.bak" -exec mv {} /backup/ \;
# Contar líneas de cada archivo
find . -name "*.py" -exec wc -l {} \;
Opciones Adicionales Útiles
find . -name "*.txt" # Por nombre (case-sensitive)
find . -iname "*.TXT" # Por nombre (case-insensitive)
find . -mtime -7 # Modificado en últimos 7 días
find . -user bandit5 # Propiedad de usuario específico
find . -empty # Archivos vacíos
Comandos Aprendidos
| Comando | Descripción |
|---|---|
find . -size Nc | Buscar por tamaño en bytes |
find . -type f | Solo archivos |
find . ! -executable | No ejecutables |
-exec cmd {} \; | Ejecutar comando |
Conexión al Siguiente Nivel
ssh [email protected] -p 2220