参考资料:
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,即可使用经过身份验证的cookie访问URL并继续利用服务器漏洞。
技术要点:
- 漏洞允许未经身份验证的远程代码执行
- 利用元编程机制实现权限绕过
- 即使预认证被修复,在特定条件下仍可继续利用