- Product
Kindling
Product Overview
Sophisticated security with unmatched simplicityCloud SIEM
Pre-configured detections across your environmentHoneypots
Deception technology to detect lateral movementEndpoint Visibility
Real-time monitoring with added detection & responseSecurity Reports
Data visualizations, compliance reports, and executive summariesAutomated Response
Detect, prioritize, and neutralize threats around the clockIntegrations
Cloud, on-prem, and open API connectionsXDR Platform
A complete view to identify risk, and things operational
- Pricing
- Why Blumira
Why Blumira
The Security Operations platform IT teams loveWatch A Demo
See Blumira in action and how it builds operational resilienceUse Cases
A unified security solution for every challengePricing
Unlimited data and predictable pricing structureCompany
Our human-centered approach to cybersecurityCompare Blumira
Find out how Blumira stacks up to similar security toolsIntegrations
Cloud, on-prem, and open API connectionsCustomer Stories
Learn how others like you found success with Blumira
- Solutions
- Partners
- Resources
ConnectWise Cloud Backup (SkyKick) compromise: disable this app in every Microsoft 365 tenant you manage
At a Glance
Risk: Very high for any organization with this application present and enabled in a Microsoft 365 tenant.
Who is affected: Any Microsoft 365 tenant where ConnectWise Cloud Backup (formerly SkyKick Backup) was ever deployed, including tenants that stopped using it years ago.
What to do now: Disable the service principal with Application ID 506e08f9-6e9a-4da4-942b-a099a03644ae in every tenant you manage, then investigate what it accessed.
What Blumira is doing: Notifying customers where this application is present in a connected Microsoft 365 tenant.
What happened
On October 16, 2026, at 1:47 p.m. ET (17:47 UTC), ConnectWise published an advisory saying it is investigating attempts at unauthorized access associated with the ConnectWise Cloud Backup environment. ConnectWise Cloud Backup is the product formerly sold as SkyKick Cloud Backup, which ConnectWise acquired in September 2024.
MSPs posting in the r/msp community reported that the Cloud Backup application was being used to connect to customer Microsoft 365 tenants and remove data. One MSP’s investigation described rapid connections to client tenants and exfiltration of client email, Teams and SharePoint data. A third-party security vendor has publicly said it confirmed compromise across its own customer base, published the Application ID, and recommended disabling the application.
Are you affected?
You need to act if you manage Microsoft 365 tenants and any of these were ever deployed in one of them: SkyKick Cloud Backup, SkyKick Cloud Manager, SkyKick Partner Portal or ConnectWise Cloud Backup.
If you are not sure, search using the methods mentioned below. Tenants inherited through an acquisition or onboarded from another provider often carry applications that nobody currently working there deployed. You can stop here only if a search for Application ID 506e08f9-6e9a-4da4-942b-a099a03644ae across all your tenants returns no results.
What to do now
Disabling the application is reversible and takes about two minutes per tenant. It stops the application from getting new access and keeps the object in place as evidence.
Disable the application in one tenant
Repeat these steps in each customer tenant. If you manage many tenants, use the CIPP method below instead.
- Sign in to the customer tenant at https://entra.microsoft.com/ as a Global Administrator, Cloud Application Administrator or Application Administrator.
- Go to Identity > Applications > Enterprise applications.
- Set the Application type filter to All applications. The default filter hides this application.
- Search for 506e08f9-6e9a-4da4-942b-a099a03644ae. Search by Application ID, not by name.
- Open the application and confirm that the Application ID matches and the publisher is ConnectWise S-K LLC (verified publisher: ConnectWise LLC).
- Go to Manage > Properties.
- Set Enabled for users to sign-in? to No, then select Save. Microsoft’s guide to disabling sign-in for an application explains that this stops all new tokens for the application.
Disable the application across all tenants with CIPP
- Set the tenant selector at the top of CIPP to All Tenants.
- Go to Tenant Administration > Administration > Applications.
- Paste 506e08f9-6e9a-4da4-942b-a099a03644ae into the table search. It matches the App ID column.
- Check the Account Enabled column. Rows showing false are already disabled.
- Select every matching row where Account Enabled is true.
- From the bulk actions menu, choose Disable Service Principal and confirm.
- Refresh with the table’s own refresh button, not the browser’s, because CIPP caches results. Directory changes can take one to two minutes to appear.
This requires the Tenant.Application.ReadWrite permission in CIPP, and the action only appears for applications that are currently enabled. If the action fails in a tenant, CIPP’s permissions there usually lack application write access.
Remove its permissions for a harder stop
App-only access tokens issued before you disabled the application stay valid until they expire. Microsoft sets a default lifetime of 60 to 90 minutes, and tokens cannot be revoked one by one. Treat the first 90 minutes after disabling as still active.
To cut access sooner, also remove the application’s admin-consented permissions from the application’s Permissions page. Screenshot or export the permission list first, because it is evidence.
If you no longer use the product, delete the enterprise application, but only after you have exported the evidence described below.
A firewall block will not stop this
The application reads data directly from Microsoft’s cloud, so blocking the reported IP at your firewall has no effect on it. Conditional Access for workload identities does not cover multi-tenant third-party applications like this one either.
What ConnectWise has said
The advisory says that containment measures are in place and that there is no indication partner backup data has been accessed. It lists the source IP and two user agents and recommends no partner actions. It does not mention an enterprise application, an Application ID or Microsoft 365, and it had not been updated as of this writing.
Separately, a comment in the r/msp thread by a claimed ConnectWise representative, said that ConnectWise has not independently confirmed downstream impact to partners or received direct partner reports of suspicious activity. It is not clear whether the commenter works for ConnectWise or was relaying a statement they received. ConnectWise asks partners, security vendors and researchers to send findings to SecurityIncident@ConnectWise.com.
Both accounts can be accurate. The advisory describes ConnectWise’s own environment, and the reported attack path never touches that environment. Data would be read directly from Microsoft using the application’s identity inside each customer tenant. If you find activity tied to this application, report it to ConnectWise directly, as well as discussing it publicly, so the vendor can establish the scope.
Why this is severe
A cloud backup product for Microsoft 365 does not sign in with a password. It holds a consented application identity inside every tenant it protects, with standing permission to read mail, Teams messages, files and sites. An attacker who controls that identity needs no user credentials, no MFA and no interactive sign-in.
The same properties make the activity hard to notice:
- Consent does not expire with a session. It lasts until an administrator removes it.
- The application authenticates as itself (as a service principal), so its activity appears under service principal sign-ins, not in the interactive sign-in logs most teams review.
- Conditional Access policies written for users do not apply to app-only tokens.
This is the same structural problem behind this year’s RMM compromises, with a different mechanism. An RMM compromise gives an attacker SYSTEM access on managed endpoints; this one gives an attacker a consented token in managed tenants.
Indicators of compromise
|
Indicator |
Value |
Reported by |
|---|---|---|
|
Application ID |
506e08f9-6e9a-4da4-942b-a099a03644ae |
Third-party security vendor; r/msp |
|
Enterprise application |
CW Cloud Backup Service Provider (previously SkyKick Backup) |
r/msp |
|
Publisher |
ConnectWise S-K LLC; verified publisher ConnectWise LLC |
r/msp |
|
Owning tenant ID |
3f9cd7a0-127a-4ed4-bf06-2f830d5616b7 (skykick.com) |
r/msp |
|
Source IP |
144.172.64[.]128 (geolocates to Cheyenne, Wyoming) |
ConnectWise advisory |
|
User agents |
Python-urllib/3.12, python-requests/2.31 |
ConnectWise advisory |
The Application ID is the reliable indicator. It is identical in every tenant, while the display name changed when the product was renamed.
Investigate what the application accessed
Sign-in logs show that the application authenticated, when and from where. Only audit logs show what it did, so check both.
Investigate in Blumira
Option 1: With Hearth (NEW!)
Hearth searches your entire connected stack from one place. You ask a question in plain language, and Hearth looks across every Microsoft 365 tenant, endpoint, RMM, backup platform, firewall, and PSA you have connected, then returns a written investigation you can save, share, or hand to a customer.
For this incident, here are three questions worth asking:
- Where is this application consented, and is it enabled?
- What did it access?
- Has 144.172.64[.]128 appeared anywhere in our environment?
Hearth answers across every connected tenant at once. It also lists every other third-party application holding standing access, which is how you find the ones nobody remembers installing.
|
Hearth check |
License required |
Use in this incident |
|---|---|---|
|
OAuth consent-grant posture |
Any (including Entra ID Free) |
Find this application and other dormant applications across tenants |
|
Directory audit log, queried live |
Any |
Find new consent grants and role assignments |
|
Admin inventory with MFA methods |
Any |
See who can consent to applications and whether those accounts are protected |
|
Sign-in logs, queried live |
Entra ID P1 or P2 |
Triage. |
|
Conditional Access snapshot and drift detection |
Entra ID P1 or P2 |
Find policy exclusions that were not there before |
|
Defender incidents and alerts |
Microsoft Defender license |
See activity Microsoft has already flagged |
Option 2: In Blumira Report Builder
If your Microsoft 365 and Entra logs are flowing into Blumira, Report Builder answers the same questions from retained data. This matters once Microsoft retention expires, and it covers every tenant you send to Blumira.
Did the application sign in, and from where?- Load saved report “SkyKick / ConnectWise's Cloud Backup compromise”
Log type: azure_signin
Filter: subtype = ServicePrincipalSignInLogs, app = CW Cloud Backup Service Provider
Search client_ip, not device_address. In azure_signin records device_address holds the collector name, not the source address.
- Load saved report “SkyKick / ConnectWise's Cloud Backup compromise - App ID”
Log type: azure_signin
Filter: subtype = ServicePrincipalSignInLogs, app_id_str = 506e08f9-6e9a-4da4-942b-a099a03644ae
Search client_ip, not device_address. In azure_signin records device_address holds the collector name, not the source address.
When was consent granted, and by whom?-
Load saved report “Microsoft 365 - Application Consents Granted Previous 30 Days”
Log type: office365_aad
Filter: operation contains Consent to application
Fields: Timestamp, user, app_id_str, targets.id, result, tenant_id
Did the service principal gain permissions or roles?-
Load saved report “Microsoft 365 - Principal Service Updates”
Log type: azure_directory_audit
Filter: operation_name in Add service principal, Update service principal, Add app role assignment to service principal, Add member to role, Add member to role in PIM completed (permanent)
Fields: Timestamp, initiator, object, object_name, object_type, agent, status
This is the search that surfaces the privilege escalation described earlier. The initiator field shows what performed the change, which is how you tell a service principal granting itself a role from an administrator doing it.
Was SharePoint or OneDrive data taken?-
Load saved report “Microsoft 365 - Sharepoint Actions”, add a filter for the application ID or source IP
Log type: office365_sharepoint
Filter: operation in FileDownloaded, FileSyncDownloadedFull, FileAccessed, FileCopied, AnonymousLinkUsed; and app_id_str = the Application ID, or client_ip = the source IP
Fields: Timestamp, user, app, file_name, file_path, url, site, object
Were mail accessed?-
Load saved report “Microsoft 365 - Exchange: Mail Items Accessed - Other Than Owner”
Log type: office365_exchange
Filter: operation = MailItemsAccessed. Also check New-InboxRule and Add-MailboxPermission for persistence left behind.
Fields: Timestamp, user, user_principal_name, client_ip, object, operation, result
MailItemsAccessed depends on the tenant audit configuration. If it returns nothing, confirm it is being generated before concluding that mail was not touched.
Investigate in the Microsoft portals
Pull Entra data first. Entra keeps sign-in and directory audit logs for 7 days on Entra ID Free, which includes Business Basic and Business Standard, and for 30 days with Entra ID P1 or P2. The Microsoft 365 unified audit log, where file and mail access is recorded, keeps 180 days on Audit (Standard). If Microsoft Graph activity logs were turned on before the incident (Entra ID P1 or P2), they record every Graph request the application made, which is the most direct record of what it read.
- In Entra, open Sign-in logs and select the Service principal sign-ins tab. Filter for the Application ID and for 144.172.64[.]128.
- In the Entra audit logs, look for consent grants, role assignments and changes to the service principal.
- Search the Microsoft 365 unified audit log for activity tied to the Application ID or the source IP: mailbox access (MailItemsAccessed), SharePoint and OneDrive file downloads, Teams data access, and new inbox rules or mailbox permissions.
- Review every other OAuth consent grant and service principal in the tenant, especially anything consented in the last 30 days. Microsoft’s app consent incident response playbook walks through the review.
Clean up other SkyKick applications
One MSP on r/msp published the full set of SkyKick service principals it removed from its tenant. Only the first is tied to the reported compromise; the rest are a dormant-application cleanup list and have not been reported as malicious.
|
Application |
Application ID |
Recommended action |
|---|---|---|
|
SkyKick Backup / ConnectWise Cloud Backup |
506e08f9-6e9a-4da4-942b-a099a03644ae |
Disable now. Compromise reported by a security vendor and MSPs. |
|
SkyKick Cloud Manager - Exchange Online |
b78f6a77-d4e5-46fb-87e5-d1648bd02519 |
Review. See the unconfirmed report below. |
|
SkyKick Partner Portal |
c921256f-04a7-44e8-9b2a-69c33929ba19 |
Remove if unused |
|
SkyKick Cloud Manager |
2399d300-6fca-4e6a-a686-399fefe75b83 |
Remove if unused |
|
SkyKick Cloud Manager - MS Graph |
0de14c77-b9b0-4137-9360-34878a929827 |
Remove if unused |
|
SkyKick Cloud Manager - MS Teams |
24205314-2b89-4e07-a2a4-579e898a5640 |
Remove if unused |
|
SkyKick Platform Partner Center Integration |
412dcf96-176d-4b3a-a1b0-4981ad66971e |
Remove if unused |
|
SkyKick Platform Partner Center Integration Partner Tenant AppRegistration |
01d6a108-ad6d-45e2-a3f6-4546744051e6 |
Remove if unused |
An unconfirmed, possibly related report
On October 15, 2026, at 02:04 UTC, about 40 hours before the ConnectWise advisory, an MSP on r/msp that had not used SkyKick in several years received a Microsoft Privileged Identity Management (PIM) notification. The dormant service principal SkyKick Cloud Manager - Exchange Online had assigned itself the Exchange Administrator role, outside PIM, with itself listed as the assigner. This has not been confirmed as related to the Cloud Backup activity, and it involves a different application. To check your own tenants, search the directory audit log for role assignments and look at who initiated each one. That shows whether a service principal assigned itself a role.
Offboarding a SaaS vendor and cancelling its invoice are two different actions. Most organizations only do the second.
How Blumira can help
Blumira continues to monitor this issue and is notifying customers where this application is present in a connected Microsoft 365 tenant.
Hearth’s overnight change digest reports new, removed and changed posture across connected tenants each day, and stays silent when nothing changes. A new application consent or a new privileged role assignment would appear in it.
Hearth’s response actions, including revoke OAuth grant, revoke sessions, disable user and reset MFA methods, sit behind a propose-confirm gate. Hearth proposes the action, an administrator confirms it, and both steps are written to the audit log. Actions never run automatically.
Amanda Berlin
Amanda Berlin is the Senior Product Manager of Cybersecurity at Blumira, bringing nearly two decades of experience to her position. At Blumira she leads a team of incident detection engineers who are responsible for creating new detections based on threat intelligence and research for the Blumira platform. An...
More from the blog
View All Posts
Product Updates
16 min read
| March 12, 2024
February 2024 Releases
Read More
Security How-To
20 min read
| November 15, 2022
A Guide To Microsoft Azure Security Logging
Read More
Security How-To
15 min read
| November 22, 2022
Office 365 Audit Log Retention: Why It Matters and Best Practices
Read MoreSubscribe to email updates
Stay up-to-date on what's happening at this blog and get additional content about the benefits of subscribing.