Trusted Third-Party Breach Uses HPE Ops Tools to Run Scripts, Steal Credentials

Microsoft Incident Response disclosed on May 12, 2026, that attackers compromised a third-party IT services provider and used legitimate HPE Operations Manager and HPE Operations Agent infrastructure to run scripts, deploy web shells, harvest Windows credentials, and tunnel into a victim environment for more than 100 days. The important word is not HPE, and it is not even web shell. The important word is trusted. This was the kind of intrusion that thrives in the space between what an organization has authorized and what it actually observes.

Cybersecurity diagram of a Windows enterprise network showing trusted management and credential/ERD telemetry alerts.The Breach Arrived Wearing an Admin Badge​

The familiar security story begins with a vulnerability, a phishing lure, or a noisy malware loader. This one is more uncomfortable because it begins with a business relationship. A third-party IT services provider had operational control over enterprise management tooling, and the attackers appear to have turned that delegated trust into an execution channel.
Microsoft’s write-up is careful on one point that matters: the report does not describe a vulnerability in HPE Operations Agent itself. The agent was not the bug. The problem was that a legitimate management platform, already allowed to execute scripts across servers, became a path for malicious work that looked enough like administration to avoid early alarm.
That distinction is not vendor pedantry. It is the difference between patching a product and rethinking an operating model. If an attacker steals the keys to an approved management plane, your allowlist becomes their camouflage.
HPE Operations Manager and HPE Operations Agent are designed for exactly the sort of centralized control enterprises want from infrastructure tooling: monitoring, automation, scheduled actions, and operator-initiated tasks across managed hosts. In a healthy environment, that is a force multiplier. In a compromised trust chain, it is a distributed execution fabric.

The Timeline Shows Patience, Not Panic​

The intrusion Microsoft described unfolded across a long arc rather than a smash-and-grab. The earliest known compromised assets were two internet-facing web servers, where an ASP.NET web shell named Errors.aspx was found. Microsoft said it could not determine how those web shells were first deployed, partly because the relevant servers lacked endpoint detection and response coverage.
That gap matters because the absence of telemetry did not merely make the investigation harder after the fact. It shaped what the defenders could know about the initial compromise. In a modern incident, “we cannot confirm” is often not a failure of analysis but a symptom of missing instrumentation at the moment the attack crossed the boundary.
From there, Microsoft traced activity involving a known malicious domain and a workstation that communicated with it. That led investigators to an execution chain in which VBScripts, including a file named abc003.vbs, were deployed through HPE Operations Manager. The scripts performed system, network, and Active Directory discovery — the kind of reconnaissance that can be hidden in plain sight when it runs from a sanctioned administration system.
The campaign’s progression was methodical. Initial access came first, then credential interception, then web-based persistence, then lateral movement and tunneling, then a return to reestablish persistence after detection. Microsoft’s timeline runs to Day 123, when its incident response team was engaged. That is not a brief intrusion. It is an occupation.

The Management Plane Became the Malware Loader​

For Windows administrators, the most unsettling part of the case is that the attackers did not need to bring much that looked exotic. They used an approved management channel to run VBScript and PowerShell. They used Windows authentication extensibility points to capture credentials. They used web shells on IIS servers. They used RDP for interactive access. They used ngrok for encrypted tunneling.
None of those ingredients is surprising in isolation. Together, they form a textbook example of living off the land, except the “land” now includes third-party operational infrastructure. The attacker is not just hiding behind native Windows binaries; the attacker is hiding behind the enterprise’s own support model.
That is why this incident should land differently from a routine malware advisory. If defenders only search for unknown binaries, suspicious exploit chains, or commodity payloads, they may miss the more consequential abuse: the moment when a known tool starts doing work it should not be doing, from a place that is technically authorized but operationally abnormal.
The security industry has spent years telling organizations to inventory assets, patch exposed systems, and deploy EDR. Those remain necessary. But this case argues for a more mature question: who is allowed to make your systems do things, through which tooling, under whose supervision, and with what independent record of the action?

Credential Theft Moved Inside the Windows Logon Path​

