佔用 100% CPU 的挖礦軟體 cpuhelp

遇到一個佔用 100% CPU 但卻在 top 上面顯示不出來的案例,通常這類型的惡意程式都會把自己隱藏起來,檢查了一下發現惡意程式透過 libprocesshider.so 來隱藏自己(原始碼

其實原理滿單純的,因為大多數的系統監控軟體都透過 /proc pseudo filesystem 來取得執行中的程式的資料,比如 /proc/<pid>/comm 這些的。原理上如果可以攔截相關讀取的請求就可以隱藏,同時透過 /etc/ld.conf.preload 來影響使用者新執行的程式,讓使用者想要來檢查的時候沒辦法發現問題。

實際執行的程式放在 /sbin/cpuhelp 但可以想像應該會有很多變體。網路上隨便搜尋一下也可以看到很多案例。

至於如何在伺服器重開的時候自動執行,除了透過 cron 之外,這個案例是透過 /usr/lib/udev/rules.d/harp.sh 透過 udev 在啟動的時候執行,算是滿可惡的,一般人容易忽略。
這腳本除了下載惡意程式並安裝,還會主動清理相關日誌檔案,讓使用者沒辦法追查下載的來源。

只要把這些東西都刪掉,(應該)就可以暫時修復了。但最好還是重建一個環境或檢查執行的服務的已知問題比較好,否則未來還是有被入侵的機會。

佔用 100% CPU 的挖礦軟體 cpuhelp

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料