this post was submitted on 04 Oct 2024
114 points (96.7% liked)

Linux

48691 readers
396 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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 »).

all 19 comments
sorted by: hot top controversial new old
[–] [email protected] 40 points 2 months ago (3 children)

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 :)

[–] [email protected] 13 points 2 months ago (1 children)

tmux and a <ctrl>-<b><d> - done!

[–] [email protected] 8 points 2 months ago (1 children)

....Me avoiding responsibilities....

[–] [email protected] 14 points 2 months ago
//TODO: remove perfctl

There, that should fix it.

[–] SuperFola 1 points 2 months ago

Smart! I thought about creating a script that runs in screen or whatever to log stuff and receive commands from outside. Complicated way around eh?

Like a mini ssh, but I don’t know if screen and tmux keeps you logged in.

[–] [email protected] 1 points 2 months ago

You say that, but I always leave screen sessions open

[–] [email protected] 17 points 2 months ago (2 children)

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?

[–] [email protected] 2 points 2 months ago

Sounds like Windows Defender

[–] [email protected] 5 points 2 months ago

Honestly, if true, it's so insidious

[–] [email protected] 4 points 2 months ago* (last edited 2 months ago)

Maybe not related but I had an issie with wireplumber where it would suddenly take up any free CPU resources and use them up, jacking up my cpu usage up to crazy high numbers, often to 100% at times where the expected cpu usage would be at 20% at most.

I haven't experienced this in the last week or so, so maybe it was fixed in an update? I'm on Fedora, btw. I just wanted to share, so I can find out if anyone else had the same issue.

[–] [email protected] 3 points 2 months ago (1 children)

Surely y'all have monitoring and alerts for excessive cpu load already?

[–] SuperFola 3 points 2 months ago

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.

[–] [email protected] 1 points 2 months ago* (last edited 2 months ago)

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.