1. 程式人生 > >雲伺服器反黑客入侵攻防實錄(二)

雲伺服器反黑客入侵攻防實錄(二)

4、探祕黑客蹤

4.1 寓言公寓樓

    城市一角有一棟單身公寓樓,公寓有門有窗。到了晚上,主人下班回來,拿鑰匙開啟門進屋,關門熄燈休息, 平時窗戶半開著,通風透氣,保持空氣清新。

    一臺雲伺服器好比作一間單身公寓。黑客好比作不速之客,不請自來,黑客進屋有兩條路可走,一條路是開門大搖大擺進來,另一條路是翻窗進屋,多少需要一些飛檐走壁的功夫。

    公寓門比較先進,使用了電子密碼鎖,需要輸入正確密碼才能開門進屋。黑客是不知道密碼的,不能進屋。

    單身公寓的1605室在16樓,小明在這間公寓裡住了小一年了,最近新交了一位朋友小芳,這段時間留宿在公寓。小明和新朋友上下班有早有晚,所以小明給她開了一個新賬號,設了新密碼。小明有點懶,把賬號和密碼設成一樣的了,心想16樓很少有人來,樓道有24小時監控,諒他也沒人敢私闖民宅。

    過了一個月,兩人鬧彆扭,小芳就搬出去住了。小明心情不好,獨自鬱悶,忘記收回給小芳的賬號密碼。

    社群附近來了一個外國流浪漢。流浪漢是一名高智商的人士,喜歡無拘無束,過著狂野不羈的生活。有一天,流浪漢在公寓樓內閒逛,走著走著就到了1605房間,看見門上有一位姑娘頭像剪影,還紋上了幾個字母“fang”,那是小明和小芳秀恩愛時留下的。流浪漢靈機一動,不是很多人拿親友名字做密碼嗎?且試一試密碼鎖。這一試不要緊,公寓門居然打開了。

    於是,流浪漢住進了這間單身公寓,和小明過起了錯峰式“同居”生活。小明白天去上班,晚上回家住。流浪漢白天過來住公寓,自個兒做飯吃,吃飽了就睡,天黑前離開。後來,流浪漢不滿足了,晚上也來公寓,怕被主人小明發現,偷偷在小明喝水的杯子裡放了一粒安眠藥,溶解了無影無蹤,小明喝了下了安眠藥的白開水,晚上會睡得很香、很沉。於是,晚上也是流浪漢的天下了。

    如此“同居”過了一個月,小明發現了一些異常,冰箱裡的雞蛋莫名其妙少了幾個,茶几上的面巾紙也用得很快,早上帶走了垃圾,晚上回來垃圾桶裡又冒出啃剩下的雞腿骨。

    小明把這些異常情況跟他的好朋友小清說了,小清是一位知名的私家偵探,破獲很多疑難案件。接到小明的訊息,小清立刻來到小明的公寓,裡裡外外勘察了一遍,然後小明就去上班了。小清的目光留在公寓門上的姑娘剪影和“fang”上,似乎明白了什麼。輸入密碼,公寓門自動打開了。小清又到大樓的視訊監控室,調閱了小明公寓外的監控視訊,看到那名流浪漢每天來來往往。小清修改了公寓門密碼,又報了警。警方調查以後,發出了通緝令。

    晚上,小明回來,小清把發生的一切一五一十地告訴了小明,小明大吃一驚,然後就開心地笑了,很高興能有小清這樣的偵探朋友。 

4.2 查詢訪客志

    前面說到,一臺雲伺服器好比一間單身公寓,而黑客就好比闖入公寓的流浪漢。進入公寓可以從門進,也可翻窗進來,從高層公寓的窗戶進屋,難度大一些,窗戶還拉了鋼絲網。

    從門進屋,對一臺雲伺服器就好比遠端SSH登入進來,雲伺服器主人是管理員,也是通過SSH登入進來的。雲伺服器對外暴露的服務埠,可以接受訪問請求返回響應,但不歡並迎不速之客從埠潛入並接管伺服器。翻窗進屋,就好比攻擊雲伺服器的服務埠,有漏洞的端口才能進去,所以翻窗難度很大

    對於陌生人來說,從門進屋也不容易,除非知道門禁密碼或者門禁遭到破壞。

    有沒有陌生人闖入雲伺服器,翻一翻系統登入日誌就清楚了。就像調閱單身公寓的視訊監控,有誰到訪一目瞭然。

    Linux的last命令能查詢雲伺服器最近的SSH登入日誌。

# last
 

圖 Linux伺服器的系統登入日誌

 

4.3 孜孜找不同

    幾年前玩過一款小遊戲,名叫找不同:兩張圖畫滿了形狀各異的物體或幾何圖形,兩張圖絕大部分相同,只有幾個形狀不同而且隱藏在兩張圖畫裡。從登入日誌裡找蛛絲馬跡,有點像玩找不同的遊戲。很快找不同見效了,找到不同之處,有了新發現。

   絕大多數登入記錄的源地址是192.168.x.x,是雲資料中心區域網地址,登入使用者是root,與管理員的日常管理習慣一致。

    有一條陌生IP地址記錄引起了我的注意,登入賬號是jira,最後退出時間是4月8日04:09到04:19,與木馬檔案sd-pam的最後修改時間“Apr 8 04:19”完全吻合。

    可以推斷,黑客用jira使用者登入進系統,在10分鐘內植入木馬程式,然後揚長而去,靜靜等待“肉雞”主機傳回挖礦資料(數字貨幣)。

 

