Jenkins漏洞利用深度解析:CVE-2019-1003000预认证RCE攻击

本文详细分析了Jenkins CVE-2019-1003000漏洞的预认证远程代码执行攻击,涵盖漏洞版本、利用链构造及实战演示,并探讨了Jenkins 2.138版本后的认证绕过技巧。

漏洞背景

参考资源

本文聚焦Orange Tsai发现的Jenkins预认证漏洞利用技术。

受影响版本

  • Jenkins < 2.137(支持预认证攻击)
  • 插件漏洞范围
    • Pipeline: Declarative Plugin ≤ 1.3.4
    • Pipeline: Groovy Plugin ≤ 2.61
    • Script Security Plugin ≤ 1.49(测试中发现1.50版本同样存在漏洞)

漏洞利用

ExploitDB提供的利用脚本可自动编译JAR文件,并托管供漏洞服务器下载执行。
实战演示

1
2
3
4
nc -l 8888 -vv
whoami
# 输出:bash: no job control in this shell
bash-3.2$ jenkins

后续版本绕过

Jenkins 2.138后预认证漏洞被修复,但若攻击者持有read权限令牌且插件未更新,仍可通过添加认证Cookie至利用脚本,实现认证环境下的漏洞利用。


技术细节
漏洞利用链依赖Groovy元编程缺陷,通过恶意JAR触发服务端反序列化,最终实现远程代码执行。攻击者需构造特定HTTP请求至/securityRealm/user/[username]/descriptorByName/端点,利用插件解析逻辑缺陷注入恶意代码。

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