SAML

Security Assertion Markup Language

Description

est un langage de balisage basé sur le langage XML utilisé pour faciliter le SSO sur des applications à grande échelle. SAML permet le SSO en facilitant l'échange d'informations entre trois parties : l'utilisateur, le fournisseur d'identité et le fournisseur de services.

Exploitation

Localiser la réponse SAML

Via burp suite, trouver la réponse SAML du serveur après une connexion en SSO.

Analyser les champs de la réponse SAML

Une fois que vous avez localisé la réponse SAML, vous pouvez analyser son contenu pour voir quels champs le fournisseur de services utilise pour déterminer l'identité d'un utilisateur. (username, email, userID...)

Falsifier ces champs pour tenter de vous connecter avec un autre utilisateur

Changer votre username par celui d'un autre utilisateur et faire de même pour email, userID etc.

Cela n'est que très rarement permis car les authentifications passant par le SAML se basent sur une signature.

Bypass de signature

Supprimer la signature de son champs

Exemple:

<saml:Signature>
   <saml:SignatureValue>
     //empty
   </saml:SignatureValue>
</saml:Signature>
<saml:AttributeStatement>
    <saml:Attribute Name="username">
        <saml:AttributeValue>
            user123
        </saml:AttributeValue>
    </saml:Attribute>
</saml:AttributeStatement>

Supprimer le champs signature entier

Exemple:

//empty
<saml:AttributeStatement>
    <saml:Attribute Name="username">
        <saml:AttributeValue>
            user123
        </saml:AttributeValue>
    </saml:Attribute>
</saml:AttributeStatement>

Sgnature faible et/ou prédictible

Si la signature est encodée avec du base64 par exemple, il est simple de recalculer la signature et d'en forger une nouvelle valide.

Réencoder le message

Enfin, on va réencoder le message dans son format initiale après l'avoir falsifié puis on va l'envoyer et vérifier si nous avons bien pu contourner l'authentification.

Extension Burp

SAML Raider

SAML Raider est une extension Burp Suite pour tester les infrastructures SAML. Il contient deux fonctionnalités principales - un éditeur de messages SAML et un gestionnaire de certificats X.509.

L'éditeur de message offre les fonctionnalités suivantes :

  • Signer les messages SAML et les assertions (attaque par usurpation de signature)

  • Supprimer les signatures (attaque par exclusion de signature)

  • Modifier les messages SAML (SAMLRequest, SAMLResponse et noms de paramètres personnalisés)

  • Effectuez huit attaques XSW courantes

  • Insérer les charges utiles d'attaque XXE et XSLT

  • Profils pris en charge : profil d'authentification unique du navigateur Web SAML, profil de jeton SAML de sécurité des services Web

  • Liaisons prises en charge : liaison POST, liaison de redirection, liaison SOAP, liaison URI

ressource: https://github.com/CompassSecurity/SAMLRaider

Dernière mise à jour