Un CSRF o XSRF no se encuentra en la categoria de un XSS aunque muchas veces es conocido con el segundo acrónimo XSRF, pero se encuentra estandarizado en CSRF por OWASP y MITRE para comentarles de groso modo y para que se comprenda, es una debilidad que tiene como objetivo el cliente, forzando a que ejecute una tarea sin su consentimiento esta debilidad puede ser desde un simple cierre de sesión hasta el envio de dinero en el caso de darse en alguna aplicación que cumpla con este objetivo.
BurpSuite nos brinda la opción de identificar esta debilidad para posteriormente explotarla de una manera totalmente automática como recordaran una vez que se ejecuta el escaner ya sea de modo pasivo o activo va identificando las debilidades como se ve a continuación se identifico un CSRF.
Si identificamos en el panel inferior de las debilidades se tiene el detalle de la debilidad y al lado las pruebas que realiza la herramienta para lograr validar si es un falso positivo o si puede este ser explotado a mayor escala, atentos que esto llega a ser una ayuda y depende de tus propios conocimientos para llevarlo mas allá.
Posterior a la identificación de la debilidad nos dirigimos en donde se encuentra la debilidad por ejemplo si esta en el fichero index.php nos vamos a el y seleccionamos click derecho, engagement Tools y Generate CSRF Poc con el cual generaremos una prueba de concepto que nos permitira realizar el ataque.
Una vez presionado tendremos lo siguiente como se ve se identifico el destino de la petición ademas de generar el código HTML como su nombre lo indica este es solo una prueba de concepto, un atacante llega a realizar un ataque dirigido clonando en su totalidad la aplicación
En la parte inferior contamos con lo siguiente:
1.- En el caso de confundirnos o bien borrar algo que no deberiamos ya sea por error, hasta simplemente dejarlo por defecto tenemos el Regenerate.
2.- Nos brinda la opción de generarlo de forma local es decir en un servidor local http://burp/show/(Valor numérico segun la cantidad de PoC), este es el que veremos.
3.- Como su nombre lo indica realizamos una copia del código generado.
Una vez que se tiene todo listo seleccionamos test in Browser y nos aparecera la ventana como se ve a continuación.
Cuando se ingresa por el navegador se tiene el boton que envia la petición en este ejemplo que esta siendo usado para esta entrada solo realiza un petición de inicio de sesión.
Muchas veces esto puede llevar a un atacante a corromper una base de datos si permite la creación de usuarios de manera irrestricta aun mas sin contar con las medidas respectivas, para evitar estos ataques.
Espero sea de su agrado esta entrada y nos vemos en la siguiente entrada que abordaremos Componentes con vulnerabilidades difundidas.
Regards,
Snifer