ConnectWise has launched an investigation into an active malicious software campaign specifically targeting managed service providers (MSPs). Threat actors are leveraging compromised ScreenConnect remote access environments to deploy unauthorized, rogue remote-access clients onto customer devices. This campaign represents a significant supply chain risk—by compromising the tools MSPs use to manage client infrastructure, attackers gain a trusted pathway into dozens of downstream organizations simultaneously.
This is not a theoretical vulnerability discussion. This is confirmed active exploitation occurring in the wild right now. MSPs using ScreenConnect and their downstream clients face immediate risk of unauthorized access, lateral movement, and potential ransomware deployment. The blast radius extends far beyond the initial MSP compromise—every customer device managed through the affected ScreenConnect instance is a potential target.
If you are an MSP using ScreenConnect, or if your organization relies on an MSP for IT management, you must act immediately to validate the integrity of your remote access infrastructure and hunt for signs of compromise.
Technical Analysis
Attack Chain and Methodology
Based on the ConnectWise advisory and observed attack patterns, the threat actors are following a multi-stage approach:
-
Initial Compromise: Attackers gain unauthorized access to ScreenConnect instances used by MSPs. The exact initial access vector remains under investigation, but historically ScreenConnect has been targeted through authentication bypass vulnerabilities, exposed instances without MFA, and credential stuffing attacks against weak passwords.
-
Rogue Client Deployment: Once inside the ScreenConnect environment, attackers deploy additional remote-access clients to managed endpoints. These rogue clients establish persistence independent of the legitimate ScreenConnect installation, ensuring continued access even if the original compromise is discovered and remediated.
-
Downstream Propagation: By leveraging the trusted relationship between MSP tools and client endpoints, attackers can push malicious software, establish command-and-control channels, and move laterally across customer networks without triggering traditional perimeter defenses.
Affected Products and Platforms
- Primary Target: ConnectWise ScreenConnect remote access and support software
- Affected Organizations: Managed Service Providers (MSPs) using ScreenConnect for client management
- Impact Scope: All downstream customer endpoints managed through compromised ScreenConnect instances
- Platforms: Windows, macOS, and Linux endpoints are all potentially affected, as ScreenConnect supports cross-platform remote management
Exploitation Status
This is confirmed active exploitation in the wild. ConnectWise is actively investigating the campaign, and dozens of organizations have already been impacted. The attack is not theoretical—it is happening now, and the window for detection and response is narrowing.
While specific CVE identifiers have not been publicly disclosed in the initial reporting, the pattern of abuse against ScreenConnect infrastructure aligns with historical targeting of this platform. Organizations should not wait for CVE attribution to begin defensive actions.
Why This Attack is Particularly Dangerous
The compromise of MSP tooling represents a force multiplier for attackers:
- Trusted Execution: Software deployed through ScreenConnect inherits the trust of the legitimate tool, bypassing application whitelisting and behavioral detection in many environments.
- Scale: A single MSP compromise can yield access to dozens or hundreds of customer networks.
- Persistence: Rogue remote access clients can survive ScreenConnect reinstallation or credential resets.
- Attribution Challenges: Malicious activity blends with legitimate administrative traffic, making detection difficult without baseline behavioral analysis.
Detection & Response
SIGMA Rules
---
title: ScreenConnect Rogue Client Installation via Suspicious Process
description: Detects potential unauthorized ScreenConnect client installations or executions from non-standard directories, which may indicate rogue client deployment following MSP compromise.
author: Security Arsenal
date: 2026/01/15
references:
- https://www.bleepingcomputer.com/news/security/active-screenconnect-attacks-breach-msps-impact-dozens-of-organizations/
logsource:
category: process_creation
product: windows
detection:
selection_img:
- Image|endswith: '\ScreenConnect.ClientService.exe'
- Image|endswith: '\ScreenConnect.WindowsClient.exe'
filter_legitimate:
Image|startswith:
- 'C:\Program Files\ScreenConnect'
- 'C:\Program Files (x86)\ScreenConnect'
condition: selection_img and not filter_legitimate
falsepositives:
- Custom installation paths during legitimate deployment
- Portable installations by authorized administrators
level: high
---
title: Suspicious Remote Access Tool Execution Following ScreenConnect Activity
description: Identifies execution of additional remote access tools (RATs) shortly after ScreenConnect client activity, potentially indicating rogue client deployment by threat actors.
author: Security Arsenal
date: 2026/01/15
references:
- https://www.bleepingcomputer.com/news/security/active-screenconnect-attacks-breach-msps-impact-dozens-of-organizations/
logsource:
category: process_creation
product: windows
detection:
selection_primary:
Image|endswith:
- '\ScreenConnect.ClientService.exe'
- '\ScreenConnect.WindowsClient.exe'
selection_rat:
Image|endswith:
- '\AnyDesk.exe'
- '\TeamViewer.exe'
- '\splashtop.exe'
- '\logmein.exe'
- '\vncserver.exe'
- '\rustdesk.exe'
timeframe: 15m
condition: selection_primary and selection_rat
falsepositives:
- Legitimate use of multiple remote access tools by administrators
- Migration between remote access platforms
level: medium
---
title: ScreenConnect Service Modification or Creation
description: Detects creation or modification of Windows services related to ScreenConnect, which may indicate persistence mechanism establishment by attackers.
author: Security Arsenal
date: 2026/01/15
references:
- https://www.bleepingcomputer.com/news/security/active-screenconnect-attacks-breach-msps-impact-dozens-of-organizations/
logsource:
category: process_creation
product: windows
detection:
selection_sc:
Image|endswith: '\sc.exe'
CommandLine|contains|all:
- 'create'
- 'ScreenConnect'
selection_ps:
Image|endswith: '\powershell.exe'
CommandLine|contains|all:
- 'New-Service'
- 'ScreenConnect'
condition: selection_sc or selection_ps
falsepositives:
- Legitimate ScreenConnect installation or updates
- MSP deployment scripts
level: high
KQL Queries for Microsoft Sentinel / Defender
// Hunt for ScreenConnect processes executing from non-standard directories
// This may indicate rogue client deployment
let TimeWindow = 7d;
DeviceProcessEvents
| where TimeGenerated > ago(TimeWindow)
| where FileName has_any ("ScreenConnect.ClientService.exe", "ScreenConnect.WindowsClient.exe")
| where not(FolderPath has_any ("C:\\Program Files\\ScreenConnect", "C:\\Program Files (x86)\\ScreenConnect"))
| project TimeGenerated, DeviceName, FileName, FolderPath, ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessCommandLine, AccountName
| order by TimeGenerated desc;
// Hunt for suspicious remote access tool installations following ScreenConnect activity
let ScreenConnectActivity = DeviceProcessEvents
| where TimeGenerated > ago(7d)
| where FileName has_any ("ScreenConnect.ClientService.exe", "ScreenConnect.WindowsClient.exe")
| summarize by DeviceName, bin(TimeGenerated, 15m);
let RATExecution = DeviceProcessEvents
| where TimeGenerated > ago(7d)
| where FileName has_any ("AnyDesk.exe", "TeamViewer.exe", "splashtop.exe", "logmein.exe", "rustdesk.exe")
| summarize by DeviceName, bin(TimeGenerated, 15m);
ScreenConnectActivity
| join kind=inner RATExecution on DeviceName, TimeGenerated
| project TimeGenerated, DeviceName
| order by TimeGenerated desc;
// Hunt for network connections to known ScreenConnect relay servers from unexpected sources
DeviceNetworkEvents
| where TimeGenerated > ago(7d)
| where RemoteUrl has_any ("screenconnect.com", "connectwise.com") or RemoteIP in ("<known_screenconnect_ips>")
| where not(InitiatingProcessFileName has_any ("ScreenConnect"))
| project TimeGenerated, DeviceName, RemoteUrl, RemoteIP, RemotePort, InitiatingProcessFileName, InitiatingProcessCommandLine
| order by TimeGenerated desc;
// Hunt for service creation events related to ScreenConnect
SecurityEvent
| where TimeGenerated > ago(7d)
| where EventID == 7045
| where ServiceName has "ScreenConnect"
| where not(ServiceFileName has_any ("C:\\Program Files\\ScreenConnect", "C:\\Program Files (x86)\\ScreenConnect"))
| project TimeGenerated, Computer, ServiceName, ServiceFileName, ServiceType, ServiceStartType, ServiceAccount
| order by TimeGenerated desc;
Velociraptor VQL Hunt
-- Hunt for ScreenConnect client artifacts and potential rogue installations
-- This artifact examines process execution, file system artifacts, and service installations
// Check for ScreenConnect processes running from non-standard locations
SELECT
Pid,
Name,
Exe,
CommandLine,
Username,
CreateTime
FROM pslist()
WHERE
(Name =~ 'ScreenConnect' OR Exe =~ 'ScreenConnect')
AND NOT Exe =~ 'C:\\Program Files\\ScreenConnect'
AND NOT Exe =~ 'C:\\Program Files \(x86\)\\ScreenConnect'
// Check for ScreenConnect files in suspicious locations
SELECT
FullPath,
Size,
Mtime,
Ctime
FROM glob(globs='C:\\Users\\*\\AppData\\**\\ScreenConnect*')
WHERE NOT FullPath =~ 'C:\\Users\\*\\AppData\\Local\\ScreenConnect'
// Check for services with ScreenConnect in the name but non-standard paths
SELECT
Name,
DisplayName,
PathName,
StartName,
StartType
FROM services()
WHERE
Name =~ 'ScreenConnect' OR DisplayName =~ 'ScreenConnect'
AND NOT PathName =~ 'C:\\Program Files\\ScreenConnect'
// Check for persistence mechanisms in Run keys
SELECT
Key,
Name,
Value
FROM read_reg_key(globs='HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\*')
WHERE Value =~ 'ScreenConnect'
AND NOT Value =~ 'C:\\Program Files\\ScreenConnect'
Remediation Script
# ScreenConnect Compromise Assessment and Remediation Script
# Run with administrative privileges on all managed endpoints
Write-Host "=== ScreenConnect Compromise Assessment ===" -ForegroundColor Cyan
Write-Host "Assessment Time: $(Get-Date)" -ForegroundColor Cyan
# 1. Identify all ScreenConnect installations and their paths
Write-Host "`n[1] Identifying ScreenConnect installations..." -ForegroundColor Yellow
$screenConnectPaths = @()
$screenConnectPaths += Get-ChildItem -Path "C:\Program Files", "C:\Program Files (x86)" -Filter "ScreenConnect*" -Directory -ErrorAction SilentlyContinue | Select-Object -ExpandProperty FullName
$screenConnectPaths += Get-ChildItem -Path "C:\Users" -Filter "ScreenConnect*" -Directory -Recurse -ErrorAction SilentlyContinue | Select-Object -ExpandProperty FullName
if ($screenConnectPaths.Count -eq 0) {
Write-Host "No ScreenConnect installations found." -ForegroundColor Green
} else {
Write-Host "Found ScreenConnect at: $($screenConnectPaths -join ', ')" -ForegroundColor $(if ($screenConnectPaths -match "Program Files") { "Yellow" } else { "Red" })
}
# 2. Check running ScreenConnect processes
Write-Host "`n[2] Checking running ScreenConnect processes..." -ForegroundColor Yellow
$scProcesses = Get-Process | Where-Object { $_.Name -like "*ScreenConnect*" }
if ($scProcesses) {
$scProcesses | ForEach-Object {
$path = $_.Path
$status = if ($path -like "*Program Files*") { "LIKELY LEGITIMATE" } else { "SUSPICIOUS - Non-standard path" }
Write-Host " PID: $($_.Id) | Path: $path | Status: $status" -ForegroundColor $(if ($status -eq "SUSPICIOUS - Non-standard path") { "Red" } else { "Green" })
}
} else {
Write-Host "No ScreenConnect processes currently running." -ForegroundColor Green
}
# 3. Check ScreenConnect services
Write-Host "`n[3] Checking ScreenConnect services..." -ForegroundColor Yellow
$scServices = Get-WmiObject -Class Win32_Service | Where-Object { $_.Name -like "*ScreenConnect*" -or $_.DisplayName -like "*ScreenConnect*" }
if ($scServices) {
$scServices | ForEach-Object {
$path = $_.PathName
$status = if ($path -like "*Program Files*") { "LIKELY LEGITIMATE" } else { "SUSPICIOUS - Non-standard path" }
Write-Host " Service: $($_.Name) | Path: $path | Status: $status" -ForegroundColor $(if ($status -eq "SUSPICIOUS - Non-standard path") { "Red" } else { "Green" })
}
} else {
Write-Host "No ScreenConnect services found." -ForegroundColor Green
}
# 4. Check for additional remote access tools
Write-Host "`n[4] Checking for additional remote access tools..." -ForegroundColor Yellow
$ratTools = @("AnyDesk", "TeamViewer", "Splashtop", "LogMeIn", "RustDesk", "VNC", "Chrome Remote Desktop")
$foundRATs = @()
foreach ($tool in $ratTools) {
$processes = Get-Process | Where-Object { $_.Name -like "*$tool*" }
if ($processes) {
$foundRATs += $tool
Write-Host " FOUND: $tool running" -ForegroundColor Red
}
}
if ($foundRATs.Count -eq 0) {
Write-Host "No additional remote access tools detected." -ForegroundColor Green
}
# 5. Check network connections
Write-Host "`n[5] Checking active network connections for ScreenConnect..." -ForegroundColor Yellow
$scConnections = Get-NetTCPConnection | Where-Object { $_.OwningProcess -in ($scProcesses | Select-Object -ExpandProperty Id) }
if ($scConnections) {
$scConnections | ForEach-Object {
$process = Get-Process -Id $_.OwningProcess
Write-Host " $($process.Name) -> $($_.RemoteAddress):$($_.RemotePort) (State: $($_.State))" -ForegroundColor Yellow
}
} else {
Write-Host "No active ScreenConnect network connections." -ForegroundColor Green
}
# 6. Check recent file modifications in ScreenConnect directories
Write-Host "`n[6] Checking for recently modified ScreenConnect files..." -ForegroundColor Yellow
$recentFiles = @()
foreach ($path in $screenConnectPaths) {
if (Test-Path $path) {
$recentFiles += Get-ChildItem -Path $path -Recurse -File | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-7) } | Select-Object -First 10
}
}
if ($recentFiles) {
Write-Host "Recently modified files (last 7 days):" -ForegroundColor Yellow
$recentFiles | ForEach-Object { Write-Host " $($_.FullName) - Modified: $($_.LastWriteTime)" }
} else {
Write-Host "No recent modifications detected." -ForegroundColor Green
}
# 7. Recommendations
Write-Host "`n=== RECOMMENDATIONS ===" -ForegroundColor Cyan
Write-Host "1. If SUSPICIOUS paths detected: Isolate the endpoint from the network immediately" -ForegroundColor White
Write-Host "2. Reset all credentials used by the MSP for remote access" -ForegroundColor White
Write-Host "3. Review ScreenConnect session logs for unauthorized access" -ForegroundColor White
Write-Host "4. Consider complete reinstallation of ScreenConnect from known-good media" -ForegroundColor White
Write-Host "5. Implement network segmentation to limit lateral movement" -ForegroundColor White
Write-Host "6. Enable MFA on all ScreenConnect administrative accounts" -ForegroundColor White
Write-Host "7. Contact your MSP and ConnectWise for incident response support" -ForegroundColor White
# Optional: Export findings to CSV
$exportData = @{
Timestamp = Get-Date
ScreenConnectPaths = $screenConnectPaths -join "; "
RunningProcesses = ($scProcesses | ForEach-Object { "$($_.Id):$($_.Path)" }) -join "; "
Services = ($scServices | ForEach-Object { "$($_.Name):$($_.PathName)" }) -join "; "
AdditionalRATs = $foundRATs -join "; "
}
$exportData | Export-Csv -Path "ScreenConnect_Assessment_$(Get-Date -Format 'yyyyMMdd_HHmmss').csv" -NoTypeInformation
Write-Host "`nAssessment exported to CSV file." -ForegroundColor Green
Remediation
Immediate Actions for MSPs
-
Isolate Affected Systems: If you suspect compromise, immediately isolate affected ScreenConnect servers and client endpoints from the network to prevent lateral movement.
-
Credential Reset: Reset all credentials associated with ScreenConnect, including:
- ScreenConnect administrative passwords
- API keys and integration tokens
- Service account credentials
- Any credentials stored or transmitted through ScreenConnect sessions
-
Session Audit: Review all ScreenConnect session logs for unauthorized access, focusing on:
- Sessions initiated outside business hours
- Sessions from unexpected geographic locations
- Sessions with unusual duration or data transfer volumes
- Sessions accessing multiple client environments
-
Client Notification: Notify all downstream customers of potential compromise and provide guidance on endpoint validation.
Hardening ScreenConnect Deployments
-
Enable Multi-Factor Authentication: Require MFA for all ScreenConnect administrative and technician accounts. This is non-negotiable for MSP tooling.
-
Network Segmentation: Place ScreenConnect servers in isolated network segments with strict firewall rules limiting inbound and outbound connections to only necessary ports and destinations.
-
Regular Updates: Maintain ScreenConnect on the latest supported version. ConnectWise regularly releases security updates—apply them promptly.
-
Access Controls: Implement role-based access control (RBAC) with least privilege principles. Not every technician needs access to every client environment.
-
Session Recording: Enable comprehensive session recording and logging for all ScreenConnect activities. These logs are critical for forensic investigation if compromise occurs.
-
Anomaly Detection: Deploy behavioral analytics to detect unusual ScreenConnect usage patterns, such as bulk client deployments, after-hours access, or geographic anomalies.
For Downstream Customers
If your MSP uses ScreenConnect:
-
Demand Transparency: Ask your MSP for immediate confirmation of their ScreenConnect security posture and any recent security incidents.
-
Endpoint Validation: Run the provided PowerShell script on all managed endpoints to identify rogue ScreenConnect installations or additional remote access tools.
-
Network Monitoring: Monitor for unexpected outbound connections, particularly to remote access infrastructure or known command-and-control indicators.
-
Incident Response Plan: Ensure your incident response plan accounts for MSP compromise scenarios, including communication protocols and isolation procedures.
Official Resources
- ConnectWise Security Advisories: Monitor https://www.connectwise.com/company/trust/security for official updates on this investigation
- BleepingComputer Coverage: https://www.bleepingcomputer.com/news/security/active-screenconnect-attacks-breach-msps-impact-dozens-of-organizations/
- CISA Known Exploited Vulnerabilities Catalog: Check for any ScreenConnect-related entries at https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Conclusion
The active exploitation of ScreenConnect environments to compromise MSPs and their downstream customers represents a clear and present danger to organizations of all sizes. This is not a vulnerability to patch—it is an active campaign requiring immediate defensive action.
MSPs must treat their remote access infrastructure as the high-value target it is. The trust placed in these tools by customers creates an attractive attack surface for threat actors seeking scale and access. Robust authentication, network segmentation, comprehensive logging, and behavioral monitoring are not optional—they are essential controls for any organization providing or consuming managed services.
For defenders, the priority is clear: validate the integrity of your ScreenConnect deployments today, hunt for signs of compromise using the provided detection content, and harden your remote access infrastructure against this ongoing threat.
Related Resources
Security Arsenal Incident Response Services AlertMonitor Platform Book a SOC Assessment incident-response Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.