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)
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 de caja blanca, verifica que no haya varias "Acciones de usuario pendientes" y "Restablecimiento de contraseña".
Aquí es donde encuentras todos los grupos creados en Okta. Es interesante entender los diferentes grupos (conjunto de permisos) que podrían ser otorgados a los usuarios. Es posible ver las personas incluidas en 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 aprender quiénes son los miembros más privilegiados.
Desde una revisión de caja blanca, no debería haber más de 5 administradores globales (mejor si solo hay 2 o 3).
Encuentra aquí una lista de todos los dispositivos de todos los usuarios. También puedes ver si está siendo gestionado activamente o no.
Aquí es posible observar cómo se comparte 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 interno podría intentar tomar el control de otras cuentas.
Además, en el perfil Usuario (predeterminado)
de Okta puedes ver qué campos tiene cada usuario y cuáles son escribibles por los usuarios. Si no puedes ver el panel de administración, simplemente ve a actualizar tu información de perfil y verás qué campos puedes actualizar (ten en cuenta que para actualizar una dirección de correo electrónico necesitarás verificarla).
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 esto es interesante para descubrir otros directorios que Okta está utilizando para importar usuarios, así que 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.
Una fuente de perfil es una aplicación que actúa como fuente de verdad para los atributos del perfil del usuario. Un usuario solo puede ser fuente de una sola aplicación o directorio a la vez.
No lo he visto, así que cualquier información sobre seguridad y hacking respecto a esta opción es apreciada.
Verifica en la pestaña Dominios de esta sección las direcciones de correo electrónico utilizadas para enviar correos y el dominio personalizado dentro de Okta de la empresa (que probablemente ya conoces).
Además, en la pestaña Configuración, si eres administrador, puedes "Usar una página de cierre de sesión personalizada" y establecer una URL personalizada.
Nada interesante aquí.
Aquí puedes encontrar aplicaciones configuradas, pero veremos los detalles de esas más adelante en una sección diferente.
Configuración interesante, pero nada super interesante desde el punto de vista de la seguridad.
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, los mapeos entre Okta y la aplicación...
En la pestaña Iniciar sesión
también hay un campo llamado Revelar contraseña
que permitiría a un usuario revelar su contraseña al revisar la configuración de la aplicación. Para revisar la configuración de una aplicación desde el Panel de Usuario, haz clic en los 3 puntos:
Y podrías ver algunos detalles más sobre la aplicación (como la función de revelar contraseña, si está habilitada):
Utiliza las Certificaciones de Acceso para crear campañas de auditoría para revisar periódicamente el acceso de tus usuarios a los 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 buena característica.
Correos electrónicos de notificación de seguridad: Todos deberían estar habilitados.
Integración de CAPTCHA: Se recomienda establecer al menos el reCaptcha invisible.
Seguridad de la organización: Todo puede ser habilitado y los correos electrónicos de activación no deberían tardar 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 tiene efecto si se permite 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 según el nivel de amenaza.
Aquí es posible encontrar configuraciones correctas y peligrosas.
Aquí puedes encontrar todos los métodos de autenticación que un usuario podría usar: 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ñas. Verifica que sea fuerte.
En la pestaña Inscripción puedes ver cuáles son requeridos u opcionales:
Se recomienda deshabilitar el teléfono. Los más fuertes son probablemente una combinación de contraseña, correo electrónico y WebAuthn.
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 con condiciones específicas y hace cumplir los requisitos de factores 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 ser capaz de atacarlo.
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 las cookies de sesión a través de extensiones de navegador y limitar la ubicación y el Proveedor de Identidad (si esto es posible). Por ejemplo, si cada usuario debería iniciar sesión desde un país, podrías permitir solo esta ubicación.
Los Proveedores de Identidad (IdPs) son servicios que gestionan cuentas de usuario. Agregar IdPs en Okta permite a tus usuarios finales autoregistrarse con tus aplicaciones personalizadas autenticándose primero con una cuenta social o una tarjeta inteligente.
En la página de Proveedores de Identidad, puedes agregar inicios de sesión sociales (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 según el contexto, como la ubicación del usuario, el dispositivo o el dominio de correo electrónico.
Si algún proveedor de identidad está configurado desde la perspectiva de un atacante y defensor, verifica esa configuración y si la fuente es realmente confiable, ya que un atacante que lo comprometa también podría obtener acceso al entorno de Okta.
La autenticación delegada permite a los usuarios iniciar sesión en Okta ingresando credenciales para el Active Directory (AD) o LDAP de su organización.
Nuevamente, revisa 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.
Una zona de red es un límite configurable que puedes usar para otorgar o restringir el acceso a computadoras y dispositivos en tu organización según la dirección IP que está solicitando 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 usarlas en 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 deberían acceder desde una dirección IP o región específica, verifica que esta función se esté utilizando correctamente.
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. TODO
Servicios de notificación: No he visto esto utilizado aún. TODO
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 son válidos solo si el usuario que los creó está activo.
Los Orígenes de Confianza otorgan acceso a sitios web que controlas y 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 los hay, un atacante podría intentar acceder a ellos y usarlos.
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 "Expiración de la contraseña del usuario en Okta" y la acción podría ser "Enviar correo electrónico al usuario" o "Cambiar el estado del ciclo de vida del usuario en Okta".
Descargar registros. Se envían a la dirección de correo electrónico de la cuenta actual.
Aquí puedes encontrar los registros de las acciones realizadas por los usuarios con muchos detalles como iniciar sesión en Okta o en aplicaciones a través de Okta.
Esto puede importar registros de otras plataformas accedidas con Okta.
Verifica los límites de tasa de la API alcanzados.
Aquí puedes encontrar información genérica sobre el entorno de Okta, como el nombre de la empresa, dirección, correo electrónico de contacto de facturación, correo electrónico de contacto técnico y también quién debería recibir actualizaciones de Okta y qué tipo de actualizaciones de Okta.
Aquí puedes descargar agentes de Okta para sincronizar Okta con otras tecnologías.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)