Jenkins - 探索新漏洞利用 pt1
Jenkins笔记参考:
https://blog.orange.tw/2019/01/hacking-jenkins-part-1-play-with-dynamic-routing.html
http://blog.orange.tw/2019/02/abusing-meta-programming-for-unauthenticated-rce.html
下载旧版Jenkins WAR文件:
http://updates.jenkins-ci.org/download/war/
博客中提到的第一个漏洞是用户名枚举漏洞
受影响版本:
- Jenkins每周版本直至包括2.145
- Jenkins LTS版本直至包括2.138.1
来自博客的内容:
预认证用户信息泄露
在测试Jenkins时,常见场景是您想执行暴力破解攻击,但不知道可以尝试哪个账户(有效凭证至少可以读取源代码,因此值得作为首次尝试)。在这种情况下,此漏洞非常有用!由于搜索功能缺乏权限检查,通过修改关键词从a到z,攻击者可以列出Jenkins上的所有用户!
PoC: http://jenkins.local/securityRealm/user/admin/search/index?q=[keyword]
示例:
- /securityRealm/user/admin/search/index?q=a
- /securityRealm/user/admin/search/index?q=c
注意: 尽管公告说2.138_1,但我在2.138上测试时漏洞利用不成功。
因此,您需要寻找Jenkins <= 2.137。
如果Jenkins版本非常旧,上述方法应该有效,另外还有https://nvd.nist.gov/vuln/detail/CVE-2017-1000395,您可以通过类似查询获取电子邮件地址。
受影响版本:
- 直至(包括)2.73.1
- 直至(包括)2.83
PoC: http://jenkins.local/securityRealm/user/admin/api/xml
在2.137版本中,您可以获取用户名/ID:
- /securityRealm/user/cg/api/xml
发布时间: 2019年2月26日星期二下午1:46
标签: devops, jenkins, Pentesting