Jenkins未授权访问RCE漏洞复现

Jenkins version < 2.138
参考:https://github.com/orangetw/awesome-jenkins-rce-2019

修改默认端口:

java -jar jenkins.war --ajp13Port=-1 --httpPort=8081

https://www.shodan.io/search?query=X-Jenkins%3A+2.73
PoC:
https://github.com/petercunha/Jenkins-PreAuth-RCE-PoC
修改code目录下的代码,运行./build.sh,生成Payload-1.jar,放到网站的根目录下的package/payload/1/

Jenkins未授权访问RCE漏洞复现_第1张图片
使得jenkins可以通过http://host//package/payload/1/payload-1.jar
访问到。
执行成功之后会显示:
在这里插入图片描述
Jenkins未授权访问RCE漏洞复现_第2张图片

笔记

jenkins的script中执行命令的语法:

println("id".execute().getText())
print "id".execute().text

Jenkins未授权访问RCE漏洞复现_第3张图片
Jenkins未授权访问RCE漏洞复现_第4张图片

Jenkins的权限控制

  1. Full Access(完全权限)
    对Jenkins有完全控制权,可在界面执行任意Groovy代码。
  2. Read-only Mode(只读模式, ANONYMOUS=True)
    需要在全局安全配置设置匿名用户具有可读权限
    Jenkins未授权访问RCE漏洞复现_第5张图片
    这种模式下,所有内容都可读,最大对用处就是可看到工作日志,job/node等敏感信息,以及源代码。
  3. Authenticated Mode(ANONYMOUS=False)
    这是Jenkins的默认配置,没有账号密码的情况下无法看到任何信息。

你可能感兴趣的:(Web)