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

CPU 被挖礦,Redis 竟是內(nèi)鬼!

編程技術(shù)宇宙 2022/11/26 12:13:04 責(zé)編:遠(yuǎn)生

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

卻說(shuō)這一日,Redis 正如往常一般工作,不久便收到了一條 SAVE 命令。

雖說(shuō)這 Redis 常被用來(lái)當(dāng)做緩存,數(shù)據(jù)只存在于內(nèi)存中,卻也能通過(guò) SAVE 命令將內(nèi)存中的數(shù)據(jù)保存到磁盤(pán)文件中以便持久化存儲(chǔ)。

只見(jiàn) Redis 剛打開(kāi)文件,準(zhǔn)備寫(xiě)入,不知何處突然沖出幾個(gè)大漢將其擒住。

到底是怎么回事?Redis 一臉懵。

這事還得要從一個(gè)月之前說(shuō)起。

挖礦病毒

前情回顧:CPU 深夜狂飆,一幫大佬都傻眼了???

一個(gè)月前,突如其來(lái)的警報(bào)聲打破了 Linux 帝國(guó)夜晚的寧?kù)o,CPU 占用率突然飆升,卻不知何人所為。在 unhide 的幫助下,總算揪出了隱藏的進(jìn)程。本以為危機(jī)已經(jīng)解除,豈料???

夜已深了,安全警報(bào)突然再一次響了起來(lái)。

“部長(zhǎng),rm 那小子是假冒的,今天他騙了我們,挖礦病毒根本沒(méi)刪掉,又卷土重來(lái)了!”

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

無(wú)奈之下,部長(zhǎng)只好再次召集大家。

unhide 再一次拿出看家本領(lǐng),把潛藏的幾個(gè)進(jìn)程給捉了出來(lái)。kill 老哥拿著他們的 pid,手起刀落,動(dòng)作干脆利落。

這一次,沒(méi)等找到真正的 rm,部長(zhǎng)親自動(dòng)手,清理了這幾個(gè)程序文件。

“部長(zhǎng),總這么下去不是個(gè)辦法,刪了又來(lái),得想個(gè)長(zhǎng)久之計(jì)??!”,一旁的 top 說(shuō)到。

“一定要把背后的真兇給揪出來(lái)!”,ps 說(shuō)到。

“它們是怎么混進(jìn)來(lái)的,也要調(diào)查清楚!”,netstat 說(shuō)到。

“對(duì),對(duì),就是”,眾人皆附和。

部長(zhǎng)起身說(shuō)道,“大家說(shuō)得沒(méi)錯(cuò),在諸位到來(lái)之前,我已經(jīng)安排助理去核查了,相信很快會(huì)有線索?!?/p>

此時(shí),防火墻上前說(shuō)道:“為了防止走漏消息,建議先停掉所有的網(wǎng)絡(luò)連接”

“也罷,這三更半夜的,對(duì)業(yè)務(wù)影響也不大,停了吧!”,安全部長(zhǎng)說(shuō)到。

不多時(shí),助理行色匆匆地趕了回來(lái),在部長(zhǎng)耳邊竊竊私語(yǔ)一番,聽(tīng)得安全部長(zhǎng)瞬時(shí)臉色大變。

“sshd 留一下,其他人可以先撤了”,部長(zhǎng)說(shuō)到。

大伙先后散去,只留下 sshd,心里不覺(jué)忐忑了起來(lái)。

“等一下,kill 也留一下”,部長(zhǎng)補(bǔ)充道。

一聽(tīng)這話,sshd 心跳的更加快了。

助理關(guān)上了大門,安全部長(zhǎng)輕聲說(shuō)到:“據(jù)剛剛得到的消息,有人非法遠(yuǎn)程登錄了進(jìn)來(lái),這挖礦病毒極有可能就是被人遠(yuǎn)程上傳了進(jìn)來(lái)”

sshd 一聽(tīng)這話大驚失色,慌忙問(wèn)道:“難道登錄密碼泄露了?”

“應(yīng)該不是,是使用的公私鑰免密登錄”,一旁的助理回答到。

“你看,在 / root/.ssh/ authorized_keys 文件中,我們發(fā)現(xiàn)了一個(gè)新的登錄公鑰,這在之前是沒(méi)有的”,隨后,助理輸出了這文件的內(nèi)容:

[root@xuanyuan ~]# cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABA······

“絕不是我干的”,sshd 急忙撇清。

“遠(yuǎn)程登錄,這不是你負(fù)責(zé)的業(yè)務(wù)嗎?”,助理問(wèn)到。

“確實(shí)是我負(fù)責(zé),但我也只是按程序辦事,他能用公私鑰登錄的前提是得先把公鑰寫(xiě)入進(jìn)來(lái)啊,所以到底是誰(shuí)寫(xiě)進(jìn)來(lái)的,這才是關(guān)鍵!”,sshd 說(shuō)到。

“說(shuō)的沒(méi)錯(cuò),別緊張,想想看,有沒(méi)有看到過(guò)誰(shuí)動(dòng)過(guò)這個(gè)文件?”,部長(zhǎng)拍了下 sshd 的肩膀說(shuō)到。

