要么成功要么被打趴下高手對(duì)決、博客服務(wù)器

2023-08-28    分類: 網(wǎng)站建設(shè)

每一個(gè)高手在成長(zhǎng)路上, 都需要與墻作足夠的對(duì)抗. 要么你成功, 站在世界之顛, 然后盡情吸取到的知識(shí); 或者或被它打趴下, 成為蕓蕓眾生中的一人, 然后對(duì)它習(xí)以為常.

我也不例外.

前不久, 我剛在我的服務(wù)器上自行架好了自己的 "梯子". 這正是從 "梯子" 開(kāi)始的故事.

開(kāi)幕

夜已經(jīng)深了, 我依然坐在電腦, 思索著一件事: 為什么倏忽之間, 歷來(lái)運(yùn)行的 "梯子", 倏忽就這么卡呢? 莫非已經(jīng)被 "墻" 發(fā)現(xiàn)并限制了?

我不甘心地想, 這不可能, 我隱藏的這么好, 這么低調(diào), 不會(huì)是我.

我拿出手中好愛(ài)的工具: ping.

開(kāi)始了我的檢測(cè)之旅.

60% 丟包, 這太夸張了, 這樣的網(wǎng)絡(luò)環(huán)境簡(jiǎn)直比帝都的交通環(huán)境還差千倍. 我在想.

試試另一個(gè)利器 traceroute 吧, 只有跳是通的, F**K, 果然是世界的局域網(wǎng)絡(luò), 運(yùn)營(yíng)商也敢非法丟棄我的檢測(cè)包, 這個(gè)檢測(cè)毫無(wú)收獲.

但是, 看著我的 "梯子" 在云層搖搖晃晃(丟包), 我就心生決意: 不在對(duì)抗中成功, 就在對(duì)抗中消亡.

正在無(wú)所措時(shí), "梯子" 所在的服務(wù)商給給我好愛(ài)的 Gmail 倏忽發(fā)送了一封至關(guān)主要的郵件, 上面赫然寫(xiě)道:

啊, 即將成為高手那種敏銳的第六感, 讓我覺(jué)得, 我可能錯(cuò)怪 "墻" 了, 我可能被黑了.

檢測(cè)

一陣餓意, 讓我清醒了不少, 果然, 有些高手發(fā)明的 "輕斷食" 療法特別很是有用, 讓我離高手更進(jìn)了一步.

"我一定要把對(duì)手揪出來(lái)", 心里暗暗下決定.

ssh root@myblog.me

我開(kāi)始連接到我的服務(wù)器, 步, 先從登錄日志開(kāi)始.

這是一個(gè)特別很是聰明的做法:

# whoroot pts/2 2015-01-20 3:00 (xx.xx.xx.xx)

嗯, 只有我一個(gè)人, 并沒(méi)有抓住黑客的現(xiàn)行. "我想他不會(huì)這么笨, 讓我當(dāng)場(chǎng)拿住他", 心里暗想.

繼續(xù)諳練地檢查著有誰(shuí)登錄過(guò)系統(tǒng), 通過(guò) ip1381683 檢測(cè)著 IP 的來(lái)源. 效果, 全是我這里的 IP, 沒(méi)有人!!!

莫非我弄錯(cuò)了? 不是被黑了嗎?

不行, 繼續(xù)看登錄日志.

看到這么多 ssh 爆破登錄日志, 心里一陣涼意, 果然在互聯(lián)網(wǎng)上混, 時(shí)刻要小心遠(yuǎn)方各種暗器. 岑寂一下, 慢慢找找看.

花了幾十分鐘之后, 除了各種用戶名密碼的登錄失敗外, 并沒(méi)有通過(guò)密碼登錄成功的日志, 全無(wú)新的發(fā)現(xiàn).

心里暗想, "對(duì)手也不弱嘛."

不過(guò), 還有一個(gè)線索沒(méi)有檢查過(guò): "目前服務(wù)器的流量仍然很高"

是時(shí)候運(yùn)用我手中的核心武器了.

發(fā)現(xiàn)

目前思路照舊很清晰的, 要定位到底是哪個(gè)進(jìn)程導(dǎo)致的高流量, 然后通過(guò)它的行為, 分析是否是黑客掛的馬?

OK, 開(kāi)始行動(dòng):

下載 iftop, 打開(kāi)系統(tǒng)的流量面板, 10秒之后, 流量面板開(kāi)始準(zhǔn)確顯示流量, 我的流量峰值高達(dá) 100mb/s. 調(diào)整一些飭令參數(shù), 顯示端口與 IP 信息.

iftop -nP

流量面板顯示出是從我的服務(wù)器往外流出流量, 先從 30157 端口開(kāi)始往外發(fā)送, 幾秒之后, 就會(huì)循環(huán)切到 30000 - 50000 之間的一個(gè)端口繼續(xù)發(fā). 是 UDP 流量. 我斷言.

果然, 再通過(guò) netstat -anp 來(lái)檢測(cè)打開(kāi)端口情況, 發(fā)現(xiàn)并沒(méi)有 TCP 上的狀況, 確認(rèn)了我的斷言.

