Okta Hardening

Unterstütze HackTricks

Verzeichnis

Personen

Aus der Perspektive eines Angreifers ist dies sehr interessant, da du alle registrierten Benutzer, ihre E-Mail-Adressen, die Gruppen, denen sie angehören, Profile und sogar Geräte (Mobiltelefone zusammen mit ihren Betriebssystemen) sehen kannst.

Für eine Whitebox-Überprüfung überprüfe, dass es nicht mehrere "Ausstehende Benutzeraktionen" und "Passwortzurücksetzungen" gibt.

Gruppen

Hier findest du alle in Okta erstellten Gruppen. Es ist interessant, die verschiedenen Gruppen (Sätze von Berechtigungen) zu verstehen, die Benutzern gewährt werden könnten. Es ist möglich, die Personen in den Gruppen und die Apps, die jeder Gruppe zugewiesen sind, zu sehen.

Natürlich ist jede Gruppe mit dem Namen admin interessant, besonders die Gruppe Global Administrators. Überprüfe die Mitglieder, um herauszufinden, wer die privilegiertesten Mitglieder sind.

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

Geräte

Finde hier eine Liste aller Geräte aller Benutzer. Du kannst auch sehen, ob sie aktiv verwaltet werden oder nicht.

Profil-Editor

Hier ist es möglich zu beobachten, wie wichtige Informationen wie Vornamen, Nachnamen, E-Mails, Benutzernamen... 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, ein Insider versuchen könnte, andere Konten zu übernehmen.

Außerdem kannst du im Profil User (default) von Okta sehen, welche Felder jeder Benutzer hat und welche von Benutzern beschreibbar sind. Wenn du das Admin-Panel nicht sehen kannst, gehe einfach zu deinem Profil aktualisieren und du wirst sehen, welche Felder du aktualisieren kannst (beachte, dass du zum Aktualisieren einer E-Mail-Adresse diese verifizieren musst).

Verzeichnis-Integrationen

Verzeichnisse ermöglichen es dir, Personen aus bestehenden Quellen zu importieren. Ich vermute, hier wirst du die aus anderen Verzeichnissen importierten Benutzer sehen.

Ich habe es nicht gesehen, aber ich vermute, es ist interessant herauszufinden, welche anderen Verzeichnisse Okta verwendet, um Benutzer zu importieren, sodass du, wenn du dieses Verzeichnis kompromittierst, einige Attributwerte in den in Okta erstellten Benutzern festlegen und vielleicht die Okta-Umgebung kompromittieren könntest.

Profilquellen

Eine Profilquelle ist eine Anwendung, die als Quelle der Wahrheit für Benutzerprofilattribute fungiert. Ein Benutzer kann nur von einer einzigen Anwendung oder einem Verzeichnis gleichzeitig bezogen werden.

Ich habe es nicht gesehen, daher sind alle Informationen über Sicherheit und Hacking in Bezug auf diese Option willkommen.

Anpassungen

Marken

Überprüfe im Domains-Tab dieses Abschnitts die E-Mail-Adressen, die zum Senden von E-Mails verwendet werden, und die benutzerdefinierte Domain innerhalb von Okta des Unternehmens (die du wahrscheinlich bereits kennst).

Außerdem kannst du im Einstellungen-Tab, wenn du Admin bist, eine "Benutzerdefinierte Abmeldeseite verwenden" und eine benutzerdefinierte URL festlegen.

SMS

Nichts Interessantes hier.

Endbenutzer-Dashboard

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

Sonstiges

Interessante Einstellung, aber nichts super Interessantes aus Sicherheitssicht.

Anwendungen

Anwendungen

Hier findest du alle konfigurierten Anwendungen und deren Details: Wer hat Zugriff auf sie, wie ist sie konfiguriert (SAML, OpenID), URL zum Einloggen, die Zuordnungen zwischen Okta und der Anwendung...

Im Sign On-Tab gibt es auch ein Feld namens Password reveal, das einem Benutzer erlauben würde, sein Passwort anzuzeigen, wenn er die Anwendungseinstellungen überprüft. Um die Einstellungen einer Anwendung aus dem Benutzer-Panel zu überprüfen, klicke auf die 3 Punkte:

Und du könntest einige weitere Details über die App sehen (wie die Passwortanzeigefunktion, wenn sie aktiviert ist):

Identity Governance

Zugriffszertifizierungen

Verwende Zugriffszertifizierungen, um Audit-Kampagnen zu erstellen, um den Zugriff deiner Benutzer auf Ressourcen regelmäßig zu überprüfen und den Zugriff bei Bedarf automatisch zu genehmigen oder zu widerrufen.

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

Sicherheit

Allgemein

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

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

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

  • Benutzeraufzählungsprävention: Beide sollten aktiviert sein.

  • Beachte, dass die Benutzeraufzählungsprävention nicht wirksam ist, wenn eine der folgenden Bedingungen erlaubt ist (siehe Benutzerverwaltung für weitere Informationen):

  • Selbstregistrierung

  • JIT-Flows mit E-Mail-Authentifizierung

  • Okta ThreatInsight-Einstellungen: Protokolliere und erzwinge Sicherheit basierend auf der Bedrohungsstufe.

HealthInsight

Hier ist es möglich, korrekt und gefährlich konfigurierte Einstellungen zu finden.

Authentifikatoren

Hier findest du alle Authentifizierungsmethoden, die ein Benutzer verwenden könnte: Passwort, Telefon, E-Mail, Code, WebAuthn... Wenn du auf den Passwort-Authentifikator klickst, kannst du die Passwortrichtlinie sehen. Überprüfe, dass sie stark ist.

Im Enrollment-Tab kannst du sehen, welche 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 Faktorenanforderungen basierend auf diesen Bedingungen.

Hier findest du die Anforderungen für den Zugriff auf jede Anwendung. Es wird empfohlen, mindestens Passwort und eine weitere Methode für jede Anwendung zu verlangen. Aber wenn du als Angreifer etwas Schwächeres findest, könntest du es möglicherweise angreifen.

Globale Sitzungsrichtlinie

Hier findest du die Sitzungsrichtlinien, die verschiedenen Gruppen zugewiesen sind. Zum Beispiel:

Es wird empfohlen, MFA zu verlangen, die Sitzungsdauer auf einige Stunden zu begrenzen, Sitzungscookies nicht über Browsererweiterungen hinweg zu speichern und den Standort und den Identitätsanbieter zu begrenzen (wenn dies möglich ist). Zum Beispiel, wenn jeder Benutzer sich aus einem Land anmelden sollte, könntest du nur diesen Standort zulassen.

Identitätsanbieter

Identitätsanbieter (IdPs) sind Dienste, die Benutzerkonten verwalten. Das Hinzufügen von IdPs in Okta ermöglicht es deinen Endbenutzern, sich selbst bei deinen benutzerdefinierten Anwendungen zu registrieren, indem sie sich zuerst mit einem sozialen Konto oder einer Smartcard authentifizieren.

Auf der Seite Identitätsanbieter kannst du soziale Logins (IdPs) hinzufügen und Okta als Dienstanbieter (SP) konfigurieren, indem du eingehendes SAML hinzufügst. Nachdem du IdPs hinzugefügt hast, kannst du Routingregeln einrichten, um Benutzer basierend auf dem Kontext, wie dem Standort des Benutzers, dem Gerät oder der E-Mail-Domain, zu einem IdP zu leiten.

Wenn ein Identitätsanbieter konfiguriert ist, überprüfe aus der Perspektive eines Angreifers und Verteidigers diese Konfiguration 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-Server ihrer Organisation eingeben.

Überprüfe dies erneut, da ein Angreifer, der das AD einer Organisation kompromittiert, dank dieser Einstellung möglicherweise zu Okta pivotieren könnte.

Netzwerk

Eine Netzwerkzone ist eine konfigurierbare Grenze, die du verwenden kannst, um den Zugriff auf Computer und Geräte in deiner Organisation basierend auf der IP-Adresse, die den Zugriff anfordert, zu gewähren oder einzuschränken. Du kannst eine Netzwerkzone definieren, indem du eine oder mehrere einzelne IP-Adressen, Bereiche von IP-Adressen oder geografische Standorte angibst.

Nachdem du eine oder mehrere Netzwerkzonen definiert hast, kannst du sie in globalen Sitzungsrichtlinien, Authentifizierungsrichtlinien, VPN-Benachrichtigungen und Routingregeln verwenden.

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

Geräte-Integrationen

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

  • Ich habe dies noch nicht verwendet. TODO

  • Benachrichtigungsdienste: Ich habe dies noch nicht verwendet. TODO

API

Du kannst auf dieser Seite Okta API-Tokens erstellen und die erstellten Tokens, deren Berechtigungen, Ablaufzeiten und Ursprungs-URLs sehen. Beachte, dass API-Tokens 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 Zugriff auf Websites, die du kontrollierst und denen du vertraust, um auf deine Okta-Organisation über die Okta API zuzugreifen.

Es sollte nicht viele API-Tokens geben, da ein Angreifer versuchen könnte, auf sie zuzugreifen und sie zu verwenden.

Workflow

Automatisierungen

Automatisierungen ermöglichen es dir, automatisierte Aktionen zu erstellen, die basierend auf einer Reihe von Auslösebedingungen ausgeführt werden, die während des Lebenszyklus der Endbenutzer auftreten.

Zum Beispiel könnte eine Bedingung "Benutzerinaktivität in Okta" oder "Benutzerpasswortablauf in Okta" sein und die Aktion könnte "E-Mail an den Benutzer senden" oder "Benutzerlebenszyklusstatus in Okta ändern" sein.

Berichte

Berichte

Lade Protokolle herunter. Sie werden **an die E-Mail-Adresse des aktuellen Kontos gesendet.

Systemprotokoll

Hier findest du die Protokolle der von Benutzern durchgeführten Aktionen mit vielen Details wie Anmeldungen in Okta oder in Anwendungen über Okta.

Importüberwachung

Dies kann Protokolle von anderen Plattformen importieren, die mit Okta zugegriffen werden.

Ratenlimits

Überprüfe die erreichten API-Ratenlimits.

Einstellungen

Konto

Hier findest du allgemeine Informationen über die Okta-Umgebung, wie den Firmennamen, die Adresse, E-Mail-Abrechnungs-Kontakt, E-Mail-Technischer-Kontakt und auch, wer Okta-Updates erhalten soll und welche Art von Okta-Updates.

Downloads

Hier kannst du Okta-Agenten herunterladen, um Okta mit anderen Technologien zu synchronisieren.

Unterstütze HackTricks

Last updated