Okta Security

Support HackTricks

Informazioni di base

Okta, Inc. è riconosciuta nel settore della gestione delle identità e degli accessi per le sue soluzioni software basate su cloud. Queste soluzioni sono progettate per semplificare e proteggere l'autenticazione degli utenti attraverso varie applicazioni moderne. Esse sono destinate non solo alle aziende che mirano a proteggere i loro dati sensibili, ma anche agli sviluppatori interessati a integrare controlli di identità in applicazioni, servizi web e dispositivi.

L'offerta principale di Okta è la Okta Identity Cloud. Questa piattaforma comprende una suite di prodotti, tra cui:

  • Single Sign-On (SSO): Semplifica l'accesso degli utenti consentendo un unico set di credenziali di accesso per più applicazioni.

  • Multi-Factor Authentication (MFA): Aumenta la sicurezza richiedendo più forme di verifica.

  • Lifecycle Management: Automatizza i processi di creazione, aggiornamento e disattivazione degli account utente.

  • Universal Directory: Consente la gestione centralizzata di utenti, gruppi e dispositivi.

  • API Access Management: Protegge e gestisce l'accesso alle API.

Questi servizi mirano collettivamente a rafforzare la protezione dei dati e a semplificare l'accesso degli utenti, migliorando sia la sicurezza che la comodità. La versatilità delle soluzioni di Okta le rende una scelta popolare in vari settori, utili per grandi imprese, piccole aziende e singoli sviluppatori. A partire dall'ultimo aggiornamento di settembre 2021, Okta è riconosciuta come un'entità prominente nell'arena della gestione delle identità e degli accessi (IAM).

L'obiettivo principale di Okta è configurare l'accesso a diversi utenti e gruppi per applicazioni esterne. Se riesci a compromettere i privilegi di amministratore in un ambiente Okta, sarai molto probabilmente in grado di compromettere tutte le altre piattaforme che l'azienda sta utilizzando.

Per eseguire una revisione della sicurezza di un ambiente Okta dovresti richiedere accesso di sola lettura come amministratore.

Ci sono utenti (che possono essere memorizzati in Okta, registrati da Identity Providers configurati o autenticati tramite Active Directory o LDAP). Questi utenti possono essere all'interno di gruppi. Ci sono anche autenticatori: diverse opzioni per autenticarsi come password, e diversi 2FA come WebAuthn, email, telefono, okta verify (possono essere abilitati o disabilitati)...

Poi, ci sono applicazioni sincronizzate con Okta. Ogni applicazione avrà una mappatura con Okta per condividere informazioni (come indirizzi email, nomi...). Inoltre, ogni applicazione deve essere all'interno di una Authentication Policy, che indica gli autenticatori necessari per un utente per accedere all'applicazione.

Il ruolo più potente è Super Administrator.

Se un attaccante compromette Okta con accesso da amministratore, tutte le app che si fidano di Okta saranno molto probabilmente compromesse.

Attacchi

Localizzare il Portale Okta

Di solito il portale di un'azienda sarà situato in companyname.okta.com. In caso contrario, prova semplici variazioni di companyname. Se non riesci a trovarlo, è anche possibile che l'organizzazione abbia un record CNAME come okta.companyname.com che punta al portale Okta.

Accesso a Okta tramite Kerberos

Se companyname.kerberos.okta.com è attivo, Kerberos è utilizzato per l'accesso a Okta, tipicamente bypassando MFA per gli utenti Windows. Per trovare utenti Okta autenticati tramite Kerberos in AD, esegui getST.py con i parametri appropriati. Ottenuto un ticket utente AD, iniettalo in un host controllato utilizzando strumenti come Rubeus o Mimikatz, assicurandoti che clientname.kerberos.okta.com sia nella zona "Intranet" delle Opzioni Internet. Accedere a un URL specifico dovrebbe restituire una risposta JSON "OK", indicando l'accettazione del ticket Kerberos e concedendo l'accesso alla dashboard di Okta.

Compromettere l'account di servizio Okta con il SPN di delega consente un attacco Silver Ticket. Tuttavia, l'uso di AES da parte di Okta per la crittografia dei ticket richiede il possesso della chiave AES o della password in chiaro. Usa ticketer.py per generare un ticket per l'utente vittima e consegnalo tramite il browser per autenticarti con Okta.

Verifica l'attacco su https://trustedsec.com/blog/okta-for-red-teamers.

Hijacking Okta AD Agent