( UDP 流量是可以無(wú)狀況的, 可以快速切換, TCP 反之, 可以通過(guò)工具抓到鏈接狀況 )

但不幸的是, 這兩個(gè)工具并不能顯示出來(lái)是哪個(gè)進(jìn)程作的鬼. 看來(lái)只有一個(gè)個(gè)看了.

ps aux

進(jìn)程并不多, 很快就看完了, 有兩個(gè)可疑進(jìn)程:

ruby 5162 0.0 5.0 286128 102200 ? Sl 02:58 2:20 /usr/sbin/httpd -c ./init -d /home/ruby/lib/2

111 3033 0.0 5.0 1 2017 ? Sl 02:58 2:20 /tmp/freeBSD /tmp/freeBSD 1

第1點(diǎn), 我使用的是 nginx 而不是 apache, 這里的 httpd 特別很是可疑. 第2點(diǎn), freeBSD 顯明是一個(gè)偽裝, 進(jìn)程的權(quán)限也令人可疑.

至此, 已經(jīng)確認(rèn), 我的服務(wù)器已經(jīng)被黑了. 接下來(lái), 是時(shí)候?qū)Q的時(shí)候了.

對(duì)決

第1點(diǎn)的進(jìn)程信息有一個(gè)目錄特別很是可疑, 在 /home/ruby/lib, 這里是我的個(gè)人目錄, 怎么會(huì)出現(xiàn)在這里的參數(shù)里呢?

進(jìn)去看看: cd /home/ruby/lib

大吃一驚, 第六感告訴我, 這命名, 這習(xí)慣, 是一個(gè)黑客作為, 這不是我寫(xiě)的東西, 細(xì)心看看.

Oh no, 一個(gè)木馬程序赫然在目, 這是一個(gè)特別很是顯明的反向連接木馬:

只要你把服務(wù)器打開(kāi), 它便會(huì)啟動(dòng), 并主動(dòng)連接到黑客指定的服務(wù)器, 報(bào)告黑客已經(jīng)上線, 然后等待指令. 一旦有指令收到, 便會(huì)用自己控制的權(quán)限運(yùn)行對(duì)應(yīng)的程序. 特別很是可怕.

繼續(xù)看, 它的配置文件如下:

這便是對(duì)手的反向連接的 IRC 地址, "這小子還真牛啊", 我心想, "他知道, 這樣的 IRC 地址我根本無(wú)法進(jìn)一步追蹤."

現(xiàn)在, 被黑的事實(shí)已經(jīng)確認(rèn), 卻讓我更憂慮的事情來(lái)了:

1、他有沒(méi)有控制到我的 root 權(quán)限

一旦被控制了 root 權(quán)限, 系統(tǒng)就難于清理了, 因?yàn)樗梢栽谌我馕恢貌迦胱约旱哪抉R, 例如啟動(dòng)時(shí), 驅(qū)動(dòng), 替代一個(gè)飭令, 隱藏在某個(gè)目錄.

而且, 可以手動(dòng)清理日志, 讓你無(wú)法知道對(duì)方都干了什么, 這樣子, 你就只能重裝系統(tǒng)了.

2、他是如何黑進(jìn)我的服務(wù)器

不能知道對(duì)方是如何黑的, 就無(wú)法制訂有用的防御策略, 這是特別很是可怕的.

不過(guò), 我知道, 我離真相已經(jīng)越來(lái)越近了.

繼續(xù)翻看他的木馬程序, 發(fā)現(xiàn)一個(gè)特別很是有趣的東西: h.c.

里面注釋上寫(xiě)著:

哈哈, psf 可翻譯為進(jìn)程堆棧偽造器. 顧名思義, 它是一個(gè)期騙 ps, top 飭令的指令輸出的一個(gè)小工具.

細(xì)心查看它的說(shuō)明, 可以發(fā)現(xiàn):

1、無(wú)須 root 權(quán)限, 即可讓你指定的進(jìn)程偽造成任何一個(gè)進(jìn)程名字.

2、ps, top, 許多進(jìn)程監(jiān)控工具都會(huì)被期騙.

它的原理也許如下:

在 main 函數(shù)里面(如下)的參數(shù),

int main(int argc, char *argv[])

可以繼續(xù)調(diào)用以下 execv 接口, 而 path 是可以與 main() 里的 agrv[0] 不一致, 可以精心構(gòu)造的, 這樣可以導(dǎo)致許多進(jìn)程監(jiān)控工具出現(xiàn)異常情況, 顯示出精心構(gòu)造的參數(shù).

int execv( const char *path, char *const argv[])

看到這個(gè)工具, 我反而將之前的擔(dān)擾悉數(shù)放下了: 用這點(diǎn)小伎倆來(lái)騙我, 說(shuō)明你很可能沒(méi)有拿到 root 權(quán)限.

我仿佛已經(jīng)聽(tīng)到對(duì)方嘆氣的聲音, 但又仿佛不是, 彷佛有一點(diǎn)點(diǎn)笑聲.

不管那么多了, 下一步就要了他的命, 我在想.

挖掘

檢查系統(tǒng)核心信息:

