Okta Hardening

Aprende hacking de AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Directorio

Personas

Desde la perspectiva de un atacante, esto es muy interesante ya que podrás ver todos los usuarios registrados, sus direcciones de correo electrónico, los grupos a los que pertenecen, perfiles e incluso dispositivos (móviles junto con sus sistemas operativos).

Para una revisión en caja blanca, verifica que no haya varios "Acciones de usuario pendientes" y "Restablecimiento de contraseña".

Grupos

Aquí es donde se encuentran todos los grupos creados en Okta. Es interesante entender los diferentes grupos (conjunto de permisos) que podrían otorgarse a los usuarios. Es posible ver a las personas incluidas dentro de los grupos y las aplicaciones asignadas a cada grupo.

Por supuesto, cualquier grupo con el nombre de admin es interesante, especialmente el grupo Administradores Globales, verifica los miembros para saber quiénes son los miembros más privilegiados.

Desde una revisión en caja blanca, no debería haber más de 5 administradores globales (mejor si solo hay 2 o 3).

Dispositivos

Encuentra aquí una lista de todos los dispositivos de todos los usuarios. También puedes ver si están siendo administrados activamente o no.

Editor de Perfiles

Aquí es posible observar cómo se comparten información clave como nombres, apellidos, correos electrónicos, nombres de usuario, entre Okta y otras aplicaciones. Esto es interesante porque si un usuario puede modificar en Okta un campo (como su nombre o correo electrónico) que luego es utilizado por una aplicación externa para identificar al usuario, un insider podría intentar apoderarse de otras cuentas.

Además, en el perfil Usuario (predeterminado) de Okta puedes ver qué campos tiene cada usuario y cuáles son editables por los usuarios. Si no puedes ver el panel de administración, simplemente ve a actualizar la información de tu perfil y verás qué campos puedes actualizar (nota que para actualizar una dirección de correo electrónico necesitarás verificarla).

Integraciones de Directorio

Los directorios te permiten importar personas de fuentes existentes. Supongo que aquí verás los usuarios importados de otros directorios.

No lo he visto, pero supongo que es interesante descubrir otros directorios que Okta está utilizando para importar usuarios para, si comprometes ese directorio, podrías establecer algunos valores de atributos en los usuarios creados en Okta y quizás comprometer el entorno de Okta.

Fuentes de Perfil

Una fuente de perfil es una aplicación que actúa como fuente de verdad para los atributos del perfil de usuario. Un usuario solo puede ser originado por una sola aplicación o directorio a la vez.

No lo he visto, por lo que se agradece cualquier información sobre seguridad y hacking con respecto a esta opción.

Personalizaciones

Marcas

Verifica en la pestaña de Dominios de esta sección las direcciones de correo electrónico utilizadas para enviar correos electrónicos y el dominio personalizado dentro de Okta de la empresa (que probablemente ya conozcas).

Además, en la pestaña de Configuración, si eres administrador, puedes "Usar una página de cierre de sesión personalizada" y establecer una URL personalizada.

SMS

Nada interesante aquí.

Panel de Usuario Final

Aquí puedes encontrar aplicaciones configuradas, pero veremos los detalles de esas más adelante en una sección diferente.

Otros

Configuración interesante, pero nada super interesante desde un punto de vista de seguridad.

Aplicaciones

Aplicaciones

Aquí puedes encontrar todas las aplicaciones configuradas y sus detalles: Quién tiene acceso a ellas, cómo está configurado (SAML, OpenID), URL para iniciar sesión, las asignaciones entre Okta y la aplicación...

En la pestaña Inicio de sesión también hay un campo llamado Revelar contraseña que permitiría a un usuario revelar su contraseña al verificar la configuración de la aplicación. Para verificar la configuración de una aplicación desde el Panel de Usuario, haz clic en los 3 puntos:

Y podrías ver más detalles sobre la aplicación (como la función de revelación de contraseña, si está habilitada):

Gobierno de Identidad

Certificaciones de Acceso

Utiliza las Certificaciones de Acceso para crear campañas de auditoría para revisar periódicamente el acceso de tus usuarios a recursos y aprobar o revocar el acceso automáticamente cuando sea necesario.

No lo he visto utilizado, pero supongo que desde un punto de vista defensivo es una característica interesante.

Seguridad

General

  • Correos electrónicos de notificación de seguridad: Todos deberían estar habilitados.

  • Integración de CAPTCHA: Se recomienda configurar al menos el reCaptcha invisible.

  • Seguridad de la Organización: Todo se puede habilitar y los correos de activación no deberían durar mucho (7 días está bien)

  • Prevención de enumeración de usuarios: Ambos deberían estar habilitados

  • Ten en cuenta que la Prevención de Enumeración de Usuarios no surte efecto si se permiten alguna de las siguientes condiciones (Consulta Gestión de usuarios para más información):

  • Registro de autoservicio

  • Flujos JIT con autenticación por correo electrónico

  • Configuraciones de Okta ThreatInsight: Registrar y hacer cumplir la seguridad basada en el nivel de amenaza

HealthInsight

Aquí es posible encontrar configuraciones correctas y peligrosas.

Autenticadores

Aquí puedes encontrar todos los métodos de autenticación que un usuario podría utilizar: Contraseña, teléfono, correo electrónico, código, WebAuthn... Al hacer clic en el autenticador de Contraseña puedes ver la política de contraseña. Verifica que sea fuerte.