“這倒是沒(méi)留意”

部長(zhǎng)緊鎖眉頭,來(lái)回走了幾步,說(shuō)道:“那好,這公鑰我們先清理了?;厝ヒ院蠖⒕o這個(gè)文件,有人來(lái)訪問(wèn)立刻報(bào)給我”

“好的”,sshd 隨后離開(kāi),發(fā)現(xiàn)自己已經(jīng)嚇出了一身冷汗。

兇手浮現(xiàn)

時(shí)間一晃,一個(gè)月就過(guò)去了。

自從把 authorized_keys 文件中的公鑰清理后,Linux 帝國(guó)總算是太平了一陣子,挖礦病毒入侵事件也漸漸被人淡忘。

這天晚上夜已深,sshd 打起了瞌睡。

突然,“咣當(dāng)”一聲,sshd 醒了過(guò)來(lái),睜眼一看,竟發(fā)現(xiàn)有程序闖入了 / root/.ssh 目錄!

這一下 sshd 睡意全無(wú),等了一個(gè)多月,難道這家伙要現(xiàn)身了?

sshd 不覺(jué)緊張了起來(lái),到底會(huì)是誰(shuí)呢?

此刻,sshd 緊緊盯著 authorized_keys 文件,眼睛都不敢眨一下,生怕錯(cuò)過(guò)些什么。

果然,一個(gè)身影走了過(guò)來(lái),徑直走向這個(gè)文件,隨后打開(kāi)了它!

sshd 不敢猶豫,趕緊給安全部長(zhǎng)助理發(fā)去了消息。

那背影轉(zhuǎn)過(guò)身來(lái),這一下 sshd 看清了他的容貌,竟然是 Redis!

收到消息的部長(zhǎng)帶人火速趕了過(guò)來(lái),不等 Redis 寫(xiě)入數(shù)據(jù),就上前按住了他。

“好家伙,沒(méi)想到內(nèi)鬼居然是你!”,sshd 得意的說(shuō)到。

Redis 看著眾人,一臉委屈,“你們這是干什么?我也沒(méi)做什么壞事啊”

“人贓并獲,你還抵賴?說(shuō)吧,你為什么要來(lái)寫(xiě) authorized_keys 文件?”

“那是因?yàn)槲乙獊?lái)執(zhí)行數(shù)據(jù)持久化存儲(chǔ),把內(nèi)存中的數(shù)據(jù)寫(xiě)到文件中保存”,Redis 答道。

“你持久化存儲(chǔ),為什么會(huì)寫(xiě)到 authorized_keys 文件里面來(lái)?”,sshd 繼續(xù)質(zhì)問(wèn)。

“剛剛收到幾條命令,設(shè)置了持久化存儲(chǔ)的文件名就是這個(gè),不信你看”,說(shuō)罷,Redis 拿出了剛剛收到的幾條命令:

CONFIG SET dir /root/.ssh
CONFIG SET dbfilename authorized_keys
SAVE

“第一條指定保存路徑,第二條指定保存的文件名,第三條就是保存數(shù)據(jù)到文件了”,Redis 繼續(xù)解釋到。

安全部長(zhǎng)仔細(xì)看著幾條命令,說(shuō)道:“把你要寫(xiě)入的數(shù)據(jù)給我看看”

“這可有點(diǎn)多,你等一下”,說(shuō)罷,Redis 拿出了所有的鍵值數(shù)據(jù),散落一地。

眾人在一大片數(shù)據(jù)中看花了眼。

“部長(zhǎng)快看!”,sshd 突然大叫。

順著他手指的方向,一個(gè)醒目的公鑰出現(xiàn)在了大家面前。

ssh-rsa AAAAB3NzaC1yc2EAA···

“果然是你!”

Redis 還是一臉懵,還不知發(fā)生了什么。

“你這家伙,被人當(dāng)槍使了!你寫(xiě)的這個(gè)文件可不是普通文件,你這要是寫(xiě)進(jìn)去了,別人就能遠(yuǎn)程登錄進(jìn)來(lái)了,之前的挖礦病毒就是這么進(jìn)來(lái)的!”,sshd 說(shuō)到。

一聽(tīng)這話,Redis 嚇得趕緊掐斷了網(wǎng)絡(luò)連接。

“給你下命令的究竟是誰(shuí),又是怎么連接上你的?”,部長(zhǎng)問(wèn)到。

Redis 不好意思的低下了頭,只說(shuō)道:“不瞞您說(shuō),我這默認(rèn)就沒(méi)有密碼,誰(shuí)都可以連進(jìn)來(lái)”

安全部長(zhǎng)聽(tīng)得眼睛都瞪圓了,憤而離去。

只聽(tīng)得一聲大叫,kill 老哥又一次手起刀落。

彩蛋

“部長(zhǎng),不好了”

“什么事,慌慌張張的”

“我的數(shù)據(jù)全都被加密了!”,MySQL 氣喘吁吁的說(shuō)到??

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

相關(guān)文章

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

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

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