Detección y corrección de concesiones de consentimiento ilícitas

Sugerencia

¿Sabía que puede probar las características de Microsoft Defender XDR para Office 365 Plan 2 de forma gratuita? Use la prueba de Defender para Office 365 de 90 días en el centro de pruebas del portal de Microsoft Defender. Obtenga información sobre quién puede registrarse y los términos de prueba aquí.

Resumen Obtenga información sobre cómo reconocer y corregir el ataque de concesiones de consentimiento ilícito en Microsoft 365.

En un ataque de concesión de consentimiento ilícito, el atacante crea una aplicación registrada en Azure que solicita acceso a datos como información de contacto, correo electrónico o documentos. A continuación, el atacante engaña a un usuario final para que conceda el consentimiento de esa aplicación para acceder a sus datos a través de un ataque de suplantación de identidad (phishing) o mediante la inserción de código ilícito en un sitio web de confianza. Una vez que se concede el consentimiento a la aplicación ilícita, tiene acceso a los datos a nivel de cuenta sin necesidad de una cuenta de la organización. Los pasos de corrección normales (por ejemplo, restablecer contraseñas o requerir autenticación multifactor (MFA)) no son eficaces contra este tipo de ataque, ya que estas aplicaciones son externas a la organización.

Estos ataques usan un modelo de interacción que presupone que la entidad que llama a la información es automatización y no un humano.

Importante

¿Sospecha que está experimentando problemas con las concesiones de consentimiento ilícitas de una aplicación, en este momento? Microsoft Defender for Cloud Apps tiene herramientas para detectar, investigar y corregir las aplicaciones de OAuth. Este artículo de Defender for Cloud Apps tiene un tutorial que describe cómo investigar aplicaciones de OAuth de riesgo. También puede establecer directivas de aplicaciones de OAuth para investigar los permisos solicitados por la aplicación, qué usuarios autorizan estas aplicaciones y aprobar o prohibir ampliamente estas solicitudes de permisos.

Debe buscar en el registro de auditoría para encontrar signos, también denominados Indicadores de compromiso (IOC) de este ataque. En el caso de las organizaciones con muchas aplicaciones registradas en Azure y una base de usuarios grande, el procedimiento recomendado es revisar las concesiones de consentimiento de las organizaciones semanalmente.

Pasos para encontrar signos de este ataque

  1. Abra el portal de Microsoft Defender en y, a https://security.microsoft.com continuación, seleccione Auditar. O bien, para ir directamente a la página de Auditoría, use https://security.microsoft.com/auditlogsearch.

  2. En la página Auditoría, compruebe que la pestaña Búsqueda está seleccionada y, a continuación, configure los siguientes valores:

    • Intervalo de fecha y hora
    • Actividades: compruebe que la opción Mostrar resultados de todas las actividades está seleccionada.

    Cuando haya terminado, seleccione Búsqueda.

  3. Seleccione la columna Actividad para ordenar los resultados y busque Consentimiento para la aplicación.

  4. Seleccione una entrada de la lista para ver los detalles de la actividad. Compruebe si IsAdminConsent está establecido en True.

Nota:

La entrada de registro de auditoría correspondiente puede tardar entre 30 minutos y 24 horas en mostrarse en los resultados de búsqueda después de que se produzca un evento.

El tiempo que se conserva un registro de auditoría y se puede buscar en el registro de auditoría depende de la suscripción de Microsoft 365 y, en concreto, del tipo de licencia que se asigna a un usuario específico. Para obtener más información, consulte Registro de auditoría.

El valor es true indica que alguien con acceso de administrador global podría haber concedido acceso amplio a los datos. Si este valor es inesperado, realice los pasos necesarios para confirmar un ataque.

Confirmación de un ataque

Si tiene una o varias instancias de los IOC enumerados anteriormente, debe realizar una investigación adicional para confirmar positivamente que se produjo el ataque. Puede usar cualquiera de estos tres métodos para confirmar el ataque:

  • Inventario de aplicaciones y sus permisos mediante el Centro de administración Microsoft Entra. Este método es exhaustivo, pero solo puede comprobar un usuario a la vez que puede llevar mucho tiempo si tiene muchos usuarios que comprobar.
  • Inventario de aplicaciones y sus permisos mediante PowerShell. Este es el método más rápido y exhaustivo, con la menor cantidad de sobrecarga.
  • Pida a los usuarios que comprueben individualmente sus aplicaciones y permisos y que informen de los resultados a los administradores para que los corrijan.

Inventario de aplicaciones con acceso en su organización

Tiene las siguientes opciones para hacer un inventario de aplicaciones para los usuarios:

  • El Centro de administración Microsoft Entra.
  • PowerShell.
  • Haga que los usuarios enumeren individualmente su propio acceso a la aplicación.

Pasos para usar el Centro de administración Microsoft Entra

Puede buscar las aplicaciones a las que cualquier usuario individual ha concedido permisos mediante el Centro de administración Microsoft Entra:

  1. Abra el Centro de administración Microsoft Entra en https://entra.microsoft.comy, a continuación, vaya aUsuarios>de identidad> *Todos los usuarios. O bien, para ir directamente a Usuarios>Todos los usuarios, use https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/.
  2. Busque y seleccione el usuario que desea revisar haciendo clic en el valor Nombre para mostrar .
  3. En la página de detalles del usuario que se abre, seleccione Aplicaciones.

Estos pasos muestran las aplicaciones que se asignan al usuario y qué permisos tienen las aplicaciones.

Pasos para hacer que los usuarios enumeren su acceso a la aplicación

