A compromised patch management tool is a ready-made way to run code as SYSTEM or root on every managed endpoint and server at once, under a name your defences already trust. The intrusion can start with a stolen console login, an exposed or unpatched patch server, a leaked API token, a poisoned third-party catalogue, or a breach of the vendor's cloud service. Whatever the entry point, the response follows one order: stop the tool from pushing anything, find out what it already pushed, rotate every credential it held, then rebuild it from a clean base with narrower trust. This playbook is for incident responders, endpoint and server teams and the owners of the patch platform. It is vendor-neutral and applies to on-premises, cloud-hosted and agent-based tools alike; confirm exact feature names in your own product's documentation. Hardening before an incident is covered in Securing the patch management tool itself, and this page does not repeat it.
Key takeaways
- Freeze deployments before anything else. Pausing every scheduled job and blocking the agents from taking new instructions limits the damage even while the attacker still holds the console.
- Treat what was pushed as malware until proven otherwise. Every package, script and configuration change deployed during the window needs a hash, a source and an owner, or it gets investigated on every target.
- The tool's credentials reach far beyond the tool. Domain service accounts, local admin credentials used for push installs, cloud run-command roles, signing keys and repository tokens all need rotation.
- You still have to patch during the incident. Plan a manual or alternative patching route for critical fixes so the outage does not leave you exposed for weeks.
- Rebuild rather than clean. Servers, distribution points and relays that could have been modified should be rebuilt from known good media, and agents re-enrolled with new trust.
How the compromise shows up
Patch tools rarely alert on their own misuse. MITRE ATT&CK lists this as T1072 Software Deployment Tools, and its detection guidance centres on deployment agents launching scripts or binaries in the SYSTEM context, or running outside maintenance windows or expected admin groups. The table lists the signals responders usually see first.
| Signal | Where you see it | What it can mean |
|---|---|---|
| A deployment job, package or script nobody can account for | The tool's job history and audit log | Direct use of the console to distribute a payload (T1072) |
| The patch agent spawning shells or interpreters outside a maintenance window | EDR process trees on endpoints, OS process creation logs | Arbitrary command execution through the agent |
| New console admins, API tokens, roles or approval rule changes | Tool audit log, identity provider logs | Persistence and preparation for a wider push |
| Catalogue, repository or upstream source settings changed | Tool configuration history, change records | An attacker redirecting where updates come from |
| Package content or hash that does not match the publisher's | Package store, distribution points, file integrity monitoring | Tampered content in the update chain (T1195.002 Compromise Software Supply Chain) |
| Endpoint security exclusions or agent policies changed through the tool | EDR console, tool job history | Defence impairment ahead of a payload (T1685 Disable or Modify Tools) |
| Interactive or network logons by the tool's service account on hosts it does not manage | Domain controller and host security logs | The service account's credentials are being reused for lateral movement (T1078 Valid Accounts) |
| A vendor security notice or emergency hotfix for the tool itself | Vendor advisories, account team | The tool, or its cloud service, may be the entry point |
Triage: the first hour
Answer these in order and log each answer with the time and the evidence behind it. Triage decides whether you pause the tool or shut it down entirely.
- Is anything being pushed right now? Check running and scheduled jobs. Active distribution of unknown content means you move straight to containment step 1.
- Where did it start? Your console account or SSO, an exposed server or relay, an API integration, a third-party catalogue, or the vendor's hosted service.
- What can the tool reach? List every managed estate: workstations, servers, domain controllers, hypervisors, cloud instances, network devices and any operational technology. Domain controllers and identity servers in scope raise the severity at once.
- Which credentials does it hold? Push-install accounts, domain service accounts, cloud roles, repository and catalogue tokens, signing certificates and SMTP or ticketing integrations.
- What was deployed in the window? Export the job history with target lists, package hashes and the account that approved each job.
- Can you trust the agents? If the attacker could change agent policy or binaries, agents may need to be removed rather than simply told to stand down.
Blast radius by component
This is NHI Mgmt Group's view of what each common component gives an attacker and the first containment move for it. Not every product has every component.
| Component | What an attacker gains | First containment action |
|---|---|---|
| Management console and API | Create jobs, approve packages, change targeting and policy for the whole estate | Disable admin accounts and tokens, restrict access to a named responder group, pause all jobs |
| Agents on endpoints and servers | Code execution as SYSTEM or root on every enrolled host | Block agent communication with the server at the network or host firewall, or stop the agent service by other means |
| Distribution points, relays and caches | Swap package content close to the targets | Take offline, preserve disks, rebuild later |
| Package store and third-party catalogue integration | Poisoned packages that look approved | Disable catalogue sync, quarantine packages added or changed in the window |
| Push-install and domain service accounts | Lateral movement with admin rights across the domain | Disable or reset the accounts, restrict logon rights, watch for reuse |
| Cloud run-command or systems management roles | Command execution on cloud instances | Deny or detach the roles, revoke active sessions |
| Code signing certificates used for internal packages | Malicious packages that pass signature checks | Revoke and reissue; see the Compromised Code Signing Certificate Playbook |
Containment by priority
Contain from the targets inwards. ATT&CK's mitigations for T1072 include limiting access to deployment systems to a small number of administrators, MFA, network segmentation, and keeping trusted signing certificates off the deployment system; containment applies the same ideas under pressure.
- Stop distribution. Pause or disable every scheduled deployment, approval rule and automatic catalogue sync. If the console itself is untrusted, block traffic from the patch servers and relays to managed hosts at the firewall instead.
- Isolate the servers, do not wipe them. Disconnect the patch server, database and relays from the network while keeping them powered for memory and disk capture.
- Cut the credentials. Disable push-install and service accounts or restrict where they can log on; deny cloud management roles and revoke their sessions. In AWS, the IAM Revoke active sessions action adds an inline policy named
AWSRevokeOlderSessionsthat denies sessions issued before the revocation time, but it does not stop requests signed with long-term IAM user keys, which must be deactivated separately. - Lock the tenant. For a hosted tool, disable compromised admins and API tokens, reset SSO trust if it may have been altered, and open a case with the vendor.
- Hunt on targets in parallel. Use EDR, not the patch tool, to search every host for the hashes, file names and command lines from the suspicious jobs. Isolate hosts where they ran.
- Stand up an emergency patching route. CISA's 2021 guidance to customers of a compromised managed service provider's remote management tool advised switching to manual patch management and installing vendor patches as soon as they were released. Decide now how critical fixes will reach hosts while the tool is down; the Emergency Out-of-Band Patching Playbook covers this.
Rollback: record every rule, account and firewall change with its previous state, so the tool can be brought back deliberately rather than by undoing changes in a hurry.
Credential rotation and trust reset
Rotate everything the tool held or could read, not just the credential you believe was stolen. A missed one is how attackers return.
| Credential or trust | Rotation action | Check afterwards |
|---|---|---|
| Console admin accounts and API tokens | Reset, re-enrol MFA, revoke all tokens and reissue with narrower scopes | No sessions or token use from before the reset |
| Push-install and domain service accounts | New long random passwords, or move to a managed service account where supported; restrict logon to the hosts that need it | No logons with the old credential; logons only from the patch servers |
| Local administrator passwords used by the tool | Rotate on every host, ideally through a local admin password solution rather than a shared value | No two hosts share a local admin password |
| Cloud management roles and keys | Replace long-term keys with roles; rotate external IDs or federated trust | Old keys deactivated and then deleted |
| Agent enrolment secrets and server certificates | Issue a new enrolment secret and server certificate so old agents cannot reconnect to a rogue server | Only agents re-enrolled with the new trust check in |
| Signing certificates for internal packages | Revoke, reissue on a system outside the patch infrastructure, re-sign approved packages | Hosts reject packages signed with the old certificate |
| Catalogue, repository, ticketing and email integration tokens | Revoke and reissue | No webhooks or tokens left that nobody owns |
If the push-install account was a domain administrator, treat the incident as a possible domain compromise and follow the Active Directory Domain Compromise Response Playbook.
Where identity fits
Most of a patch tool's power is held by non-human identities: the server's service account, the account used for push installs, cloud roles, agent certificates and integration tokens. They are often over-privileged because broad admin rights make deployments "just work", and their passwords are rarely rotated because a change can break deployment. ATT&CK's T1072 mitigations ask that deployment system credentials be unique and not reused across the network. During rebuild, give each identity a single purpose and the narrowest rights the product documents. See the Service Account Security Guide.
Eradication and rebuild
- Rebuild the servers: install the patch server, database and relays from known good media on clean hosts; do not restore the application from a backup taken inside the window.
- Re-validate content: re-download every package from the publisher, compare hashes and signatures, and rebuild the package store rather than trusting the old one. The Update Framework lists the attacks a software update system faces, including arbitrary software installation, rollback and key compromise, and is a useful checklist for the update chain.
- Restore configuration selectively: recreate policies, approval rules and target groups from a reviewed export or documentation, not by importing the old database wholesale.
- Clean the targets: remove anything the suspicious jobs installed; rebuild hosts where a payload ran with SYSTEM rights, starting with identity servers.
- Remove persistence elsewhere: look for new accounts, scheduled tasks, services and endpoint security exclusions created during the window.
- Re-enrol agents: reinstall or re-enrol agents against the new server with the new enrolment trust; remove agents from hosts you cannot verify.
Recovery and reconnection
- Pilot ring: connect a small group of non-critical test hosts and deploy a single known package; confirm hashes and agent behaviour.
- Verify telemetry: confirm the tool's audit log and job history are flowing to your SIEM before expanding.
- Expand in rings: workstations, then general servers, then critical servers; domain controllers and identity systems last, with separate approval.
- Turn approvals back on deliberately: require two-person approval for jobs that target large groups or tier 0 systems, and keep catalogue auto-approval off until reviewed.
- Catch up on patching: deploy the backlog that built up during the outage, highest risk first.
Roll back by isolating the new server again if a ring shows unexpected behaviour; because old trust is gone, this cannot reopen the attacker's route.
Evidence to preserve and notification
- Servers: memory and disk images of the patch server, database and relays before rebuild.
- Tool records: job history, package store contents with hashes, audit log, approval history and configuration exports.
- Endpoint data: EDR telemetry and OS logs from targets of suspicious jobs, with timestamps aligned to the job history.
- Identity logs: directory, identity provider and cloud audit logs for every account the tool used.
- Vendor communications: advisories, case numbers and statements of scope.
Notification depends on what the attacker did with the access. If a payload reached systems holding personal data, data protection rules may apply; under GDPR Article 33 a controller notifies the supervisory authority without undue delay and, where feasible, within 72 hours of becoming aware. Sector and national incident reporting rules may also apply: see the Cyber Incident Reporting Requirements Map. If an MSP runs the tool for you, your contract's notification clauses apply too, and the Compromised MSP Playbook covers that case.
Decision guidance
| Situation | Choose | Trade-off |
|---|---|---|
| Vendor advisory, no sign of use in your estate | Patch the tool, rotate its credentials, keep it running under close monitoring | Minimal disruption, but relies on detection being good |
| Unknown jobs or packages found | Full stop, isolate, hunt every target, rebuild | Days or weeks without automated patching; needs a manual route |
| Payload reached tier 0 systems | Run the domain compromise playbook alongside this one | Large effort, but nothing short of it restores trust |
| Hosted (SaaS) tool | Contain at the agents and identities you control; follow vendor direction for the service | You cannot image the vendor's servers; evidence depends on vendor cooperation |
| Small estate | Manual patching and host-by-host checks are feasible | Easy to miss a host without an accurate inventory |
| Large estate | Use EDR at scale for hunting and a second deployment channel for emergency fixes | The second channel must be set up and tested before the incident |
Detection and measurement
- Time to freeze: minutes from declaration to all jobs paused and agent traffic blocked. NHI Mgmt Group recommends rehearsing for under an hour.
- Job attribution: percentage of jobs in the incident window with a known approver, package hash and change record, tracked to 100%.
- Rotation completeness: credentials rotated out of credentials the tool held.
- Re-enrolment coverage: percentage of managed hosts re-enrolled with the new trust, and hosts left unmanaged.
- Patch exposure during outage: number of critical vulnerabilities left open while the tool was down, and days to close them.
- Standing detection: an alert for deployment agents launching shells or scripts outside maintenance windows, tested at least yearly.
Framework mapping
| Framework | Reference | Where it applies |
|---|---|---|
| NIST CSF 2.0 | RS.MA-01, RS.AN-03, RS.MI-01, RS.MI-02, RC.RP-03, RC.RP-05 | Coordinated response, root cause, containment, eradication, verified restoration |
| NIST SP 800-53 Rev. 5 | IR-4, IR-6, AC-2, AC-6, IA-5, CM-5, SI-2, SI-7 | Incident handling and reporting, accounts, least privilege, authenticators, change restrictions, flaw remediation, integrity |
| NIST SP 800-61 Rev. 3 | CSF 2.0 Community Profile for incident response | Overall response structure |
| NIST SP 800-40 Rev. 4 | Enterprise patch management planning | Keeping patching running while the tool is out of service |
| CIS Controls v8.1 | Control 4, Control 5, Control 6, Control 7, Control 17 | Secure configuration, accounts, access, vulnerability management, incident response |
| ISO/IEC 27001:2022 Annex A | 5.24 to 5.28, 8.8, 8.32 | Incident management and evidence, technical vulnerabilities, change management |
| MITRE ATT&CK | T1072, T1195.002, T1078, T1685, T1554 | Deployment tool abuse, supply chain, valid accounts, defence impairment, modified host binaries |
Common failure patterns
- Using the compromised tool to clean up. Pushing remediation scripts through the same console the attacker controls gives them a chance to interfere; hunt and clean through EDR or a separate channel.
- Trusting the vendor's update channel by default. The SolarWinds supply chain compromise showed that a trusted management product's own signed update can carry an implant; re-validate content rather than assuming a vendor-signed package is clean.
- Resetting the console password and stopping there. Push-install accounts, agent enrolment trust and signing keys survive a console reset.
- Restoring the old database. Importing the pre-incident database brings back rogue jobs, approval rules and admin accounts.
- Leaving the estate unpatched for weeks. Without a manual route, the outage creates exposure that outlasts the incident.
- One shared local admin password. If the tool used one value across all hosts, every host is exposed until each is rotated.
Practitioner checklist
- Keep a current list of the tool's servers, relays, integrations, identities and their permissions.
- Document how to pause all jobs and block agent traffic, and rehearse it.
- Export job history with hashes and approvers at the start of the incident.
- Hunt for pushed content through EDR, not the patch tool.
- Rotate service, push-install, local admin, cloud, enrolment, signing and integration credentials.
- Rebuild servers and relays from clean media and re-validate every package.
- Re-enrol agents with new trust and reconnect in rings, tier 0 last.
- Run an emergency patching route while the tool is down.
- Preserve server images, tool records and identity logs before rebuild.
- Require two-person approval for wide or tier 0 deployments after recovery.
Standards and references
- NIST: SP 800-61 Rev. 3, Incident Response Recommendations and Considerations for Cybersecurity Risk Management
- NIST: SP 800-40 Rev. 4, Guide to Enterprise Patch Management Planning
- MITRE ATT&CK: T1072 Software Deployment Tools
- CISA: Kaseya Ransomware Attack, Guidance for Affected MSPs and their Customers
- NCSC: Secure system administration
- The Update Framework: Security
- AWS: Revoke IAM role temporary security credentials
- NIST: Cybersecurity Framework 2.0
Related NHI Mgmt Group resources: Patch Management Guide · Securing the patch management tool itself · MITRE ATT&CK T1072 Software Deployment Tools · RMM Tool Security Guide · Incident Response Guide