Okta Hardening

Support HackTricks

Directory

People

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 varios "Pending user action" y "Password reset".

Groups

Aquí es donde encuentras 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 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 Global Administrators, verifica los miembros para saber 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).

Devices

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

Profile Editor

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 insider podría intentar tomar el control de otras cuentas.

Además, en el perfil User (default) 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, solo 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).

Directory Integrations

Los directorios te permiten importar personas de fuentes existentes. Supongo que aquí verás a 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 para que si comprometes ese directorio puedas establecer algunos valores de atributos en los usuarios creados en Okta y tal vez comprometer el entorno de Okta.

Profile Sources

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 originado por una sola aplicación o directorio a la vez.

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

Customizations

Brands

Verifica en la pestaña Domains 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 Setting, si eres administrador, puedes "Use a custom sign-out page" y establecer una URL personalizada.

SMS

Nada interesante aquí.

End-User Dashboard

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

Other

Configuración interesante, pero nada súper interesante desde un punto de vista de seguridad.

Applications

Applications

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

En la pestaña Sign On también hay un campo llamado Password reveal 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 algunos detalles más sobre la aplicación (como la función de revelación de contraseña, si está habilitada):

Identity Governance

Access Certifications

Usa Access Certifications 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 usado, pero supongo que desde un punto de vista defensivo es una buena característica.

Security

General

  • Security notification emails: Todos deberían estar habilitados.

  • CAPTCHA integration: Se recomienda configurar al menos el reCaptcha invisible.

  • Organization Security: Todo puede estar habilitado y los correos de activación no deberían durar mucho (7 días está bien).

  • User enumeration prevention: Ambos deberían estar habilitados.

  • Ten en cuenta que la Prevención de Enumeración de Usuarios no tiene efecto si se permiten cualquiera de las siguientes condiciones (ver User management para más información):

  • Self-Service Registration

  • JIT flows with email authentication

  • Okta ThreatInsight settings: Registrar y aplicar seguridad basada en el nivel de amenaza.

HealthInsight

Aquí es posible encontrar configuraciones correctas y peligrosas.

Authenticators

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 Enrollment puedes ver cuáles son obligatorios u opcionales:

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

Authentication policies

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 aplica requisitos de factores basados en esas condiciones.

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

Global Session Policy

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 del 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.

Identity Providers

Los Proveedores de Identidad (IdPs) son servicios que gestionan cuentas de usuario. Agregar IdPs en Okta permite a tus usuarios finales auto-registrarse 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 agregar 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 algún proveedor de identidad está configurado, desde el punto de vista 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.

Delegated Authentication

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 pivotar a Okta gracias a esta configuración.

Network

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 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 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 es más privilegiada que otras). Desde la perspectiva de un atacante, si los usuarios deberían estar accediendo desde una dirección IP o región específica, verifica que esta función se use correctamente.

Device Integrations

  • Endpoint Management: La gestión de endpoints es una condición que se puede aplicar en una política de autenticación para asegurar que los dispositivos gestionados tengan acceso a una aplicación.

  • No he visto esto usado aún. TODO

  • Notification services: No he visto esto usado aún. TODO

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 son válidos solo si el usuario que los creó está activo.

Los Trusted Origins otorgan acceso a sitios web que controlas y en los que confías para acceder a tu organización 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.

Workflow

Automations

Las automatizaciones te permiten crear acciones automatizadas que se ejecutan en base a 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".

Reports

Reports

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

System Log

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

Import Monitoring

Esto puede importar logs de otras plataformas accedidas con Okta.

Rate limits

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

Settings

Account

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.

Downloads

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

Support HackTricks

Last updated