Haga que los usuarios vayan a https://myapps.microsoft.com su propia aplicación y revisen su propio acceso a ella. Deben poder ver todas las aplicaciones con acceso, ver detalles sobre ellas (incluido el ámbito de acceso) y poder revocar privilegios a aplicaciones sospechosas o ilícitas.

Pasos en PowerShell

La manera más sencilla de comprobar el ataque de concesión de consentimiento ilícito es ejecutar Get-AzureADPSPermissions.ps1, que volcado todas las concesiones de consentimiento de OAuth y las aplicaciones de OAuth para todos los usuarios del inquilino en un archivo .csv.

Requisitos previos

  • La biblioteca de PowerShell de Azure AD instalada.
  • Permisos de administrador global en la organización donde se ejecuta el script.
  • Permisos de administrador local en el equipo donde se ejecutan los scripts.

Importante

Se recomienda encarecidamente requerir la autenticación multifactor en la cuenta de administrador. Este script admite la autenticación MFA.

Nota:

El desuso de Azure AD Powershell está previsto para el 30 de marzo de 2024. Para obtener más información, lea la actualización de desuso.

Se recomienda migrar a Microsoft Graph PowerShell para interactuar con Microsoft Entra ID (anteriormente Azure AD). Microsoft Graph PowerShell permite el acceso a todas las API de Microsoft Graph y está disponible en PowerShell 7. Para obtener respuestas a las consultas sobre la migración comunes, consulte las Preguntas frecuentes sobre la migración.

  1. Inicie sesión en el equipo donde desea ejecutar los scripts con derechos de administrador local.

  2. Descargue o copie el script deGet-AzureADPSPermissions.ps1 de GitHub en una carpeta fácil de encontrar y recordar. Esta carpeta también es donde debe escribir el archivo de salida "permissions.csv".

  3. Abra una sesión de PowerShell con privilegios elevados como administrador en la carpeta donde guardó el script.

  4. Conéctese al directorio mediante el cmdlet Connect-MgGraph .

  5. Ejecute este comando de PowerShell:

    .\Get-AzureADPSPermissions.ps1 | Export-csv -Path "Permissions.csv" -NoTypeInformation
    

El script genera un archivo denominado Permissions.csv. Siga estos pasos para buscar concesiones de permisos de aplicación ilícitas:

  1. En la columna ConsentType (columna G), busque el valor "AllPrinciples". El permiso AllPrincipals permite a la aplicación cliente acceder al contenido de todos los usuarios del inquilino. Las aplicaciones nativas de Microsoft 365 necesitan este permiso para funcionar correctamente. Todas las aplicaciones que no sean de Microsoft con este permiso deben revisarse cuidadosamente.

  2. En la columna Permiso (columna F), revise los permisos que cada aplicación delegada tiene para el contenido. Busque los permisos "Lectura" y "Escritura" o "Todos", y revise estos permisos cuidadosamente, ya que es posible que no sean adecuados.

  3. Revise los usuarios específicos que tienen consentimientos concedidos. Si los usuarios de alto perfil o de alto valor tienen consentimientos inadecuados concedidos, debe investigar más.

  4. En la columna ClientDisplayName (columna C) busque aplicaciones que parezcan sospechosas. Las aplicaciones con nombres mal escritos, nombres supersómbidos o nombres que suenan a piratas informáticos deben revisarse cuidadosamente.

Determinación del ámbito del ataque

Una vez que haya terminado de inventariar el acceso a la aplicación, revise el registro de auditoría para determinar el ámbito completo de la infracción. Búsqueda en los usuarios afectados, los períodos de tiempo que la aplicación ilícita tenía acceso a su organización y los permisos que tenía la aplicación. Puede buscar en el registro de auditoría en el portal de Microsoft Defender.

Importante

La auditoría de buzones y la auditoría de actividad para administradores y usuarios deben haberse habilitado antes del ataque para que pueda obtener esta información.

Después de identificar la aplicación con permisos ilícitos, tiene varias maneras de quitar ese acceso:

  • Para revocar el permiso de la aplicación en el Centro de administración Microsoft Entra, siga estos pasos:

    1. Abra el Centro de administración Microsoft Entra en https://entra.microsoft.comy, a continuación, vaya aUsuarios>de identidad> *Todos los usuarios. O bien, para ir directamente a Usuarios>Todos los usuarios, use https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/.
    2. Busque y seleccione el usuario afectado haciendo clic en el valor Nombre para mostrar .
    3. En la página de detalles del usuario que se abre, seleccione Aplicaciones.
    4. En la página Aplicaciones , seleccione la aplicación ilícita haciendo clic en el valor Nombre .
    5. En la página Detalles de asignación que se abre, seleccione Quitar.
  • Puede revocar la concesión de consentimiento de OAuth con PowerShell siguiendo los pasos descritos en Remove-MgOauth2PermissionGrant

  • Puede revocar la asignación de roles de aplicación de servicio con PowerShell siguiendo los pasos descritos en Remove-MgServicePrincipalAppRoleAssignment.

  • Puede deshabilitar el inicio de sesión de la cuenta afectada, lo que deshabilita el acceso a los datos de la cuenta por parte de la aplicación. Esta acción no es ideal para la productividad del usuario, pero puede ser una corrección a corto plazo para limitar rápidamente los resultados del ataque.

  • Puede desactivar las aplicaciones integradas en su organización. Esta acción es drástica. Aunque impide que los usuarios concedan acceso accidentalmente a una aplicación malintencionada, también impide que todos los usuarios concedan consentimiento a cualquier aplicación. No se recomienda esta acción porque afecta gravemente a la productividad del usuario con aplicaciones de terceros. Puede desactivar las aplicaciones integradas siguiendo los pasos descritos en Activar o desactivar aplicaciones integradas.

Consulte también