設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

CPU 深夜狂飆,一幫大佬都傻眼了???

編程技術(shù)宇宙 2022/11/25 16:17:02 責(zé)編:遠(yuǎn)生

本文來自微信公眾號(hào):編程技術(shù)宇宙 (ID:xuanyuancoding),作者:軒轅之風(fēng)

本故事根據(jù)上次的挖礦病毒事件改編

傍晚時(shí)分,警報(bào)聲乍起,整個(gè) Linux 帝國都陷入了驚恐之中。

安全部長迅速召集大家商討應(yīng)對(duì)之策。

“諸位,突發(fā)情況,CPU 占用率突然飆升,并且長時(shí)間沒有降下來的趨勢(shì),CPU 工廠的阿 Q 向我們表達(dá)了強(qiáng)烈抗議”

這時(shí),一旁的 kill 命令說到:“部長莫急,叫 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)程。

“你倆怎么回事,為什么沒有?”,安全部長有些不悅。

“部長,我倆都是遍歷的 /proc/ 目錄下的內(nèi)容,按理說,所有的進(jìn)程都會(huì)在這里啊,我也想不通為什么找不到???”,top 老哥委屈的說到。

“遍歷,怎么遍歷的?”

“就是通過 opendir/readdir 這些系統(tǒng)調(diào)用函數(shù)來遍歷的,這都是帝國提供的標(biāo)準(zhǔn)接口,應(yīng)該不會(huì)出錯(cuò),除非???”,說到這,top 打住了。

“除非什么?”

“除非這些系統(tǒng)調(diào)用把那個(gè)進(jìn)程給過濾掉了,那樣的話我就看不到了,難道有人潛入帝國內(nèi)核,篡改了系統(tǒng)調(diào)用?”

安全部長瞪大了眼睛,真要如此,那可是大事??!

眼看部長急的團(tuán)團(tuán)轉(zhuǎn),一旁的 netstat 起身說到:“部長,我之前結(jié)識(shí)一好友,名叫 unhide,捉拿隱藏進(jìn)程是他的拿手好戲,要不請(qǐng)他來試試?”

部長大喜,“還猶豫什么,趕緊去請(qǐng)??!”

“已經(jīng)聯(lián)系了,隨后就到”

部長看著 netstat,說到:“正好,趁著這個(gè)功夫,你先來看看現(xiàn)在有沒有對(duì)外可疑的連接”

netstat 點(diǎn)了點(diǎn)頭,隨后打印出了所有的網(wǎng)絡(luò)連接信息:

“來來來,你們挨個(gè)來認(rèn)領(lǐ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  -

“部長,這八成就是躲在暗處那家伙的連接”,netstat 說到。

安全部長思考片刻問到:“curl 何在?來訪問下這個(gè) IP 地址,探探對(duì)方虛實(shí)”

curl 站了出來,“來了來了”

curl 小心翼翼的發(fā)送了一個(gè) HTTP 請(qǐng)求過去,對(duì)方竟然回信了:

一行醒目的 mining poll 出現(xiàn)在大家面前。

“挖,挖礦病毒!”,top 老哥叫了出來。

這一下,在場(chǎng)所有的人都倒吸了一口涼氣。

部長趕緊叫防火墻 firewall 配置了一條規(guī)則,將這條連接掐斷。

就在這時(shí),unhide 走了進(jìn)來。

簡(jiǎn)單了解了情況后,unhide 拍拍胸脯說到:“這事交給我了,一定把這家伙給揪出來”

隨后,unhide 一陣操作猛如虎,輸出了幾行信息:

Found HIDDEN PID 13053
    Executable: "/usr/bin/picks"
    $USER=root

Found HIDDEN PID 13064
    Executable: "/usr/bin/picks"
    $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 大聲說到。

“你怎么這么肯定?”部長問到。

“大家請(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 小弟也磨刀霍霍了。

部長搖頭說到:“且慢,cp 何在,把這家伙先備份到隔離目錄去,以待秋后算賬”

cp 拷貝完成,kill 和 rm 兩位一起上,把背后這家伙就地正法了。

top 趕緊查看了最新的資源使用情況,驚喜的歡呼:“好了好了,CPU 占用率總算降下去了,真是大快人心”

天色已然不早,沒多久,眾人先后離開,帝國恢復(fù)了往日的平靜。

不過,安全部長的臉上,仍然是一臉愁容。

“部長,病毒已經(jīng)被清除,為何還是悶悶不樂呢?”,助理問到。

“病毒雖已清除,但卻不知這家伙是如何闖入的,還有背后暗中保護(hù)隱藏它的人又是誰,這實(shí)讓我在很憂心啊”

不知不覺夜已深,帝國安全警報(bào)突然再一次響了起來。

“這又是怎么回事?”,部長厲聲問到。

“部長,rm 那小子是假冒的,今天他騙了我們,病毒根本沒刪掉,又卷土重來了!”

部長望向遠(yuǎn)處的天空,CPU 工廠門口的風(fēng)扇又開始瘋狂地轉(zhuǎn)了起來???

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:編程, Linux

軟媒旗下網(wǎng)站: IT之家 最會(huì)買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買 要知