En la pestaña de Inscripción puedes ver cuáles son los requeridos u opcionales:

Se recomienda deshabilitar el Teléfono. Los más fuertes probablemente sean una combinación de contraseña, correo electrónico y WebAuthn.

Políticas de Autenticación

Cada aplicación tiene una política de autenticación. La política de autenticación verifica que los usuarios que intentan iniciar sesión en la aplicación cumplan condiciones específicas, y hace cumplir los requisitos de factor basados en esas condiciones.

Aquí puedes encontrar los requisitos para acceder a cada aplicación. Se recomienda solicitar al menos una contraseña y otro método para cada aplicación. Pero si como atacante encuentras algo más débil, podrías intentar atacarlo.

Política de Sesión Global

Aquí puedes encontrar las políticas de sesión asignadas a diferentes grupos. Por ejemplo:

Se recomienda solicitar MFA, limitar la duración de la sesión a algunas horas, no persistir cookies de sesión en extensiones de navegador y limitar la ubicación y el Proveedor de Identidad (si es posible). Por ejemplo, si cada usuario debe iniciar sesión desde un país, solo podrías permitir esta ubicación.

Proveedores de Identidad

Los Proveedores de Identidad (IdPs) son servicios que gestionan cuentas de usuario. Agregar IdPs en Okta permite que tus usuarios finales se registren por sí mismos en tus aplicaciones personalizadas autenticándose primero con una cuenta social o una tarjeta inteligente.

En la página de Proveedores de Identidad, puedes agregar inicio de sesión social (IdPs) y configurar Okta como un proveedor de servicios (SP) agregando SAML entrante. Después de haber agregado IdPs, puedes configurar reglas de enrutamiento para dirigir a los usuarios a un IdP basado en el contexto, como la ubicación del usuario, el dispositivo o el dominio de correo electrónico.

Si se configura algún proveedor de identidad desde el punto de vista de atacantes y defensores, verifica esa configuración y si la fuente es realmente confiable ya que un atacante que la comprometa también podría acceder al entorno de Okta.

Autenticación Delegada

La autenticación delegada permite a los usuarios iniciar sesión en Okta ingresando credenciales para el Directorio Activo (AD) o LDAP de su organización.

Nuevamente, verifica esto, ya que un atacante que comprometa el AD de una organización podría ser capaz de pivotar a Okta gracias a esta configuración.

Red

Una zona de red es un límite configurable que puedes usar para conceder o restringir acceso a computadoras y dispositivos en tu organización basado en la dirección IP que solicita acceso. Puedes definir una zona de red especificando una o más direcciones IP individuales, rangos de direcciones IP o ubicaciones geográficas.

Después de definir una o más zonas de red, puedes utilizarlas en las Políticas de Sesión Global, políticas de autenticación, notificaciones de VPN y reglas de enrutamiento.

Desde la perspectiva de un atacante, es interesante saber qué IPs están permitidas (y verificar si alguna IP tiene más privilegios que otras). Desde la perspectiva de un atacante, si los usuarios deben acceder desde una dirección IP o región específica, verifica que esta función se esté utilizando correctamente.

Integraciones de Dispositivos

  • Gestión de Puntos Finales: La gestión de puntos finales es una condición que se puede aplicar en una política de autenticación para garantizar que los dispositivos gestionados tengan acceso a una aplicación.

  • No he visto esto utilizado aún. POR HACER

  • Servicios de Notificación: No he visto esto utilizado aún. POR HACER

API

Puedes crear tokens de API de Okta en esta página y ver los que han sido creados, sus privilegios, tiempo de expiración y URLs de Origen. Ten en cuenta que los tokens de API se generan con los permisos del usuario que creó el token y solo son válidos si el usuario que los creó está activo.

Los Orígenes de Confianza otorgan acceso a sitios web que controlas y en los que confías para acceder a tu organización de Okta a través de la API de Okta.

No debería haber muchos tokens de API, ya que si hay muchos, un atacante podría intentar acceder a ellos y utilizarlos.

Flujo de Trabajo

Automatizaciones

Las automatizaciones te permiten crear acciones automatizadas que se ejecutan en función de un conjunto de condiciones de activación que ocurren durante el ciclo de vida de los usuarios finales.

Por ejemplo, una condición podría ser "Inactividad del usuario en Okta" o "Caducidad de la contraseña del usuario en Okta" y la acción podría ser "Enviar correo electrónico al usuario" o "Cambiar estado del ciclo de vida del usuario en Okta".

Informes

Informes

Descarga registros. Se envían a la dirección de correo electrónico de la cuenta actual.

Registro del Sistema

Aquí puedes encontrar los registros de las acciones realizadas por los usuarios con muchos detalles como inicio de sesión en Okta o en aplicaciones a través de Okta.

Monitoreo de Importación

Esto puede importar registros de otras plataformas accedidas con Okta.

Límites de Tasa

Verifica los límites de tasa de la API alcanzados.

Configuraciones

Cuenta

Aquí puedes encontrar información genérica sobre el entorno de Okta, como el nombre de la empresa, dirección, contacto de facturación por correo electrónico, contacto técnico por correo electrónico y también quién debería recibir actualizaciones de Okta y qué tipo de actualizaciones de Okta.

Descargas

Aquí puedes descargar agentes de Okta para sincronizar Okta con otras tecnologías.

Última actualización