1. 程式人生 > 實用技巧 >Linux 應急響應基礎

Linux 應急響應基礎

0x01

技能樹

  • Linux常用命令

  • 常見日誌的位置以及分析方法

  • 熟悉常規黑客的攻擊手法

  • 常規安全事件的處置思路

0x02

linux 常用命令



查詢與文字操作

1、find
根目錄下所有.jsp字尾檔案

find / -name *.jsp


最近3天修改過的檔案

find -type f -mtime -3


最近3天建立的檔案

find -type f -ctime -3


2、grep、strings、more、head、tail


過濾出不帶有某個關鍵詞的行並輸出行號

grep -nv 'root' /etc/passwd


檢視根目錄下 含有root資訊的檔案,並標註行號

grep -nr root /


檢視根目錄下字尾為.jsp .jspx檔案,並從大到小排列

grep -nr -v "404" ./ | grep -E "\.jsp | \.jspx" | more


顯示檔案前十行

head /etc/passwd


實時展示檔案內容

tail -f 檔名


3、awk、sort、uniq

awk的F引數是指定分隔符,print $1意思是列印第一列,sort命令是用來排序的,uniq命令是用來把相鄰的重複資料聚合到一起,加個c引數意思就是把重複次數統計出來,為什麼先要用sort聚合一次呢,就是因為uniq命令只會聚合相鄰的重複資料,最後那個sort命令剛才說了是用於排序的,他的n引數是以數字排序,r引數是倒敘排序

awk -F " " '{print $1}' access.log| sort|uniq -c|sort -nr


案例:我們以空格為分界線 ($1為第一行)對access.log日誌進行分析,篩查提取訪問IP 從大到小排序,並提示訪問次數。

系統狀態命令


1、lsof
檢視某個使用者啟動了什麼程序

lsof -u root


某個埠是哪個程序開啟的

lsof -i:8080


2、last、lastb、lastlog
登入失敗記錄:/var/log/btmp

lastb


最後一次登入:/var/log/lastlog

lastlog


登入成功記錄: /var/log/wtmp

last


3、crontab
檢視計劃任務是否有惡意指令碼或者惡意命令

crontab -l


4、netstat
a引數是列出所有連線,n是不要解析機器名,p列出程序名

netstat -anp


5、ps
檢視程序資訊

ps -efps -aux


6、top
檢視程序cpu佔比(動態任務,可實時檢視最高cpu佔有率)

top


7、stat
檢視某個檔案是否被修改過

stat


8、last和lastb(對應日誌wtmp/btmp)
last檢視成功登陸的IP(用於檢視登陸成功資訊)
登陸使用者---連線方式---時間

lastb檢視連線失敗的IP(可用於檢視爆破資訊)
登陸使用者---登陸方式---登陸IP---時間

0x03

日誌分析



1、安全日誌 /var/log/secure作用:安全日誌secure包含驗證和授權方面資訊分析:是否有IP爆破成功
2、使用者資訊 /etc/passwd內容含義:註冊名、口令、使用者標識號、組標識號、使用者名稱、使用者主目錄、命令解釋程式 分析:是否存在攻擊者建立的惡意使用者
3、命令執行記錄 ~/.bash_history作用:命令執行記錄 ~/.bash_history分析:是否有賬戶執行過惡意作業系統命令
4、root郵箱 /var/spool/mail/root作用:root郵箱 /var/spool/mail/root分析:root郵箱的一個檔案,在該檔案中包含大量資訊,當日志被刪除可查詢本檔案
5、中介軟體日誌(Web日誌access_log)

nginx、apache、tomcat、jboss、weblogic、websphere
作用:記錄訪問資訊
分析:請求次數過大,訪問敏感路徑的IP
位置:/var/log下 access.log檔案(apache預設位置)
位置:/var/log/nginx下 access名稱日誌(nginx日誌位置)
位置:tomcat、weblogic等日誌均存放在安裝路徑下logs檔案下
訪問日誌結構:訪問IP---時間---請求方式---請求路徑---請求協議----請求狀態---位元組數

6.登陸日誌(可直接使用命令調取該資訊,對應命令last/lastb)

位置:/var/log/wtmp #成功連線的IP資訊

位置:/var/log/btmp #連線失敗的IP資訊


7.cron(定製任務日誌)日誌位置:/var/log/cron

作用:檢視歷史計劃任務(對該檔案進行分析調取惡意病毒執行的計劃任務,獲取準確時間)

8、history日誌

位置:~/.bash_history

作用:操作命令記錄,可篩查攻擊者執行命令資訊

9、其他日誌
redis、sql server、mysql、oracle等
作用:記錄訪問資訊
分析:敏感操作

web日誌分析思路:

尋找Webshell的方法:

1、檔案內容中的惡意函式
PHP:eval(、system(、assert(
JSP:getRunTime(、 FileOutputStream(
ASP:eval(、execute(、 ExecuteGlobal(
2、Web日誌中的webshell特徵
Darkblade:goaction=login
JspSpy:o=login
PhpSpy:action=phpinfo
Regeorg:cmd=connect
Other:cmd=
3、貼合Web業務中的url來分析Web日誌
4、每天新增的動態指令碼檔案
5、低頻訪問的指令碼檔案