近半年做了很多應急響應項目,針對黑客入侵。但疲於沒有時間來總結一些常用的東西,寄希望用這篇博文分享一些安全工程師在處理應急響應時常見的套路,因為方面眾多可能有些雜碎。
個人認為入侵響應的核心無外乎四個字,順藤摸瓜。我們常常需要找到比較關鍵的信息后通過一些指令查詢或者分析日志,逐步分析黑客的具體步驟。
- 入侵后需要被關注的Linux系統日志
var/log/cron 記錄crontab命令是否被正確的執行,一般會被黑客刪除
var/log/lastlog 記錄登錄的用戶,可以使用命令lastlog查看,一般會被黑客刪除
var/log/secure 記錄大多數應用輸入的賬號與密碼,登錄成功與否,一般會被黑客刪除
var/log/wtmp 記錄登錄系統成功的賬戶信息,等同於命令last,一般會被黑客刪除
var/log/faillog 記錄登錄系統不成功的賬號信息,一般會被黑客刪除
~/.bash_history 至關重要的日志,往往黑客會使用history -c清理相關的日志,然后使用cat ~/.bash_history仍可查看相關的記錄
- 入侵后需要關注的web服務器日志
web服務器的種類很多,接觸比較多的為apache、tomcat、Nginx為主。無論任何web服務器其實日志需要關注的東西是一致的,即access_log和error_log。一般在確定ip地址后,通過:
find . access_log |grep xargs ip攻擊地址
find . access_log| grep xargs 木馬文件名
是一種順藤摸瓜比較好的排查方式,通過access_log和error_log中的數據我們一般能明確以下幾件事情:
- 文件是什么時刻上傳的,應急響應中確定攻擊發生的攻擊點十分重要。通過時間點可以有效的查找加密木馬,隱蔽的后門等。舉例說明:
今天是2016年11月7日,我通過排查發現攻擊點發生在11月5日。站在網站上傳目錄:
find . -name *.php -ctime -1
接一些更為復雜的正則來匹配文件:
find ./ -name “*.php” -type f -print0|xargs -0 egrep “(phpspy|c99sh|milw0rm|eval\(gunerpress|eval\(base64_decode|spider_bc)”|awk -F: ‘{print $1}’
具體的-ctime、-atime、-mtime不再贅述。關於+—號問題,引用一下:
-mtime n:n為數字,意思是在n天之前的【一天之內】被更改過內容的文件;
-mtime +n:列出在n天之前(不含n天本身)被更改過內容的文檔名;
-mtime -n:列出在n天之內(含n天本身)被更改過內容的文檔名;
0為24小時以內
2.攻擊的IP地址是多少,當然一般情況是跳板地址TT
3.傳了什么文件上來
- 登上服務器就要立刻輸入的命令(全是套路,但一般很有用)
ps -ef 查看可疑進程
一般ps -ef能比較清晰的看出反彈shell,引用下:
http://www.waitalone.cn/linux-shell-rebound-under-way.html
top 處理過幾次肉雞服務器,基本上top能很明顯的看出占用資源異常的服務
last 登錄時間能不能跟運維人員時間對上
crontab -l 查看例行任務,很多后門程序可以通過crontab完成自啟。
不過有時候crontab -l並不能解決問題,通常還要做如下操作:
cd /etc/crontab ls
查看有沒有提權痕跡:
cat /etc/passwd 極有可能其他用戶出現id,組id 0、0的情況
如果系統里有lsof命令那就太好了:
lsof -g gid號 通常能找到惡意文件關聯的lib文件
- 一些技巧的的碎碎念
chattr +i 處理過一起病毒自己會改寫crontab的,可以用這個命令把crontab鎖住 chmod 000 在刪除一些病毒文件時候需要先去除執行權限
在寫這篇博文的時候,查閱資料,發現find還可以這么用:
find / *.jsp -perm 4777 查找777的權限的文件
因為我發現任何黑客在入侵完Linux在這一步都避免不了這樣喜悅的操作:
yum xxxx mkdir hehe chmod 777 *.* cd hehe ./xxxx
- 總結
- 應急響應感覺確定的優先級是時間,ip、最后是惡意文件。尤其時間最為重要,如果連攻擊時間都沒法確定,感覺真心沒有啥好的切入點,至少不能保證你把后門都查殺干凈。
- 作為小菜,研讀過很多大牛的文章,結合自己做的案例,感覺切入點主要就這么多。但難點是你能否准確判斷哪個是正常文件,哪個是惡意文件。以及自己的滲透和黑產知識面是否完備,能准確的猜到黑客干了啥。
- 還有一些東西,比如內核啊,啟動順序的一些問題,最近在總結,有機會補全。