Questa tecnica prevede l'accesso all'Okta AD Agent su un server, che sincronizza gli utenti e gestisce l'autenticazione. Esaminando e decrittografando le configurazioni in OktaAgentService.exe.config, in particolare l'AgentToken utilizzando DPAPI, un attaccante può potenzialmente intercettare e manipolare i dati di autenticazione. Questo consente non solo di monitorare e catturare le credenziali degli utenti in chiaro durante il processo di autenticazione Okta, ma anche di rispondere ai tentativi di autenticazione, consentendo l'accesso non autorizzato o fornendo un'autenticazione universale tramite Okta (simile a una 'chiave scheletro').

Verifica l'attacco su https://trustedsec.com/blog/okta-for-red-teamers.

Hijacking AD As an Admin

Questa tecnica prevede l'hijacking di un Okta AD Agent ottenendo prima un OAuth Code, quindi richiedendo un token API. Il token è associato a un dominio AD, e un connettore è nominato per stabilire un falso agente AD. L'inizializzazione consente all'agente di gestire i tentativi di autenticazione, catturando le credenziali tramite l'API di Okta. Sono disponibili strumenti di automazione per semplificare questo processo, offrendo un metodo senza soluzione di continuità per intercettare e gestire i dati di autenticazione all'interno dell'ambiente Okta.

Verifica l'attacco su https://trustedsec.com/blog/okta-for-red-teamers.

Okta Fake SAML Provider

Verifica l'attacco su https://trustedsec.com/blog/okta-for-red-teamers.

La tecnica prevede l'implementazione di un provider SAML falso. Integrando un Identity Provider (IdP) esterno all'interno del framework di Okta utilizzando un account privilegiato, gli attaccanti possono controllare l'IdP, approvando qualsiasi richiesta di autenticazione a piacimento. Il processo prevede la configurazione di un IdP SAML 2.0 in Okta, la manipolazione dell'URL Single Sign-On dell'IdP per il reindirizzamento tramite il file hosts locale, la generazione di un certificato autofirmato e la configurazione delle impostazioni di Okta per corrispondere al nome utente o all'email. Eseguendo con successo questi passaggi, è possibile autenticarsi come qualsiasi utente Okta, bypassando la necessità di credenziali utente individuali, elevando significativamente il controllo degli accessi in modo potenzialmente inosservato.

Phishing Okta Portal con Evilgnix

In questo post del blog è spiegato come preparare una campagna di phishing contro un portale Okta.

Colleague Impersonation Attack

Gli attributi che ogni utente può avere e modificare (come email o nome) possono essere configurati in Okta. Se un'applicazione si fida come ID di un attributo che l'utente può modificare, sarà in grado di impersonare altri utenti su quella piattaforma.

Pertanto, se l'app si fida del campo userName, probabilmente non sarai in grado di cambiarlo (perché di solito non puoi cambiare quel campo), ma se si fida ad esempio di primaryEmail potresti essere in grado di cambiarlo con l'indirizzo email di un collega e impersonarlo (dovrai avere accesso all'email e accettare il cambiamento).

Nota che questa impersonazione dipende da come è configurata ogni applicazione. Solo quelle che si fidano del campo che hai modificato e accettano aggiornamenti saranno compromesse. Pertanto, l'app dovrebbe avere questo campo abilitato se esiste:

Ho anche visto altre app che erano vulnerabili ma non avevano quel campo nelle impostazioni di Okta (alla fine le diverse app sono configurate in modo diverso).

Il modo migliore per scoprire se potresti impersonare qualcuno su ogni app sarebbe provarlo!

Evitare le politiche di rilevamento comportamentale

Le politiche di rilevamento comportamentale in Okta potrebbero essere sconosciute fino a quando non vengono incontrate, ma bypassarle può essere ottenuto mirando direttamente alle applicazioni Okta, evitando la dashboard principale di Okta. Con un token di accesso Okta, riproduci il token all'URL specifico dell'applicazione Okta invece della pagina di login principale.

Raccomandazioni chiave includono:

  • Evitare l'uso di proxy e servizi VPN popolari quando si riproducono token di accesso catturati.

  • Assicurarsi di mantenere coerenti le stringhe user-agent tra il client e i token di accesso riprodotti.

  • Evitare di riprodurre token di utenti diversi dallo stesso indirizzo IP.

  • Prestare attenzione quando si riproducono token contro la dashboard di Okta.

  • Se si è a conoscenza degli indirizzi IP dell'azienda vittima, limitare il traffico a quegli IP o al loro intervallo, bloccando tutto il resto del traffico.

Okta Hardening

Okta ha molte configurazioni possibili, in questa pagina troverai come rivederle affinché siano il più sicure possibile:

Okta Hardening

Riferimenti

Support HackTricks

Last updated