使用Shell腳本在Linux服務器上能夠控制、毀壞或者獲取任何東西,通過一些巧妙的攻擊方法黑客可能會獲取巨大的價值,但大多數攻擊也留下蹤跡。當然,這些蹤跡也可通過Shell腳本等方法來隱藏。
尋找攻擊證據就從攻擊者留下的這些痕跡開始,如文件的修改日期。每一個 Linux 文件系統中的每個文件都保存著修改日期。系統管理員發現文件的最近修改時間,便提示他們系統受到攻擊,采取行動鎖定系統。然而幸運的是,修改時間不是絕對可靠的記錄,修改時間本身可以被欺騙或修改,通過編寫 Shell 腳本,攻擊者可將備份和恢復修改時間的過程自動化。
操作步驟
第一步:查看和操作時間戳
多數 Linux 系統中包含一些允許我們快速查看和修改時間戳的工具,其中最具影響的當數“ Touch ”,它允許我們創建新文件、更新文件 / 文件組最后一次被“ touched ”的時間。
touch file
若該文件不存在, 運行上面的命令將創建一個名為“ file ”的新文件;若它已經存在,該命令將會更新修改日期為當前系統時間。我們也可以使用一個通配符,如下面的字符串。
touch *
這個命令將更新它運行的文件夾中的每個文件的時間戳。 在創建和修改文件之后,有幾種方法可以查看它的詳細信息,第一個使用的為“ stat ”命令。
stat file
運行 stat 會返回一些關于文件的信息,包含訪問、修改或更新時間戳。針對一批文件可使用 ls 參數查看各文件的時間戳,使用“ -l ”或者“ long ”,該命令會列出文件詳細信息,包含輸出時間戳。
ls –l
現在就可以設置當前時間戳并查看已經設置的時間戳,也可使用touch來定義一個自定義時間戳,可使用“d”標志,用yyyy-mm-dd格式定義日期,緊隨其后設置時間的小時、分鐘及秒,如下:
touch -d"2001-01-01 20:00:00" file
通過ls命令來確認修改信息:
ls -l file
這種方法適用于修改個別時間戳,對于隱藏服務器上的操作痕跡,這個方法不太奏效,可以使用shell腳本將該過程自動化。
步驟二:組織Shell腳本
在開始編寫腳本之前需要考慮清楚需要執行哪些過程。為了在服務器上隱藏痕跡,攻擊者需要將文件夾的原始時間戳寫入一個文件,同時能夠在我們進行任何修改設置之后還能回到原始文件。
新聞熱點
疑難解答