Linux主機被入侵系列4:入侵恢復

主機被入侵後要怎麼處理?

第0步當然是斷網了。

 

1、root口令被修改:重置root口令,主要操作步驟:

1)重啓centos,啓動過程中長按ESC,進入GNU

2)選擇系統,按E

3)選擇kernel,按E

4)rhgb quiet 後面空格,輸入1或single,回車

5)按B啓動系統

6)輸入passwd root重設root口令,直到顯示“all authentication tokens updated successfully”

7)輸入shutdown -r now,重啓系統

 

2、root口令未被修改,立即修改root口令,建議先不急着重啓,迅速檢查下下列日誌是否還在:

/root/.bash_history

/var/spool/mail/root

/var/log/secure

/var/log/lastlog

/var/log/wtmp:last、ac -dp相關日誌文件

如果還在,儘快重啓;如果沒有了,嘗試恢復,然後再重啓;

恢復原理:刪除只是刪除了文件對應的目錄索引節點,如果該文件已被其他程序打開,則可以通過對應進程所有的文件描述符對已刪除文件進行讀寫。

恢復示例:

1)secure文件被刪除,通過lsof |grep /var/log/secure 找到打開secure的進程,得到PID;

2)進到對應目錄:/proc/PID/fd/,可以找到secure對應的以數字命名的文件描述符,如4;

3)恢復文件:cat /proc/PID/fd/4 >/var/log/secure

3、檢查賬戶文件/etc/passwd*、/etc/shadow*;查看是否有異常用戶:

1)查看passwd,注意uid、gid爲0的用戶;

2)查看passwd,是否存在特權用戶;

3)查看shadow,是否存在空口令用戶。

當發現有異常用戶時,確認後刪除之,如果用戶已經登錄,嘗試如下處理:

方法1:w 查看登錄用戶

pkill -kill -t TTY值

方法2:

ps -fu username 查看是否還有進程在使用,如果有,殺掉

userdel -rf username 如果還執行失敗,繼續

cd /var/run; mv utmp utmp_bak;touch utmp utmp爲已登錄用戶的數據庫

userdel -rf username 再次執行

4、檢查賬戶登錄事件:lastlog、last

1)注意“entered promiscuous mode”

2)注意Remote Procedure Call(rpc) programs with a log entry that includes a large number

5、查看用戶連接時間統計:ac -dp

6、查看日誌/var/log/secure

7、查看異常進程:

1)top 確定PID,ll /proc/PID |grep -i exe 查看對應的腳本

2)ps -aux 注意UID爲0的進程,lsof -p PID 查看進程所打開端口和文件

8、檢查計劃任務

1)ps -ef |grep /etc/crontab |grep -v "^#" 查看是否有異常crontab配置

2)crontab -u root -l

3)ls /etc/cron.*

9、檢查後門

ls /var/spool/cron/

cat /etc/rc.d/rc.local

ls /etc/rc.d

ls /etc/rc3.d

10、檢查系統服務

chkconfig|grep "3:on"

11、檢查rootkit

rkhunter -c

chkrootkit -n|grep INFECTED #-n 表示不檢測NFS掛載的目錄

如果提示沒有命令,使用yum安裝

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章