CVE-2016-4437复现
漏洞原理
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。
Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为rememberMe的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
所以被称为Apache Shiro 1.2.4反序列化漏洞。
漏洞环境
使用vulhub搭建环境。

访问you-ip:8080

然后进行登录(随意账号密码),然后抓包

会发现存在rememberMe这个cookie,所以这里大概率是使用shiro框架。
下面使用工具进行利用:https://github.com/j1anFen/shiro_attack/releases/tag/2.2
这里为了查看流量,使用wireshark进行抓包,可以直接在宿主机进行抓包(搭建docker的宿主机)

然后进行利用,先点击爆破密钥->爆破利用链->存在利用链再执行命令->上传内存马



上传内存马

使用蚁剑连接内存马


成功得到shell
流量分析
过滤http请求,然后一个个流进行查看

前面的几个都跟这个相似,大概是为了验证是否存在漏洞、爆破密钥以及爆破利用链的流量

然后得到下面这一段流量

techo是什么?查看该工具的的源码

发现是其头信息,这也是该工具的一个特征

c这里是base64编码的命令ls,所以命令是以base64编码的信息,c的值是执行的命令
下面使用$$$包裹的通过base64解码之后就是命令执行的结果

p代表内存马的密码,path表示内存马名,下面的表示内存马的内容
后面的流量都是蚁剑的流量,在此就不在分析了
