1. 程式人生 > >Linux系統應急響應

Linux系統應急響應

還原 shadow class ger /var/ cron lastlog 所在 臨時

零、緒論
事件應急是指在系統出現問題的第一時間進行錯誤排查、入侵過程還原取證,入侵源追蹤
等緊急處理。
知識點1、常見的分析入手點
(1)文件分析
(2)進程分析
(3)網絡分析
(4)命令分析
(5)日誌分析
一般而言:
命令分析中的一部分也是文件分析的一部分,也就是說命令分析中有一點是對命令源文件進行hash校驗防止替換。

一、文件分析:
知識點1、敏感目錄
(1)/tmp 臨時文件
(2)/usr/bin , /usr/sbin , /bin 命令所在目錄
(3)/etc/init.d 開機啟動目錄
知識點2、敏感文件
(1)/etc/rc.local 開機啟動文件
(2)/root/.bash_history 命令執行歷史信息文件
(3)/etc/password /etc/shadow 用戶賬戶信息文件
(4)/etc/cron* 計劃任務信息
知識點3、常用命令
(1)ls -alt [a 查看以.開頭的隱藏文件;t 按時間排序;l 查看列表詳細信息 ]
(2)取前x(x為正整數集合)項 head -n X
(3)查看文件詳細信息 stat
(4)find ./ -mtime(ctime) x -name "*.php"
[-mtime 指不包含權限的文件修改時間]
[-ctime包含權限的文件修改時間]
[x 為天數 0-> 24h內 -1 -> 48h內 以此類推]
[-name 後面是文件名的正則
(5)查看文件權限 find ./*.py -perm 4777 [-perm 後面權限號]
(6)查看命令文件是否替換 可以直接MD5檢查。

二、網絡與進程分析
知識點一、查看進程
(1)ps aux
(2)連接grep使用,例如grep xxx 或者 grep -v xxx [-v 排出xxx]
知識點二、查看網絡
(1)netstat -antlp | more 基本信息關聯查看
(2)lsof -i port 查看端口對應程序
知識點三、查看隱藏進程
(1)ps -ef | awk ‘{print}‘ | sort -n | uniq > 1
ls /proc | sort -n | uniq >2
diff 1 2

三、系統信息分析
知識點1、history分析 /root/.bash_history 分析歷史執行命令
知識點2、敏感文件分析(參考敏感文件)
知識點3、開機啟動分析(chkconfig)
知識點4、用戶信息分析cat /etc/passwd | grep -E "/bin/bash$"能登錄的用戶
知識點5、環境變量系統路徑分析 echo $PATH
知識點6、ssh分析 /etc/ssh /etc/.ssh

四、日誌分析
知識點1、日誌文件
(1)/var/log/wtmp
(2)/var/run/utmp
(3)/var/log/lastlog
(4)/var/log/btmp
知識點2、關鍵字
(1)Accepted
(2)Failed
(3)password
(4)invalid
知識點3、登錄日誌分析
(1)lastlog最近幾次登錄成功和最後一次登錄失敗相關信息
(2)who 查詢當前用戶信息
(3)whois 類似(2)
(4)users 類似(2)
(5)lastb 類似(1)
(6)finger
知識點4、兩條語句
(1)grep "Failed password for root" /var/log/auth.log | awk ‘{print $11}‘ | sort | uniq -nr | more
(2)grep "Accepted" /var/log/auth.log | awk ‘{print $11}‘ | sort |uniq -c | sort -nr | more

四、後門排查
知識點1、webshell查找
(a)命令:
find /var/www/ -name "*.php" | xargs egrep ‘assert | phpspy | c99sh | milw0rm | eval | \( gunerpress | \(bas464_encode | spider _bc | shell_exec | passthru | \(\$\_\POST\[|eval\(str_rotl3 | .chr\c|\$\{\"\_P|eval\C\$\_R | file_put_contents\C\.\*\$\_ | base64_decode‘

五、應用類日誌的幾個小技巧:
知識點1、
find .access_log | grep xargs ip a.b.c.d
find .access_log | grep xargs trojan_name
cat access.log | cut -f 1(ip)/4(url) "" | sort | uniq -c | sort -k | -r head -10
cat access.log | sort -k 2 -n -r | head -10

Linux系統應急響應