入侵者在入侵成功后,往往會留下后門以便再次訪問被入侵的系統,而創建系統賬號是一種比較常見的后門方式。在做入侵排查的時候,用戶配置文件/etc/passwd和密碼配置文件/etc/shadow是需要去重點關注的地方。
查詢特權用戶特權用戶(uid 為0)
> awk -F: '$3==0{print $1}' /etc/passwd
查找遠程可以登錄的賬戶
> awk '/\$1|\$5|\$6/{print $1}' /etc/shadow
- $1:MD5(長度 22個字符)
- $5:SHA-256(長度 43 個字符)
- $6:SHA-512(長度86 個字符)
檢查sudo權限
> cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL"
刪除或鎖定賬號
通過上面的步驟可以找到可疑的賬號
> usermod -L rooot #禁用帳號,帳號無法登錄,/etc/shadow第二欄為!開頭
> userdel rooot #刪除user用戶
> userdel -r rooot #將刪除root用戶,并且將/home目錄下的root目錄一并刪除
查看當前登錄系統的信息
> who #查看當前登錄用戶(tty本地登陸 pts遠程登錄)
> w #查看系統信息,想知道某一時刻用戶的行為
> uptime #查看登陸多久、多少用戶,負載
檢查異常端口
使用netstat 網絡連接命令,分析可疑端口、IP、PID等信息。
> netstat -tunlp | less
抓包分析
> tcpdump -c 10 -q //精簡模式顯示 10個包
使用ps命令檢查可疑的進程
> ps -ef
查超系統中占用資源最高的資源
> top
發現異常進一步檢查
> ps eho command -p $PID #查看該進程啟動的完整命令行
> readlink /proc/$PID/cwd #查看該進程啟動時候所在的目錄
> ls -l /proc/$PID/exe #查看下pid所對應的進程文件路徑
> strings -f /proc/$PID/environ | cut -f2 -d '' #查看該進程啟動時的完整環境變量:
> lsof -p $PID #列出該進程所打開的所有文件
檢查系統服務
Linux系統服務管理,CentOS7使用systemd控制 CentOS6之前使用chkconfig控制。
檢查開機自啟的服務
//對于systemd服務管理器來說,可以通過下述方式查看開機自啟的服務
> systemctl list-unit-files --type=service | grep "enabled"
//chkconfig就是CentOS6以前用來控制系統服務的工具,查看服務自啟動狀態
> chkconfig --list | grep "3:on\|5:on"
檢查啟動項腳本
命令查看下開機啟動項中是否有異常的啟動服務。
> cat /etc/rc.local
檢查計劃任務
利用計劃任務進行權限維持,可作為一種持久性機制被入侵者利用。檢查異常的計劃任務,需要重點關注以下目錄中是否存在惡意腳本。
/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/*