⛔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:
Supprimer le champs signature entier
Exemple:
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
Dernière mise à jour