Okta Hardening
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aus der Perspektive eines Angreifers ist dies sehr interessant, da Sie alle registrierten Benutzer, deren E-Mail-Adressen, die Gruppen, zu denen sie gehören, Profile und sogar Geräte (Mobilgeräte zusammen 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.
Hier finden Sie alle in Okta erstellten Gruppen. Es ist interessant, die verschiedenen Gruppen (Satz von Berechtigungen) 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 Global Administrators. Überprüfen Sie die Mitglieder, um herauszufinden, wer die privilegiertesten Mitglieder sind.
Bei einer Whitebox-Überprüfung sollten nicht mehr als 5 globale Administratoren vorhanden sein (besser, wenn es nur 2 oder 3 sind).
Hier finden Sie eine Liste aller Geräte aller Benutzer. Sie können auch sehen, ob es aktiv verwaltet wird oder nicht.
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, da ein Benutzer, wenn er 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, versuchen könnte, andere Konten zu übernehmen.
Darüber hinaus können Sie im Profil User (default)
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 Sie Ihre Profil-Informationen, und Sie werden sehen, welche Felder Sie aktualisieren können (beachten Sie, dass Sie eine E-Mail-Adresse verifizieren müssen, um sie zu aktualisieren).
Verzeichnisse ermöglichen es Ihnen, Personen aus bestehenden Quellen zu importieren. Ich nehme an, hier sehen Sie die Benutzer, die aus anderen Verzeichnissen importiert wurden.
Ich habe es nicht gesehen, aber ich nehme an, es ist interessant herauszufinden, welche anderen Verzeichnisse Okta verwendet, um Benutzer zu importieren, sodass Sie, wenn Sie dieses Verzeichnis kompromittieren, einige Attributwerte in den in Okta erstellten Benutzern festlegen und vielleicht die Okta-Umgebung kompromittieren könnten.
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.
Überprüfen Sie im Tab Domains dieses Abschnitts die E-Mail-Adressen, die zum Versenden 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 Abmeldeseite verwenden" und eine benutzerdefinierte URL festlegen.
Hier gibt es nichts Interessantes.
Hier finden Sie konfigurierte Anwendungen, aber wir werden die Details später in einem anderen Abschnitt sehen.
Interessante Einstellung, aber nichts super Interessantes aus Sicht der Sicherheit.
Hier finden Sie alle konfigurierten Anwendungen und deren Details: Wer Zugriff auf sie hat, wie sie konfiguriert sind (SAML, OpenID), URL zum Anmelden, die Zuordnungen zwischen Okta und der Anwendung...
Im Tab Sign On
gibt es auch ein Feld namens Password reveal
, das es einem Benutzer ermöglichen würde, sein Passwort offenzulegen, wenn er die Anwendungseinstellungen überprüft. Um die Einstellungen einer Anwendung vom Benutzerpanel aus zu überprüfen, klicken Sie auf die 3 Punkte:
Und Sie könnten einige weitere Details zur App sehen (wie die Passwort-Offenlegungsfunktion, wenn sie aktiviert ist):
Verwenden Sie Zugriffszertifizierungen, um Auditkampagnen zu erstellen, um den Zugriff Ihrer Benutzer auf Ressourcen regelmäßig zu überprüfen und den Zugriff automatisch zu genehmigen oder zu widerrufen, wenn dies erforderlich ist.
Ich habe es nicht gesehen, aber ich nehme an, dass es aus defensiver Sicht eine schöne Funktion ist.
Sicherheitsbenachrichtigungs-E-Mails: Alle sollten aktiviert sein.
CAPTCHA-Integration: Es wird empfohlen, mindestens das unsichtbare reCaptcha einzustellen.
Organisationssicherheit: Alles kann aktiviert werden, und Aktivierungs-E-Mails sollten nicht lange dauern (7 Tage sind in Ordnung).
Benutzernummernverhinderung: Beide sollten aktiviert sein.
Beachten Sie, dass die Benutzernummernverhinderung nicht wirksam wird, wenn eine der folgenden Bedingungen erlaubt ist (siehe Benutzerverwaltung für weitere Informationen):
Selbstregistrierung
JIT-Workflows mit E-Mail-Authentifizierung
Okta ThreatInsight-Einstellungen: Protokollieren und Durchsetzen von Sicherheit basierend auf dem Bedrohungsniveau.
Hier ist es möglich, korrekt und gefährlich konfigurierte Einstellungen zu finden.
Hier finden Sie alle Authentifizierungsmethoden, die ein Benutzer verwenden könnte: Passwort, Telefon, E-Mail, Code, WebAuthn... Wenn Sie auf den Passwort-Authentifizierer klicken, können Sie die Passwortrichtlinie sehen. Überprüfen Sie, ob sie stark ist.
Im Tab Registrierung können Sie sehen, welche erforderlich oder optional sind:
Es wird empfohlen, das Telefon zu deaktivieren. Die stärksten sind wahrscheinlich eine Kombination aus Passwort, E-Mail und WebAuthn.
Jede App hat eine Authentifizierungsrichtlinie. Die Authentifizierungsrichtlinie überprüft, ob Benutzer, die versuchen, sich bei der App anzumelden, bestimmte Bedingungen erfüllen, und sie erzwingt Faktoranforderungen basierend auf diesen Bedingungen.
Hier finden Sie die Anforderungen für den Zugriff auf jede Anwendung. Es wird empfohlen, mindestens ein Passwort und eine andere Methode für jede Anwendung anzufordern. Aber wenn Sie als Angreifer etwas Schwächeres finden, könnten Sie es angreifen.
Hier finden Sie die Sitzungsrichtlinien, die verschiedenen Gruppen zugewiesen sind. Zum Beispiel:
Es wird empfohlen, MFA anzufordern, die Sitzungsdauer auf einige Stunden zu beschränken, Sitzungs-Cookies nicht über Browsererweiterungen hinweg zu speichern und den Standort und den Identitätsanbieter (wenn dies möglich ist) zu beschränken. Wenn beispielsweise jeder Benutzer aus einem bestimmten Land anmelden sollte, könnten Sie nur diesen Standort zulassen.
Identitätsanbieter (IdPs) sind Dienste, die Benutzerkonten verwalten. Das Hinzufügen von IdPs in Okta ermöglicht es Ihren Endbenutzern, sich mit Ihren benutzerdefinierten Anwendungen selbst zu 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 Routingregeln einrichten, um Benutzer basierend auf dem Kontext, wie dem Standort des Benutzers, dem Gerät oder der E-Mail-Domain, an einen IdP weiterzuleiten.
Wenn ein Identitätsanbieter konfiguriert ist, überprüfen Sie 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.
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üfen Sie dies erneut, da ein Angreifer, der das AD einer Organisation kompromittiert, möglicherweise in der Lage ist, zu Okta zu pivotieren, dank dieser Einstellung.
Eine Netzwerkzone ist eine konfigurierbare Grenze, die Sie verwenden können, um Zugriff auf Computer und Geräte in Ihrer Organisation basierend auf der IP-Adresse, die 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 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üfen Sie, ob diese Funktion ordnungsgemäß verwendet wird.
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 gesehen. TODO
Benachrichtigungsdienste: Ich habe dies noch nicht gesehen. TODO
Sie können auf dieser Seite Okta-API-Token erstellen und die erstellten, deren Berechtigungen, Ablauf-Zeit und Ursprungs-URLs sehen. 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 Zugriff auf Websites, die Sie kontrollieren und denen Sie vertrauen, um auf Ihre Okta-Organisation über die Okta-API zuzugreifen.
Es sollten nicht viele API-Token vorhanden sein, da ein Angreifer, wenn es viele gibt, versuchen könnte, auf sie zuzugreifen und sie zu verwenden.
Automatisierungen ermöglichen es Ihnen, automatisierte Aktionen zu erstellen, die basierend auf einer Reihe von Auslösebedingungen ausgeführt werden, die während des Lebenszyklus der Endbenutzer auftreten.
Ein Beispiel für eine Bedingung könnte "Benutzerinaktivität in Okta" oder "Ablauf des Benutzerpassworts in Okta" sein, und die Aktion könnte "E-Mail an den Benutzer senden" oder "Benutzerlebenszyklusstatus in Okta ändern" sein.
Protokolle herunterladen. Sie werden an die E-Mail-Adresse des aktuellen Kontos gesendet.
Hier finden Sie die Protokolle der von Benutzern durchgeführten Aktionen mit vielen Details wie Anmeldungen in Okta oder in Anwendungen über Okta.
Dies kann Protokolle von anderen Plattformen importieren, die mit Okta aufgerufen wurden.
Überprüfen Sie die erreichten API-Ratenlimits.
Hier finden Sie allgemeine Informationen über die Okta-Umgebung, wie den Firmennamen, die Adresse, E-Mail-Rechnungsadresse, E-Mail-technischer Kontakt und auch, wer Okta-Updates erhalten sollte und welche Art von Okta-Updates.
Hier können Sie Okta-Agents herunterladen, um Okta mit anderen Technologien zu synchronisieren.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)