SAML AUTHENTICATION

SAML , en inglés Security Assertion Markup Language se utiliza para compartir el login de autenticación entre grupos de trabajo y para que cada trabajador tenga acceso a uno o múltiples servicios (Service Providers SP), con una sola firma (Single Sign-On SSO) y un solo (IDentity Provider IDP).

Después de esta breve introducción veremos cómo explotar esta vulnerabilidad la cual nos permite alojar código malicioso para hacernos pasar por otro usuario, realizando unas modificaciones en el SAMLResponse.

Recursos y software utilizado:

Kali Linux 2.0

BurpSuite

Web:  https://rnd.feide.no/software/saml_2_0_debugger –> Decode, Encode SAMLresponse.

Guía de explotación:

Como vemos en esta primera imagen el objetivo de este ejercicio es loguear con el usuario admin@libcurl.so.

Registramos un usuario en el Identity Provider, creamos el usuario loganayala@gmail.com con password logan123.

VirtualBox_Kali_30_08_2017_11_14_30.png

Arrancamos Burpsuite y dejamos el proxy en marcha para que grabe todas las peticiones GET, OPTIONS y POST, ésta última es la que nos interesa ya que nos entrega el SAMLresponse que debemos modificar..

Una vez el proxy en marcha y registrado el usuario, logueamos con nuestro usuario en SAML como vemos en la primera imagen “Login with SAML”.

Prestamos atención al tráfico HTTP, como veremos más abajo recibimos tres peticiones GET, una OPTIONS y como último un método POST que es el que interesa.

VirtualBox_Kali_30_08_2017_11_20_27.png

Como podemos observar el SAMLresponse viene codificado en base64, primeramente habrá que decodificarlo para ver que nos muestra y a partir de ahí elegir la vía de explotación. Esta web nos permita decodificar, codificar y editar nuestro SAMLresponse: https://rnd.feide.no/software/saml_2_0_debugger, como vemos abajo seleccionamos todo el SALMresponse.

VirtualBox_Kali_30_08_2017_14_23_47.png

Seleccionamos, cortamos y traspasamos el SAMLresponse codificado a la web para decodificarlo y ver la información que nos muestra.

VirtualBox_Kali_30_08_2017_14_54_55.png

Una vez decodificado, vemos que en el apartado <NamedID>, está el email que hemos utilizado para loguearnos, por lo cual lo cambiaremos por el mail que nos dan en el ejercicio y volveremos a seleccionar todo el código y codificarlo de nuevo.

VirtualBox_Kali_30_08_2017_20_50_20.png

Codificamos de nuevo el SAMLresponse.

VirtualBox_Kali_30_08_2017_20_50_50.png

Con el SAMLresponse modificado y codificado de nuevo, ya solamente hay que reemplazarlo por el que había y…..

VirtualBox_Kali_30_08_2017_21_04_08.png

…………….VOILA!

Por fin logramos la key y el ejercicio está terminado :D. Cualquier duda o sugerencia tenéis mi email y sino en comments de la página, saludos!.

Anuncios

Deja un comentario