The attack’s credential harvesting was particularly damaging because it abused Windows mechanisms that exist for legitimate integration. Microsoft described a malicious network provider DLL, mslogon.dll, registered on a domain controller. Network providers can integrate with the Windows authentication flow, and in this case the attacker used that position to capture credentials during sign-in and password changes.
The relevant APIs, NPLogonNotify and NPPasswordChangeNotify, are not obscure vulnerabilities. They are part of a mechanism that can notify registered providers when authentication events occur. In the hands of a legitimate provider, that can support enterprise functionality. In the hands of an intruder, it becomes a credential interception point inside the normal logon process.
Microsoft said the network provider captured usernames and passwords in cleartext and stored them under a path in the public music folder. Later, the attackers added another credential interception component: a malicious password filter DLL named passms.dll registered through the Local Security Authority notification package configuration on domain controllers. Password filters are loaded by LSASS and invoked during password set or change operations.
This is where the attack becomes especially corrosive. A password reset, usually one of the first moves after suspected compromise, can become another credential collection event if a malicious password filter remains installed. The defender believes they are rotating secrets; the attacker is waiting at the point where the new secret passes through memory.
The passms.dll output was not stored as plain text, according to Microsoft. It was Base64 encoded and then processed through a custom encoding routine. A companion module, msupdate.dll, could move the encoded data over SMB into a file disguised as an image and also contained SMTP-based exfiltration capability. The tradecraft is not magical, but it is practical: capture the credentials where Windows must briefly handle them, disguise the output, and use ordinary protocols to move it.

Web Shells Remained the Old Reliable Back Door​

For all the sophistication around trust relationships and authentication internals, the web tier still played a familiar role. Microsoft found web shells on internet-facing servers, including Errors.aspx and a modified Signoff.aspx. The latter was altered to load a secondary component, ghost.inc, from the Windows temporary directory.
That detail is worth lingering on because it illustrates how persistence becomes layered. A new suspicious file may be easier to spot than a legitimate application page with a small malicious modification. A single web shell may be removable, but a modified page that loads a secondary shell can survive cleanup efforts that only chase the obvious artifact.
The web shells gave the attackers a way to execute PowerShell, deploy binaries, upload and download files, and trigger follow-on activity. In many environments, IIS logs and file integrity monitoring should help catch this sort of thing. In practice, web servers often sit in a dangerous middle ground: exposed enough to matter, business-critical enough to avoid aggressive controls, and inconsistently covered by endpoint tooling.
Microsoft noted that HPE Operations Agent was present on the compromised web servers and was highly likely used to deploy the web shell, but the lack of EDR coverage meant investigators could not confirm the creation mechanism. That is the kind of uncertainty attackers benefit from. Missing telemetry turns the incident narrative into a set of probabilities rather than proof.

Ngrok Turned Egress Into an Inbound Door​

The attackers also used ngrok to support lateral movement and persistence. Ngrok is a legitimate tunneling utility used by developers and administrators to expose local services through encrypted tunnels. In this case, Microsoft said attackers deployed it on internal servers to enable RDP access without exposing conventional inbound firewall ports.
This is the kind of technique that punishes organizations that think too much about the perimeter and too little about egress. A firewall that blocks inbound RDP is useful. It is not enough if an internal host can establish an outbound encrypted tunnel to a service that then brokers access back in.
Microsoft described evidence of RDP connections originating from an ngrok tunnel hosted on a SQL server, masking the attacker’s real infrastructure and complicating network-based detection. The attackers also used WMI-based remote execution to deploy and launch ngrok on additional devices from compromised web servers. Again, the pattern is consistent: use normal administration paths, then wrap access in a tunnel that looks like outbound traffic.
The answer is not necessarily to ban every tunneling tool by name and declare victory. Enterprises need to know whether such tools have a legitimate business use, where they are allowed, and what destinations and accounts are associated with them. Unapproved tunnels from servers, especially domain controllers, SQL servers, and web servers, should be treated as high-signal events.

The Third Party Was Not Outside the Network​

The phrase “third-party compromise” can make the problem sound external, as if the breach happened somewhere else and merely spilled over. That is too comforting. In this case, the third party was part of the operational boundary because it administered systems through trusted tooling.
Enterprises have spent years outsourcing and integrating pieces of IT operations: managed service providers, monitoring vendors, remote support platforms, cloud administrators, identity brokers, contractors, and software supply-chain dependencies. The resulting architecture is efficient, but it creates a permission graph that rarely matches the neat diagrams shown in audits. The practical boundary of the organization is wherever trusted access can execute code, reset credentials, read logs, or change configuration.
That does not mean third-party access is inherently reckless. It means it must be engineered as if compromise is possible. Vendor accounts need scoping. Management tools need independent logging. Privileged actions need approval paths and anomaly detection. Access should be time-bound where possible, segmented by role, and continuously reviewed against actual use.
The most dangerous assumption is that a trusted provider’s activity is normal because it came through the expected system. The more privileged the tool, the less that assumption holds. A domain administrator using RDP at 2 p.m. may be normal; a domain administrator using RDP through an unexpected tunnel from a SQL server after a password filter DLL appears in LSA configuration is not.

