Okta Hardening

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Répertoire

Personnes

Du point de vue d'un attaquant, c'est très intéressant car vous pourrez voir tous les utilisateurs enregistrés, leurs adresses e-mail, les groupes auxquels ils appartiennent, les profils et même les appareils (mobiles avec leurs systèmes d'exploitation).

Pour une revue en boîte blanche, vérifiez qu'il n'y a pas plusieurs "Actions utilisateur en attente" et "Réinitialisations de mot de passe".

Groupes

C'est ici que vous trouverez tous les groupes créés dans Okta. Il est intéressant de comprendre les différents groupes (ensemble de permissions) qui pourraient être accordés aux utilisateurs. Il est possible de voir les personnes incluses dans les groupes et les applications attribuées à chaque groupe.

Bien sûr, tout groupe portant le nom d'admin est intéressant, en particulier le groupe Administrateurs globaux, vérifiez les membres pour savoir qui sont les membres les plus privilégiés.

Dans le cadre d'une revue en boîte blanche, il ne devrait pas y avoir plus de 5 administrateurs globaux (mieux s'il n'y en a que 2 ou 3).

Appareils

Trouvez ici une liste de tous les appareils de tous les utilisateurs. Vous pouvez également voir s'ils sont gérés activement ou non.

Éditeur de profil

Il est possible d'observer comment des informations clés telles que les prénoms, noms de famille, adresses e-mail, noms d'utilisateur... sont partagées entre Okta et d'autres applications. C'est intéressant car si un utilisateur peut modifier dans Okta un champ (comme son nom ou son adresse e-mail) qui est ensuite utilisé par une application externe pour identifier l'utilisateur, un initié pourrait essayer de prendre le contrôle d'autres comptes.

De plus, dans le profil Utilisateur (par défaut) d'Okta, vous pouvez voir quels champs chaque utilisateur possède et lesquels sont modifiables par les utilisateurs. Si vous ne pouvez pas voir le panneau d'administration, il suffit de mettre à jour vos informations de profil et vous verrez quels champs vous pouvez mettre à jour (notez que pour mettre à jour une adresse e-mail, vous devrez la vérifier).

Intégrations de répertoire

Les répertoires vous permettent d'importer des personnes à partir de sources existantes. Je suppose que vous verrez ici les utilisateurs importés à partir d'autres répertoires.

Je ne l'ai pas vu, mais je suppose que c'est intéressant de découvrir d'autres répertoires qu'Okta utilise pour importer des utilisateurs afin que si vous compromettez ce répertoire, vous pourriez définir certaines valeurs d'attributs dans les utilisateurs créés dans Okta et peut-être compromettre l'environnement Okta.

Sources de profil

Une source de profil est une application qui agit comme une source de vérité pour les attributs de profil utilisateur. Un utilisateur ne peut être sourcé que par une seule application ou un seul répertoire à la fois.

Je ne l'ai pas vu, donc toute information sur la sécurité et le piratage concernant cette option est appréciée.

Personnalisations

Marques

Vérifiez dans l'onglet Domaines de cette section les adresses e-mail utilisées pour envoyer des e-mails et le domaine personnalisé à l'intérieur d'Okta de l'entreprise (que vous connaissez probablement déjà).

De plus, dans l'onglet Paramètres, si vous êtes administrateur, vous pouvez "Utiliser une page de déconnexion personnalisée" et définir une URL personnalisée.

SMS

Rien d'intéressant ici.

Tableau de bord utilisateur final

Vous pouvez trouver ici les applications configurées, mais nous verrons les détails de celles-ci plus tard dans une section différente.

Autre

Paramètre intéressant, mais rien de super intéressant d'un point de vue sécurité.

Applications

Applications

Ici, vous pouvez trouver toutes les applications configurées et leurs détails : Qui y a accès, comment c'est configuré (SAML, OPenID), URL de connexion, les correspondances entre Okta et l'application...

Dans l'onglet Connexion, il y a aussi un champ appelé Révélation de mot de passe qui permettrait à un utilisateur de révéler son mot de passe en vérifiant les paramètres de l'application. Pour vérifier les paramètres d'une application à partir du panneau utilisateur, cliquez sur les 3 points :

Et vous pourriez voir quelques détails supplémentaires sur l'application (comme la fonction de révélation de mot de passe, si elle est activée) :

Gouvernance de l'identité

Certifications d'accès

Utilisez les Certifications d'accès pour créer des campagnes d'audit afin de revoir périodiquement l'accès de vos utilisateurs aux ressources et d'approuver ou de révoquer l'accès automatiquement lorsque nécessaire.

Je ne l'ai pas vu utilisé, mais je suppose que d'un point de vue défensif, c'est une fonctionnalité intéressante.

Sécurité

Général

  • E-mails de notification de sécurité : Tout devrait être activé.

  • Intégration CAPTCHA : Il est recommandé de définir au moins le reCaptcha invisible

  • Sécurité de l'organisation : Tout peut être activé et les e-mails d'activation ne devraient pas durer longtemps (7 jours c'est bien)

  • Prévention de l'énumération des utilisateurs : Les deux devraient être activés

  • Notez que la Prévention de l'énumération des utilisateurs n'a pas d'effet si l'une des conditions suivantes est autorisée (Voir Gestion des utilisateurs pour plus d'informations) :

  • Enregistrement en libre-service

  • Flux JIT avec authentification par e-mail

  • Paramètres Okta ThreatInsight : Journaliser et appliquer la sécurité en fonction du niveau de menace

HealthInsight

Ici, il est possible de trouver des paramètres correctement et dangereusement configurés.

Authentificateurs

Vous pouvez trouver ici tous les méthodes d'authentification qu'un utilisateur pourrait utiliser : Mot de passe, téléphone, e-mail, code, WebAuthn... En cliquant sur l'authentificateur de mot de passe, vous pouvez voir la politique de mot de passe. Vérifiez qu'elle est forte.

Dans l'onglet Inscription, vous pouvez voir celles qui sont requises ou optionnelles :

Il est recommandé de désactiver le téléphone. Les plus forts sont probablement une combinaison de mot de passe, e-mail et WebAuthn.

Politiques d'authentification

Chaque application a une politique d'authentification. La politique d'authentification vérifie que les utilisateurs qui tentent de se connecter à l'application remplissent des conditions spécifiques, et elle impose des exigences de facteur en fonction de ces conditions.

Ici, vous pouvez trouver les exigences pour accéder à chaque application. Il est recommandé de demander au moins un mot de passe et une autre méthode pour chaque application. Mais si en tant qu'attaquant vous trouvez quelque chose de plus faible, vous pourriez peut-être l'attaquer.

Politique de session globale

Ici, vous pouvez trouver les politiques de session attribuées à différents groupes. Par exemple :

Il est recommandé de demander une authentification multifactorielle (MFA), de limiter la durée de la session à quelques heures, de ne pas persister les cookies de session à travers les extensions de navigateur et de limiter la localisation et le fournisseur d'identité (si cela est possible). Par exemple, si chaque utilisateur doit se connecter depuis un pays, vous pourriez uniquement autoriser cette localisation.

Fournisseurs d'identité

Les fournisseurs d'identité (IdPs) sont des services qui gèrent les comptes d'utilisateurs. Ajouter des IdPs dans Okta permet à vos utilisateurs finaux de s'auto-enregistrer avec vos applications personnalisées en s'authentifiant d'abord avec un compte social ou une carte à puce.

Sur la page des fournisseurs d'identité, vous pouvez ajouter des connexions sociales (IdPs) et configurer Okta en tant que fournisseur de services (SP) en ajoutant du SAML entrant. Après avoir ajouté des IdPs, vous pouvez configurer des règles de routage pour diriger les utilisateurs vers un IdP en fonction du contexte, tel que la localisation de l'utilisateur, le périphérique ou le domaine de messagerie électronique.

Si un fournisseur d'identité est configuré du point de vue des attaquants et des défenseurs, vérifiez cette configuration et si la source est vraiment fiable, car un attaquant compromettant cela pourrait également accéder à l'environnement Okta.

Authentification déléguée

L'authentification déléguée permet aux utilisateurs de se connecter à Okta en saisissant les informations d'identification du serveur Active Directory (AD) ou LDAP de leur organisation.

Encore une fois, vérifiez ceci, car un attaquant compromettant l'AD d'une organisation pourrait être en mesure de pivoter vers Okta grâce à ce paramètre.

Réseau

Une zone réseau est une limite configurable que vous pouvez utiliser pour accorder ou restreindre l'accès aux ordinateurs et appareils de votre organisation en fonction de l'adresse IP qui demande l'accès. Vous pouvez définir une zone réseau en spécifiant une ou plusieurs adresses IP individuelles, des plages d'adresses IP ou des emplacements géographiques.

Après avoir défini une ou plusieurs zones réseau, vous pouvez les utiliser dans les politiques de session globales, les politiques d'authentification, les notifications VPN et les règles de routage.

Du point de vue des attaquants, il est intéressant de savoir quels IPs sont autorisés (et vérifier si certains IPs sont plus privilégiés que d'autres). Du point de vue des attaquants, si les utilisateurs doivent accéder depuis une adresse IP ou une région spécifique, vérifiez que cette fonctionnalité est utilisée correctement.

Intégrations de périphériques

  • Gestion des points de terminaison : La gestion des points de terminaison est une condition qui peut être appliquée dans une politique d'authentification pour garantir que les appareils gérés ont accès à une application.

  • Je n'ai pas encore vu cela utilisé. À FAIRE

  • Services de notification : Je n'ai pas encore vu cela utilisé. À FAIRE

API

Vous pouvez créer des jetons API Okta sur cette page, et voir ceux qui ont été créés, leurs privilèges, leur expiration et leurs URLs d'origine. Notez que les jetons API sont générés avec les autorisations de l'utilisateur qui a créé le jeton et ne sont valides que si l'utilisateur qui les a créés est actif.

Les Origines de confiance accordent l'accès à des sites Web que vous contrôlez et en lesquels vous avez confiance pour accéder à votre organisation Okta via l'API Okta.

Il ne devrait pas y avoir beaucoup de jetons API, car s'il y en a, un attaquant pourrait essayer d'y accéder et de les utiliser.

Flux de travail

Automatisations

Les automatisations vous permettent de créer des actions automatisées qui s'exécutent en fonction d'un ensemble de conditions de déclenchement qui se produisent pendant le cycle de vie des utilisateurs finaux.

Par exemple, une condition pourrait être "Inactivité de l'utilisateur dans Okta" ou "Expiration du mot de passe de l'utilisateur dans Okta" et l'action pourrait être "Envoyer un e-mail à l'utilisateur" ou "Changer l'état du cycle de vie de l'utilisateur dans Okta".

Rapports

Rapports

Téléchargez des journaux. Ils sont envoyés à l'adresse e-mail du compte actuel.

Journal système

Ici, vous pouvez trouver les journaux des actions effectuées par les utilisateurs avec de nombreux détails comme la connexion à Okta ou aux applications via Okta.

Surveillance des importations

Cela peut importer des journaux à partir d'autres plateformes accessibles avec Okta.

Limites de taux

Vérifiez les limites de taux d'API atteintes.

Paramètres

Compte

Ici, vous pouvez trouver des informations génériques sur l'environnement Okta, telles que le nom de l'entreprise, l'adresse, le contact de facturation par e-mail, le contact technique par e-mail et aussi qui devrait recevoir les mises à jour Okta et quel type de mises à jour Okta.

Téléchargements

Ici, vous pouvez télécharger des agents Okta pour synchroniser Okta avec d'autres technologies.

Dernière mise à jour