溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)中怎么判斷是否被黑客入侵

發(fā)布時(shí)間:2021-08-02 13:54:59 來源:億速云 閱讀:175 作者:Leah 欄目:系統(tǒng)運(yùn)維

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Linux系統(tǒng)中怎么判斷是否被黑客入侵,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Linux內(nèi)核進(jìn)程偽裝了什么?

在Linux上,內(nèi)核創(chuàng)建了許多線程來幫助完成系統(tǒng)任務(wù),這些線程可以用于調(diào)度,磁盤I / O等。

當(dāng)您使用標(biāo)準(zhǔn)進(jìn)程列表命令(例如ps)時(shí),這些線程將顯示為帶有 [brackets] ,以表示它們是某種線程。 在ps 列表中, 普通進(jìn)程通常不會(huì)顯示  [brackets]。方brackets表示該進(jìn)程沒有命令行參數(shù),這通常意味著該進(jìn)程是作為線程產(chǎn)生的。

例如,以下清單顯示了內(nèi)核線程與正常進(jìn)程的比較:

ps –auxww

Linux系統(tǒng)中怎么判斷是否被黑客入侵

圖1:Linux內(nèi)核線程與正常進(jìn)程

它是什么樣子的?

Linux惡意軟件使用多種技術(shù)來隱藏檢測(cè)程序。

據(jù)全球公認(rèn)的白帽黑客、網(wǎng)絡(luò)安全專家郭盛華透露:“黑客將使用的一種方法是通過使進(jìn)程,在ps列表中的名稱周圍顯示[brackets]來模擬內(nèi)核線程  ,管理員可以輕松地以這種方式忽略惡意進(jìn)程?!?/p>

如果您查看下面的清單,我們已經(jīng)開始嘗試通過看起來像內(nèi)核線程來隱藏自身。你能看見它嗎?

Linux系統(tǒng)中怎么判斷是否被黑客入侵

圖2:偽裝隱藏的Linux內(nèi)核線程的示例

如何模擬Linux內(nèi)核線程

現(xiàn)在您知道了偽裝的Linux內(nèi)核線程是什么樣子,讓我們?cè)O(shè)置一個(gè)測(cè)試,以便您可以嘗試使用命令行取證來查找它。

我們將使用sleep命令進(jìn)行仿真,因?yàn)槟梢栽谌魏蜗到y(tǒng)上執(zhí)行該命令,而不必?fù)?dān)心會(huì)引起麻煩:

export PATH=.:$PATH  cp /bin/sleep /tmp/[kworkerd]  cd /tmp  "[kworkerd]" 3600 &

該出口路集的東西,所以我們可以在不需要把一個(gè)運(yùn)行在本地目錄中的文件“./”在它的前面。這使它看起來更合法。

接下來,我們將sleep命令復(fù)制到/  tmp,然后以假名[kworkerd]運(yùn)行它。我們?yōu)閟leep命令設(shè)置了3600秒的值,因此一旦測(cè)試結(jié)束,它將在一個(gè)小時(shí)后自動(dòng)退出。

讓我們看一下我們的手工,當(dāng)執(zhí)行ps命令時(shí),我們應(yīng)該看到[kworkerd]正在運(yùn)行。

ps -auxww

Linux系統(tǒng)中怎么判斷是否被黑客入侵

圖3:真正與冒名頂替的Linux內(nèi)核線程

偽裝與進(jìn)程圖偽裝的Linux內(nèi)核線程

我們用來掩蓋偽裝過程的第一種方法是查看它是否在/ proc // maps下具有任何內(nèi)容。

該位置通常是進(jìn)程顯示它們鏈接到的庫以及映射到內(nèi)存中的位置的位置。對(duì)于真正的內(nèi)核線程,它應(yīng)該為空。如果您在此位置查找[brackets]中命名的進(jìn)程,  但該進(jìn)程 顯示任何數(shù)據(jù),則它不是真正的內(nèi)核線程。

我們將使用的基本命令是cat / proc //  maps,其中是我們正在研究的進(jìn)程ID。在上面的示例中,我們認(rèn)為[kworkerd]對(duì)于PID 2121似乎可疑,因此我們將對(duì)其進(jìn)行檢查:

cat/ proc / 2121 / maps

Linux系統(tǒng)中怎么判斷是否被黑客入侵

圖4:使用Linux / proc映射檢測(cè)內(nèi)核偽裝

如果您在此區(qū)域下看到任何內(nèi)容,并且該過程 周圍有 [brackets],則可能是惡意的并試圖隱藏。

如果需要,可以運(yùn)行此命令以快速遍歷所有系統(tǒng)PID,并查看哪些帶有方括號(hào)的名稱,但具有映射文件。通常,您在這里什么也看不到。任何顯示數(shù)據(jù)的信息都應(yīng)進(jìn)一步調(diào)查。

ps auxww | grep \\[ | awk '{print $2}' | xargs -I % sh -c 'echo PID: %; cat /proc/%/maps' 2> /dev/null

如果發(fā)現(xiàn)了什么,此命令將輸出以下圖像。

Linux系統(tǒng)中怎么判斷是否被黑客入侵

圖5:查找偽裝成腳本的Linux內(nèi)核

在/ proc // maps列表中,您將看到一些路徑來研究二進(jìn)制文件在哪里鏈接到其自身或所使用的庫。在上面,我們看到了/ tmp /  [kworkerd]路徑,這是要調(diào)查的高優(yōu)先級(jí)位置。您還可能會(huì)看到可疑的庫,對(duì)隱藏目錄的引用等。仔細(xì)看看,確保您不會(huì)錯(cuò)過任何東西!

偽裝加密的偽裝Linux內(nèi)核線程

揭露偽裝的Linux內(nèi)核線程的另一種方法是查看它是否顯示與正在運(yùn)行的進(jìn)程關(guān)聯(lián)的二進(jìn)制文件?;旧?,您僅使用我們討論的關(guān)于恢復(fù)已刪除的惡意二進(jìn)制文件的技術(shù)  ,但是請(qǐng)查看是否可以獲得SHA1。如果您返回了,那么這是試圖隱藏的正常過程,而不是內(nèi)核線程。真正的內(nèi)核線程不會(huì)鏈接到啟動(dòng)它們的二進(jìn)制文件。

如果僅查看/ proc //  exe,則可以快速復(fù)制Linux上的進(jìn)程二進(jìn)制文件。您可以將此文件復(fù)制到新位置,并具有啟動(dòng)該過程的二進(jìn)制文件的即時(shí)快照。您還可以使用此鏈接獲取即時(shí)值,以檢查已知惡意軟件的數(shù)據(jù)庫。真正的內(nèi)核線程將無法獲得此數(shù)據(jù),只有冒名頂替者會(huì)提供。

在我們的案例中,我們將使用此知識(shí)來調(diào)查可疑的PID 2121,如下所示:

sha1sum / proc / 2121 / exe

Linux系統(tǒng)中怎么判斷是否被黑客入侵

圖6:獲得Linux內(nèi)核偽裝攻擊的SHA1

讓我們恢復(fù)二進(jìn)制并將其復(fù)制到某個(gè)地方,以便可以離線分析它。使用下面的命令,我們將復(fù)制到/ tmp /  suspicious_bin?,F(xiàn)在,我們擁有自己的副本,以防惡意軟件試圖自衛(wèi)地刪除自身:

cp / proc / 2121 / exe / tmp / suspicious_bin

Linux系統(tǒng)中怎么判斷是否被黑客入侵

圖7:恢復(fù)可疑的Linux惡意軟件二進(jìn)制文件

如果要自動(dòng)搜尋PID并獲取冒名頂替者的SHA1 attack,可以運(yùn)行以下命令:

ps auxww | grep \\[ | awk '{print $2}' | xargs -I % sh -c 'echo PID: %; sha1sum /proc/%/exe' 2> /dev/null

上面的命令將嘗試獲取所有帶有[花括號(hào)]的進(jìn)程的SHA1 ,任何返回值的可能都是騙子:

Linux系統(tǒng)中怎么判斷是否被黑客入侵

上述就是小編為大家分享的Linux系統(tǒng)中怎么判斷是否被黑客入侵了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI