Okta Security

Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team di HackTricks AWS)!

Altri modi per supportare HackTricks:

Informazioni di Base

Okta, Inc. è riconosciuta nel settore della gestione dell'identità e dell'accesso per le sue soluzioni software basate su cloud. Queste soluzioni sono progettate per semplificare e proteggere l'autenticazione degli utenti su varie applicazioni moderne. Si rivolgono non solo alle aziende che mirano a proteggere i propri dati sensibili, ma anche agli sviluppatori interessati ad integrare controlli sull'identità nelle applicazioni, nei servizi web e nei dispositivi.

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

  • Single Sign-On (SSO): Semplifica l'accesso dell'utente consentendo un set di credenziali di accesso su più applicazioni.

  • Autenticazione Multifattore (MFA): Migliora la sicurezza richiedendo più forme di verifica.

  • Gestione del Ciclo di Vita: Automatizza i processi di creazione, aggiornamento e disattivazione degli account utente.

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

  • Gestione dell'Accesso alle API: Sicurezza e gestione dell'accesso alle API.

Questi servizi mirano 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, vantaggiose per grandi imprese, piccole aziende e sviluppatori individuali. All'ultimo aggiornamento nel settembre 2021, Okta è riconosciuta come un'entità di spicco nell'ambito della Gestione dell'Identità e dell'Accesso (IAM).

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

Per effettuare una revisione di sicurezza di un ambiente Okta dovresti richiedere l'accesso in sola lettura dell'amministratore.

Riassunto

Ci sono utenti (che possono essere memorizzati in Okta, loggati 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 l'autenticazione come password e vari metodi di autenticazione a due fattori come WebAuthn, email, telefono, okta verify (possono essere abilitati o disabilitati)...

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

Il ruolo più potente è il Super Amministratore.

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

Attacchi

Localizzazione del Portale di Okta

Di solito il portale di un'azienda si troverà in nomesocietà.okta.com. Se non lo trovi, prova semplici variazioni di nomesocietà. Se non riesci a trovarlo, è anche possibile che l'organizzazione abbia un record CNAME come okta.nomesocietà.com che punta al portale di Okta.

Accesso a Okta tramite Kerberos

Se nomesocietà.kerberos.okta.com è attivo, viene utilizzato Kerberos per l'accesso a Okta, bypassando tipicamente l'MFA per gli utenti Windows. Per trovare gli utenti di Okta autenticati con Kerberos in AD, esegui getST.py con parametri appropriati. Una volta 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. L'accesso a un URL specifico dovrebbe restituire una risposta JSON "OK", indicando l'accettazione del ticket Kerberos e concedendo l'accesso al cruscotto di Okta.

Compromettere l'account di servizio di Okta con l'SPN di delega abilita un attacco Silver Ticket. Tuttavia, l'uso di Okta di AES 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 autenticarsi con Okta.

Controlla l'attacco in https://trustedsec.com/blog/okta-for-red-teamers.

Dirottamento dell'Agente AD di Okta

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

Controlla l'attacco in https://trustedsec.com/blog/okta-for-red-teamers.

Dirottamento di AD come Amministratore

Questa tecnica coinvolge il dirottamento di un Agente AD di Okta ottenendo prima un Codice OAuth, 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 elaborare i tentativi di autenticazione, catturando le credenziali tramite l'API di Okta. Sono disponibili strumenti di automazione per semplificare questo processo, offrendo un metodo fluido per intercettare e gestire i dati di autenticazione all'interno dell'ambiente Okta.

Controlla l'attacco in https://trustedsec.com/blog/okta-for-red-teamers.

Provider SAML Falso di Okta

Controlla l'attacco in https://trustedsec.com/blog/okta-for-red-teamers.

La tecnica coinvolge il deploy di un provider SAML falso. Integrando un Identity Provider esterno (IdP) all'interno del framework di Okta utilizzando un account privilegiato, gli attaccanti possono controllare l'IdP, approvando qualsiasi richiesta di autenticazione a loro piacimento. Il processo prevede la configurazione di un IdP SAML 2.0 in Okta, la manipolazione dell'URL di 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 confrontarsi con il nome utente o l'email. Eseguendo con successo questi passaggi consente l'autenticazione come qualsiasi utente di Okta, bypassando la necessità di credenziali utente individuali, elevando significativamente il controllo degli accessi in modo potenzialmente non rilevato.

Phishing del portale Okta con Evilgnix

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

Attacco di impersonificazione di un collega

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

Pertanto, se l'applicazione 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 la modifica).

Si noti che questa impersonificazione dipende da come è stata configurata ciascuna applicazione. Solo quelle che si fidano del campo che hai modificato e accettano gli aggiornamenti saranno compromesse. Pertanto, l'applicazione dovrebbe avere questo campo abilitato se esiste:

Ho anche visto altre app vulnerabili che però 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 ciascuna app sarebbe provarci!

Eludere le politiche di rilevamento comportamentale

Le politiche di rilevamento comportamentale in Okta potrebbero essere sconosciute fino a quando non vengono incontrate, ma è possibile bypassarle prendendo di mira direttamente le applicazioni Okta, evitando il dashboard principale di Okta. Con un token di accesso Okta, ripetere il token all'URL specifico dell'applicazione Okta anziché alla pagina principale di accesso.

Le raccomandazioni chiave includono:

  • Evitare di utilizzare proxy anonimizzatori popolari e servizi VPN durante la ripetizione dei token di accesso catturati.

  • Assicurarsi che ci siano stringhe user-agent consistenti tra il client e i token di accesso ripetuti.

  • Astenersi dal ripetere token di utenti diversi dallo stesso indirizzo IP.

  • Fare attenzione quando si ripetono i token sul dashboard di Okta.

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

Rafforzamento di Okta

Okta ha molte possibili configurazioni, in questa pagina troverai come esaminarle in modo che siano il più sicure possibile:

pageOkta Hardening

Riferimenti

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated