Ilustración abstracta de pintura fluida en tonos azul marino, rojo y blanco para la noticia: Una credencial robada de ConnectWise Cloud Backup abre 173 inquilinos de Microsoft 365

Ciberataques

Una credencial robada de ConnectWise abre 173 tenants de Microsoft 365

ConnectWise Cloud Backup, el antiguo SkyKick, corta el servicio tras usarse su credencial para entrar en tenants de Microsoft 365 de clientes de MSP.

Un atacante utiliza desde el 15 de octubre la credencial de la aplicación ConnectWise Cloud Backup (el antiguo SkyKick) para obtener tokens de Microsoft Graph en los tenants de Microsoft 365 de clientes de proveedores de servicios gestionados, con accesos confirmados por Huntress en 162 tenants a las 19:00 UTC del 16 de octubre y en 173 según el recuento que recoge The Hacker News el día 17. ConnectWise cortó el acceso de la aplicación en todos los tenants el 17 de octubre a las 05:11 UTC y las copias de seguridad quedan paradas hasta nuevo aviso.

Qué ha pasado

ConnectWise Cloud Backup es el servicio de copia de seguridad de Microsoft 365 y Google Workspace que ConnectWise vende a los MSP (proveedores de servicios gestionados) desde que compró SkyKick en septiembre de 2024. Para copiar y restaurar buzones, OneDrive, SharePoint y Teams, la aplicación recibe permisos amplios en cada tenant donde el cliente la consiente. Esa es la credencial que alguien se ha llevado.

El 16 de octubre Huntress publicó el informe de Jonathan Semon con la secuencia completa. La autenticación aparece en los propios registros de inicio de sesión de Microsoft en cada tenant y usa un client assertion, de modo que la credencial vive en el tenant del fabricante y ningún cliente pudo generarla desde su entorno. Huntress lo resume así: «The app's credential is in hostile hands» (la credencial de la aplicación está en manos hostiles). El mismo día lo adelantó en un hilo en X, donde explica que el actor «abused the access they obtained in SkyKick» (abusó del acceso que obtuvo en SkyKick) para saltar a los Microsoft 365 de los clientes.

ConnectWise publicó su primer aviso el 16 de octubre a las 17:47 UTC y lo actualizó el 17 a las 05:11 UTC con la confirmación: «We recently identified unauthorized access to application identities within the ConnectWise Cloud Backup environment» (hemos identificado accesos no autorizados a identidades de aplicación dentro del entorno de ConnectWise Cloud Backup). Como medida de protección apagó el acceso de la aplicación Cloud Backup, lo que interrumpe las copias de sus clientes. El fabricante sostiene que no tiene indicios de que los datos de las copias de sus partners estén comprometidos y que el archivo existente seguirá accesible cuando restaure el servicio.

Captura del aviso de ConnectWise del 17 de octubre de 2026 que anuncia el corte del acceso de la aplicación Cloud Backup tras detectar accesos no autorizados a identidades de aplicación
Fuente: ConnectWise, «Cloud Backup (formerly known as SkyKick) Service Interruption»

La captura del aviso publicado en el Trust Center de ConnectWise recoge esa actualización del 17 de octubre. El texto no explica cómo se obtuvo la credencial ni cuándo volverá el servicio.

Microsoft Threat Intelligence lo calificó en X, según recoge The Hacker News, de «active supply chain attack» (ataque activo a la cadena de suministro) en el que el actor comprometió la aplicación OAuth de confianza de Cloud Backup para obtener tokens de acceso en los tenants de los clientes. Microsoft añade que el atacante aprovechó permisos que los clientes ya habían concedido, entre ellos Directory.ReadWrite.All, y que la actividad posterior incluyó reconocimiento a través de la API de Microsoft Graph e intentos de añadir credenciales a la entidad de servicio para mantener una puerta trasera.

Detalles técnicos

Dato

Valor

Producto

ConnectWise Cloud Backup (antes SkyKick Backup), aplicación multitenant de Microsoft 365

ID de aplicación

506e08f9-6e9a-4da4-942b-a099a03644ae (tenant propietario 3f9cd7a0-127a-4ed4-bf06-2f830d5616b7)

Tipo de credencial

Client assertion de la aplicación, custodiada en el tenant del fabricante

Explotación activa