“No Vulnerability” Is Not the Same as “No Failure”​

One of the predictable reactions to this case will be product defensiveness. If HPE Operations Agent was not exploited through a vulnerability, then perhaps the story is simply stolen credentials and bad monitoring. That reading is technically tidy and strategically insufficient.
Modern enterprise compromises increasingly target control planes rather than individual machines. Identity providers, device management systems, RMM tools, backup consoles, CI/CD systems, and monitoring platforms all offer attackers a way to convert one compromise into many actions. The question is no longer only whether the tool is vulnerable. It is whether the organization can detect when the tool is abused.
There is a subtle but important difference between trusted software and trustworthy behavior. A signed management agent executing a script is not inherently suspicious. A signed management agent executing reconnaissance scripts on web servers and domain controllers, followed by credential interception DLL registration and web shell deployment, is suspicious when viewed as a sequence.
That sequence-based view is still hard for many security programs. Logs live in separate tools. Vendor actions are treated as administrative noise. EDR coverage is uneven. Network egress is broad. Domain controller registry changes are not monitored with the urgency they deserve. The result is a detection strategy that catches malware but misses campaigns.

Domain Controllers Deserve Less Trust, Not More​

The incident is also a reminder that domain controllers are not just “important servers.” They are the place where identity becomes enforceable reality. When attackers register malicious authentication components on domain controllers, they are not merely stealing a few passwords; they are compromising the machinery that decides who is allowed to become whom.
Monitoring LSA notification packages and network provider registration should not be a niche hardening task. It should be baseline hygiene for Windows environments. Unauthorized DLLs in these paths are not routine oddities. They are potential credential interception mechanisms with direct consequences for every user and service account that authenticates through the domain.
The same goes for unexpected files in strange but writable paths. A credential file under a public music directory should be absurd enough to notice, but many environments do not continuously watch for that class of artifact. Attackers know that defenders often monitor famous paths and famous tools, not the mundane filesystem corners where stolen data can sit until collected.
Domain controller hardening often focuses on who can log on interactively, who has admin rights, and whether patches are current. Those controls matter, but they must be paired with change monitoring for authentication extensibility points. If a new provider or password filter appears, the question should not be “does the DLL have a familiar-looking name?” The question should be “who approved this, when, and why?”

EDR Gaps Turn Incidents Into Archaeology​

The lack of EDR coverage on the compromised web servers is one of the most practically important details in Microsoft’s account. It did not make the breach happen by itself, but it limited the investigation’s ability to reconstruct how key artifacts arrived. That is the difference between incident response as a timeline and incident response as archaeology.
Administrators sometimes exclude servers from EDR for performance, compatibility, cost, or political reasons. Internet-facing web servers are especially prone to becoming exceptions because they are fragile, high-availability, and maintained by different teams. But attackers do not respect the org chart. They go where telemetry is weakest and business impact makes defenders cautious.
This case should push organizations to revisit every EDR exception with a hostile eye. If a server is too critical to monitor, it is too critical to leave under-instrumented. If an agent cannot be deployed, compensating controls need to be real: file integrity monitoring, enhanced process logging, PowerShell logging, IIS request analysis, network flow visibility, and rapid snapshot capability.
The uncomfortable truth is that response quality is determined before the incident begins. You cannot retroactively collect process creation events from a host that never recorded them. You cannot prove a management agent deployed a web shell if the logs needed to prove it were never retained. At best, you can infer.

The Fix Is Governance With Teeth​

