天天看點

Linux清除木馬經驗總結

    前段時間公司網絡異常,通路公網和内網都出現丢包,甚至無法通路的情況。登入網關檢視監控,發現OA伺服器的出方向流量異常,并連接配接了一個國外IP位址。

    然後想登入OA伺服器排查,發現登入不上,ping丢包嚴重,猜測伺服器的CPU、連接配接數或帶寬被占滿,導緻無法登入。

    OA伺服器是部署在一台Esxi上的虛拟機,Esxi主機也登入不上了,首先拔掉了Esxi的網線,阻止伺服器對外發包。

    然後把網線插到了筆記本上,與Esxi伺服器直連,并将筆記本設定為網關的IP192.168.1.1,這樣就能ping通OA的伺服器了,然後遠端進去。

    經過一個上午的清除,木馬已被清除,并做好了防火牆優化、OA程序低權限運作、打安全更新檔等加強措施。

    之後查找入侵的蛛絲馬迹,發現黑客是通過OA軟體漏洞,植入了木馬程式,所有操作都記錄在OA的日志裡了,汗。。最後聯系廠商送出了軟體漏洞。

<a href="https://s4.51cto.com/wyfs02/M01/96/A8/wKioL1kkCRrQOxPqAAJ1vkz9Ctg828.png-wh_500x0-wm_3-wmp_4-s_131941337.png" target="_blank"></a>

    木馬清除隻能是最後的補救手段,減少損失。最重要的還是提高安全意識,所有對外的伺服器要進行系統加強、監控、操作審計、及時打更新檔。部落格位址:http://qicheng0211.blog.51cto.com

    下面總結一下Linux下木馬清除經驗。

一、查找入侵痕迹

檢視最近登入的賬戶和登入時間:

last,lastlog

查找遠端登入成功的IP:

grep -i Accepted /var/log/secure

檢查計劃任務:

/var/spool/cron/

/etc/cron.hourly

/etc/crontab

通過檔案狀态最後修改時間來查找木馬檔案:

find / -ctime 1

檢查/etc/passwd和/etc/shadow檔案,是否有可疑使用者。

檢查臨時目錄/tmp、/vat/tmp、/dev/shm,這些目錄權限是1777,容易被上傳木馬檔案。

檢視端口對外的服務日志,比如tomcat、nginx。

檢視目前運作的服務:

service --status-all | grep running

檢視自啟動的服務:

chkconfig --list | grep :on

檢查是否有異常啟動腳本:

ls -lt /etc/init.d/ | head

二、清除木馬常用指令

1. ps,top

檢視運作的程序和程序系統資源占用情況,查找異常程序。

2. pstree

以樹狀圖的形式顯示程序間的關系。

3. lsof

可以檢視程序打開的檔案、檔案或目錄被哪個程序占用、打開某個端口的程序、系統所有打開的端口等等。

4. netstat

可以檢視系統監聽的所有端口、網絡連接配接情況、查找連接配接數過多的IP位址等。

5. iftop

監控TCP連接配接實時網絡流量,可分别分析出入流量并進行排序,查找出流量異常的IP位址。

6. nethogs

監控每個程序使用的網絡流量,并從高到低排序,友善查找出流量異常的程序。

7. strace

追蹤一個程序所執行的系統調用,可分析木馬程序的運作情況。

8. strings

輸出檔案中可列印的字元串,可用來分析木馬程式。

三、rootkit檢測工具

    chkrootkit和rkhunter是Linux下常用的查找檢測rootkit後門的工具。

1、chkrootkit

    項目首頁:http://www.chkrootkit.org/

    安裝chkrootkit:

# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

# tar zxvf chkrootkit.tar.gz

# cd chkrootkit-*

# yum install gcc gcc-c++ glibc* make

# make sense

    運作檢查:

# ./chkrootkit

    chkrootkit檢查使用了部分系統指令: awk, cut, egrep, find, head, id, ls, netstat, ps, strings, sed, uname。

    在被入侵的系統上這些系統指令可能已被替換,是以chkrootkit的結果将不可靠。為了避免使用這些不受信任的指令,我們可以使用'-p'選項指定指令的備用路徑。

    首先在另一個幹淨的系統裡備份依賴指令:

# mkdir /backup/commands -p

# which --skip-alias awk cut egrep find head id ls netstat ps strings sed uname | xargs -i cp {} /backup/commands

# tar cvzfP commands.tar.gz /backup/commands

    然後把壓縮包上傳至伺服器,解壓後放在/backup/commands目錄下,執行檢查:

# ./chkrootkit -p /backup/commands

2、rkhunter

    rkhunter具有比chrootkit更為全面的掃描範圍。除rootkit特征碼掃描外,rkhunter還支援端口掃描,常用開源軟體版本和檔案變動情況檢查等。

    項目首頁:http://rkhunter.sourceforge.net/

    安裝rkhunter:

# wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz

# tar xzvf rkhunter*

# cd rkhunter*

# ./installer.sh --layout /usr --install

    更新rkhunter資料庫:

# rkhunter --update

    開始檢查(輸出中文):

# rkhunter --lang cn -c --sk

    --rwo參數僅輸出warning資訊:

# rkhunter --lang cn -c --sk --rwo

    我們還可以用-l參數指定寫入的日志:

# rkhunter --lang cn -c --sk -l rkhunter.log

    為幹淨的系統建立校對樣本:

# rkhunter --propupd

    定時掃描:

0 5 * * * /usr/local/bin/rkhunter --cronjob -l --rwo

四、clamav殺毒引擎

    clamav是用于檢測木馬,病毒,惡意軟體和其他惡意威脅的一個開源殺毒引擎。支援Windows、Linux、Mac OS X多種作業系統。

    項目位址:http://www.clamav.net/

    首先安裝epel軟體源:

# wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

# rpm -ivh epel-release-6-8.noarch.rpm

# sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo

# yum makecache fast

    下載下傳安裝clamav:

# yum install yum-plugin-downloadonly -y

# yum install clamav -y --downloadonly --downloaddir=./

# rpm -ivh clamav*

    clamav會在/etc/cron.daily/目錄下建立自動更新病毒庫的腳本,每天自動執行。

    手動更新病毒庫指令:

# freshclam

    檢視病毒庫日期:

# clamscan -V

    使用clamav進行根目錄掃描:

# clamscan -r -i / -l /tmp/clamav.log

    進一步掃描可疑目錄,并移除木馬檔案

# clamscan -r -i /usr/bin --remove

<a href="https://s3.51cto.com/wyfs02/M00/96/A7/wKioL1kj_5DDVsL2AABs6JH0mCc548.png-wh_500x0-wm_3-wmp_4-s_4087536887.png" target="_blank"></a>

-r 檔案夾遞歸掃描

-i 僅輸出受感染檔案資訊

-l 指定掃描日志檔案路徑

--move 移動受感染檔案到指定目錄

--remove 直接移除受感染檔案

    我們還可以手動下載下傳病毒庫:

http://db.cn.clamav.net/daily.cvd 

http://db.cn.clamav.net/main.cvd 

http://db.cn.clamav.net/safebrowsing.cvd 

http://db.cn.clamav.net/bytecode.cvd

    下載下傳後放入一個檔案夾内,掃描時我們可以使用-d參數指定病毒庫檔案夾路徑,比如:

# clamscan -r -i / -d ./clamav-db

本文轉自 張斌_青島 51CTO部落格,原文連結:http://blog.51cto.com/qicheng0211/1928738