Well, that didn't take long.
About two weeks after the Apache Struts 2 vulnerability was revealed, F5 Labs has found evidenceof its use in a Monero (XMR) cryptomining exploit. Another such exploit was also seen last week, but differs in the details.
F5 has dubbed this campaign CroniX because it uses cron (for persistency) and Xhide (for launching executables with fake process names).
The vulnerability (CVE-2018-11776) allows attackers to inject Object-Graph Navigation Language (OGNL) expressions into an application using the Struts framework. The OGNL can contain malicious Java code that will be evaluated under several circumstances. In this case, the injection point is in the URL.
The attacker will send an HTTP request while injecting an OGNL expression. Once evaluated, the request executes shell commands that will cause the download and execution of a malicious file.
While F5 found direct evidence of Linux exploits, their investigation also found files on the command and control server that held PowerShell commands that could target Windows systems.
To make sure it is the only miner on the affected system, ChroniX will delete the binaries of other cryptominers that may be present on the system.
But this is done with some finesse. Since those other cryptominers may be hiding under legitimate process names, a further check is done to see if the targeted process is using more than 60% of the system resources. Only then is the process deleted.
Then, the attacker goes out and gets the latest versions of the malware, basically the "run" and "upd" bash scripts. Two additional binary executables -- "xmrig" and a file called "H" -- are downloaded. Each of them has an x86 and an x64 version.
The "xmrig" file is a miner that contains an embedded configuration (pool, username and password). The "H" file is an older XHide tool that is used for launching executables with a fake process name.
The attacker communicates with a Monero pool at "eu.minerpool.pw."
The threat actor has been previously known to F5, but it did not specify any name. However, the group notes that the "quite unique usage of 'XHide-Process Faker' made us believe that the threat actor behind the exploitation of this fresh Struts 2 vulnerability is the same one that was behind a previous campaign exploiting Jenkins servers via CVE-2017-1000353." In that instance the threat actor used a Chinese Git website to host malicious files.
F5 detected that the attacker is using a dedicated web server hosted in the US this time to serve the malicious files. Not only that, Palaudomain names are used in the exploit. They were found to be registered by a Russian registrant.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.