Microsoft’s mitigation guidance is sensible: deploy EDR broadly, enable cloud-delivered protection, restrict egress, monitor web servers, reduce unnecessary software, and adopt stronger enterprise access controls. The challenge is that every one of those recommendations collides with operational convenience. Attackers count on that collision.
Default-deny egress is a good example. Security teams have recommended it for years, and many organizations still allow servers to reach broad swaths of the internet because application owners cannot quickly document dependencies. That uncertainty becomes an attacker’s opportunity. If a SQL server can establish an arbitrary outbound tunnel, the perimeter has become a suggestion.
Third-party access control is similar. It is easy to say that vendors should have least privilege and time-bound access. It is harder to implement when the provider is responsible for keeping critical systems running and insists on standing permissions. But if the provider can operate a management console that reaches domain controllers and web servers, the provider’s compromise becomes the customer’s compromise.
The right model is not distrust for its own sake. It is verified trust. A service provider may need access, but that access should be scoped, logged, reviewed, and behaviorally monitored. Management actions should be attributable to named identities, not generic shared accounts. High-risk operations should generate alerts even when they originate from approved tools.

Detection Has to Follow the Story, Not the Hash​

One reason this campaign is instructive is that the indicators are useful but not sufficient. File names such as Errors.aspx, Signoff.aspx, mslogon.dll, passms.dll, msupdate.dll, abc003.vbs, and icon02.jpeg matter for hunting. So do paths such as the public music directory and the WindowsUpdateService-looking ProgramData location. But defenders should not mistake the artifacts for the attack.
The durable pattern is broader. A trusted third-party management platform executes scripts. Discovery runs on servers and domain controllers. Authentication components are registered. Web application files are modified. Credentials are captured. RDP appears through tunnels. Data is staged in disguised files. Persistence returns after partial detection.
That pattern can be hunted even when names change. It requires joining telemetry across endpoint, identity, registry, web server, and network layers. It also requires a willingness to treat legitimate tools as suspicious when their behavior deviates from the administrative baseline.
For Windows defenders, the registry changes are especially high value. Monitoring LSA notification packages and network provider provider-order changes can surface credential interception techniques that do not rely on Mimikatz-like process behavior. Likewise, watching for unsigned or invalidly signed DLLs configured in authentication paths can catch abuse that otherwise hides behind Windows extensibility.

The Practical Lesson Is Boring, Which Is Why It Matters​

The temptation with an incident like this is to admire the tradecraft. That is understandable, but it is also a trap. The more useful lesson is that much of the defense is mundane and organizationally difficult rather than technically exotic.
Most enterprises already know they should monitor domain controllers closely. They already know web shells are dangerous. They already know unrestricted outbound traffic is a risk. They already know third-party access can become a supply-chain problem. The gap is not awareness; it is enforcement.
This is why the case should resonate with sysadmins as much as security teams. The compromised path ran through operational tooling, server coverage decisions, web application changes, remote access patterns, and identity infrastructure. No single control owns that whole surface. The breach lived in the seams.

The Windows Admin’s Short List After This Intrusion​

The immediate value of Microsoft’s report is not that every environment should search for the exact same filenames and declare itself clean. It is that defenders can convert the campaign into a short list of control checks that map to real Windows failure modes.
  • Organizations should verify which third parties can operate management platforms capable of executing scripts or binaries across servers.
  • Domain controllers should be monitored for unauthorized network provider and LSA notification package changes.
  • Internet-facing IIS servers should have EDR coverage or equivalent compensating telemetry that records process creation, file modification, script execution, and suspicious requests.
  • Servers should not be allowed to create arbitrary outbound tunnels, and legitimate tunneling tools should be explicitly approved, inventoried, and monitored.
  • Password resets after suspected compromise should be paired with checks for malicious password filters and credential interception components.
  • Incident responders should hunt for behavior sequences across identity, endpoint, registry, web, and network data rather than relying only on file names and hashes.
The lesson is not that trusted management software is unsafe. The lesson is that trusted management software is powerful enough to deserve adversarial monitoring.
This intrusion points toward the next phase of enterprise defense, where the central question is not simply whether malware entered the network but whether the organization can prove that its own trusted systems are behaving as intended. Attackers will keep moving toward identity infrastructure, management planes, service providers, and encrypted tunnels because those paths offer reach without noise. Windows shops that treat trust as a static configuration will keep discovering that it can be borrowed, stolen, and replayed; the ones that treat trust as a monitored behavior will have a better chance of seeing the breach while it is still a campaign, not a postmortem.

References​

  1. Primary source: SOC Prime
    Published: 2026-05-18T18:40:07.995090
 

Back
Top