Apereo CAS 4.1 反序列化 RCE 漏洞
0x01漏洞概述
Apereo CAS 是一个企业单点登录系统。CAS 尝试通过 Apache Commons Collections 库反序列化对象时存在问题,该漏洞存在 RCE 漏洞。
漏洞原理:
Webflow中使用了默认密钥changeit
public class EncryptedTranscoder implements Transcoder {
private CipherBean cipherBean;
private boolean compression = true;
public EncryptedTranscoder() throws IOException {
BufferedBlockCipherBean bufferedBlockCipherBean = new BufferedBlockCipherBean();
bufferedBlockCipherBean.setBlockCipherSpec(new BufferedBlockCipherSpec("AES", "CBC", "PKCS7"));
bufferedBlockCipherBean.setKeyStore(this.createAndPrepareKeyStore());
bufferedBlockCipherBean.setKeyAlias("aes128");
bufferedBlockCipherBean.setKeyPassword("changeit");
bufferedBlockCipherBean.setNonce(new RBGNonce());
this.setCipherBean(bufferedBlockCipherBean);
}
0x02影响版本
Apereo CAS <= 4.1.7
0x03漏洞环境
1、启动漏洞环境
docker-compose up -d
2、访问漏洞环境
http://your-ip:8080/cas/login
3、复现完成后,删除漏洞环境
docker-compose down
0x04复现过程
1、账号密码任意输入,利用burpsuite工具抓包
2、下载工具地址
https://github.com/vulhub/Apereo-CAS-Attack/releases/download/v1.0.0/apereo-cas-attack-1.0-SNAPSHOT-all.jar
下载完成后,再攻击机上运行该代码,生成payload
3、将execution参数替换成payload
看返回包信息,攻击成功。
4、可以发现靶机上添加一个achen文件