溫馨提示×

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

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

如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件

發(fā)布時(shí)間:2021-11-25 10:03:59 來(lái)源:億速云 閱讀:214 作者:柒染 欄目:編程語(yǔ)言

今天就跟大家聊聊有關(guān)如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

前段時(shí)間我在APT寫(xiě)作時(shí)注意到一個(gè)問(wèn)題,我發(fā)現(xiàn)網(wǎng)上大多都是關(guān)于Windows惡意軟件檢測(cè)的文章以及教程,而關(guān)于如何尋找Linux系統(tǒng)上惡意軟件的資料卻少之又少。因此,這篇文章主要是向大家介紹一些有關(guān)檢查L(zhǎng)inux系統(tǒng)惡意軟件的技巧和方法。話(huà)不多說(shuō),讓我們進(jìn)入正題。

校驗(yàn)二進(jìn)制文件

有一件事需要檢查確認(rèn)即沒(méi)有運(yùn)行的二進(jìn)制文件被修改。這種類(lèi)型的惡意軟件可以用sshd的版本來(lái)支持,以允許使用特定的密碼連接到系統(tǒng),甚至是一些二進(jìn)制文件的修改版本,它以root用戶(hù)身份運(yùn)行,只需監(jiān)聽(tīng)觸發(fā)器數(shù)據(jù)包的原始套接字即可。為此,我們將以Redhat和Debian為例。

尋找不屬于的二進(jìn)制文件

find /proc/*/exe -exec readlink {} + | xargs rpm -qf | grep “not owned”find /proc/*/exe -exec readlink {} + | xargs dpkg -S | grep “no path”

校驗(yàn)運(yùn)行的二進(jìn)制文件是否與包中的文件匹配

find /proc/*/exe -exec readlink {} + | xargs rpm -qf | xargs rpm -Vfind /proc/*/exe -exec readlink {} + | xargs dpkg -S | cut -d: -f1 | xargs dpkg -V

如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件

校驗(yàn)所有包文件

另一件需要檢查確認(rèn)的事是即所有屬于包的二進(jìn)制文件都沒(méi)有被修改。這個(gè)過(guò)程可能需要一段時(shí)間才能完成,但這是值得。我們可以設(shè)置一個(gè)cron jobs,以在指定時(shí)間來(lái)運(yùn)行它。

校驗(yàn)所有包文件

rpm -Vadpkg -V

如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件

輸出結(jié)果

輸出應(yīng)該顯示屬于包的任何二進(jìn)制文件,計(jì)算二進(jìn)制文件的哈希值,并將其與包安裝或更新時(shí)保存的值進(jìn)行比較。以下是基于Redhat系統(tǒng)的輸出。使用dpkg的Debian系統(tǒng)不校驗(yàn)其中的大部分,因此如果修改了二進(jìn)制文件,只顯示“5”。

S 文件大小不同

M 模式不同(包括權(quán)限和文件類(lèi)型)

5 摘要(以前的MD5 sum)不同

D 設(shè)備主/次要號(hào)不匹配

L readLink(2)路徑不匹配

U 用戶(hù)所有權(quán)不同

G 組的所有權(quán)不同

T mTime不同

P caPabilities不同

檢查RAW套接字

我們經(jīng)常能看到RAW socket后門(mén)。它們偵聽(tīng)傳入的數(shù)據(jù)包并觸發(fā)事件,例如最近發(fā)現(xiàn)的“Chaos”后門(mén),以及一個(gè)在github上搜索raw socket后門(mén)時(shí)彈出的示例。對(duì)于這個(gè)檢查,我們只會(huì)看看使用RAW套接字的過(guò)程。使用它們的常用程序并不多,因此我們可以縮小要查看的進(jìn)程的范圍。

使用 raw sockets listening檢查二進(jìn)制文件

netstat -lwp or ss -lwplsof | grep RAW

如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件

檢查可能的注入內(nèi)存

這里可能會(huì)存在各種誤報(bào)的情況。RWX內(nèi)存(讀寫(xiě)執(zhí)行)被許多程序使用,其中大多數(shù)是解釋型語(yǔ)言,所以像python和java之類(lèi)的,或使用任何庫(kù)解析腳本的都會(huì)有這種情況,這是非常正常的。如果你找到RWX內(nèi)存的許多條目并且該進(jìn)程不是python或java,那你就應(yīng)該仔細(xì)的查看一下了。該命令將列出RWX內(nèi)存的進(jìn)程id。可以看到以下列出了cron,這顯然是不正常的進(jìn)程。

命令查找pid

grep -r “rwx” /proc/*/maps | cut -d/ -f 3|uniq -c | sort -nr

如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件

檢查修改的PAM模塊

一個(gè)常見(jiàn)的后門(mén)是插入或替換PAM模塊進(jìn)行認(rèn)證。 這可以允許遠(yuǎn)程訪(fǎng)問(wèn),并且還允許攻擊者從任何用戶(hù)獲取root權(quán)限。這個(gè)后門(mén)程序也不關(guān)心對(duì)/etc/passwd的修改,所以所有的原始密碼和修改后的密碼仍然有效。由于它提供的訪(fǎng)問(wèn)類(lèi)型,在我看來(lái)這是一種非常危險(xiǎn)的后門(mén)類(lèi)型。你可以使用合法登錄條目的正常協(xié)議,因此看起來(lái)顯然像是沒(méi)有任何惡意網(wǎng)絡(luò)活動(dòng)一樣。

校驗(yàn)PAM模塊

find /lib64/security/ | xargs rpm -qf | grep “not owned”find /lib64/security/ | xargs rpm -qf | grep -v “not “| xargs rpm -V

如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件

如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件

如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件

SSH訪(fǎng)問(wèn)

保持訪(fǎng)問(wèn)權(quán)限并不需要?jiǎng)h除二進(jìn)制文件的一種非常簡(jiǎn)單的方法是,只需將ssh密鑰添加到特定用戶(hù)的authorized_keys文件中,并允許攻擊者像普通用戶(hù)那樣進(jìn)入ssh。這也是最難檢測(cè)的方法之一,因?yàn)槟阈枰_定ssh密鑰是合法的還是惡意的,這要求用戶(hù)驗(yàn)證只有他們的密鑰在該文件中。攻擊者也可以竊取用戶(hù)的密鑰,如果他們之前被盜用過(guò)的話(huà)。

列出所有用戶(hù)的.ssh文件夾

cat /etc/passwd |cut -d: -f 6 | xargs -I@ /bin/sh -c “echo @; ls -al @/.ssh/ 2>/dev/null”

如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件

有許多不同的方式可以保持對(duì)Linux服務(wù)器的權(quán)限訪(fǎng)問(wèn)。以上查找列表并不完整,但都是一些較為常見(jiàn)的查找后門(mén)的方法,包括Meterpreter和github上發(fā)現(xiàn)的其他常見(jiàn)后門(mén)程序。

看完上述內(nèi)容,你們對(duì)如何找出Linux服務(wù)器上不該存在惡意或后門(mén)文件有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(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