CPU深夜狂飆,一幫大佬都傻眼了···
傍晚時(shí)分,警報(bào)聲乍起,整個(gè)Linux帝國(guó)都陷入了驚恐之中。
安全部長(zhǎng)迅速召集大家商討應(yīng)對(duì)之策。
“諸位,突發(fā)情況,CPU占用率突然飆升,并且長(zhǎng)時(shí)間沒有降下來的趨勢(shì),CPU工廠的阿Q向我們表達(dá)了強(qiáng)烈抗議”
這時(shí),一旁的kill命令說到:“部長(zhǎng)莫急,叫top老哥看一下誰在占用CPU,拿到進(jìn)程號(hào)pid,我把他干掉就好了”
此言一出,在座的大伙都點(diǎn)頭贊許,驚恐之色稍解。
top命令站了起來,面露得意之色,說到:“大家請(qǐng)看好了”,說完,打印出了當(dāng)前的進(jìn)程列表:
眾人瞪大了眼睛,瞅了半天,也沒看出哪個(gè)進(jìn)程在瘋狂占用CPU,top老哥這下尷尬了。
這時(shí),一旁的ps命令湊了上來,“讓我來試試”
ps命令深吸了一口氣,也打印出了進(jìn)程列表。
然而,依舊沒有任何可疑的進(jìn)程。
“你倆怎么回事,為什么沒有?”,安全部長(zhǎng)有些不悅。
“部長(zhǎng),我倆都是遍歷的 /proc/ 目錄下的內(nèi)容,按理說,所有的進(jìn)程都會(huì)在這里啊,我也想不通為什么找不到···”,top老哥委屈的說到。
“遍歷,怎么遍歷的?”
“就是通過opendir/readdir這些系統(tǒng)調(diào)用函數(shù)來遍歷的,這都是帝國(guó)提供的標(biāo)準(zhǔn)接口,應(yīng)該不會(huì)出錯(cuò),除非···”,說到這,top打住了。
“除非什么?”
“除非這些系統(tǒng)調(diào)用把那個(gè)進(jìn)程給過濾掉了,那樣的話我就看不到了,難道有人潛入帝國(guó)內(nèi)核,篡改了系統(tǒng)調(diào)用?”
安全部長(zhǎng)瞪大了眼睛,真要如此,那可是大事啊!
眼看部長(zhǎng)急的團(tuán)團(tuán)轉(zhuǎn),一旁的netstat起身說到:“部長(zhǎng),我之前結(jié)識(shí)一好友,名叫unhide,捉拿隱藏進(jìn)程是他的拿手好戲,要不請(qǐng)他來試試?”
部長(zhǎng)大喜,“還猶豫什么,趕緊去請(qǐng)啊!”
“已經(jīng)聯(lián)系了,隨后就到”
部長(zhǎng)看著netstat,說到:“正好,趁著這個(gè)功夫,你先來看看現(xiàn)在有沒有對(duì)外可疑的連接”
netstat點(diǎn)了點(diǎn)頭,隨后打印出了所有的網(wǎng)絡(luò)連接信息:
“來來來,你們挨個(gè)來認(rèn)領(lǐng),看看都是誰的”,部長(zhǎng)說到。
“這個(gè)80端口的服務(wù)是我的”,nginx站了出來。
“這個(gè)6379端口服務(wù)是我的”,redis也站了出來。
“這個(gè),9200是我的”,elasticsearch說到。
“3306那個(gè)是我的”
“8182是我的”
······
一陣嘈雜后,只剩下一個(gè)連接無人認(rèn)領(lǐng):
- tcp 0 0 192.168.0.4:51854 88.99.193.240:7777 ESTABLISHED -
“部長(zhǎng),這八成就是躲在暗處那家伙的連接”,netstat說到。
安全部長(zhǎng)思考片刻問到:“curl何在?來訪問下這個(gè)IP地址,探探對(duì)方虛實(shí)”
curl站了出來,“來了來了”
curl小心翼翼的發(fā)送了一個(gè)HTTP請(qǐng)求過去,對(duì)方竟然回信了:
一行醒目的mining poll出現(xiàn)在大家面前。
“挖,挖礦病毒!”,top老哥叫了出來。
這一下,在場(chǎng)所有的人都倒吸了一口涼氣。
部長(zhǎng)趕緊叫防火墻firewall配置了一條規(guī)則,將這條連接掐斷。
就在這時(shí),unhide走了進(jìn)來。
簡(jiǎn)單了解了情況后,unhide拍拍胸脯說到:“這事交給我了,一定把這家伙給揪出來”
隨后,unhide一陣操作猛如虎,輸出了幾行信息:
- Found HIDDEN PID 13053
- Executable: "/usr/bin/pamdicks"
- $USER=root
- Found HIDDEN PID 13064
- Executable: "/usr/bin/pamdicks"
- $USER=root
眾人皆湊了過來,瞪大了眼睛,unhide老哥果然不是蓋的,果真發(fā)現(xiàn)了幾個(gè)可疑分子。
top有點(diǎn)表示懷疑,問到:“敢問兄臺(tái)用的什么路數(shù),為何我等都看不到這幾個(gè)進(jìn)程的存在?”
unhide笑道:“沒什么神秘的,其實(shí)我也是遍歷 /proc/ 目錄,和你們不同的是,我不用readdir,而是從進(jìn)程id最小到最大,挨個(gè)訪問 /proc/$pid目錄,一旦發(fā)現(xiàn)目錄存在而且不在ps老哥的輸出結(jié)果中,那這就是一個(gè)隱藏進(jìn)程。”
一旁的ps笑道:“原來還有我的功勞吶”
“找到了,就是這家伙!”,netstat大聲說到。
“你怎么這么肯定?”部長(zhǎng)問到。
“大家請(qǐng)看,進(jìn)程打開的文件都會(huì)在 /proc/pid/fd 目錄下,socket也是文件,我剛看了一下,這個(gè)進(jìn)程剛好有一個(gè)socket。再結(jié)合/proc/tcp信息,可以確定這個(gè)socket就是目標(biāo)端口號(hào)7777的那一條!”
“好家伙!好家伙”,眾人皆嘖嘖稱贊。
“還等什么,快讓我來干掉它吧!”,kill老哥已經(jīng)按捺不住了。
“讓我來把它刪掉”,rm小弟也磨刀霍霍了。
部長(zhǎng)搖頭說到:“且慢,cp何在,把這家伙先備份到隔離目錄去,以待秋后算賬”
cp拷貝完成,kill和rm兩位一起上,把背后這家伙就地正法了。
top趕緊查看了最新的資源使用情況,驚喜的歡呼:“好了好了,CPU占用率總算降下去了,真是大快人心”
天色已然不早,沒多久,眾人先后離開,帝國(guó)恢復(fù)了往日的平靜。
不過,安全部長(zhǎng)的臉上,仍然是一臉愁容。
“部長(zhǎng),病毒已經(jīng)被清除,為何還是悶悶不樂呢?”,助理問到。
“病毒雖已清除,但卻不知這家伙是如何闖入的,還有背后暗中保護(hù)隱藏它的人又是誰,這實(shí)讓我在很憂心啊”
不知不覺夜已深,帝國(guó)安全警報(bào)突然再一次響了起來。
“這又是怎么回事?”,部長(zhǎng)厲聲問到。
“部長(zhǎng),rm那小子是假冒的,今天他騙了我們,病毒根本沒刪掉,又卷土重來了!”
部長(zhǎng)望向遠(yuǎn)處的天空,CPU工廠門口的風(fēng)扇又開始瘋狂地轉(zhuǎn)了起來···
本文轉(zhuǎn)載自微信公眾號(hào)「編程技術(shù)宇宙」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系編程技術(shù)宇宙公眾號(hào)。