4.4 驚現無祕碼

     黑客是怎麼知道登入賬號和密碼的?

    我們知道,SSH是應用層通訊加密協議,所有通訊資訊都是經過高強度加密的,很難破譯,所以截獲密文再破譯的可能性幾乎為零。猜測暴力破解密碼的可能性也為零。猜測暴力破解密碼的可能性也為零。

    黑客登入賬號jira並不是管理員常用的root賬號,進一步證明賬號密碼不是破譯而來的。

    還有另一種可能,密碼丟失是因為管理員疏忽大意,使用了容易猜測的簡單密碼,例如:123,123456,abc,或者密碼乾脆等於賬號。

    我們來驗證一下,弱密碼的猜測是否成立。到目前為止,我還不知道賬號jira的密碼。

    通過跳板機用root登入到JIRA雲伺服器。 然後,切換到另一個普通使用者jira1(該賬號登入受限,不可遠端登入),root使用者切換到普通使用者不用輸入密碼。接著,從普通使用者jira1切換到使用者jira,此時必須輸入jira使用者的密碼。輸入密碼jira,居然切換成功了,證明jira賬號的密碼也是jira !!!這裡我表示無語。

# ssh [email protected]
# su – jira1
$ su - jira

    雲伺服器有一對洩了密、形同明文的賬號和密碼,就好比公寓洩密了密碼,任由他人自由進出、來來往往。公寓被攻陷,進了流浪漢;伺服器安全防線被攻破,“挖礦”的木馬程式被植入,二十四小時不停地挖數字虛擬貨幣。

 

4.5 緊鎖失密門

    查詢系統內沒有正常程序在使用jira使用者,確認jira使用者暫時閒置無用。立即修改jira使用者密碼,並鎖定賬號。

# passwd jira
# usermod -L jira

    又巡視了一遍作業系統,/etc/passwd、/etc/shadow都沒有可登陸的使用者。從SSH埠攻入雲伺服器的入口都被封堵。

    做完這些事情之後,初步判斷系統已經安全後,我的心情才逐漸舒緩下來。

    週一上班後立即與雲伺服器管理員取得聯絡,系統管理團隊對雲伺服器叢集作了漏洞掃描和安全加固。

 

4.6 探尋黑客蹤

    心情放鬆下來,才有空閒思考黑客從哪裡來,怎麼進來的,還做了什麼事!

    查詢百度,4月8日的黑客入侵源地址來自挪威。但是,黑客並不一定藏身挪威,甚至跟挪威一點關係都沒有。因為入侵源地址可能只是一個跳板,一臺受操控的“肉雞”主機而已。

 

    此後的5月1日,又有一波黑客來襲,大白天(下午14:34到14:41)大搖大擺地在侵入的雲伺服器待了6分鐘,但並沒有修改上一波黑客留下的木馬程式。5月的黑客源地址來自瑞士,他會是誰呢?是上一波黑客,回來巡視取勝的舊戰場。還是新來的“有道德的”黑客,看到有人捷足先登,悄然離去。不得而知,但一切皆有可能。

 

    再往前看,1月10日到18日,先後有四次登入記錄,地址來源各不相同,185.112.82.230、185.112.82.235、41.231.5.34和188.166.171.252,分別來自俄羅斯、俄羅斯、突尼西亞和荷蘭。

    源地址的多樣化,似乎表明黑客們可以隨意出入這臺雲伺服器。是什麼原因吸引黑客們蜂擁而至呢?為什麼是jira使用者,而不是別的使用者呢?

     答案是埠掃描,並通過掃描獲知公開資訊,進而攻擊伺服器漏洞。

 

4.7 解讀黑客術

    黑客程式掃描公網IP地址或者掃描域名的HTTP埠(80埠、8080埠),分析返回的HTML文字,經過過濾、提取候選詞,再與詞庫中的關鍵字對比。如果關鍵詞匹配,從關鍵詞關聯的應用庫提取對應的應用程式,推斷該地址的HTTP埠提供該應用服務。例如:提取到jira關鍵詞,推斷該伺服器提供JIRA服務;提取到sonarqube關鍵字,推斷該伺服器提供SonarQube服務,等等。

 

圖 HTTP服務的預設頁面暴露了具體服務

 

圖 HTTP服務返回的預設響應暴露了具體服務

 

    這些通用公共應用的安裝指南,大多數會提示使用者新建同名的作業系統賬戶,例如jira、mysql和redis等,以此使用者來安裝公共應用。一些粗心的管理員,會給系統賬戶設定簡單密碼。這正是這一類黑客程式攻擊能得逞的關鍵原因之一。

    網際網路上IP地址浩如煙海,為什麼偏偏是這臺雲伺服器呢?

    比較笨的辦法是按地址段逐個IP掃描,發現IP地址上有開放的埠,再實施攻擊、破解,攻破埠後,取得系統許可權,植入木馬程式。

    一個國家所分配的IP地址號段是固定不變,除非有新增的IP地址號段。國家IP管理機構再給其國內的雲服務提供商分配IP地址號段,這也是固定的,甚至可以公開查詢任意一個雲服務商的IP地址號段。同一個雲服務提供商的雲安全基礎設施是共用的,有相同的護盾,也有相同的漏洞,只要在一臺雲伺服器上發現了漏洞,很可能其他雲伺服器也有類似的漏洞。

    向雲服務提供商租用虛擬伺服器的內容提供商,由於安全管理制度、安全基礎軟體和安全管理團隊的共性,其管理的雲伺服器叢集也就有了相似的安全性和相似的漏洞。舉一反三,照貓畫虎,攻擊者攻陷一臺雲伺服器後,很容易擴大戰果攻擊更多雲伺服器。

    前文說到,黑客植入的木馬程式是“挖礦”程式。在下一集將對這個“挖礦”程式動手術,肢解程式為幾大塊,分析它內部執行機制,對外通訊聯絡模式等等。

 

    本文是作者原創作品,原文發表在公眾號  雲伺服器反黑客入侵攻防實錄(二) 

&n