關於系統(linux) 入侵(中毒)的排查思路,總結如下 [PC/電腦]
關於系統(linux) 入侵(中毒)的排查思路,總結如下 [PC/電腦]
1、查看異常進程活動-查找是否有異常進程和端口占用
1.1查找佔用cpu最多的進程,相關命令:運行top命令後,鍵入大寫字母P按cpu排序;
1.2查找佔用內存最多的進程,相關命令:運行top命令後,鍵入大寫字母M
ps aux | sort -k4nr
1.3查找進程文件:
ls -la /proc/$pid/exe
1.4跟踪異常進程運行情況:
strace -tt -T -e trace=all -p $pid
1.5查看進程打開的文件
lsof -p $pid
1.6 查看進程端口情況
netstat -anltp | grep $pid
2、查看賬號安全
2.1查看是否有存在新增異常賬號:
a.查找特權用戶
awk -F ":" '$3==0{print $1}' /etc/passwd
b.查找可以遠程登錄的賬號信息
awk '/\$1|\$6/{print $1}' /etc/shadow
c.查找sudo權限賬戶
cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
2.2 查看是否有賬號異常登錄情況:
a.查看當前登錄用戶和其行為
w
b.查看所有用戶最後一次登錄的時間
lastlog
c.查看所有用戶的登錄註銷信息及系統的啟動、重啟及關機事件
last
d.查看登錄成功的日期、用戶名及ip
grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'
e.查看試圖爆破主機的ip
grep refused /var/log/secure* | awk {'print $9'} | sort | uniq -c |sort -nr | more grep "Failed password" /var/log/secure* | grep -E -o "(([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}))" | uniq -c
f.查看有哪些ip在爆破主機的root賬號
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort
g.查看爆破用戶名字典
grep "Failed password" /var/log/secure | awk {'print $9'} | sort | uniq -c | sort -nr
3、查找異常文件
3.1 查找cron文件中是否存在惡意腳本
/var/spool/cron/* /etc/crontab /etc/cron.d/* /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/ /etc/anacrontab /var/spool/anacron/*
3.2 查看最近一段時間內被修改的系統文件
find /etc/ /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime -T | xargs ls -la
3.3 按時間排序,確認最近是否有命令被替換,可以結合rpm -Va命令
ls -alt /usr/bin /usr/sbin /bin /usr/local/bin rpm -Va>rpm.log
3.4 確認是否有異常開機啟動項
cat /etc/rc.local chkconfig --list
4.借助工具查殺病毒和rootkit
4.1 查殺rootkit
chkrootkit (下载地址-http://www.chkrootkit.org)
rkhunter (下载地址-http://rkhunter.sourceforge.net)
4.2 查殺病毒
clamav(下载地址-http://www.clamav.net/download.html)
4.3 查殺webshell
cloudwalker(下载地址-http://github.com/chaitin/cloudwalker)