Laboratorio: enumeración de nombres de usuario mediante tiempos de respuesta
Last updated
Last updated
Este laboratorio es vulnerable a la enumeración de nombres de usuarios utilizando sus tiempos de respuesta. Para resolver la práctica de laboratorio, enumere un nombre de usuario válido, aplique fuerza bruta a la contraseña de este usuario y luego acceda a su página de cuenta.
En este laboratorio lo que intentaremos lograr será poder acceder a una cuenta de usuario pero basandonos exclusivamente en las respuestas de tiempo en la aplicaciones dependiendo de si el usuario existe o no existe en la BD, eso si, dentro del intruder tendremos que estar pendiente del “Response Received”.
El procedimiento se hace tanto para username como para password.
¿por qué publico esta etiqueta aqui? porque esta es la que nos está haciendo el proceso más complejo, como toma nuestra direccion IP dependiendo de un numero especifico de solicitudes desde la misma IP nos empieza a prohibir las solicitudes, ya que toma nuestra ip y sabe cuando estamos haciendo algo de seguido como un ataque de fuerza bruta.
Lo identificamos el x-forwarded-For y falsificamos nuestra ip por obvias razones.
Esa es la sintaxis, tenemos que falsificar la ip de cliente.
Esta es la primera configuracion para el ataque de username, establecimos el x-forwarded en 0 porque lo iteraremos de 0 a 100 en el payload ajustamos eso, y por eso le añadimos los parametros de posicion, ahora bien la password tiene mas o menos unas 20 veces repetidas la contra peter5 para poder alcanzar una longitud de 100 caracteres y que sea diferenciable los tiempos de recibidos para cuando tome el username correcto, ahora bien peter5 solo es un ejemplo podemos poner cualquier otra cosa, tester, proof,etc.
Le pusimos parametros de posicion tanto al X-Forwarded-For como al username para poder tenerlos presentes en el payload, ahora bien en la captura aparece que username es arkansas eso es que seleccionamos la response del user que más se demoró en dar una respuesta, al parecer es el usuario que está en la BD, por lo que nos toca hacer ahora es un nuevo ataque con el intruder pero está vez para password.
Claro no olvidar que configuramos un payload del tipo “PITCHFORK” el cual nos permite iniciar dos payloads diferentes, uno para iterar diversas solicitudes gracias al x-forwarded de 0 a 100 y el otro que es el que va probar las diversas contraseñas de password, con el password.txt.
“PITCHFORK” → Ahi está.
Esto sería para password, con los mismos parametros de posicion pero esta vez para password.
Esto es para el payload 1, para que itere en el X-Forwarded-For de 0 a 100 y podamos hacer las 100 solicitudes, ya que 100 usernames hay en el .txt y 100 passwords hay en el .txt
Encontramos la password, no tiene el response received más grande pero tiene algo que nos importa más y es que su codigo de estado es un 302 HTTP lo cual significa una redirección asi que pudimos ingresar correctamente, además en el response muestra, ahora solo tenemos que digitar ello en la pagina.
username: arkansas
password: biteme
Enhorabuena, lo hemos logrado! <3
Si has llegado hasta aqui gracias por leerme y espero te ha servido! :)