被篡改的daemon

2021-09-21 09:51:32 字數 1885 閱讀 2410

ecs伺服器的cpu總是被init用掉30%左右,而且可以看到整個系統的sy佔比相當之高。

首先,init程序作為linux系統所有程序的父程序,負責系統的啟動過程。這個程序使用cpu資源,我們第乙個需要問自己的問題是,這個程序到底在做什麼。

使用strace可以掛到正在執行的程序上,追蹤程序的系統呼叫。通過閱讀程序的系統呼叫,我們大概可以估計一下程序的行為。具體到這個問題,在strace日誌中,會發現大量的程序退出的記錄。下邊是用sigchld訊號過濾過的strace日誌。在這個截圖裡,我們可以看到,在一秒時間內,就有大量的程序退出。cld_exited說明子程序退出。這絕對是乙個非常不正常的狀況。如此行為必然消耗大量cpu資源。

知道init在不斷的啟停大量程序之後,我們自然而然的會問自己,這些程序到底是什麼。找出這個問題的答案的方法可能有很多種,但是這裡我用到了一種比較簡單的方法,叫做auditing,簡單點說,就是審計和記錄系統一些關鍵操作。

我們開啟audit之後,會在/var/log/audit/目錄裡快速生成很多日誌檔案,通過分析和過濾,發現大量被啟停的程序是atd。syscall=2對應fork系統呼叫。

另外用ls命令不斷的重新整理/proc目錄,我們也可以看到程序短時間被大量啟停的跡象。

目前我們知道了,init程序在不斷的atd程序,基本上我們已經有了乙個階段性的結論。我們簡單驗證一下這個結論。

把/usr/bin/atd重新命名為/usr/bin/atd.backup,重啟系統,問題不再發生。

init啟動atd的基本方式是,如果atd退出,那麼atd會被重啟。這個可以在atd.conf檔案中看到。所以開始猜測的情況是,因為atd不正常退出,所以被init重複啟動。所以方向放在了除錯atd非正常退出上。結果用strace追蹤,並沒有發現太多有用的資訊。最後我把方向轉向了ltrace。用ltrace追蹤atd的啟動過程,我發現這個程序會fork乙個子程序,然後這個子程序又會重複父程序的行為,直到無窮。這是乙個非常有趣的現象。

這個時候,很自然的,我會認為這是atd的乙個bug,而這個bug在客戶機器環境中被觸發出來。

但是這個時候我發現另外乙個不和邏輯的地方,我明明把atd重新命名為atd.backup,但是機器重啟之後,依然有atd這個程序存在,而且cpu問題不在了!

順手用which命令查了一下atd,發現這次正在執行的atd命令是usr/sbin/atd,而不是/usr/bin/atd。這兩個檔案大小完全不同。

root@iz2ze322qa55cmibwpd2zez:~# ls -al /usr/bin/atd.backup

-rwx--x--x 1 root root 2443616 feb 20 2017 /usr/bin/atd.backup

root@iz2ze322qa55cmibwpd2zez:~# ls -al /usr/sbin/atd

-rwxr-xr-x 1 root root 22544 oct 21 2013 /usr/sbin/atd

而且/usr/bin/atd這個檔案,並屬於at這個package。

目前這種狀況,建議重新安裝系統,同時可以請安全團隊進一步核實這個檔案的**。

EXE被惡意篡改

exe被惡意篡改 對於exe開啟方式被木馬或病毒修改,無法開啟任何可執行檔案的解決辦法。方案一 先將regedit.exe改名為regedit.com或regedit.scr。執行regedit.com,找到hkey classes root exefile shell open command鍵值...

chattr命令被篡改

阿里雲的伺服器上被植入了挖礦程式,有幾個檔案無法刪除,查詢了之後,了解到chattr命令可以修改檔案的隱藏屬性,達到無法刪除檔案的目的。可以通過lsattr filename來檢視檔案的隱藏屬性,類似於以下這種。i就是不可修改的隱藏屬性,可以通過chattr i filename來修改,以此就可以對...

IE被篡改為2345主頁

問題描述 回到家發現家裡電腦ie被篡改為2345主頁,簡直可惡 根據網上的建議,找到hkey current user software microsoft internet explorer main,檢視右邊的start page 發現果然是被修改為2345了 刪掉內容,重新整理還在 將star...