Okta Hardening

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Directory

People

Du point de vue d’un attaquant, c’est super intĂ©ressant car vous pourrez voir tous les utilisateurs enregistrĂ©s, leurs adresses email, 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 “Action utilisateur en attente” et “RĂ©initialisation de mot de passe”.

Groups

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

Bien sûr, tout groupe avec le nom 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 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).

Devices

Trouvez ici une liste de tous les appareils de tous les utilisateurs. Vous pouvez Ă©galement voir s’il est activement gĂ©rĂ© ou non.

Profile Editor

Ici, il est possible d’observer comment des informations clĂ©s telles que les prĂ©noms, noms, emails, 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 email) 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 User (default) d’Okta, vous pouvez voir quels champs chaque utilisateur a et lesquels sont modifiables par les utilisateurs. Si vous ne pouvez pas voir le panneau d’administration, allez simplement Ă  mettre Ă  jour vos informations de profil et vous verrez quels champs vous pouvez mettre Ă  jour (notez que pour mettre Ă  jour une adresse email, vous devrez la vĂ©rifier).

Directory Integrations

Les annuaires vous permettent d’importer des personnes Ă  partir de sources existantes. Je suppose qu’ici vous verrez les utilisateurs importĂ©s d’autres annuaires.

Je ne l’ai pas vu, mais je suppose que c’est intĂ©ressant de dĂ©couvrir d’autres annuaires qu’Okta utilise pour importer des utilisateurs afin que si vous compromettez cet annuaire, vous puissiez dĂ©finir certaines valeurs d’attributs dans les utilisateurs créés dans Okta et peut-ĂȘtre compromettre l’environnement Okta.

Profile Sources

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 source que par une seule application ou annuaire Ă  la fois.

Je ne l’ai pas vu, donc toute information sur la sĂ©curitĂ© et le hacking concernant cette option est apprĂ©ciĂ©e.

Customizations

Brands

VĂ©rifiez dans l’onglet Domains de cette section les adresses email utilisĂ©es pour envoyer des emails et le domaine personnalisĂ© Ă  l’intĂ©rieur d’Okta de l’entreprise (que vous savez probablement dĂ©jĂ ).

De plus, dans l’onglet Setting, 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.

End-User Dashboard

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

Other

ParamÚtre intéressant, mais rien de super intéressant du point de vue de la sécurité.

Applications

Applications

Ici, vous pouvez trouver toutes les applications configurĂ©es et leurs dĂ©tails : Qui y a accĂšs, comment elles sont configurĂ©es (SAML, OpenID), URL de connexion, les mappages entre Okta et l’application


Dans l’onglet Sign On, il y a aussi un champ appelĂ© Password reveal 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 depuis le 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) :

Identity Governance

Access Certifications

Utilisez les Access Certifications pour crĂ©er des campagnes d’audit afin de revoir l’accĂšs de vos utilisateurs aux ressources pĂ©riodiquement et approuver ou rĂ©voquer l’accĂšs automatiquement lorsque cela est nĂ©cessaire.

Je ne l’ai pas vu utilisĂ©, mais je suppose que d’un point de vue dĂ©fensif, c’est une bonne fonctionnalitĂ©.

Security

General

  • Emails de notification de sĂ©curitĂ© : Tous devraient ĂȘtre activĂ©s.
  • 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 emails 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’est pas efficace si l’une des conditions suivantes est autorisĂ©e (voir User management pour plus d’informations) :
  • Inscription en libre-service
  • Flux JIT avec authentification par email
  • 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 configurés correctement et dangereux.

Authenticators

Ici, vous pouvez trouver toutes les mĂ©thodes d’authentification qu’un utilisateur pourrait utiliser : Mot de passe, tĂ©lĂ©phone, email, 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 Enrollment, vous pouvez voir comment ceux qui sont requis ou optionnels :

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

Authentication policies

Chaque application a une politique d’authentification. La politique d’authentification vĂ©rifie que les utilisateurs qui essaient de se connecter Ă  l’application rĂ©pondent Ă  des conditions spĂ©cifiques, et elle applique 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 ĂȘtre en mesure de l’attaquer.

Global Session Policy

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

Il est recommandĂ© de demander 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 l’emplacement et le fournisseur d’identitĂ© (si cela est possible). Par exemple, si chaque utilisateur doit se connecter depuis un pays, vous pourriez uniquement autoriser cet emplacement.

Identity Providers

Les fournisseurs d’identitĂ© (IdPs) sont des services qui gĂšrent les comptes utilisateurs. Ajouter des IdPs dans Okta permet Ă  vos utilisateurs finaux de s’inscrire eux-mĂȘmes Ă  vos applications personnalisĂ©es en s’authentifiant d’abord avec un compte social ou une carte intelligente.

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 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 l’emplacement de l’utilisateur, l’appareil ou le domaine email.

Si un fournisseur d’identitĂ© est configurĂ©, du point de vue d’un attaquant et d’un dĂ©fenseur, vĂ©rifiez cette configuration et si la source est vraiment fiable, car un attaquant qui la compromettrait pourrait Ă©galement accĂ©der Ă  l’environnement Okta.

Delegated Authentication

L’authentification dĂ©lĂ©guĂ©e permet aux utilisateurs de se connecter Ă  Okta en saisissant des identifiants pour le Active Directory (AD) ou LDAP de leur organisation.

Encore une fois, vĂ©rifiez cela, car un attaquant compromettant l’AD d’une organisation pourrait ĂȘtre en mesure de pivoter vers Okta grĂące Ă  ce paramĂštre.

Network

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 d’un attaquant, il est intĂ©ressant de savoir quelles IP sont autorisĂ©es (et de vĂ©rifier si certaines IP sont plus privilĂ©giĂ©es que d’autres). Du point de vue d’un attaquant, 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.

Device Integrations

  • 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 ne l’ai pas encore vu utilisĂ©. À faire.
  • Services de notification : Je ne l’ai pas encore vu utilisĂ©. À faire.

API

Vous pouvez crĂ©er des jetons API Okta sur cette page, et voir ceux qui ont Ă©tĂ© créés, leurs privileges, le temps d’expiration et les URLs d’origine. Notez qu’un jeton API est gĂ©nĂ©rĂ© avec les permissions de l’utilisateur qui a créé le jeton et n’est valide que si l’utilisateur qui les a créés est actif.

Les Origines de confiance accordent l’accĂšs aux sites Web que vous contrĂŽlez et en qui 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.

Workflow

Automations

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 email Ă  l’utilisateur” ou “Changer l’état du cycle de vie de l’utilisateur dans Okta”.

Reports

Reports

TĂ©lĂ©chargez les journaux. Ils sont envoyĂ©s Ă  l’adresse email du compte actuel.

System Log

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

Import Monitoring

Cela peut importer des journaux des autres plateformes accessibles avec Okta.

Rate limits

Vérifiez les limites de taux API atteintes.

Settings

Account

Ici, vous pouvez trouver des informations gĂ©nĂ©rales sur l’environnement Okta, telles que le nom de l’entreprise, l’adresse, le contact de facturation par email, le contact technique par email et aussi qui devrait recevoir les mises Ă  jour Okta et quel type de mises Ă  jour Okta.

Downloads

Ici, vous pouvez tĂ©lĂ©charger des agents Okta pour synchroniser Okta avec d’autres technologies.

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks