linux服务器上使用find查杀webshell木马方法
linux服務器上使用find查殺webshell木馬方法
本文轉自:http://ju.outofmemory.cn/entry/256317
只要從事互聯網web開發的,都會碰上web站點被入侵的情況。這里我把查殺的一些方法采用隨記的形式記錄一下,一是方便自己以后的工作需要,二是給其他朋友提供一些參考幫助。寫的不周的地方,高手們不要噴,歡迎給我提供更好的意見,對于我個人來說也是個提高,并表示感謝。
我們的服務器環境是linux,所以,肯定少不了用find這個命令,并且需要配合ls命令來使用。
1、可以查找近3天被修改過的文件,并顯示文件列表詳細信息:
find -name "*.php" -type f -mtime -3 -exec ls -l {} ;
當然,結果中可能會包含很多cache類文件,這些文件不是我們要查找的,那么就需要把這類文件從查詢結果中排除掉,往往cache文件都存放到cache特定的目錄。
使用 -prune 參數來進行過濾,增加排除某些目錄條件的查詢命令:
find . -path "/xxxxx/caches" -prune -o -name "*.php" -type f -mtime -3 -exec ls -l {} ;
注意:
(1)、要忽略的路徑參數必須緊跟著搜索的路徑之后,否則該參數無法起作用。
(2)、路徑結尾不要有“/”符號。
2、查到可疑文件,分析,確定是木馬后,根據木馬文件的文件信息查找更多的存放位置。比如木馬的文件名稱為“muma.php”。
find . -name "muma.php" -type f -mtime -5 -exec ls -l {} ;
20160426144502
以上命令,是放寬了查詢時間的長度,查詢最近5天該名稱文件的信息列表,可以通過查看文件大小來判定是否是同樣的木馬文件。
看圖中命令結果,文件大小都是“233”,則有很大的可能性是同樣的木馬文件,綜合修改時間判斷,最好是也cat一下檢查核驗,以免誤殺。
可以利用find和ls命令的一些更豐富的參數信息來判定分析。
可能會用到find命令的參數功能列表:
find /home -size +512k #查大于512k的文件
find /home -size -512k #查小于512k的文件
find /home -mtime -2 # 在/home下查最近兩天內改動過的文件
find /home -atime -1 # 查1天之內被存取過的文件
find /home -mmin +60 # 在/home下查60分鐘前改動過的文件
find /home -amin +30 # 查最近30分鐘前被存取過的文件
find /home -newer tmp.txt # 在/home下查更新時間比tmp.txt近的文件或目錄
find /home -anewer tmp.txt # 在/home下查存取時間比tmp.txt近的文件或目錄
結合ls的兩種時間信息:
ls -lc filename 列出文件的 ctime 是在寫入文件、更改所有者、權限或鏈接設置時隨Inode的內容更改而更改的時間。
ls -l filename 列出文件的 mtime 在寫入文件時隨文件內容的更改而更改的時間。
ctime和mtime不一致時有可能是木馬文件,黑客有可能會修改了mtime時間。
3、刪除木馬文件
這一步應該是進一步分析木馬的入侵路徑等,但是這個過程又是另一個非常復雜的系統工程,后邊再詳細說明,暫時跳過。
find . -name "muma.php" -type f -mtime -5 -size -5k -exec rm -rf {} ;
增加一個過濾條件,-size -5k,即文件大小小于5k的。
4、查找目錄下文件內容包含木馬特定字符串的文件列表,并刪除處理。
查找文件,并顯示文件的ctime時間,比對文件信息
find . -name "*.php" -exec grep -rl "YLbgPfj524" {} ; -exec ls -lc {} ;
確認沒有問題后,刪除掉
find . -name "*.php" -exec grep -rl "YLbgPfj524" {} ; -exec rm -rfv {} ;
Oracle & MSSQL & Postgresql & Mysql 調優 & 優化
總結
以上是生活随笔為你收集整理的linux服务器上使用find查杀webshell木马方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 威尔克姆ES4.2 + CorelDRA
- 下一篇: 使用iso镜像包制作离线本地镜像源(本地