AB. Walkthrough: Bandit Level 29 to Level 30
Objetivo del Nivel
En este nivel, se nos proporciona acceso a un repositorio Git alojado en un servidor SSH interno. Debemos clonar este repositorio y examinar su historial para encontrar la contraseña que nos permitirá avanzar al siguiente nivel.
Pasos para Resolver el Nivel
1. Acceder al servidor Bandit29
Debemos conectarnos al servidor usando SSH:
ssh bandit29@bandit.labs.overthewire.org -p 2220
Introduce la contraseña obtenida en el nivel anterior.
2. Crear un directorio temporal y clonar el repositorio Git
Para evitar problemas de permisos, primero creamos un directorio en /tmp
y nos movemos a él:
mkdir -p /tmp/bandit29_repo && cd /tmp/bandit29_repo
Ahora clonamos el repositorio usando Git:
git clone ssh://bandit29-git@localhost:2220/home/bandit29-git/repo
Cuando se solicite la contraseña, ingresa la misma que usaste para conectarte como bandit29
.
3. Explorar el contenido del repositorio
Después de clonar el repositorio, accedemos a la carpeta recién creada:
cd repo
Listamos los archivos disponibles:
ls
Observamos que hay un archivo README.md
. Lo abrimos para ver su contenido:
cat README.md
Veremos algo como esto:
# Bandit Notes
Some notes for bandit30 of bandit.
## credentials
- username: bandit30
- password: <no passwords in production!>
Esto nos indica que la contraseña no está en el archivo actual, sino en el historial del repositorio.
4. Revisar el historial de commits
Para encontrar la contraseña, revisamos el historial de commits con:
git log --oneline --all --graph
Esto mostrará una lista de commits previos. Buscamos uno que haya modificado el archivo README.md
. Podemos inspeccionar un commit específico con:
git show <ID_DEL_COMMIT>
Por ejemplo, si encontramos un commit con ID 081ac38
, ejecutamos:
git show 081ac38
Esto revelará una modificación en el archivo README.md
, donde encontraremos la contraseña:
- password: <no passwords in production!>
+ password: qp30ex3VLz5MDG1n91YowTv4Q8l7CDZL
Conclusión
Al completar este nivel, aprendimos cómo examinar ramas y commits en un repositorio Git para recuperar información eliminada o modificada en el historial.
Ahora podemos conectarnos al siguiente nivel usando:
ssh bandit30@bandit.labs.overthewire.org -p 2220
Última actualización