Malware Linux bernama “perfctl” telah menargetkan server dan workstation Linux setidaknya selama tiga tahun, dan sebagian besar masih tidak terdeteksi karena penghindaran tingkat tinggi dan penggunaan rootkit.
Menurut peneliti Aqua Nautilus yang menemukan perfctl, malware tersebut kemungkinan besar menargetkan jutaan server Linux dalam beberapa tahun terakhir dan mungkin menyebabkan infeksi pada beberapa ribu server.
Hal ini didasarkan pada banyak laporan oleh korban malware tersebut diserahkan ke forum diskusi onlinesemua berisi indikator kompromi yang secara eksklusif terkait dengan aktivitas perfctl.
Menurut Aqua Nautilustujuan utama perfctl adalah untuk penambangan kripto, menggunakan server yang disusupi untuk menambang mata uang kripto Monero yang sulit dilacak. Namun, ini dapat dengan mudah digunakan untuk operasi yang lebih merusak.
Rantai infeksi
Aqua Nautilus percaya bahwa pelaku ancaman mengeksploitasi kesalahan konfigurasi atau mengungkap rahasia untuk membobol server Linux. Kesalahan konfigurasi ini berkisar dari file yang dapat diakses publik yang berisi kredensial hingga antarmuka login yang terbuka.

Sumber: Aqua Nautilus
Para peneliti juga mengamati eksploitasi CVE-2023-33246eksekusi perintah jarak jauh yang memengaruhi Apache RocketMQ versi 5.1.0 dan yang lebih lama, dan CVE-2021-4034 (PwnKit), peningkatan kelemahan hak istimewa di Polkit.
Setelah akses awal dibuat, payload yang dikemas dan dikaburkan, bernama “httpd,” diunduh dari server penyerang dan dieksekusi. Ia kemudian menyalin dirinya sendiri di direktori /tmp dengan nama “sh” dan kemudian menghapus biner aslinya.
Proses baru ini menggunakan nama yang sama (“sh”), pada dasarnya menyatu dengan operasi sistem Linux normal.
Salinan tambahan dibuat di lokasi sistem lain, seperti “https://www.bleepingcomputer.com/root/.config,” “https://www.bleepingcomputer.com/usr/bin/” dan “usr/lib” untuk memastikan ketekunan dalam kasus pembersihan.

Sumber: Aqua Nautilus
Mekanisme operasi dan penghindaran utama
Saat diluncurkan, perfctl membuka soket Unix untuk komunikasi internal dan membuat saluran terenkripsi dengan server pelaku ancaman melalui TOR, sehingga pertukaran tersebut tidak mungkin diuraikan.
Ia kemudian menjatuhkan rootkit bernama ‘libgcwrap.so’ yang terhubung ke berbagai fungsi sistem untuk mengubah mekanisme otentikasi dan mencegat lalu lintas jaringan sesuai kebutuhan untuk memfasilitasi penghindaran.
Rootkit userland tambahan juga dikerahkan, menggantikan utilitas ldd, top, crontab, dan lsof dengan versi trojan, sekali lagi, mencegah deteksi langsung aktivitas malware.
Terakhir, penambang XMRIG dimasukkan ke dalam sistem dan dieksekusi untuk menambang Monero menggunakan sumber daya CPU server.

Sumber: Aqua Nautilus
Penambang kripto berkomunikasi dengan kumpulan penambangan yang ditetapkan melalui TOR, sehingga lalu lintas jaringan dikaburkan, dan keuntungan tidak dapat dilacak.
Dalam beberapa kasus, Aqua Nautilus juga melihat penerapan perangkat lunak proxy-jacking yang memberikan penyerang rute monetisasi tambahan, menjual bandwidth jaringan yang tidak terpakai melalui Bitping, Repocket, Speedshare, dan layanan serupa lainnya.
Sebagian besar pengguna menjadi curiga bahwa server mereka terinfeksi setelah mereka menyadari bahwa CPU berada pada utilisasi 100% karena penambangannya untuk mata uang kripto.
Namun, malware ini sangat mengelak, melakukan aktivitas penambangan hingga pengguna masuk ke server, yang menyebabkannya segera berhenti dan menunggu hingga server kembali menganggur.
“Saya baru mengetahui adanya malware ini karena pengaturan pemantauan saya mengingatkan saya akan penggunaan CPU sebesar 100%,” lapor seorang pengguna di reddit.
“Namun, prosesnya akan langsung berhenti ketika saya masuk melalui SSH atau konsol. Segera setelah saya keluar, malware akan kembali berjalan dalam beberapa detik atau menit.”
Penggunaan rootkit juga mempersulit penghapusan karena prosesnya disembunyikan dari utilitas pengguna dan teknik penghapusan malware normal, biasanya mengharuskan pengguna untuk offline atau boot melalui live CD untuk memeriksa sistem file.
Namun, ketika infeksi mengubah dan menggantikan file Linux yang sah, saran terbaik adalah menghapus dan menginstal ulang perangkat untuk memastikan tidak ada yang tertinggal.
Mendeteksi dan menghentikan perfctl
Aqua Nautilus mengusulkan beberapa cara untuk mendeteksi dan menghentikan kinerja, yang terbagi dalam empat kategori utama: pemantauan sistem, analisis lalu lintas jaringan, pemantauan integritas file dan proses, dan mitigasi proaktif.
Terkait pendeteksian, berikut tips yang diberikan oleh Aqua Nautilus:
- Periksa direktori /tmp, /usr, dan /root secara teratur untuk mencari biner mencurigakan yang menyamar sebagai file sistem yang sah.
- Pantau penggunaan CPU untuk lonjakan dan proses seperti httpd dan sh yang berjalan dari lokasi yang tidak terduga.
- Periksa ~/.profile, ~/.bashrc, dan /etc/ld.so.preload untuk modifikasi yang tidak sah.
- Menangkap dan menganalisis lalu lintas jaringan untuk koneksi berbasis TOR ke IP eksternal.
- Cari koneksi keluar ke kumpulan penambangan kripto yang dikenal atau layanan pembajakan proxy.
- Tambahkan IP yang dibagikan di bagian IoC laporan ke daftar blokir untuk mengganggu komunikasi dengan host jahat.
Admin sistem harus memastikan bahwa semua kelemahan yang diketahui pada aplikasi yang terhubung ke internet seperti server RocketMQ (CVE-2023-33246) dan Polkit (CVE-2021-4043) telah ditambal.
Selain itu, akan efektif jika mematikan layanan HTTP yang tidak digunakan, menggunakan kontrol akses berbasis peran, dan menerapkan opsi ‘noexec’ ke direktori penting seperti ‘/tmp’ dan ‘/dev.shm.’







