CPU深夜狂飆,一幫大佬都傻眼了...nginx
安所有長迅速召集你們商討應對之策。redis
「諸位,突發狀況,CPU 佔用率忽然飆升,而且長時間沒有降下來的趨勢,CPU 工廠的阿 Q 向咱們表達了強烈抗議。」安全
這時,一旁的 kill 命令說到:「部長莫急,叫 top 老哥看一下誰在佔用 CPU,拿到進程號 pid,我把他幹掉就行了。」bash
此言一出,在座的大夥都點頭讚許,驚恐之色稍解。網絡
top 命令站了起來,面露得意之色,說到:「你們請看好了」,說完,打印出了當前的進程列表:
衆人瞪大了眼睛,瞅了半天,也沒看出哪一個進程在瘋狂佔用 CPU,top 老哥這下尷尬了。curl
這時,一旁的 ps 命令湊了上來,「讓我來試試。」socket
ps 命令深吸了一口氣,也打印出了進程列表。然而,依舊沒有任何可疑的進程。elasticsearch
「你倆怎麼回事,爲何沒有?」,安所有長有些不悅。tcp
「部長,我倆都是遍歷的 /proc/ 目錄下的內容,按理說,全部的進程都會在這裏啊,我也想不通爲何找不到···」,top 老哥委屈的說到。ide
「遍歷,怎麼遍歷的?」
「就是經過 opendir/readdir 這些系統調用函數來遍歷的,這都是帝國提供的標準接口,應該不會出錯,除非···」,說到這,top 打住了。
「除非什麼?」
「除非這些系統調用把那個進程給過濾掉了,那樣的話我就看不到了,難道有人潛入帝國內核,篡改了系統調用?」
安所有長瞪大了眼睛,真要如此,那但是大事啊!
眼看部長急的團團轉,一旁的 netstat 起身說到:「部長,我以前結識一好友,名叫 unhide,捉拿隱藏進程是他的拿手好戲,要不請他來試試?」
部長大喜,「還猶豫什麼,趕忙去請啊!」
「已經聯繫了,隨後就到。」
部長看着 netstat,說到:「正好,趁着這個功夫,你先來看看如今有沒有對外可疑的鏈接。」
netstat 點了點頭,隨後打印出了全部的網絡鏈接信息:
「來來來,大家挨個來認領,看看都是誰的」,部長說到。
「這個 80 端口的服務是個人」,nginx 站了出來。
「這個 6379 端口服務是個人」,redis 也站了出來。
「這個,9200 是個人」,elasticsearch 說到。
「3306 那個是個人」
「8182 是個人」
······
一陣嘈雜後,只剩下一個鏈接無人認領:
tcp 0 0 192.168.0.4:51854 88.99.193.240:7777 ESTABLISHED -
「部長,這八成就是躲在暗處那傢伙的鏈接」,netstat 說到。
安所有長思考片刻問到:「curl 何在?來訪問下這個 IP 地址,探探對方虛實。」
curl 站了出來,「來了來了!」
curl 當心翼翼的發送了一個 HTTP 請求過去,對方居然回信了:
一行醒目的 mining poll 出如今你們面前。
「挖,挖礦病毒!」,top 老哥叫了出來。
這一下,在場全部的人都倒吸了一口涼氣。
部長趕忙叫防火牆 firewall 配置了一條規則,將這條鏈接掐斷。
就在這時,unhide 走了進來。
簡單瞭解了狀況後,unhide 拍拍胸脯說到:「這事交給我了,必定把這傢伙給揪出來。」
隨後,unhide 一陣操做猛如虎,輸出了幾行信息:
Found HIDDEN PID 13053 Executable: "/usr/bin/pamdicks" $USER=root Found HIDDEN PID 13064 Executable: "/usr/bin/pamdicks" $USER=root
衆人皆湊了過來,瞪大了眼睛,unhide 老哥果真不是蓋的,果然發現了幾個可疑分子。
top 有點表示懷疑,問到:「敢問兄臺用的什麼路數,爲什麼我等都看不到這幾個進程的存在?」
unhide 笑道:「沒什麼神祕的,其實我也是遍歷 /proc/ 目錄,和大家不一樣的是,我不用 readdir,而是從進程 id 最小到最大,挨個訪問 /proc/$pid 目錄,一旦發現目錄存在並且不在 ps 老哥的輸出結果中,那這就是一個隱藏進程。」
一旁的 ps 笑道:「原來還有個人功勞吶。」
「找到了,就是這傢伙!」,netstat 大聲說到。
「你怎麼這麼確定?」部長問到。
「你們請看,進程打開的文件都會在 /proc/pid/fd 目錄下,socket 也是文件,我剛看了一下,這個進程恰好有一個 socket。再結合 /proc/tcp 信息,能夠肯定這個 socket 就是目標端口號 7777 的那一條!」
「好傢伙!好傢伙」,衆人皆嘖嘖稱讚。
「還等什麼,快讓我來幹掉它吧!」,kill 老哥已經按捺不住了。
「讓我來把它刪掉」,rm 小弟也磨刀霍霍了。
部長搖頭說到:「且慢,cp 何在,把這傢伙先備份到隔離目錄去,以待秋後算帳」。
cp 拷貝完成,kill 和 rm 兩位一塊兒上,把背後這傢伙就地正法了。
top 趕忙查看了最新的資源使用狀況,驚喜的歡呼:「好了好了,CPU 佔用率總算降下去了,真是大快人心。」
天色已然不早,沒多久,衆人前後離開,帝國恢復了往日的平靜。
不過,安所有長的臉上,仍然是一臉愁容。
「部長,病毒已經被清除,爲什麼仍是悶悶不樂呢?」,助理問到。
「病毒雖已清除,但殊不知這傢伙是如何闖入的,還有背後暗中保護隱藏它的人又是誰,這實讓我在很憂心啊!」
不知不覺夜已深,帝國安全警報忽然再一次響了起來。
「這又是怎麼回事?」,部長厲聲問到。
「部長,rm 那小子是假冒的,今天他騙了咱們,病毒根本沒刪掉,又捲土重來了!」
部長望向遠處的天空,CPU 工廠門口的風扇又開始瘋狂地轉了起來···