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 -ef
ps -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、低頻訪問的指令碼檔案