F5 researchers uncovered a cryptominer campaign (Monero, of course, for the anonymity) that has been delivering a new kind of Golang malware that targets Linux-based servers.
Golang malware has been minimal to nonexistent in the known threat landscape. It became detectable in mid-2018 and has continued throughout 2019.
For the less geeky out there, this is what Wikipedia says about Go, the language in Golang. "Go is a statically typed compiled language in the tradition of C, with memory safety, garbage collection, structural typing, and CSP-style concurrent programming features added. The compiler, tools and source code are all free and open source." Google designed it.
Free and open source. With concurrent programming features built-in, you say? Someone seems to be using new tools to get somewhere. Malicious actors seem to be beginning to turn to Golang as a malware language since -- aha! -- it is not typically picked up by antivirus software.
But in what manner were the new tools used? Let's look.
How a malware propagates is where that malware usually shows off the tricks that it has in store.
F5 posted that, "The malware campaign propagates using 7 different methods: 4 web application exploits (2 targeting ThinkPHP, 1 targeting Drupal, and 1 targeting Confluence), SSH credentials enumeration, Redis database passwords enumeration, and also trying to connect other machines using found SSH keys."
Ok, that's a lot of arrows in that quiver.
As far as timelines go, F5 says that the operation appeared to start around June 10, 2019. The first exploit requests were seen around June 16. The botnet doing the Monero mining is currently estimated to include several thousand infected machines.
So, who is being creative with Go for money?
Doing an attribution on any software is a collection of probabilities. Calls are made on each element that comprises the malware, but the overall context may be critical. So, you enumerate what you know as a start.
The attacker uses the online clipboard service pastebin.com to host the spearhead bash script. Cheap and anonymous. Anyone could use it. But along with maintaining persistence, the script looks for process running from the /tmp directory and kills them. Intentionally, it keeps the processes that contain the strings for mysqli or mysqlc.
F5 says that the malware is hosted on an already compromised Chinese ecommerce website. This is significant. Did the attackers hijack that website or did the owners of it install the malware themselves?
But another connection is there, says F5. "Several indicators, like the Pastebin and GitHhub usernames and the cloned projects, might imply that the attacker is a Chinese speaker," they said. The attacker is starting to fit a profile here.
Someone got kicked off their hidden mining server at the Ministry of Water and Power, I think, and has gotten creative about it.
— 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.