進程排查
進程(Process)是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎
無論是在Windows系統還是Linux系統中,主機在感染惡意程序后,惡意程序都會啟動相應的進程,來完成相關的惡意操作
Linux進程排查
進程基本信息
top
動態查詢當前進程,可用于排查挖礦程序ps -aux
查看進程free -h
查看系統內存使用情況
- Swap一般用不上,如果占用率非常高,可能是內存不夠了,需要擴容,關注內存使用率
- 也有可能是挖礦
netstat -ntapl
排查網絡連接情況
進程創建時間
ps -ef
命令查看進程創建時間
- 通過
/proc/pid/
目錄中文件判斷文件創建時間
對應可執行文件
ls -atl /proc/[PID]/
查找進程對應可執行程序lsof -p [PID]
查找進程對應可執行程序
命令替換
rpm -Vf /usr/bin/*
排查命令替換
- S: 表示對應文件的大小(Size)不一致;
- M: 表示對于文件的mode不一致;
- 5: 表示對應文件的MD5不一致;
- D: 表示文件的major和minor號不一致;
- L: 表示文件的符號連接內容不一致;
- U: 表示文件的owner不一致;
- G: 表示文件的group不一致;
- T: 表示文件的修改時間不一致;
dpkg -verify
也有類似作用
隱藏進程
ps -ef awk'{print}' | sort -n | uniq >1
ls /proc | sort -n | uniq >2
diff 1 2
服務排查
服務可以理解為運行在后臺的進程
這些服務可以在計算機啟動時自動啟動,也可以暫停和重新啟動,而且不顯示任何用戶界面
服務非常適合在服務器上使用,通常在為了不影響在同一臺計算機上工作的其他用戶,且需要長時間運行功能時使用
在應急響應排查過程中,服務作為一種運行在后臺的進程,是惡意軟件常用的駐留方法
Linux服務排查
服務狀態
service --status-all
systemctl | more
開機自啟
systemctl list-unit-files
文件痕跡排查
在應急響應排查的過程中,由于大部分的惡意軟件、木馬、后門等都會在文件維度上留下痕跡,因此對文件痕跡的排查必不可少
一般可以從以下幾方面對文件痕跡進行排查
- 對惡意軟件常用的敏感路徑進行排查
- 在確定了應急響應事件的時間點后,對時間點前后的文件進行排查
- 對帶有特征的惡意軟件進行排查,這些特征包括代碼關鍵字或關鍵函數、文件權限特征等
Linux文件痕跡排查
敏感目錄
- 臨時目錄
/tmp
- 命令目錄
/usr/bin
/usr/sbin
等
- 經常作為惡意軟件下載目錄及相關文建被替換的目錄
~/.ssh
及/etc/ssh
- 經常作為一些后門配置的路徑
- authorized_keys種可能存有攻擊者秘鑰信息
近期變動文件
通過列出攻擊日期內變動的文件,可發現相關的惡意軟件
在Liux下,一個文件也有三種時間,分別是:訪問時間、修改時間、狀態時間
- Access Time:文件訪問時間,顯示一個文件的內容或者運行一個SHELL腳本會更新文件的ATIME
- Modify Time:文件內容修改時間,可用 ls -l 命令查看
- Change Time:文件內容、權限變更,可用 ls -lc 命令查看
find
通過【find】命令可對某一時間段內增加的文件進行查找,以下為常用的【find】命令
find:在指定目錄下查找文件
-mtime -n/+n
:按文件更改時間來查找文件,-n指n天以內,+n指n天前-atime -n/+n
:按文件訪問時間來查找文件,-n指n天以內,+n指n天前-ctime -n/+n
:按文件創建時間來查找文件,-n指n天以內,+n指n天前
后續可以加-name
/iname
來指定文件類型,-iname
忽略字母的大小寫
注意,find命令認為24小時之內是第0天
示例
查找最近 3 天內修改過的日志文件(.log)
find /var/log -name "*.log" -mtime -3
查找動態腳本并打包成tar.gz
find ./* -iname "*.jsp*" | xargs tar zcvf /tmp/shellscript.tar.gz
查找當前目錄及子目錄下,一周以前修改過的所有文本文件(.txt 或 .TXT)并列出詳細信息
find . -iname "*.txt" -mtime +7 -ls
特殊文件
系統中的惡意文件存在特定的設置、特定的關鍵字信息等,Linux系統中的幾種特殊文件類型可以按照以下方法進行排查:
特殊權限文件查找
查找777權限的文件:【find /tmp -perm 777】
對系統命令進行排查
【ls】和【ps】等命令很可能被攻擊者惡意替換,所以可以使用
- 【ls -alt /bin】命令,查看命令目錄中相關系統命令的修改時間,從而進行排查
- 【ls -alh /bin】命令查看相關文件的大小,若明顯偏大,則文件很可能被替換
排查SUID程序
即對于一些設置了SUID權限的程序進行排查,可以使用【find / -type f -perm -04000】
文件信息
- 查看當前目錄下所有文件并排序:
ls -alt
- 修改文件屬性:
chattr
- 顯示文件屬性:
lsattr
- 查看文件(文件夾)詳細信息:
stat
- 比較文件差異:
diff -c
- 查找符合條件的字符串:
grep