Entidad de servicio propia con credenciales

HIGH

Descripción

Las entidades de servicio propias (aplicaciones empresariales) provienen de aplicaciones (registros de aplicaciones) que pertenecen a Microsoft. La mayoría de ellas tienen permisos sensibles en Microsoft Entra ID que suelen pasarse por alto durante las revisiones de seguridad. Esto permite que los atacantes agreguen credenciales a estas entidades para aprovechar sigilosamente sus privilegios.

Esta técnica ofrece funcionalidades de persistencia, así como escalamiento de privilegios, ya que las entidades con el rol Administrador de aplicaciones pueden agregar credenciales a las aplicaciones, incluidas aquellas que tienen privilegios elevados.

Las entidades de servicio propias no deberían tener ninguna credencial, excepto en situaciones excepcionales (consulte las recomendaciones). En Configuración de Microsoft Entra para aumentar la seguridad, Microsoft también recomienda que las aplicaciones de servicios de Microsoft no tengan credenciales configuradas.

El grupo de amenazas APT29 se aprovechó de este método en el infame ataque de diciembre de 2020 contra SolarWinds, llamado “Solorigate”, según documentan Microsoft y Mandiant.

De manera predeterminada, las entidades de servicio deshabilitadas se ignoran (aunque este parámetro se puede cambiar) porque los atacantes no pueden usarlas.

Solución

Para comenzar, evalúe la legitimidad de las credenciales que se observan. Puede que considere que estas credenciales son legítimas si se asocian con una de las entidades de servicio siguientes: Exchange Online / Skype for Business / AAD Password Protection Proxy.

En otros casos en los que sospeche que las credenciales no son legítimas:

  • Lleve a cabo una investigación forense, dado que pueden ser indicio de un ataque. El objetivo es confirmar el supuesto ataque e identificar al autor, cuándo tuvo lugar y cuál fue el grado de la intrusión potencial.
  • Revise los registros de auditoría para detectar cuándo se agregaron y si están en uso o se usaron antes.
  • Además, revise las credenciales vencidas, ya que un agente malicioso podría haberlas usado anteriormente, aunque ya no puedan usarse.

No es posible enumerar las credenciales de las entidades de servicio mediante Azure Portal, a diferencia de las credenciales asociadas a las aplicaciones. Use el cmdlet Get-MgServicePrincipal de Microsoft Graph PowerShell para enumerar las credenciales de la entidad de servicio:

  • Para las credenciales de claves: Get-MgServicePrincipal -ServicePrincipalId <objectid> -Property keyCredentials | select -ExpandProperty keyCredentials
  • Para las credenciales de contraseñas: Get-MgServicePrincipal -ServicePrincipalId <objectid> -Property passwordCredentials | select -ExpandProperty passwordCredentials

Para eliminar estas credenciales, use:

  • Para las credenciales de claves: el método normal consiste en usar Remove-MgServicePrincipalKey; no obstante, requiere una “prueba de posesión”, para la cual tiene que tener acceso a la clave privada, lo que no siempre será posible. En este caso, puede eludir esto; para ello, primero obtenga la matriz de credenciales de claves con $keycredentials = (Get-MgServicePrincipal -ServicePrincipalId <objectid>).KeyCredentials, luego quite las que no desea de $keycredentials y, por último, aplique esta nueva matriz con Update-MgServicePrincipal -ServicePrincipalId <objectid> -KeyCredentials $keycredentials. Para borrarlas todas, simplemente use Update-MgServicePrincipal -ServicePrincipalId <objectid> -KeyCredentials @().
  • Para las credenciales de contraseñas: Remove-MgServicePrincipalPassword (que no presenta el mismo problema).

Como alternativa, use el módulo de AzureAD PowerShell ahora en desuso:

  • Para las credenciales de claves: Get-AzureADServicePrincipalKeyCredential y Remove-AzureADServicePrincipalKeyCredential
  • Para las credenciales de contraseñas: Get-AzureADServicePrincipalPasswordCredential y Remove-AzureADServicePrincipalPasswordCredential

Detalles del indicador

Nombre: Entidad de servicio propia con credenciales

Nombre en clave: FIRST-PARTY-SERVICE-PRINCIPAL-WITH-CREDENTIALS

Gravedad: High

Tipo: Microsoft Entra ID Indicator of Exposure

Información de MITRE ATT&CK: