一、查看cpu占用率
如果您的主機CPU占用率居高不下,那么主機很有可能已經被植入了挖礦木馬,會影響服務器上的其他應用的正常運行,需要立刻上機排查。
top -c
二、清理挖礦木馬
1.及時隔離主機
2.阻斷異常網絡通信
挖礦木馬不僅會連接礦池,還有可能會連接黑客的C2服務器,接收并執(zhí)行C2指令、投遞其他惡意木馬,所以需要及時進行網絡阻斷。
1)檢查主機防火墻當前生效的iptables規(guī)則中是否存在業(yè)務范圍之外的可疑地址和端口,它們可能是挖礦木馬的礦池或C2地址
iptables -L -n
2)從iptables規(guī)則中清除可疑地址和端口
vi /etc/sysconfig/iptables
3)阻斷挖礦木馬的網絡通信
iptables -A INPUT -s 可疑地址 -j DROP iptables -A OUTPUT -d 可疑地址 -j DROP
3.清楚任務計劃
大部分挖礦木馬會通過在受感染主機中寫入計劃任務實現(xiàn)持久化,如果僅僅只是清除挖礦進程,無法將其根除,到了預設的時間點,系統(tǒng)會通過計劃任務從黑客的C2服務器重新下載并執(zhí)行挖礦木馬。
查看系統(tǒng)當前用戶的計劃任務:
crontab -l
查看系統(tǒng)特定用戶的計劃任務:
crontab -u username -l
查看其他計劃任務文件:
cat /etc/crontab cat /var/spool/cron cat /etc/anacrontab cat /etc/cron.d/ cat /etc/cron.daily/ cat /etc/cron.hourly/ cat /etc/cron.weekly/ cat /etc/cron.monthly/ cat /var/spool/cron/
4.清除啟動項
除了計劃任務,挖礦木馬通過添加啟動項同樣能實現(xiàn)持久化。可以使用如下命令查看開機啟動項中是否有異常的啟動服務。
CentOS7以下版本:
chkconfig –list
CentOS7及以上版本:
systemctl list-unit-files
如果發(fā)現(xiàn)有惡意啟動項,可以通過如下命令進行關閉:
CentOS7以下版本:
chkconfig 服務名 off
CentOS7及以上版本:
systemctl disable 服務名
另外,還需要仔細排查以下目錄及文件,及時刪除可疑的啟動項:
/usr/lib/systemd/system /usr/lib/systemd/system/multi-user.target.wants /etc/rc.local /etc/inittab /etc/rc0.d/ /etc/rc1.d/ /etc/rc2.d/ /etc/rc3.d/ /etc/rc4.d/ /etc/rc5.d/ /etc/rc6.d/ /etc/rc.d/
排查的時候,可以按照文件修改時間來排序,重點排查近期被創(chuàng)建服務項。如下圖所示,系統(tǒng)近期被創(chuàng)建了一個名為bot.service的服務,該服務在系統(tǒng)啟動時會啟動/etc/kinsing這個木馬文件,需要關閉bot服務,并刪除/etc/kinsing文件。
5.清除欲加載so
通過配置/etc/ld.so.preload,可以自定義程序運行前優(yōu)先加載的動態(tài)鏈接庫,部分木馬通過修改該文件,添加惡意so文件,從而實現(xiàn)挖礦進程的隱藏等惡意功能。
檢查/etc/ld.so.preload(該文件默認為空),清除異常的動態(tài)鏈接庫??梢詧?zhí)行> /etc/ld.so.preload命令進行清除。
6.清除ssh公鑰
挖礦木馬通常還會在~/.ssh/authoruzed_keys文件中寫入黑客的SSH公鑰,這樣子就算用戶將挖礦木馬清除得一干二凈,黑客還是可以免密登陸該主機,這也是常見的保持服務器控制權的手段。
排查~/.ssh/authorized_keys文件,如果發(fā)現(xiàn)可疑的SSH公鑰,直接刪除。
7.清除挖礦木馬
1)清除挖礦進程
top -c ps -ef
確認相關進程為挖礦進程后,按照如下步驟將其清除:
獲取并記錄挖礦進程的文件路徑:
ls -l /proc/$PID/exe
殺死挖礦進程:
kill -9 $PID
刪除挖礦進程對應的文件
2)清除其它相關惡意進程
惡意進程與外部的C2服務器進行通信時,往往會開啟端口進行監(jiān)聽。執(zhí)行如下命令,查看服務器是否有未被授權的端口被監(jiān)聽。
netstat -antp
若有未授權進程,按照如下步驟將其清除:
獲取并記錄未授權進程的文件路徑:
ls -l /proc/$PID/exe
殺死未授權進程:
kill -9 $PID
刪除未授權進程對應的文件
還可以通過如下命令排查近期新增的文件,清除相關木馬
find /etc -ctime -2 (這里指定目錄為/etc,獲取近2天內的新增文件) lsof -c kinsing (這里要查看文件名為kinsing的相關進程信息)
8.風險排查,安全加固
三、常見問題
1.木馬清理不徹底
一般建議先清除計劃任務、啟動項、守護進程,再清除挖礦進程和其他惡意進程。
2.如何判定可疑進程是惡意進程
如下圖所示,未知進程kinsing監(jiān)聽本地31458端口,非??梢桑赏ㄟ^如下方法判定:
(1)執(zhí)行l(wèi)s -al /proc/$PID/exe確認可疑進程對應的文件;
(2)若文件未被刪除,則直接上傳文件到Virustotal進行檢測,或者計算出文件對應的md5,使用md5去Virustotal進行查詢;若文件已被刪除,可執(zhí)行cat /proc/$PID/exe > /tmp/t.bin將進程dump到特定目錄,再上傳文件到Virustotal或者計算dump文件對應的md5到Virustotal進行查詢。如果有多款殺毒引擎同時檢出,那基本可以判定該進程為惡意進程。
3.為什么cpu接近100%,但是所有進程占用率都不高
1)top源文件被篡改,惡意進程信息被過濾后返回
通過如下命令可復原
rm -rf /usr/bin/top && mv /usr/bin/top.original /usr/bin/top
2)篡改預加載so文件,ls、top、ps等命令已經被木馬的動態(tài)鏈接庫劫持,無法獲得木馬進程相關的信息
通過如下命令可復原
> /etc/ld.so.preload && rm -rf 惡意so文件路徑
3)通過其他未知手段篡改系統(tǒng)命令
可分別嘗試如下兩種方案解決:
i.從其他相同版本系統(tǒng)中拷貝命令源文件到當前系統(tǒng)中進行覆蓋;可使用uname -a命令查看當前系統(tǒng)版本;
ii.或者安裝busybox來對系統(tǒng)進行排查。busybox是一個集成了300多個最常用Linux命令和工具的軟件,可以使用busybox替代系統(tǒng)命令對系統(tǒng)進行排查;
yum -y install wget make gcc perl glibc-static ncurses-devel libgcrypt-devel wget http://busybox.net/downloads/busybox-1.33.0.tar.bz2 tar -jxvf busybox-1.33.0.tar.bz2 cd busybox-1.33.0 && make && make install
鏈接:https://www.cnblogs.com/bilei/p/16135511.html
-
cpu
+關注
關注
68文章
10854瀏覽量
211568 -
主機
+關注
關注
0文章
993瀏覽量
35114
原文標題:三、常見問題
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論