Linux服務器挖礦木馬排查思路與解決


如果是雲服務器可以在‘雲監控-態勢與感知’中直接看到木馬文件相關進程name,id以及路徑如下:
文件路徑: /opt/apache-tomcat-7.0.104/bin/shell1.elf
惡意文件md5: 91cc7f105856a0e9eb6a29ef3d08d9ce
進程id: 27504

如果是物理機需要仔細去終端排查;

  1. top  #仔細檢查異常進程pid
  2. ls -l /proc/pid/exe  #查看異常進程命令所在路徑

嚴重的時候木馬病毒會修改或替換平時常用的系統命令

ps,ls等命令執行無輸出則大有可能系統已經變得不可靠了,任何命令的執行都有可能進一步拉起病毒。

首先我們要做的就是恢復一些我們常用的用來排查的工具,比如,ls,ps,netstat,lsof等命令。

chattr -i -a /bin/ps && rm /bin/ps -f    #刪除這些可能被感染的命令,比如ps,ls,netstat,lsof,top等。可以通過ls -lh /bin/ps 查看這些命令的大小和正常程序是否一致

接下來可以找一個相同操作系統的的ps,ls, netstat,lsof命令,將這些命令復制到被感染的系統中,臨時使用。

具體操作流程:
1、殺死進程:
killall .shell.elf
killall .shell1.elf
2、限制腳本執行權限:
chmod 000 .shell.elf
chmod 000 .shell1.elf
3、清空文件內容:
>.shell.elf
>.shell1.elf
4、加鎖
chattr +i shell.elf
chattr +i shell1.elf
 #有時候殺掉這個進程之后發現根本不管用,過一會兒又從/usr/bin/轉移到/bin,再又轉移到/tmp.這個時候必須注意倒病毒后台有監控進程,進程死掉了之后,立馬又重新起來一個新的進程。
這個時候要動態查看定時任務日志:

tail /var/log/cron、cat /etc/crontab和crontab  -l
動態日志中發現一個可以腳本定時執行:(root) CMD (/opt/systemd-service.sh > /dev/null 2>&1 &)

於是去到/opt/下發現還隱藏有好幾個木馬文件,處理方式同上:
[root@localhost opt]# ll
總用量 0
----------. 1 root root 0 10月 13 15:00 70OXQG.sh
----------. 1 root root 0 10月 13 15:00 bffbe
----------. 1 root root 0 10月 13 15:00 ryukd.sh
----------  1 root root 0 10月 13 15:00 systemd-service.sh

[root@localhost opt]# chmod 000 systemd-service.sh 
chmod: 更改"systemd-service.sh" 的權限: 不允許的操作
[root@localhost opt]# chattr -i systemd-service.sh 
[root@localhost opt]# chmod 000 systemd-service.sh 
[root@localhost opt]# >systemd-service.sh 
[root@localhost opt]# chattr +i systemd-service.sh 
[root@localhost opt]# lsattr systemd-service.sh 
----i----------- systemd-service.sh

並且在cat /etc/crontab、crontab -l和/etc/cron.d/下都發現木馬文件定時任務的腳本如下,全部注釋掉:

#34 * * * * /root/.systemd-service.sh > /dev/null 2>&1 &
#18 * * * * /opt/systemd-service.sh > /dev/null 2>&1 &
#56 * * * * /root/.Lin64.sh > /dev/null 2>&1 &

然后查看系統啟動文件rc.local、/etc/init.d還有/tmp目錄查看是否有較奇怪的腳本文件,如果有處理方式如上

查看是否有可疑用戶,可以對/etc/passwd、/etc/group、/etc/sudoers、/etc/shadow等用戶信息文件進行鎖定(chattr +ai)
使用iptables或者配置/etc/hosts.deny 和/etc/hosts.allow進行白名單設置

禁ping設置:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

最后修改復雜的密碼和ssh端口之后要重啟再觀察一段時間看看木馬是否還存在,我的沒再發現,完美解決。

  • 總結原因:有時候可以在/root/.bash_history中看到人為操作的遠程下載木馬文件並賦予權限執行,還有一種是軟件ssh、redis、tomcat中的漏洞導致,所以一旦發生就按照以下三點執行基本可行:
  • 1、首先修改root密碼和ssh端口
  • 2、然后停止所有服務
  • 3、最后按照文章方式詳細搜查木馬路徑並處理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM