Basic Authentication in 2k24?
La autentificación básica ofrece un método más directo de securizar el acceso a los dispositivos. Sólo requiere un usuario y una contraseña, haciéndolo sencillo de implementar y manejar en dispositivos con capacidades de procesamiento básicas. Los dispositivos de redo como los routers suelen usar este método. En este escenario el objetivo principal es protegerlo de acceso no autorizado.
Mientras que la autentificación básica no ofrece las robustas funcionalidades de seguridad ofrecida por esquemas más complejos como OAuth o autentificación basada en tokens, su simplicidad lo hace adecuado para entornos donde el manejo de sesión y el rastreo de usuarios no se requiera.
La autentificación básica HTTP se define en RFC 7617, el cual especifica que las credenciales deberían ser transportadas como una string bas64-encodeada en el header de autorización HTTP. Es directo pero no es seguro en conexiones no-HTTPS ya que bas64 no es un mecanismo de encriptación. El riesgo real viene dado por credenciales débiles.
La autentificación básica HTTP ofrece un mecanismo simple de pregunta respuesta para pedir credenciales de usuario.

El formato del header de autorización es el siguiente:
Authorization: Basic <credentials>
Donde <credentials> es el encoding base64 de username:password.
Explotación
Para demostrar esto, iremos a la página dada.

Introducimos cualquier usuario y contraseña en el pop--up.

Capturamos la petición básica de autentificación usando Burp Suite

Convertimos el texto base64:

Una vez decodeado lo highlighteamos con el intruder.

Usaremos la lista /usr/share/wordlists/SecLists/Passwords/Common-Credentials/500-worst-passwords.txt.

Ahora necesitamos configurar dos normas:
- La primera que configuraremos añade el prefijo
admin:para que el payload seausername:password.
- La segunda convierte el payload a base64.

También deberíamos borrar el = porque base64 lo utiliza para hacer que tengan la misma longitud. Para hacerlo vamos hasta abajo y lo borramos de la lista de caracteres a quitar en el payload.

Una vez hecho vamos arrancamos el ataque.

Encontramos la contraseña.

Nos registramos pa obtener la flag.

