Okta Hardening

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Verzeichnis

Personen

Aus der Sicht eines Angreifers ist dies besonders interessant, da Sie alle registrierten Benutzer, ihre E-Mail-Adressen, die Gruppen, denen sie angehören, Profile und sogar Geräte (Mobilgeräte mit ihren Betriebssystemen) sehen können.

Für eine Whitebox-Überprüfung überprüfen Sie, ob es mehrere "Ausstehende Benutzeraktionen" und "Passwort zurücksetzen" gibt.

Gruppen

Hier finden Sie alle erstellten Gruppen in Okta. Es ist interessant, die verschiedenen Gruppen (Berechtigungssätze) zu verstehen, die Benutzern gewährt werden könnten. Es ist möglich, die Personen innerhalb der Gruppen und die Apps, die jeder Gruppe zugewiesen sind, zu sehen.

Natürlich ist jede Gruppe mit dem Namen admin interessant, insbesondere die Gruppe Globale Administratoren, überprüfen Sie die Mitglieder, um herauszufinden, wer die privilegiertesten Mitglieder sind.

Aus einer Whitebox-Überprüfung heraus sollten nicht mehr als 5 globale Admins vorhanden sein (besser, wenn es nur 2 oder 3 gibt).

Geräte

Hier finden Sie eine Liste aller Geräte aller Benutzer. Sie können auch sehen, ob sie aktiv verwaltet werden oder nicht.

Profil-Editor

Hier ist es möglich zu beobachten, wie Schlüsselinformationen wie Vor- und Nachnamen, E-Mail-Adressen, Benutzernamen usw. zwischen Okta und anderen Anwendungen geteilt werden. Dies ist interessant, weil wenn ein Benutzer ein Feld in Okta ändern kann (wie seinen Namen oder seine E-Mail), das dann von einer externen Anwendung verwendet wird, um den Benutzer zu identifizieren, könnte ein Insider versuchen, andere Konten zu übernehmen.

Darüber hinaus können Sie im Profil Benutzer (Standard) von Okta sehen, welche Felder jeder Benutzer hat und welche von Benutzern beschreibbar sind. Wenn Sie das Admin-Panel nicht sehen können, gehen Sie einfach zu Aktualisieren Ihrer Profil-Informationen und Sie sehen, welche Felder Sie aktualisieren können (beachten Sie, dass Sie zur Aktualisierung einer E-Mail-Adresse diese verifizieren müssen).

Verzeichnisintegrationen

Verzeichnisse ermöglichen es Ihnen, Personen aus vorhandenen Quellen zu importieren. Ich vermute, hier sehen Sie die aus anderen Verzeichnissen importierten Benutzer.

Ich habe es nicht gesehen, aber ich vermute, dass es interessant ist, andere Verzeichnisse zu finden, die Okta zum Importieren von Benutzern verwendet, damit Sie, wenn Sie dieses Verzeichnis kompromittieren, einige Attributwerte bei den in Okta erstellten Benutzern festlegen und möglicherweise die Okta-Umgebung kompromittieren könnten.

Profilquellen

Eine Profilquelle ist eine Anwendung, die als Wahrheitsquelle für Benutzerprofilattribute fungiert. Ein Benutzer kann immer nur von einer einzelnen Anwendung oder einem Verzeichnis bezogen werden.

Ich habe es nicht gesehen, daher ist jede Information über Sicherheit und Hacking in Bezug auf diese Option willkommen.

Anpassungen

Marken

Überprüfen Sie im Abschnitt Domänen die E-Mail-Adressen, die zum Senden von E-Mails verwendet werden, und die benutzerdefinierte Domain innerhalb von Okta des Unternehmens (die Sie wahrscheinlich bereits kennen).

Darüber hinaus können Sie im Tab Einstellungen, wenn Sie Administrator sind, "Eine benutzerdefinierte Abmelde-Seite verwenden" und eine benutzerdefinierte URL festlegen.

SMS

Hier gibt es nichts Interessantes.

Dashboard für Endbenutzer

Hier finden Sie konfigurierte Anwendungen, aber wir werden die Details später in einem anderen Abschnitt sehen.

Andere

Interessante Einstellung, aber nichts besonders Interessantes aus Sicherheitssicht.

Anwendungen

Anwendungen

Hier finden Sie alle konfigurierten Anwendungen und deren Details: Wer hat Zugriff darauf, wie sie konfiguriert sind (SAML, OPenID), URL zum Einloggen, die Zuordnungen zwischen Okta und der Anwendung...

