https://overthewire.org/wargames/bandit
Un CTF de Bash con forma de pivoting en linux. Comienzo por el quinto nivel, al ser los primeros más básicos.
bandit5
ssh bandit5@bandit.labs.overthewire.org -p 2220
find . -type f -readable ! -executable -size 1033c | xargs cat | sed "s/ //g"
find . -type f -readable ! -executable -size 1033c | xargs cat | tr " " ""
find . -type f -readable ! -executable -size 1033c | xargs cat | xargs
Encuentra todos los ficheros, incluso ocultos, desde el actual directorio, que sean de tipo fichero, leibles, no ejecutables, de tamaño 1033 bits (c) y del output muestra el contenido, y de ese contenido sustituye todos (g) los espacios por nada. Tr hace lo mismo de forma más sencilla.
bandit6
ssh bandit6@bandit.labs.overthewire.org -p 2220
find / -type f -user bandit7 -group bandit6 -size 33c 2>&1 | grep -v "directory" | grep -v "denied" | xargs cat
Encuentra todos los ficheros, incluso ocultos, desde la raíz, que sean de tipo fichero, del usuario bandit7, del grupo bandit6, con tamaño 33 bits, y convirtiendo el stderr en stdin para poder trabajar sobre el output, restar los resultados que indiquen directory o denied, y mostrando el contenido.
Otra forma más efectiva sería mandar los stderr a /dev/null en vez de convertirlos para luego restarlos:
find / -type f -user bandit7 -group bandit6 -size 33c 2>/dev/null | xargs cat
bandit7
ssh bandit7@bandit.labs.overthewire.org -p 2220
grep millionth data.txt
grep millionth data.txt | awk '{print $2}'
Extrae las lineas del fichero donde esté la cadena millionth y del output imprime solo el segundo argumento
bandit8
ssh bandit8@bandit.labs.overthewire.org -p 2220
cat data.txt | sort | uniq -u
sort data.txt | uniq -u
No se puede usar uniq -u directamente por que este comando solo comprueba las lineas consecutivas.
bandit9
ssh bandit9@bandit.labs.overthewire.org -p 2220
strings data.txt | grep "=="
strings data.txt | grep "==" | tail -n 1 | awk 'NF{print $NF}'
Extrae cadenas legibles e imprime las que tengan 2 o más sígnos "=".
Tail filtra la última linea y awk filtra el último argumento.
bandit10
ssh bandit10@bandit.labs.overthewire.org -p 2220
base64 -d data.txt
base64 -d data.txt | awk '{print $4}'
Decodifica el contenido. Awk filtra el cuarto argumento.
bandit11
ssh bandit11@bandit.labs.overthewire.org -p 2220
cat data.txt | tr '[G-ZA-Fg-za-f]' '[T-ZA-St-za-s]' | awk 'NF{print $NF}'
cat data.txt | tr '[A-Za-z]' '[N-ZA-Mn-za-m]' | awk 'NF{print $NF}'
Muestra el fichero y con tr se le ordena una rotación manual de 13 posiciones. Con awk se imprime el último argumento.
bandit12 en adelante
[Enlace a OverTheWire - bandit12-34]
Documento ocultado a petición previa del propietario de OvertheWire. CTF finalizado. Captura:
Comments
Post a Comment