Sí, desde el 15 de octubre de 2026 (06:13 a 08:34 UTC), según Huntress y Microsoft

Alcance confirmado

162 tenants (Huntress, 16 de octubre, 19:00 UTC) y 173 (The Hacker News, 17 de octubre)

Infraestructura del atacante

144.172.64.128 (AS14956, RouterHosting)

Estado del servicio

Acceso de la aplicación cortado por ConnectWise el 17 de octubre a las 05:11 UTC

MITRE ATT&CK

T1078.004, T1098.003 y T1098.001 (según Huntress)

El ataque no explota ningún fallo de software. Quien tiene el secreto o el certificado de una aplicación de Entra puede autenticarse como ella desde cualquier sitio y recibir tokens con los permisos que cada tenant ya concedió, sin usuario, sin dispositivo y sin MFA. Es el mismo problema de fondo que tratamos al hablar de identidad y control de accesos en la nube: la aplicación es una identidad más y sus credenciales valen tanto como las de un administrador. Huntress reconstruye la secuencia con los registros de los tenants que vigila:

  1. 13 y 14 de octubre. Desde 144.172.64.128 se lanza password spraying contra cuatro bufetes de abogados, con peticiones de token OAuth2 firmadas con el agente curl/7.88.1. Dos cuentas quedan bloqueadas por smart lockout y Huntress no ve ningún inicio de sesión de usuario con éxito.
  2. 15 de octubre, desde las 01:58 UTC. En unos 50 tenants, las entidades de servicio de las aplicaciones ConnectWise Cloud Management (Exchange Online, Teams y Graph) se asignan a sí mismas roles de directorio, casi siempre Exchange Administrator, con el agente kiota-dotnet que usan las propias aplicaciones del fabricante. Huntress no ha podido confirmar con ConnectWise si fue automatización legítima.
  3. 15 de octubre, de 03:44 a 03:49 UTC. En un tenant, la aplicación ConnectWise Cloud Management - MS Teams (ID 24205314-2b89-4e07-a2a4-579e898a5640) se añade al rol Global Administrator dos veces y un script en Python (agente Python-urllib/3.12) hace nueve cambios en otras dos aplicaciones, una de gestión del MSP y la propia Huntress Security Platform. Seis cambios tienen éxito y tres fallan, entre ellos un certificado rechazado por huella incorrecta. Los secretos nuevos caducan en 2028.
  4. 15 de octubre, de 06:13 a 08:34 UTC. La aplicación Cloud Backup se autentica desde 144.172.64.128 en 17 de los primeros 290 tenants revisados, repartidos entre 17 partners distintos, y recorre los tenants en orden de GUID con segundos de diferencia, el patrón de un script que trabaja sobre una lista.
Diagrama de la cronología del incidente de ConnectWise Cloud Backup, desde el password spraying del 13 de octubre hasta el corte del servicio el 17 de octubre de 2026
Elaboración propia con datos de Huntress y ConnectWise

El diagrama resume esa cronología con las horas de Huntress y de los avisos de ConnectWise. Huntress no ha podido unir las dos fases del 15 de octubre (la escalada de las 03:44 y los tokens de las 06:13) a un mismo operador, porque las acciones de solo aplicación no dejan IP de origen en el registro de auditoría de Microsoft.

Registro de inicios de sesión de entidad de servicio en Microsoft Entra con dos accesos correctos de ConnectWise Cloud Backup a Microsoft Graph desde la IP 144.172.64.128
Fuente: Huntress, «ConnectWise (SkyKick) Vendor Credentials Abused in M365 Attacks»

La captura de Huntress muestra cómo lo ve un administrador en el centro de administración de Entra: dos inicios de sesión correctos de la entidad de servicio ConnectWise Cloud Backup contra Microsoft Graph desde 144.172.64.128, una dirección de un proveedor de hosting, cuando el tráfico legítimo de la aplicación sale de direcciones IPv6 privadas de Azure. Estos son los indicadores que publican ConnectWise, Huntress y Guardz:

Indicador

Tipo

Observación

144.172.64.128

IP

Password spraying del 13 y 14 de octubre y tokens de Graph del 15 (ConnectWise, Huntress)

144.172.94.243

IP

Misma red de RouterHosting (Guardz)

2602:fa59:13:5f::1 y 2602:fa59:2:3559::1

IPv6

Misma red de RouterHosting (Guardz)

curl/7.88.1

User-Agent

Password spraying, baja fidelidad por sí solo

Python-urllib/3.12 y python-requests/2.31

User-Agent

Autenticaciones sospechosas (ConnectWise) y cambios de credenciales (Huntress)

kiota-dotnet

User-Agent

SDK .NET que usan las aplicaciones legítimas de ConnectWise

506e08f9-6e9a-4da4-942b-a099a03644ae

ID de aplicación

Cloud Backup, legítima: deshabilitar la entidad de servicio, no bloquear el ID

24205314-2b89-4e07-a2a4-579e898a5640

ID de aplicación

Cloud Management - MS Teams, legítima, usada para escalar en un tenant

Las demás aplicaciones de Cloud Management que Huntress pide revisar son 2399d300-6fca-4e6a-a686-399fefe75b83 (Cloud Management), b78f6a77-d4e5-46fb-87e5-d1648bd02519 (Exchange Online), 0de14c77-b9b0-4137-9360-34878a929827 (MS Graph), 412dcf96-176d-4b3a-a1b0-4981ad66971e (Partner Center) y b2b55f5b-7758-4719-8d8f-88ae172e6bdb (SharePoint Online). En tenants antiguos aparecen con el nombre SkyKick Cloud Manager.

En el registro de auditoría de Entra, los eventos que delatan la escalada son Add member to role, Update application y Add service principal credentials, y los campos que importan son la aplicación iniciadora, el destino, el resultado y el agente de usuario. Para listar desde PowerShell los secretos y certificados añadidos a cualquier registro de aplicación del tenant desde el 13 de octubre, sirve esta consulta con el SDK de Microsoft Graph:

Connect-MgGraph -Scopes "Application.Read.All"
$desde = Get-Date "2026-10-13"
Get-MgApplication -All | ForEach-Object {
  $app = $_
  @($app.PasswordCredentials) + @($app.KeyCredentials) |
    Where-Object { $_.StartDateTime -ge $desde } |
    Select-Object @{n='Aplicacion';e={$app.DisplayName}},
                  @{n='AppId';e={$app.AppId}},
                  DisplayName, StartDateTime, EndDateTime, KeyId
}

Cualquier credencial que aparezca ahí y que no haya creado el propio equipo debe eliminarse. Huntress encuadra la actividad en MITRE ATT&CK como uso de cuentas válidas en la nube (T1078.004), roles adicionales en la nube (T1098.003) y credenciales adicionales en la nube (T1098.001).

A quién afecta

A cualquier organización con la aplicación Cloud Backup consentida en su tenant, porque la credencial funciona contra todos ellos, y en particular a los MSP que la despliegan en los tenants de sus clientes. Huntress recalca que los 162 tenants son los que ha podido confirmar donde tiene visibilidad de los registros de inicio de sesión, y que no puede revisar los que carecen de la licencia de Entra necesaria. Los permisos de cada tenant marcan el alcance, desde la lectura de correo y archivos en bloque, descarga de buzones y OneDrive, enumeración de usuarios, grupos y aplicaciones y, donde haya permisos de escritura, modificación o borrado de datos.

Huntress no ha visto lecturas de correo ni de archivos en el único registro de auditoría que ha revisado a fondo, pero avisa de que eso no demuestra nada, porque las lecturas de directorio a través de Graph no dejan rastro en la auditoría. Blumira recoge el relato de un MSP que habla de exfiltración de correo, Teams y SharePoint, sin que ConnectWise ni Huntress lo hayan confirmado. Nicholas Koken, responsable de ingeniería de detección de Todyl según The Hacker News, lo resume así: «Revoking user sessions does not end this access» (revocar las sesiones de usuario no termina con este acceso). Deshabilitar la aplicación en un tenant detiene la emisión de tokens nuevos, pero los ya emitidos siguen siendo válidos hasta 90 minutos.

En el momento de escribir esta noticia no hay recuento de tenants afectados por país y ni INCIBE-CERT ni CCN-CERT han publicado aviso propio. En España el cliente de este producto es el canal MSP que gestiona Microsoft 365 para pymes y administraciones, de modo que cualquier proveedor que lo tenga consentido en los tenants de sus clientes debe darse por incluido y actuar sin esperar a ver actividad.

Qué hacer

Para deshabilitar de golpe las entidades de servicio de ConnectWise en un tenant desde PowerShell, sin borrarlas, vale este bucle sobre los siete identificadores que publica Huntress:

Connect-MgGraph -Scopes "Application.ReadWrite.All"
$ids = @(
  '506e08f9-6e9a-4da4-942b-a099a03644ae', '2399d300-6fca-4e6a-a686-399fefe75b83',
  '24205314-2b89-4e07-a2a4-579e898a5640', 'b78f6a77-d4e5-46fb-87e5-d1648bd02519',
  '0de14c77-b9b0-4137-9360-34878a929827', '412dcf96-176d-4b3a-a1b0-4981ad66971e',
  'b2b55f5b-7758-4719-8d8f-88ae172e6bdb'
)
foreach ($id in $ids) {
  $sp = Get-MgServicePrincipal -Filter "appId eq '$id'"
  if ($sp) {
    Update-MgServicePrincipal -ServicePrincipalId $sp.Id -AccountEnabled:$false
    "$($sp.DisplayName): deshabilitada"
  }
}

Con eso hecho, el orden de prioridades que marcan Huntress, ConnectWise, Microsoft y Todyl es este:

  1. Deshabilita hoy la entidad de servicio de Cloud Backup en cada tenant que gestiones, aunque no veas nada raro. En el portal: Entra > Aplicaciones empresariales > buscar por el ID 506e08f9-6e9a-4da4-942b-a099a03644ae > Propiedades > Habilitado para que los usuarios inicien sesión = No. No la borres, porque borrar elimina el consentimiento y obliga a reconsentir para recuperar el servicio.
  2. Haz lo mismo con las aplicaciones Cloud Management si no puedes verificar que estén limpias. En CIPP, filtra por App ID en todos los tenants y ejecuta Disable Service Principal sobre las filas con Account Enabled en true.
  3. Revisa en Entra > Supervisión > Registros de inicio de sesión la pestaña Inicios de sesión de entidad de servicio filtrada por el ID de aplicación. La pestaña de usuarios no muestra estos datos. Busca IP fuera de los rangos de Microsoft y Azure, en especial 144.172.64.128. Un resultado limpio no descarta el acceso.
  4. Busca roles de directorio asignados a aplicaciones de ConnectWise o SkyKick, sobre todo Global Administrator y Privileged Authentication Administrator, y retira los que no concediste tú.
  5. Audita los secretos y certificados de todas las aplicaciones empresariales y registros de aplicaciones añadidos desde el 13 de octubre, empezando por las herramientas de gestión del MSP y las de seguridad, incluida Huntress Security Platform si la usas. Elimina lo que no creaste.
  6. Exporta los registros de inicio de sesión y auditoría antes de que caduquen. Guardz recuerda que la retención de Entra puede ser de solo siete días según la licencia. Activa los registros de actividad de Microsoft Graph para tener visibilidad de las lecturas a partir de ahora.
  7. Revisa las exclusiones de acceso condicional que afecten a estas aplicaciones y reduce la exposición futura con políticas de gestión de aplicaciones que bloqueen secretos o acoten su vida, menos titulares de los roles Application Administrator y Cloud Application Administrator, acceso condicional para identidades de carga de trabajo y Entra ID Protection, en línea con un modelo Zero Trust que trate a las aplicaciones como a cualquier otra identidad.
  8. No reactives ninguna aplicación de ConnectWise hasta que el fabricante confirme que ha rotado todas las credenciales, y cuenta con que los tokens ya emitidos valen hasta 90 minutos después de deshabilitarla.
  9. Notifica la actividad sospechosa a ConnectWise en SecurityPartnerSupport@ConnectWise.com y, en España, a INCIBE-CERT si eres empresa o ciudadano y al CCN-CERT si eres administración pública. Si hay datos personales afectados, prepara la notificación a la AEPD en el plazo de 72 horas.
Tarjeta de Huntress con las recomendaciones para deshabilitar la aplicación ConnectWise Cloud Backup en Entra y revisar los inicios de sesión de la entidad de servicio
Fuente: Huntress, «ConnectWise (SkyKick) Vendor Credentials Abused in M365 Attacks»