Im Tab Anmelden gibt es auch ein Feld namens Passwort anzeigen, das es einem Benutzer ermöglichen würde, sein Passwort anzuzeigen, wenn er die Anwendungseinstellungen überprüft. Um die Einstellungen einer Anwendung im Benutzerpanel zu überprüfen, klicken Sie auf die 3 Punkte:

Und Sie könnten einige weitere Details zur App sehen (wie die Funktion zum Anzeigen des Passworts, wenn sie aktiviert ist):

Identitätsverwaltung

Zugriffszertifizierungen

Verwenden Sie Zugriffszertifizierungen, um Auditkampagnen zu erstellen, um regelmäßig den Zugriff Ihrer Benutzer auf Ressourcen zu überprüfen und den Zugriff automatisch zu genehmigen oder zu widerrufen, wenn erforderlich.

Ich habe es nicht verwendet, aber ich vermute, dass es aus defensiver Sicht eine nützliche Funktion ist.

Sicherheit

Allgemein

  • Sicherheitsbenachrichtigungs-E-Mails: Alle sollten aktiviert sein.

  • CAPTCHA-Integration: Es wird empfohlen, mindestens das unsichtbare reCaptcha einzurichten.

  • Organisationssicherheit: Alles kann aktiviert werden und Aktivierungs-E-Mails sollten nicht lange dauern (7 Tage sind in Ordnung).

  • Benutzerenumerationsprävention: Beide sollten aktiviert sein.

  • Beachten Sie, dass die Benutzerenumerationsprävention nicht wirksam wird, wenn eine der folgenden Bedingungen erlaubt ist (Weitere Informationen finden Sie unter Benutzerverwaltung):

  • Selbstregistrierung

  • JIT-Flows mit E-Mail-Authentifizierung

  • Okta ThreatInsight-Einstellungen: Protokollieren und Sicherheit basierend auf der Bedrohungsstufe durchsetzen

HealthInsight

Hier können korrekt und gefährlich konfigurierte Einstellungen gefunden werden.

Authentifizierer

Hier finden Sie alle Authentifizierungsmethoden, die ein Benutzer verwenden könnte: Passwort, Telefon, E-Mail, Code, WebAuthn... Wenn Sie auf den Passwortauthentifizierer klicken, können Sie die Passwortrichtlinie sehen. Überprüfen Sie, ob sie stark ist.

Im Tab Registrierung können Sie sehen, welche davon erforderlich oder optional sind:

Es wird empfohlen, Telefon zu deaktivieren. Die stärksten sind wahrscheinlich eine Kombination aus Passwort, E-Mail und WebAuthn.

Authentifizierungsrichtlinien

Jede App hat eine Authentifizierungsrichtlinie. Die Authentifizierungsrichtlinie überprüft, ob Benutzer, die versuchen, sich bei der App anzumelden, bestimmte Bedingungen erfüllen, und erzwingt Faktoranforderungen basierend auf diesen Bedingungen.

Hier finden Sie die Anforderungen für den Zugriff auf jede Anwendung. Es wird empfohlen, für jede Anwendung mindestens ein Passwort und eine weitere Methode anzufordern. Aber wenn Sie als Angreifer etwas Schwächeres finden, könnten Sie es angreifen.

Globale Sitzungsrichtlinie

Hier finden Sie die Sitzungsrichtlinien, die verschiedenen Gruppen zugewiesen sind. Zum Beispiel:

Es wird empfohlen, MFA anzufordern, die Sitzungsdauer auf einige Stunden zu begrenzen, Sitzungscookies nicht über Browsererweiterungen zu speichern und den Standort und den Identitätsanbieter (falls möglich) zu beschränken. Wenn beispielsweise jeder Benutzer sich aus einem Land einloggen sollte, könnten Sie nur diesen Standort zulassen.

Identitätsanbieter

Identitätsanbieter (IdPs) sind Dienste, die Benutzerkonten verwalten. Durch das Hinzufügen von IdPs in Okta können Ihre Endbenutzer sich mit Ihren benutzerdefinierten Anwendungen selbst registrieren, indem sie sich zuerst mit einem sozialen Konto oder einer Smartcard authentifizieren.

Auf der Seite der Identitätsanbieter können Sie soziale Logins (IdPs) hinzufügen und Okta als Dienstanbieter (SP) konfigurieren, indem Sie eingehendes SAML hinzufügen. Nachdem Sie IdPs hinzugefügt haben, können Sie Routing-Regeln einrichten, um Benutzer basierend auf dem Kontext, wie dem Standort des Benutzers, Gerät oder E-Mail-Domäne, zu einem IdP zu leiten.

Wenn ein Identitätsanbieter konfiguriert ist, überprüfen Sie diese Konfiguration aus der Sicht von Angreifern und Verteidigern und ob die Quelle wirklich vertrauenswürdig ist, da ein Angreifer, der sie kompromittiert, auch Zugriff auf die Okta-Umgebung erhalten könnte.

Delegierte Authentifizierung

Die delegierte Authentifizierung ermöglicht es Benutzern, sich bei Okta anzumelden, indem sie Anmeldeinformationen für den Active Directory (AD) oder LDAP ihres Unternehmens eingeben.

Überprüfen Sie dies erneut, da ein Angreifer, der das AD eines Unternehmens kompromittiert, dank dieser Einstellung möglicherweise auf Okta umschwenken kann.

Netzwerk

Eine Netzwerkzone ist eine konfigurierbare Grenze, die Sie verwenden können, um den Zugriff auf Computer und Geräte in Ihrer Organisation basierend auf der IP-Adresse, die den Zugriff anfordert, zu gewähren oder einzuschränken. Sie können eine Netzwerkzone definieren, indem Sie eine oder mehrere einzelne IP-Adressen, IP-Adressbereiche oder geografische Standorte angeben.

Nachdem Sie eine oder mehrere Netzwerkzonen definiert haben, können Sie diese in globalen Sitzungsrichtlinien, Authentifizierungsrichtlinien, VPN-Benachrichtigungen und Routing-Regeln verwenden.

Aus der Sicht eines Angreifers ist es interessant zu wissen, welche IPs zugelassen sind (und zu überprüfen, ob einige IPs privilegierter sind als andere). Aus der Sicht eines Angreifers, wenn die Benutzer von einer bestimmten IP-Adresse oder Region aus zugreifen sollten, überprüfen Sie, ob diese Funktion ordnungsgemäß verwendet wird.

Geräteintegrationen

  • Endpunktverwaltung: Die Endpunktverwaltung ist eine Bedingung, die in einer Authentifizierungsrichtlinie angewendet werden kann, um sicherzustellen, dass verwaltete Geräte Zugriff auf eine Anwendung haben.

  • Ich habe das noch nicht verwendet. TODO

  • Benachrichtigungsdienste: Ich habe das noch nicht verwendet. TODO

API

Sie können auf dieser Seite Okta-API-Token erstellen und diejenigen sehen, die erstellt wurden, ihre Berechtigungen, Ablaufzeit und Ursprungs-URLs. Beachten Sie, dass API-Token mit den Berechtigungen des Benutzers generiert werden, der das Token erstellt hat, und nur gültig sind, wenn der Benutzer, der sie erstellt hat, aktiv ist.

Die Vertrauenswürdigen Ursprünge gewähren Websites, die Sie kontrollieren und denen Sie vertrauen, den Zugriff auf Ihre Okta-Organisation über die Okta-API.

Es sollten nicht viele API-Token vorhanden sein, da ein Angreifer versuchen könnte, darauf zuzugreifen und sie zu verwenden.

Workflow

Automatisierungen

Automatisierungen ermöglichen es Ihnen, automatisierte Aktionen zu erstellen, die basierend auf einer Reihe von Triggerbedingungen ausgeführt werden, die während des Lebenszyklus von Endbenutzern auftreten.

Beispielsweise könnte eine Bedingung "Benutzer-Inaktivität in Okta" oder "Ablauf des Benutzerpassworts in Okta" sein und die Aktion könnte "E-Mail an den Benutzer senden" oder "Benutzerlebenszykluszustand in Okta ändern" sein.

Berichte

Berichte

Logs herunterladen. Sie werden an die E-Mail-Adresse des aktuellen Kontos gesendet.

Systemprotokoll

Hier finden Sie die Protokolle der Aktionen, die von Benutzern mit vielen Details wie dem Einloggen in Okta oder in Anwendungen über Okta durchgeführt wurden.

Importüberwachung

Hier können Sie Logs von anderen Plattformen importieren, auf die mit Okta zugegriffen wurde.

Rate Limits

Überprüfen Sie die erreichten API-Rate-Limits.

Einstellungen

Konto

Hier finden Sie allgemeine Informationen über die Okta-Umgebung, wie den Firmennamen, die Adresse, den E-Mail-Rechnungskontakt, den E-Mail-technischen Kontakt und auch wer Okta-Updates erhalten sollte und welche Art von Okta-Updates.

Downloads

Hier können Sie Okta-Agenten herunterladen, um Okta mit anderen Technologien zu synchronisieren.

Last updated