Okta Hardening
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Z perspektywy atakującego, to jest bardzo interesujące, ponieważ będziesz mógł zobaczyć wszystkich zarejestrowanych użytkowników, ich adresy e-mail, grupy, do których należą, profile i nawet urządzenia (telefony wraz z ich systemami operacyjnymi).
Dla przeglądu whitebox sprawdź, czy nie ma kilku "Oczekujących działań użytkownika" i "Resetowania hasła".
Tutaj znajdziesz wszystkie utworzone grupy w Okta. Interesujące jest zrozumienie różnych grup (zestawów uprawnień), które mogą być przyznane użytkownikom. Możliwe jest zobaczenie osób w grupach oraz aplikacji przypisanych do każdej grupy.
Oczywiście, każda grupa o nazwie admin jest interesująca, szczególnie grupa Global Administrators, sprawdź członków, aby dowiedzieć się, kto jest najbardziej uprzywilejowany.
Z przeglądu whitebox, nie powinno być więcej niż 5 globalnych administratorów (lepiej, jeśli jest tylko 2 lub 3).
Znajdź tutaj listę wszystkich urządzeń wszystkich użytkowników. Możesz również zobaczyć, czy jest aktywnie zarządzane, czy nie.
Tutaj można zaobserwować, jak kluczowe informacje, takie jak imiona, nazwiska, e-maile, nazwy użytkowników... są udostępniane między Okta a innymi aplikacjami. To jest interesujące, ponieważ jeśli użytkownik może zmodyfikować w Okta pole (takie jak jego imię lub e-mail), które następnie jest używane przez zewnętrzną aplikację do identyfikacji użytkownika, insider mógłby spróbować przejąć inne konta.
Ponadto, w profilu User (default)
z Okta możesz zobaczyć które pola każdy użytkownik ma i które są edytowalne przez użytkowników. Jeśli nie możesz zobaczyć panelu administracyjnego, po prostu przejdź do aktualizacji informacji o swoim profilu i zobaczysz, które pola możesz zaktualizować (zauważ, że aby zaktualizować adres e-mail, musisz go zweryfikować).
Katalogi pozwalają na importowanie osób z istniejących źródeł. Przypuszczam, że tutaj zobaczysz użytkowników importowanych z innych katalogów.
Nie widziałem tego, ale przypuszczam, że to jest interesujące, aby dowiedzieć się o innych katalogach, które Okta używa do importowania użytkowników, więc jeśli skomprymujesz ten katalog, mógłbyś ustawić niektóre wartości atrybutów w użytkownikach utworzonych w Okta i może skompromitować środowisko Okta.
Źródło profilu to aplikacja, która działa jako źródło prawdy dla atrybutów profilu użytkownika. Użytkownik może być źródłowany tylko przez jedną aplikację lub katalog w danym czasie.
Nie widziałem tego, więc wszelkie informacje o bezpieczeństwie i hackingu dotyczące tej opcji są mile widziane.
Sprawdź w zakładce Domains tej sekcji adresy e-mail używane do wysyłania e-maili oraz niestandardową domenę w Okta firmy (którą prawdopodobnie już znasz).
Ponadto, w zakładce Setting, jeśli jesteś administratorem, możesz "Użyć niestandardowej strony wylogowania" i ustawić niestandardowy adres URL.
Nic interesującego tutaj.
Możesz tutaj znaleźć skonfigurowane aplikacje, ale szczegóły tych aplikacji zobaczymy później w innej sekcji.
Interesujące ustawienie, ale nic super interesującego z punktu widzenia bezpieczeństwa.
Tutaj możesz znaleźć wszystkie skonfigurowane aplikacje i ich szczegóły: Kto ma do nich dostęp, jak są skonfigurowane (SAML, OpenID), URL do logowania, mapowania między Okta a aplikacją...
W zakładce Sign On
znajduje się również pole o nazwie Password reveal
, które pozwala użytkownikowi ujawnić swoje hasło podczas sprawdzania ustawień aplikacji. Aby sprawdzić ustawienia aplikacji z Panelu Użytkownika, kliknij 3 kropki:
I możesz zobaczyć więcej szczegółów o aplikacji (jak funkcja ujawniania hasła, jeśli jest włączona):
Użyj certyfikacji dostępu, aby tworzyć kampanie audytowe w celu okresowego przeglądu dostępu użytkowników do zasobów i automatycznego zatwierdzania lub odbierania dostępu, gdy jest to wymagane.
Nie widziałem tego używanego, ale przypuszczam, że z defensywnego punktu widzenia to ładna funkcja.
E-maile powiadomień o bezpieczeństwie: Wszystkie powinny być włączone.
Integracja CAPTCHA: Zaleca się ustawienie przynajmniej niewidocznego reCaptcha.
Bezpieczeństwo organizacji: Wszystko może być włączone, a e-maile aktywacyjne nie powinny trwać długo (7 dni jest w porządku).
Zapobieganie enumeracji użytkowników: Oba powinny być włączone.
Zauważ, że zapobieganie enumeracji użytkowników nie ma zastosowania, jeśli którakolwiek z poniższych warunków jest dozwolona (zobacz Zarządzanie użytkownikami po więcej informacji):
Rejestracja samoobsługowa
Przepływy JIT z uwierzytelnianiem e-mailowym
Ustawienia Okta ThreatInsight: Rejestruj i egzekwuj bezpieczeństwo w oparciu o poziom zagrożenia.
Tutaj można znaleźć poprawnie i niebezpiecznie skonfigurowane ustawienia.
Tutaj możesz znaleźć wszystkie metody uwierzytelniania, które użytkownik mógłby użyć: Hasło, telefon, e-mail, kod, WebAuthn... Klikając w uwierzytelnianie hasłem, możesz zobaczyć politykę haseł. Sprawdź, czy jest silna.
W zakładce Enrollment możesz zobaczyć, które z nich są wymagane lub opcjonalne:
Zaleca się wyłączenie telefonu. Najsilniejsze są prawdopodobnie kombinacje hasła, e-maila i WebAuthn.
Każda aplikacja ma politykę uwierzytelniania. Polityka uwierzytelniania weryfikuje, że użytkownicy, którzy próbują zalogować się do aplikacji, spełniają określone warunki, i egzekwuje wymagania dotyczące czynników w oparciu o te warunki.
Tutaj możesz znaleźć wymagania dotyczące dostępu do każdej aplikacji. Zaleca się żądanie przynajmniej hasła i innej metody dla każdej aplikacji. Ale jeśli jako atakujący znajdziesz coś słabszego, możesz być w stanie to zaatakować.
Tutaj możesz znaleźć polityki sesji przypisane do różnych grup. Na przykład:
Zaleca się żądanie MFA, ograniczenie czasu trwania sesji do kilku godzin, nie utrzymywanie ciasteczek sesyjnych w rozszerzeniach przeglądarki oraz ograniczenie lokalizacji i dostawcy tożsamości (jeśli to możliwe). Na przykład, jeśli każdy użytkownik powinien logować się z danego kraju, możesz zezwolić tylko na tę lokalizację.
Dostawcy tożsamości (IdP) to usługi, które zarządzają kontami użytkowników. Dodanie IdP w Okta umożliwia Twoim użytkownikom końcowym samo-rejestrację w Twoich niestandardowych aplikacjach, najpierw uwierzytelniając się za pomocą konta społecznościowego lub karty inteligentnej.
Na stronie dostawców tożsamości możesz dodać loginy społecznościowe (IdP) i skonfigurować Okta jako dostawcę usług (SP) poprzez dodanie SAML przychodzącego. Po dodaniu IdP możesz ustawić zasady routingu, aby kierować użytkowników do IdP w oparciu o kontekst, taki jak lokalizacja użytkownika, urządzenie lub domena e-mailowa.
Jeśli jakikolwiek dostawca tożsamości jest skonfigurowany, z perspektywy atakującego i obrońcy sprawdź tę konfigurację i czy źródło jest naprawdę godne zaufania, ponieważ atakujący, który je skompromituje, mógłby również uzyskać dostęp do środowiska Okta.
Uwierzytelnianie delegowane pozwala użytkownikom logować się do Okta, wprowadzając dane uwierzytelniające dla serwera Active Directory (AD) lub LDAP swojej organizacji.
Ponownie, sprawdź to, ponieważ atakujący, który skompromituje AD organizacji, mógłby być w stanie przejść do Okta dzięki temu ustawieniu.
Strefa sieciowa to konfigurowalna granica, którą możesz wykorzystać do przyznawania lub ograniczania dostępu do komputerów i urządzeń w Twojej organizacji w oparciu o adres IP, który żąda dostępu. Możesz zdefiniować strefę sieciową, określając jeden lub więcej indywidualnych adresów IP, zakresy adresów IP lub lokalizacje geograficzne.
Po zdefiniowaniu jednej lub więcej stref sieciowych możesz użyć ich w Politykach Sesji Globalnych, politykach uwierzytelniania, powiadomieniach VPN i zasadach routingu.
Z perspektywy atakującego interesujące jest wiedzieć, które adresy IP są dozwolone (i sprawdzić, czy jakieś adresy IP są bardziej uprzywilejowane niż inne). Z perspektywy atakującego, jeśli użytkownicy powinni uzyskiwać dostęp z konkretnego adresu IP lub regionu, sprawdź, czy ta funkcja jest używana prawidłowo.
Zarządzanie punktami końcowymi: Zarządzanie punktami końcowymi to warunek, który można zastosować w polityce uwierzytelniania, aby zapewnić, że zarządzane urządzenia mają dostęp do aplikacji.
Nie widziałem tego jeszcze używanego. TODO
Usługi powiadomień: Nie widziałem tego jeszcze używanego. TODO
Możesz tworzyć tokeny API Okta na tej stronie i zobaczyć te, które zostały utworzone, ich uprawnienia, czas wygaśnięcia i adresy URL źródłowe. Zauważ, że tokeny API są generowane z uprawnieniami użytkownika, który utworzył token, i są ważne tylko wtedy, gdy użytkownik, który je utworzył, jest aktywny.
Zaufane źródła przyznają dostęp do witryn, które kontrolujesz i ufasz, aby uzyskać dostęp do swojej organizacji Okta za pośrednictwem API Okta.
Nie powinno być zbyt wielu tokenów API, ponieważ jeśli ich jest dużo, atakujący mógłby spróbować uzyskać do nich dostęp i je wykorzystać.
Automatyzacje pozwalają na tworzenie automatycznych działań, które są uruchamiane na podstawie zestawu warunków wyzwalających, które występują w trakcie cyklu życia użytkowników końcowych.
Na przykład warunkiem może być "Nieaktywność użytkownika w Okta" lub "Wygasanie hasła użytkownika w Okta", a działaniem może być "Wyślij e-mail do użytkownika" lub "Zmień stan cyklu życia użytkownika w Okta".
Pobierz logi. Są wysyłane na adres e-mail bieżącego konta.
Tutaj możesz znaleźć logi działań wykonywanych przez użytkowników z wieloma szczegółami, takimi jak logowanie do Okta lub aplikacji przez Okta.
To może importować logi z innych platform uzyskanych za pomocą Okta.
Sprawdź osiągnięte limity szybkości API.
Tutaj możesz znaleźć ogólne informacje o środowisku Okta, takie jak nazwa firmy, adres, kontakt e-mail do rozliczeń, kontakt e-mail do spraw technicznych oraz kto powinien otrzymywać aktualizacje Okta i jakie rodzaje aktualizacji Okta.
Tutaj możesz pobrać agentów Okta, aby zsynchronizować Okta z innymi technologiami.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)