La tarjeta de recomendaciones de Huntress condensa los tres primeros pasos: deshabilitar sin borrar, revisar la pestaña de entidades de servicio y buscar la IP del atacante. Bloquear esa IP en el firewall no sirve de nada, porque la autenticación se hace contra Microsoft y no contra la red del cliente.

Análisis

Para quien gestiona tenants de Microsoft 365 de terceros, este incidente es la versión en la nube de la llave maestra del proveedor. Una aplicación multitenant consentida en cientos de tenants con permisos de lectura y escritura sobre correo, archivos y directorio es un objetivo mucho más rentable que cualquier cuenta de usuario, y además esquiva todo lo que el sector ha construido en torno al MFA, porque las identidades de aplicación no lo usan. La mayoría de los SOC vigila la pestaña de inicios de sesión de usuarios y no la de entidades de servicio, que es donde estaba la señal desde las 06:13 UTC del 15 de octubre.

El aviso de ConnectWise deja varias preguntas sin responder. No dice cómo salió la credencial de su entorno, si hay más aplicaciones afectadas ni cuándo restaurará el servicio, y mientras tanto los clientes acumulan días sin copia de seguridad de Microsoft 365. La escalada a Global Administrator desde la aplicación de Teams, que Huntress solo ha visto en un tenant, demuestra que rotar la credencial del fabricante es necesario pero no suficiente, porque cada secreto plantado en otra aplicación es una puerta independiente que solo cierra quien la encuentre en su propio tenant.

La semana deja un patrón. El zero-day de BeyondTrust Remote Support atacaba la herramienta de soporte remoto que usan los MSP, el backdoor servido por las actualizaciones de AOMEI Backupper llegaba a través de un software de copia de seguridad, y el fallo del SDK de SAP que filtraba credenciales OAuth apuntaba al mismo tipo de secreto que aquí se ha abusado. Los atacantes han entendido que el proveedor de confianza es el camino más corto hacia muchas víctimas a la vez. Es previsible que la cifra de tenants siga subiendo a medida que Huntress y Microsoft revisen más registros, y que aparezcan más direcciones IP, como las que Guardz ya atribuye a la misma red de RouterHosting.

Preguntas frecuentes

¿Tengo que borrar la aplicación ConnectWise Cloud Backup de mi tenant?

No. Huntress y Blumira coinciden en deshabilitarla y no borrarla. Al deshabilitar la entidad de servicio, Entra deja de emitir tokens para ella en ese tenant y el consentimiento se conserva, de modo que bastará con volver a habilitarla cuando ConnectWise confirme la rotación de credenciales. Si la borras, tendrás que reconsentir todos los permisos para recuperar el servicio y perderás parte del rastro de auditoría que necesitas para la investigación.

¿Se han perdido mis copias de seguridad de Microsoft 365?

ConnectWise afirma que el archivo de copias existente no se ve afectado por la interrupción y que volverá a estar accesible cuando restaure el servicio. Lo que sí se pierde es la continuidad, porque mientras la aplicación esté apagada no se generan puntos de recuperación nuevos. Si tu política de retención o un contrato exige copias diarias, documenta la interrupción y valora una copia alternativa temporal.

¿Cómo sé si una aplicación se ha hecho Global Administrator en mi tenant?

En el registro de auditoría de Entra, filtra por la actividad Add member to role y revisa los eventos cuyo iniciador sea una aplicación y no un usuario. Huntress vio ese patrón con el agente Python-urllib/3.12 en vez del kiota-dotnet habitual de ConnectWise. En la pestaña de roles y administradores, abre Global Administrator y Privileged Authentication Administrator y comprueba si figura alguna entidad de servicio de ConnectWise o SkyKick.

¿Por qué el MFA no ha servido de nada en este ataque?

Porque no ha habido ningún usuario de por medio. Los inicios de sesión de solo aplicación se hacen con el secreto o el certificado de la aplicación y Entra no aplica a ellos las políticas de acceso condicional pensadas para personas, salvo que se contrate acceso condicional para identidades de carga de trabajo. Esa diferencia entre identidades humanas y de aplicación es la base de cualquier estrategia de gestión de identidad y acceso en la nube que quiera cubrir este tipo de abuso.

Temas

No hay comentarios todavía