
AuthMatrix es una extensión de Burp Suite que proporciona una forma sencilla de probar la autorización en aplicaciones web y servicios web.
AuthMatrix es una extensión de Burp Suite que proporciona una forma sencilla de probar la autorización en aplicaciones y servicios web. Con AuthMatrix, los testers se centran en definir minuciosamente tablas de usuarios, roles y solicitudes para su aplicación objetivo específica de antemano. Estas tablas están estructuradas en un formato similar al de una matriz de control de acceso común en varias metodologías de modelado de amenazas.
Una vez que las tablas han sido ensambladas, los testers pueden usar la sencilla interfaz de clic para ejecutar todas las combinaciones de roles y solicitudes. Los resultados se pueden confirmar con una interfaz fácil de leer, con códigos de colores que indican cualquier vulnerabilidad de autorización detectada en el sistema. Además, la extensión proporciona la capacidad de guardar y cargar configuraciones objetivo para pruebas de regresión simples.
AuthMatrix se puede instalar a través de la BApp Store de Burp Suite. Desde Burp Suite, seleccione la pestaña Extender, seleccione la BApp Store, seleccione AuthMatrix y haga clic en instalar.
Para instalación manual, descargue AuthMatrix.py de este repositorio. Luego, desde Burp Suite, seleccione la pestaña Extender, haga clic en el botón Agregar, cambie el tipo de Extensión a Python y seleccione el archivo Python de AuthMatrix.
AuthMatrix requiere configurar Burp Suite para usar Jython. Las instrucciones sencillas para esto se encuentran en la siguiente URL.
https://portswigger.net/burp/help/extender.html#options_pythonenv
Asegúrese de usar Jython versión 2.7.0 o superior para garantizar la compatibilidad.
Cree roles para todos los niveles de privilegio dentro de la aplicación objetivo. (Los roles comunes pueden incluir Usuario, Administrador y Anónimo)
Cree suficientes usuarios para ajustarse a estos diversos roles y seleccione las casillas de verificación para todos los roles a los que pertenece el usuario. Los roles "Usuario Único" que contienen solo un usuario se configurarán automáticamente para ayudar en las pruebas de recursos entre usuarios. Si no son necesarios, siéntase libre de eliminar estos roles haciendo clic derecho en la columna de la Tabla de Solicitudes.
Genere tokens de sesión para cada usuario desde la pestaña Repeater e introdúzcalos en la columna correspondiente dentro de la Tabla de Usuarios. Las cookies se pueden enviar directamente a los usuarios a través del menú contextual disponible en Repeater. AuthMatrix analizará de manera inteligente la cadena de cookies de la tabla y las sustituirá/agregará a las solicitudes cuando corresponda.
NOTA: El campo Cookies es opcional. Si el objetivo utiliza encabezados HTTP en su lugar, estos se pueden agregar haciendo clic en el botón "Nuevo Encabezado".
Para configuraciones más avanzadas, incluida la actualización automática de credenciales, consulte el ejemplo "Cadenas para autenticar usuarios" a continuación.
Desde otra área de Burp Suite (por ejemplo, pestaña Target, pestaña Repeater, etc.) haga clic derecho en una solicitud y seleccione "Enviar a AuthMatrix".
En la Tabla de Solicitudes de AuthMatrix, seleccione las casillas de verificación para todos los roles que están autorizados a realizar cada solicitud HTTP.
Personalice una Regex de Respuesta basada en el comportamiento esperado de la respuesta de la solicitud para determinar si la acción ha tenido éxito.
Las regex comunes incluyen encabezados de respuesta HTTP, mensajes de éxito dentro del cuerpo u otras variaciones dentro del cuerpo de la página.
NOTA: Las solicitudes se pueden configurar para usar una Regex de Falla en su lugar a través del menú contextual (por ejemplo, los usuarios autenticados nunca deberían recibir un HTTP 303)
Haga clic en Ejecutar en la parte inferior para ejecutar todas las solicitudes o haga clic derecho en varias solicitudes y seleccione ejecutar. Observe que la tabla adyacente mostrará resultados codificados por colores.
Verde indica que no se detectó vulnerabilidad
Rojo indica que la solicitud puede contener una vulnerabilidad
Azul indica que el resultado puede ser un falso positivo. (Esto generalmente significa que hay un token de sesión inválido/expirado o una regex incorrecta)


Las Cadenas proporcionan una forma de copiar un valor estático o dinámico en el cuerpo de una solicitud. Estos valores se pueden extraer de la respuesta de una solicitud previamente ejecutada (usando una regex) o especificando valores de cadena estáticos específicos del usuario.
Los casos de uso más comunes para las Cadenas son:
Poblar solicitudes con Tokens CSRF válidos
Probar IDs/GUIDs recién creados para problemas de autorización entre usuarios
Automatizar la autenticación y la actualización de sesiones
Una entrada de Cadena tiene los siguientes valores:
Nombre de Cadena: un nombre descriptivo
Fuente: una cadena de usuario estática definida en la Tabla de Usuarios o el ID de la solicitud fuente en la Tabla de Solicitudes
Regex de Extracción: una regex utilizada para extraer un valor de la respuesta de la solicitud fuente. Este campo solo se usa cuando se especifica una Solicitud en el campo anterior. Si se usa, debe contener una agrupación de paréntesis que se extraerá [es decir, (.*)]
Destinos: una lista de IDs de Solicitud en los que se reemplazará el valor fuente.
Regex de Reemplazo: una regex utilizada para determinar dónde se insertará el valor fuente. Debe contener una agrupación de paréntesis para ser reemplazada [es decir, (.*)]
Usar Valores De: especifique si usar el valor fuente obtenido de un usuario seleccionado (útil para pruebas de recursos entre usuarios) o usar los valores de todos los usuarios y colocarlos en las solicitudes de destino del usuario correspondiente (útil para tareas de automatización como la obtención de tokens CSRF)
NOTA: Las solicitudes se ejecutan en orden de fila, sin embargo, si se detecta una dependencia de cadena, AuthMatrix ejecutará las solicitudes en el orden requerido.



Para ciertos objetivos, puede ser más fácil configurar AuthMatrix para detectar la condición de respuesta de cuando una solicitud ha fallado. Por ejemplo, si un sitio objetivo devuelve datos únicos en solicitudes exitosas, pero siempre devuelve un HTTP 303 cuando se realiza una acción no autorizada.
En este modo, AuthMatrix validará esta regex para todos los usuarios que no formen parte de un rol exitoso.
Para hacer esto, haga clic derecho en la solicitud y seleccione "Alternar Modo Regex". El campo regex se resaltará en púrpura para indicar que AuthMatrix ejecutará la solicitud en Modo Regex de Falla.
NOTA: La detección y el resaltado de falsos positivos pueden no funcionar en el Modo Regex de Falla

Consulte el documento JsonState para obtener detalles sobre la estructura de los archivos de estado