This site has been deprecated in favor of https://attack.mitre.org and will remain in place until 11/1/22.
Software: Industroyer, CRASHOVERRIDE
Jump to navigation
Jump to search
Industroyer, CRASHOVERRIDE | |
---|---|
Software | |
ID | S0001 |
Aliases | Industroyer, CRASHOVERRIDE |
Type | Malware |
External Contributors | Dragos Threat Intelligence, Joe Slowik - Dragos |
Industroyer is a sophisticated piece of malware designed to cause an Impact to the working processes of Industrial Control Systems (ICS), specifically ICSs used in electrical substations.1 Industroyer was alleged to be used in the attacks on the Ukrainian power grid in December 2016.2345
Associated Software Descriptions
Techniques Used
- Activate Firmware Update Mode - The Industroyer SPIROTEC DoS module places the victim device into "firmware update" mode. This is a legitimate use case under normal circumstances, but in this case is used the adversary to prevent the SPIROTEC from performing its designed protective functions. As a result the normal safeguards are disabled, leaving an unprotected link in the electric transmission.5
- Automated Collection - Industroyer automatically collects protocol object data to learn about control devices in the environment.1
- Block Command Message - In Industroyer the first COM port from the configuration file is used for the actual communication and the two other COM ports are just opened to prevent other processes accessing them. Thus, the IEC 101 payload component is able to take over and maintain control of the RTU device.1
- Block Reporting Message - Industroyer uses the first COM port from the configuration file for the communication and the other two COM ports are opened to prevent other processes accessing them. This may block processes or operators from getting reporting messages from a device.1
- Block Serial COM - In Industroyer the first COM port from the configuration file is used for the actual communication and the two other COM ports are just opened to prevent other processes accessing them. Thus, the IEC 101 payload component is able to take over and maintain control of the RTU device.1
- Brute Force I/O - The Industroyer IEC 104 module has 3 modes available to perform its attack. These modes are range, shift, and sequence. The range mode operates in 2 stages. The first stage of range mode gathers Information Object Addresses (IOA) and sends "select and execute" packets to switch the state. The second stage of range mode has an infinite loop where it will switch the state of all of the previously discovered IOAs. Shift mode is similar to range mode, but instead of staying within the same range, it will add a shift value to the default range values.1
- Command-Line Interface - The name of the Industroyer payload DLL is supplied by the attackers via a command line parameter supplied in one of the main backdoor’s “execute a shell command” commands.1
- Data Destruction - Industroyer has a destructive wiper that "overwrites all ICS configuration files across the hard drives and all mapped network drives specifically targeting ABB PCM600 configuration files".2
- Denial of Control - Industroyer is able to block serial COM channels temporarily causing a denial of control.1
- Denial of Service - The Industroyer SIPROTEC DoS module exploits the CVE-2015-5374 vulnerability in order to render a Siemens SIPROTEC device unresponsive. Once this vulnerability is successfully exploited, the target device stops responding to any commands until it is rebooted manually.1 Once the tool is executed it sends specifically crafted packets to port 50,000 of the target IP addresses using UDP. The UDP packet contains the following 18 byte payload:
0x11 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 9E
.1
- Denial of View - Industroyer is able to block serial COM channels temporarily causing a denial of view.1
- Device Restart/Shutdown - The Industroyer SIPROTEC DoS module exploits the CVE-2015-5374 vulnerability in order to render a Siemens SIPROTEC device unresponsive. While the vulnerability does not directly cause the restart or shutdown of the device, the device must be restarted manually before it can resume operations.1
- Loss of Control - Industroyer's data wiper component removes the registry "image path" throughout the system and overwrites all files, rendering the system unusable.1
- Loss of Protection - Industroyer contained a module which leveraged a vulnerability in the Siemens SIPROTEC relays (CVE-2015-5374) to create a Denial of Service against automated protective relays.4
- Loss of View - Industroyer's data wiper component removes the registry "image path" throughout the system and overwrites all files, rendering the system unusable.1
- Manipulation of Control - Industroyer toggles breakers to the open state utilizing unauthorized command messages.1
- Manipulation of View - Industroyer's OPC module can brute force values and will send out a 0x01 status which for the target systems equates to a “Primary Variable Out of Limits” misdirecting operators from understanding protective relay status.1
- Masquerading - Industroyer includes a launch component that loads DLLs and EXEs with filenames associated with common electric power sector protocols, including 101.dll, 104.dll, 61850.dll, OPCClientDemo.dll, OPC.exe, and 61850.exe.1
- Monitor Process State - Industroyer's OPC and IEC 61850 protocol modules include the ability to send "stVal" requests to read the status of operational variables.1
- Network Connection Enumeration - Industroyer contains an IEC 61850 module that enumerates all connected network adapters to determine their TCP/IP subnet masks.1
- Remote System Discovery - The Industroyer IEC 61850 payload component has the ability to discover relevant devices in the infected host's network subnet by attempting to connect on port 102.1
- Remote System Discovery - Industroyer contains an OPC DA module that enumerates all OPC servers using the
ICatInformation::EnumClassesOfCategories
method withCATID_OPCDAServer20
category identifier andIOPCServer::GetStatus
to identify the ones running.
- Remote System Information Discovery - Industroyer's OPC DA module also uses
IOPCBrowseServerAddressSpace
to look for items with the following strings: "ctlSelOn", "ctlOperOn", "ctlSelOff", "ctlOperOff", "\Pos and stVal".1
- Remote System Information Discovery - The Industroyer IEC 61850 component sends the domain-specific MMS
getNameList
request to determine what logical nodes the device supports. It then searches the logical nodes for the “CSW” value, which indicates the device performs a circuit breaker or switch control function. 1
- Remote System Information Discovery - Industroyer IEC 60870-5-104 module includes a range mode to discover Information Object Addresses (IOAs) by enumerating through each.1
- Service Stop - Industroyer has the capability to stop a service itself, or to login as a user and stop a service as that user.1
- Unauthorized Command Message - Using its protocol payloads, Industroyer sends unauthorized commands to RTUs to change the state of equipment.1
- Connection Proxy - Industroyer attempts to connect with a hardcoded internal proxy on TCP 3128 [default Squid proxy]. If established, the backdoor attempts to reach an external C2 server via the internal proxy.2
Groups
The following groups use this software:
References
- a b c d e f g h i j k l m n o p q r s t u v w x y z Anton Cherepanov, ESET. (2017, June 12). Win32/Industroyer: A new threat for industrial control systems. Retrieved September 15, 2017.
- a b c d Dragos Inc.. (2017, June 13). Industroyer - Dragos - 201706: Analysis of the Threat to Electic Grid Operations. Retrieved September 18, 2017.
- ^ CISA. (2017, June 12). Alert (TA17-163A). Retrieved October 22, 2019.