The Backup App Is the Identity: ConnectWise’s Credential and 300 Microsoft 365 Tenants
Between 06:13 and 08:34 UTC on 15 October 2026, the ConnectWise Cloud Backup application — formerly SkyKick — signed into customer Microsoft 365 tenants from 144.172.64[.]128, a hosting-provider address, moving through tenants a few seconds apart. That cadence, Huntress notes, points to a script working from a target list. Huntress broke the news on 16 October, and by 19 October had identified nearly 1,000 Entra tenants with sign-in activity from that address, with approximately 300 of those sign-ins succeeding. ConnectWise shut off Cloud Backup application access on 17 October while it investigates, and says it has found no evidence partner backup data was compromised. How the attacker obtained the credential has not been disclosed. The figures above are Huntress’s via SpecterOps’ writeup of 17 October (updated 19 October, 16:45 UTC), which is the most careful public reconstruction available and the document we worked from first-hand.
The mechanism is the entire lesson, so state it plainly. The compromised credential belonged to the application itself, living in the vendor’s own tenant — so the attacker inherited every permission customers had already granted the backup app, reportedly including Directory.ReadWrite.All. Backup tools need broad access to read and restore data: mailboxes, OneDrive and SharePoint files, Teams data, directory information. Whoever holds the app’s credential can reach all of it, in every organisation that ever consented. And MFA does not apply, because this is an application sign-in — no user, no device, no MFA prompt exists in the flow. Every tenant that granted consent pre-authorised the attacker’s session the day they clicked accept. Microsoft, per reporting SpecterOps cites, is calling this an active supply chain attack.
The persistence move is the part to study
Initial access at this scale is bad; the follow-on Huntress observed in one tenant is worse. A second ConnectWise application granted itself Global Administrator and added new client secrets to two other trusted applications. Read that as tradecraft rather than noise: fresh client secrets on trusted apps are a way back in that survives the obvious response — resetting the original credential, disabling the original app. SpecterOps’ guidance says it outright: review every application in your tenant for credentials added since 13 October, because tokens already issued can stay valid for up to 90 minutes after you disable an app, and a minted secret on a different trusted app does not expire with your response to the first one. The attacker’s window between first confirmed activity (15 October) and vendor shutoff (17 October) was roughly two days; the persistence they may have planted in that window does not close when the vendor’s switch flips.
This is the same structural problem this site keeps documenting from different angles. OpenCode’s console breach two days ago concentrated provider keys in one key-wallet and lost them together; GhostAction’s October burst swept whole repository trees for cloud and AI credentials because standing secrets are lying around to be swept. ConnectWise is the enterprise twin of both: a trusted vendor app holding standing, broadly-scoped, MFA-exempt access into a thousand tenants, with the credential living in one place. Compromise that one place and the blast radius is every customer at once. The consent screen is the vulnerability — not as a bug, but as a design in which a single vendor-side secret is the shared key to a thousand front doors.
What to do
Immediately disable application 506e08f9-6e9a-4da4-942b-a099a03644ae (ConnectWise Cloud Backup) in the Entra admin centre and keep the ConnectWise application family disabled until ConnectWise confirms all credentials have been reset — owner tenant ID 3f9cd7a0-127a-4ed4-bf06-2f830d5616b7, with older tenants possibly listing SkyKick names. Review sign-in logs for service-principal authentication tied to the known ConnectWise application IDs, with special attention to 144.172.64[.]128. Audit every application in the tenant — not just ConnectWise’s — for client secrets or certificates added since 13 October, and treat anything you cannot explain as hostile persistence. If you do not actively use SkyKick or ConnectWise Cloud Backup, remove their application consents entirely rather than re-enabling them later. SpecterOps publishes BloodHound/AzureHound queries keyed on the owner tenant ID to map paths from these service principals to Tier Zero; run them, because a backup app with directory write access is frequently fewer hops from Tier Zero than anyone assumed.
Then generalise the audit, because the site’s position is that this will not be the last vendor-credential compromise. Every third-party app with consent in your tenant is a potential attack path, and most organisations cannot enumerate which apps hold which permissions — that inventory gap is what turns one leaked secret into a thousand-tenant incident. The 300-successful-sign-ins figure also deserves a sober reading: it counts where the credential worked, not what was taken afterward, and ConnectWise’s “no evidence backup data was compromised” is a statement about backup stores, not about everything else a Graph token with directory write can touch. No CVE applies; nothing belongs in KEV. The fix is architectural: least-privilege app consents, expiry on secrets, and continuous review of what your tenants have agreed to trust.
Our verification was read-only. The attack window (15 October 2026, 06:13–08:34 UTC), the source address 144.172.64[.]128, the seconds-apart scripted cadence, the Huntress figures (nearly 1,000 Entra tenants with activity, ~300 successful sign-ins as of 19 October), the 17 October shutoff, the MFA-inapplicability analysis, the Global Administrator self-grant and client-secret persistence, the application and owner-tenant IDs, and the remediation guidance were read first-hand from the SpecterOps research blog (Justin Kohler and Duane Michael, published 17 October 2026, last updated 19 October 2026 at 16:45 UTC). The 16 October Huntress disclosure, the Directory.ReadWrite.All permission scope and Microsoft’s “active supply chain attack” characterisation are as reported via the cited secondary coverage; the Huntress primary was not directly fetched. Nothing was executed, no tenant was touched, no credential was handled; no request was sent beyond reading the cited public pages. Brave Search was used for discovery only.
Sources:
- SpecterOps — “ConnectWise SkyKick Breach: How to Check Your Microsoft 365 Tenant” (Justin Kohler, Duane Michael; published 17 October 2026, updated 19 October 2026; attack timeline, Huntress figures, app IDs, remediation)
- Help Net Security — “ConnectWise suspends Cloud Backup service after attackers abuse its Microsoft 365 access” (19 October 2026; suspension and credential-abuse summary)
- al-ice.ai — OpenCode’s distillation-attack breach and the key-wallet problem
- al-ice.ai — GhostAction’s October burst: 30,000 repos and the runs GitHub stopped
- al-ice.ai — GhostAction learned to read git history