# 檢查用戶信息是否正常

cat /etc/passwd

# 檢查系統(tǒng)文件是否被替代

find / -user 122 | xargs ls -l

一切顯示正常, 那么, 系統(tǒng)很可能是沒(méi)有被動(dòng)到 root 的, 是時(shí)候找出被黑的原因了.

從另一個(gè)進(jìn)程的線索下手.

進(jìn)程號(hào) 111, 特別很是特殊, 從剛才的用戶信息可以看到, 這個(gè)用戶號(hào)屬于: elasticsearch.

原來(lái)如此, 這個(gè)提醒信息太主要了, 此刻, 我還記得之前為了安裝 railsgirlschina1683, 使用了campo3, 安裝了它的依靠 elasticsearch, 而之前 Rei 專門(mén)發(fā)郵件告訴過(guò)我: 這貨可能有遠(yuǎn)程執(zhí)行漏洞.

舛錯(cuò)啊, 我已經(jīng)打開(kāi)了 ufw 防火墻了.

# ufw status

Status: inactive

什么, 沒(méi)有打開(kāi)? 心中一絲涼意侵入骨髓, 我的服務(wù)器竟然在嚴(yán)格的互聯(lián)網(wǎng)環(huán)境上裸奔了這么久. 查看操作日志, 發(fā)現(xiàn)自從 1 月 8 號(hào)起, 防火墻就沒(méi)有打開(kāi)過(guò).

而且, 是我親自關(guān)閉了它. 難怪, 他的入侵成功日志正是 1 月 8 號(hào).

此刻, 這位黑客的入侵手段幾乎已經(jīng)真相大白: 通過(guò) elasticsearch 遠(yuǎn)程執(zhí)行漏洞掃描工具掃進(jìn)了我的服務(wù)器, 再運(yùn)行了提權(quán)工具發(fā)現(xiàn)了 /home/ruby/ 目錄是可寫(xiě)的.

此時(shí), 他很聰明的偽裝了它的木馬, 雖然沒(méi)有拿到 root 權(quán)限, 但仍然可以輕易的干掉我的博客進(jìn)程( 雖然他沒(méi)這么做 ). 還可以隨時(shí)讓我的服務(wù)器成為它的幫兇, 成為二次跳板, 或者對(duì)無(wú)辜者發(fā)動(dòng) DDOS 攻擊.

而我, 也有一絲絲的僥幸, elasticsearch 并沒(méi)有跑在 root 權(quán)限下, 而是使用了 111 號(hào)用戶, 所以這次攻擊他的好好收獲也只能是, 獲得我 ruby 用戶的權(quán)限, 把我的服務(wù)器納入他的肉雞, 為他以后更大規(guī)模的行動(dòng)埋下伏筆.

需要增補(bǔ)點(diǎn)能量了, 我在想, 剛才煮好的泡面已經(jīng)到了嘴邊.

"假如我成為黑客, 我一定通過(guò)他的反向代理木馬黑曩昔", 我一邊吃著一路在想, "當(dāng)務(wù)之急, 照舊先清理這些木馬吧."

清理

1、關(guān)閉源頭

先打開(kāi)防火墻: ufw enable.

清理 crontabs: crontab -l, rm /var/spool/cron/crontabs/ruby

殺掉木馬進(jìn)程: kill pid

2、處理漏洞

按照 elasticsearch 官方處理建議, 將默認(rèn)的監(jiān)聽(tīng) IP 設(shè)定在 127.0.0.1, 關(guān)閉動(dòng)態(tài)執(zhí)行腳本能力:script.disable_dynamic: true ( 均在它的配置文件中完成 )

殺掉已被成功攻擊的 elasticsearch 進(jìn)程和子進(jìn)程: kill -9 xxx

3、加固

看來(lái), 離高手還差了不少, 我心在想, 以下措施要補(bǔ)救一下:

3.1 用戶目錄權(quán)限

之前, 采用 useradd 的默認(rèn)用戶目錄權(quán)限 644, 許可任何用戶進(jìn)入, 才導(dǎo)致這個(gè)黑客得以入侵成功. 我把它關(guān)閉: chmod 700 /home/ruby

3.2 web 漏洞掃描

我需要在本地針對(duì)我的服務(wù)器做一些漏洞掃描.

3.3 防火墻保證開(kāi)啟

在 /etc/rc.local 加入: ufw enable

3.4 升級(jí)系統(tǒng)

說(shuō)到這里, 馬上兩條飭令搞定:

apt-get update

apt-get upgrade

后記

隨著流量的正?;芈? 看到那我好心愛(ài)的 ping 上面好地顯示著

我的 "梯子" 又穩(wěn)定地回來(lái)了.

我覺(jué)得, 我離高手又近了一步. 倏忽, 顯示器上開(kāi)始緩慢的出現(xiàn)

我知道, 對(duì)方又回來(lái)了.

( 情節(jié)有小部分虛構(gòu), 如有相通, 純屬巧合 )

文章名稱:要么成功要么被打趴下高手對(duì)決、博客服務(wù)器
文章網(wǎng)址:http://www.bm7419.com/news7/279257.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)商城網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)