最近也是拿到了啟明星辰的暑期實習offer,雖然投的是安服,但主要工作是護網,昨天在公眾號Timeline Sec上看到有一篇關於護網的文章,所以在這里照着人家寫的在總結一下,為將來的工作打點基礎。
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
-v是對匹配的結果進行反轉
-n是匹配字符串所在文件的行號
查看根目錄下 含有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
作用:操作命令記錄,可篩查攻擊者執行命令信息
也可用history命令
history 10(顯示最近使用過的10個命令)
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、低頻訪問的腳本文件
文章來源於Timeline Sec ,作者璠淳