TLDR: perfctl is a crypto mining and proxy jacking malware that exploits about 20’000 common missconfigurations to install itself on Linux servers. Mostly using a 10/10 CVE on Apache RocketMQ.
It is very persistent and can reinstall itself even when you have deleted all the perfctl and perfcc files. It hides itself by removing logs, network packets, and stopping all activity once you login to the machine.
Monitoring cpu usage using tools (I use net data on my server) can help identify infections (100% cpu usage when « idle »).
However, the process would stop immediately when I logged in via SSH or console. As soon as I logged out, the malware would resume running within a few seconds
OK so you just need to stay logged in - Solved :)
tmux
and a<ctrl>-<b><d>
- done!You say that, but I always leave screen sessions open
The malware also uses advanced evasion techniques, such as suspending its activity when it detects a new user in the btmp or utmp files and terminating any competing malware to maintain control over the infected system.
So, is it a fairly decent antivirus mixed in with all the malware?
There can only be one.
There can only be… NONE!
Surely y’all have monitoring and alerts for excessive cpu load already?
On my own server at home, yes. Because that’s important for me to know what’s going on and not discover something by chance weeks later.
Honestly, if true, it’s so insidious
I will never understand people using 3rdparty MQ and RPC implementations. What a a PR for rocketMQ right here.
You can and you should implement your communication protocols, most of the time 3rdparties are very wasteful and a security liability. I like ZeroMQ (https://zeromq.org/), they have amazing tech guides (https://zguide.zeromq.org/). I still mostly do my own code.
I may have trust issues but sockets are not THAT hard, they’re just amzaingly frustrating to debug, not as much as debuging 3rdparty code.