Organizations running Windows containers in their Kubernetes cluster have a brand-new threat to worry about.
Researchers from Palo Alto Networks (PAN) have discovered what they say is the first known malware targeting Windows containers. The malware, named Siloscape, is designed to escape from a Windows container into the Kubernetes node so it can spread in the cluster.
Attackers can use the malware to carry out a variety of malicious actions, such as credential and data theft, deploying ransomware, and breaching enterprise software development and testing environments.
Daniel Prizmant, senior staff researcher at PAN's Unit 42 threat intelligence team, says the malware is a manifestation of the growing attacker focus on cloud environments. "Attackers are undergoing their own digital transformation and exploiting the massive enterprise shift to the cloud and new technologies like containers," he says. "As a result, container security has become important."
Prizmant describes Siloscape as heavily obfuscated malware whose main purpose is to open a backdoor into poorly configured Kubernetes clusters to run malicious containers. It does this by first targeting known vulnerabilities in common cloud applications, such as Web servers, to gain initial access to a Windows container. It then uses Windows container escape techniques to break free from the container and gain code execution access to the underlying node. According to PAN, there are several methods for escaping Windows containers. Siloscape uses a technique called thread impersonation that has little documentation and even fewer working examples, the security vendor says in its report.
The malware verifies if the compromised node has the privileges needed to create new Kubernetes deployments. Siloscape then connects to a command-and-control server over the Tor network and executes the commands it receives. Unlike other malware, Siloscape contains no functionality for harming the Kubernetes cluster itself. Rather its main function is to open a backdoor quietly and untraceably on the cluster that attackers can then use for different malicious purposes, according to PAN's report.
"Because Siloscape opens a backdoor to the Kubernetes cluster, it gives the attacker the access to run any code, anywhere on the victim's cluster," Prizmant says. "For example, an attacker could use the computing power for cryptojacking, or they could use it as part of a botnet that could be used for future DDoS attacks."
Similarly, attackers could use the backdoor to install malware for stealing internal data of the victim, including code, container images, and databases. Attackers could also leverage the access to create a ransomware attack by locking and encrypting the cluster, or they could modify the cluster to attack other victims. "If the cluster runs a Web server, the attacker could modify it and attack all its users by changing the server’s code," Prizmant says.
PAN says its investigation of the C2 server showed at least 23 active Siloscape victims. The analysis also showed that the C2 server was being used to host over 300 users in total. The data suggests that Siloscape is only part of a broader campaign targeting enterprise cloud environments and that the campaign has been going on for more than a year, the security vendor says.
Prizmant says organizations that use Windows containers to run online applications, such as Web servers, are most at risk. He says a well-configured Kubernetes cluster that's secure will make life much harder for Siloscape. That's because even if the malware manages to escape the container, it wouldn't be able to take control of the cluster.
He recommends that organizations running Windows containers should limit the privilege of each node using Kubernetes Authorization modules such as role-based access control. Prizmant adds that users should also not run anything in a Windows container that they wouldn't be willing run as an administrator on the host system.