参考资源:
- https://www.exploit-db.com/exploits/46453
- http://blog.orange.tw/2019/02/abusing-meta-programming-for-unauthenticated-rce.html
本文主要分析Orange Tsai发现的Jenkins预认证漏洞利用技术。
受影响版本: Jenkins < 2.137(预认证环境)
受影响插件:
- Pipeline: Declarative Plugin 至1.3.4版本
- Pipeline: Groovy Plugin 至2.61版本
- Script Security Plugin 至1.49版本(根据CG测试,1.50版本同样存在漏洞)
上述ExploitDB链接提供了一个完整的独立利用程序,可自动编译jar包并供存在漏洞的Jenkins服务器下载执行。
攻击演示:
|
|
在Jenkins 2.138版本后,预认证漏洞已被修复,但如果攻击者持有有效读取令牌且相关插件仍存在漏洞,仍可通过在脚本中添加认证cookie的方式对服务器进行利用。
技术要点:
- 漏洞允许未经认证的远程代码执行
- 利用链涉及Jenkins管道插件的元编程特性滥用
- 即使预认证被修复,在持有有效凭证的情况下仍可能实现权限提升