FrostyGoop: Defending ICS Against Protocol Exploits
An attacker on an OT network does not need malware that evades your defenses. FrostyGoop proves the point. Dragos discovered the industrial control system (ICS) malware in April 2024, and Ukraine’s Cyber Security Situation Center (CSSC) shared details of the incident behind it. FrostyGoop speaks Modbus TCP natively and sends commands straight to field controllers. In January 2024 in Lviv, the attack cut heating to more than 600 apartment buildings, and remediation took almost two days while residents faced sub-zero temperatures.
At a glance
- FrostyGoop is the first reported ICS malware to abuse Modbus TCP for control system manipulation with real-world impact (SANS), and the ninth known ICS malware (Dragos).
- Anomaly-based NDR and log analytics strain against FrostyGoop because the malware operates with precise, native awareness of ICS protocol values and opcodes, not the noisy behavior these tools are tuned to flag.
- Modbus and BACnet were built without authentication or encryption, making protocol-specific exploits a structural weakness in most OT environments rather than a misconfiguration.
- OT deception, specifically PLC decoys with native Modbus and BACnet support, surfaces FrostyGoop-style reconnaissance before the exploit executes, at the leaf-switch layer where core-switch NDR has no visibility.
- Acalvio ShadowPlex runs additively alongside existing OT monitoring. In the U.S. Navy’s Cyber Resilient Systems ANTX exercise in mid-2025, Acalvio delivered 100 percent true positives and denied 80 percent of attacker objectives.
What is FrostyGoop malware?
FrostyGoop is ICS malware that communicates with field devices over Modbus TCP to send unauthorized commands, manipulate control values, and modify operational parameters. It gives an attacker direct influence over physical processes without going through legitimate control software.
FrostyGoop fact file
| Label | Fact | Source |
| Also known as | BUSTLEBERM; MITRE Software S1165, Campaign C0041 | MITRE ATT&CK |
| Type | Windows binary written in Go | MITRE ATT&CK, Unit 42 |
| Protocol | Modbus TCP, port 502, function codes 3, 6, 16 | MITRE ATT&CK, Unit 42 |
| Configuration | JSON or CLI config | Unit 42 |
| Targeted controllers | ENCO controllers | MITRE ATT&CK, Dragos |
| Discovered | April 2024, by Dragos | Dragos |
| Attack | January 2024, Lviv; CSSC shared incident details | MITRE ATT&CK, Dragos |
| Impact | 600+ apartment buildings, almost two days to remediate | Dragos, Unit 42 |
The FrostyGoop attack in Ukraine
The FrostyGoop attack moved from an internet-facing router to the heating controllers in six steps, as documented by MITRE (campaign C0041), Dragos, and SANS:
- Entry: attackers likely exploited an unknown vulnerability in an external-facing router (MITRE).
- Credentials: they retrieved the SAM hive to capture credentials (MITRE).
- Persistence: a ReGeorg variant web shell kept access open (MITRE).
- Tunneling: L2TP connections ran to Moscow-based IP addresses (MITRE, Dragos).
- Manipulation: Modbus commands to ENCO controllers altered parameters and downgraded firmware, so controllers reported incorrect measurements and operators lost visibility (MITRE).
- Impact: heating was lost to more than 600 apartment buildings in sub-zero temperatures (Dragos).
SANS notes that the attackers sent the Modbus commands from their own environment through the tunnel, so the malware did not need to run on hosts inside the victim network.
What are the implications of ICS protocol-specific malware?
ICS protocol-specific malware turns a protocol’s normal commands into a weapon against physical processes.
- A different target: malware has traditionally targeted IT infrastructure, but OT assets run on protocols built for administration and monitoring rather than general computing. Modbus is one of the most widely deployed, used across PLCs and other field devices.
- Direct control: FrostyGoop reads and writes holding registers over Modbus to set the values that govern controller operation.
- Physical impact: in the Ukraine incident, commands modified control parameters so controllers reported incorrect measurements, and firmware was downgraded, causing loss of heating and loss of view (MITRE C0041).
Why are remote protocol exploits challenging in OT/ICS environments?
Remote protocol exploits are hard to prevent because Modbus and BACnet provide no authentication or encryption, so every reachable device is a potential target, not just a misconfigured one.
- No built-in trust check: modern IT protocols such as HTTPS and TLS make a client prove it belongs before it can act. Most ICS protocols were defined before protocol-level security was a design consideration.
- A range of exploits: unauthorized clients issuing remote commands, man-in-the-middle interception, and replay attacks that resend previously captured commands.
- Wide exposure: Unit 42 counted about 1.09 million Modbus TCP devices exposed to the internet between 2 September and 2 October 2024.
The combination of an exploitable attack surface and mission-critical assets makes protocol exploits a serious threat vector, and it is why OT-specific detection matters as much as prevention in OT risk management.
Moving beyond segmentation to OT threat detection
OT security has long relied on network segmentation and air gapping to isolate assets and reduce exposure. Segmentation remains a necessary prevention control and stays essential for shrinking the OT attack surface.
ICS protocol-specific malware is pushing OT security toward an assume-compromise posture, because prevention controls have more than one way to be bypassed:
- Internet-facing OT assets: the exploit vector the Lviv district heating attack made concrete.
- Insider risk: plant administrators and contract staff, a route that does not depend on any network boundary at all.
A layered defense pairs prevention with active threat detection: segmentation limits what an attacker can reach, and detection shortens the distance between initial access and response once they reach it anyway. Dragos and SANS both recommend the SANS Five ICS Cybersecurity Critical Controls as the baseline for that layered approach. Watch the webinar Beyond segmentation: defending against ICS protocol exploits.
Threat detection strategies for OT security
OT assets need a detection approach built around their constraints, not one inherited from IT.
- Endpoint tools: most OT assets cannot run security agents, which limits endpoint-centric tools such as EDR.
- Log analytics: log availability and format vary widely across vendors and device generations.
- Network detection: NDR analyzes traffic for known malicious patterns and anomalous behavior and is a reasonable baseline. It strains against protocol-specific malware for a structural reason: FrostyGoop operates with precise, native awareness of Modbus values and opcodes, so its traffic often does not deviate from what anomaly baselines expect. NDR is also typically deployed at the core switch, leaving a visibility gap for leaf-switch assets, including PLCs receiving unauthorized commands.
Closing that gap calls for OT-specific decoys: instrumented assets that represent real OT devices and that no legitimate process ever needs to touch. Any interaction with one is a high-fidelity signal on its own, without baselining or tuning, and the same decoys extend visibility to leaf-switch assets that core-switch NDR cannot see. Decoys need to be automated and deployed at scale to keep pace with attackers acting at machine speed; a handful of hand-built decoys will not hold up the way an autonomous deployment does. Deception works alongside NDR and log analytics here, not in place of them.
OT deception for threat detection and threat hunting
The real FrostyGoop attack ran from router exploit to credential theft to Modbus writes, and every one of those steps crossed the network before the payload ran. Consider how decoys change that sequence for an energy provider built on the Purdue reference architecture, where the OT security team deploys PLC decoys with native support for Modbus and BACnet, the protocol common in building automation systems.
An attacker gains access and stages FrostyGoop. Before deploying it against a specific target, the attacker runs reconnaissance to find exploitable PLCs, typically by scanning the subnet for devices responding on the Modbus port:
| Step | Sample command | Purpose |
| 1. Reconnaissance | nmap <subnet CIDR> -p 502 | Find target PLCs that support the Modbus protocol |
| 2. Exploit | Execute FrostyGoop against identified devices | Disable or shut down device operation |
- What the decoys do: the sweep in step one surfaces decoy devices alongside real ones, and the OT security team is notified before step two runs.
- Why the alert is trustworthy: the question is why anything touched an asset no legitimate process should need. That question is the detection signal itself, not an inference built from weaker evidence elsewhere.
- The outcome: a response window before FrostyGoop’s payload executes. Acalvio ShadowPlex extends this protocol-aware decoy coverage across core and leaf switches. Learn more in Acalvio ShadowPlex in OT/ICS environments.
FrostyGoop attack path map
Each step of the real FrostyGoop attack maps to a MITRE ATT&CK technique, and decoys can surface some of those steps while others fall outside what deception covers.
| Attack step | What happened (source) | ATT&CK technique | Where a decoy surfaces it |
| Initial access | Likely exploit of an unknown vulnerability in a public-facing router (MITRE C0041) | T1190 Exploit Public-Facing Application | Not a decoy step |
| Credential access | SAM hive credential dumping (MITRE C0041) | T1003.002 Security Account Manager | Honeytoken credentials alert if used |
| Persistence / C2 | Web shell (ReGeorg variant) and L2TP tunnels to Moscow-based IPs (MITRE C0041, Dragos) | T1505.003 Web Shell + T1071 Application Layer Protocol | Not a decoy step |
| Discovery | Modbus TCP reconnaissance, e.g. a port-502 sweep (SANS) | T0801 Monitor Process State + T0885 Commonly Used Port | Decoy PLCs on port 502 surface the sweep |
| Manipulation | Modbus writes to ENCO controllers modified parameters and downgraded firmware (MITRE C0041) | T0836 Modify Parameter + T1693.001 Modify Firmware + T0829 Loss of View | Write to a decoy PLC is a high-confidence alert |
| Impact | Loss of heating to 600+ buildings (Dragos) | T0826 Loss of Availability | Too late for any control |
The pattern is clear: decoys add the most signal in the middle of the attack, where credentials are reused and controllers are probed and written to, while perimeter hardening and router patching remain the controls for initial access.
Alt text: FrostyGoop attack path mapped to ATT&CK techniques and decoy detection points.
Defending OT environments against ICS protocol exploits
FrostyGoop demonstrates that ICS protocol weaknesses are not theoretical. Modbus and BACnet’s lack of built-in authentication and encryption gives attackers a durable path to PLCs regardless of how well an organization segments its network. Segmentation still matters, but it is a prevention control, and prevention controls get bypassed.
Closing that gap requires detection purpose-built for OT: protocol-aware decoys that surface reconnaissance at the leaf-switch layer before an exploit executes, without the baselining anomaly-based tools depend on. That is the layer Acalvio ShadowPlex’s agentless OT and ICS deception is built to cover, working alongside existing segmentation and NDR investments rather than replacing them. See how it works in practice in this industrial manufacturer customer reference.
If an OT environment includes internet-facing assets or relies on Modbus, BACnet, or comparable unauthenticated protocols, schedule a demo to see where FrostyGoop-style reconnaissance would surface first.
FAQs about FrostyGoop and ICS protocol exploits
FrostyGoop is a first-of-its-kind ICS malware with native Modbus protocol support. It targets PLCs and other OT assets that communicate over Modbus TCP, sending unauthorized commands that manipulate control values and operational parameters.
FrostyGoop sends specific opcodes over Modbus TCP to set register values on target PLCs directly. Because Modbus has no built-in authentication or encryption, the malware does not need to bypass any protocol-level security control to issue these commands.
Anomaly-based NDR baselines traffic to flag deviations, but FrostyGoop operates with precise, native awareness of Modbus values and opcodes, so its traffic often falls within expected patterns. NDR is also commonly deployed at the core switch, reducing visibility for leaf-switch assets such as individual PLCs.
OT deception deploys decoy assets, such as PLC decoys with native Modbus and BACnet support, that no legitimate process has a reason to touch. Any interaction with one is a high-fidelity signal on its own, letting defenders detect reconnaissance and protocol-specific exploits without baselining.
ShadowPlex deploys agentless, protocol-aware PLC decoys across core and leaf switches, extending coverage to assets core-switch NDR cannot see. It surfaces FrostyGoop-style reconnaissance before the exploit executes, running alongside existing segmentation and NDR rather than replacing them.
BUSTLEBERM is another name associated with FrostyGoop in MITRE ATT&CK’s software entry S1165. Threat intelligence and detection content may use either name for the same malware.
Inventory and reduce internet-facing OT assets, patch vulnerable router firmware, and monitor for unusual Modbus read and write activity (Unit 42). SANS and Dragos recommend the SANS Five ICS Cybersecurity Critical Controls, including defensible architecture, ICS network visibility, and secure remote access. Protocol-aware decoys add a high-confidence alert when an attacker probes or writes to a device no legitimate process should touch.
