CD's second night

Kubernetes Goat

type
status
date
slug
summary
tags
category
icon
password

Kubernetes Goat

只写了一些我的<k8s云原生实战攻击>中没遇到过的 遇到过的就不提了
1代码库敏感密钥
爆破目录找到git目录-> gitdump抓取历史git提交的信息->本地git log获取提交记录->根据提交记录发现提交过env文件->checkout切换到那次提交,查看.env文件->查看到aws ak/sk
2Docker-in-Docker的漏洞利用
命令注入漏洞->探测到docker.sock文件->下载docker二进制可执行包落地docker虚拟机调用sock(/tmp/docker/docker -H unix:///custom/docker/docker.sock images)->利用改sock创建一个共享主机文件夹的机器(/tmp/docker/docker -H unix:///custom/docker/docker.sock run -v /:/mnt -it alpine sh)
3Kubernetes (K8S) 中的 SSRF
实战中是利用ssrf获取内网k8s curl api 或者dashboard 未授权获取镜像仓库密码
4容器逃逸到主系统
mout查看挂载的目录 发现挂载到宿主机的根目录 挂载到宿主机的根目录的常见特征 a. /dev/mapper/centos-root on /host-system type xfs b. /dev/sda on /host-system type 文件格式
  • > 直接chroot /host-system bash 将host-system作为根目录重新起一个bash 逃逸成功
5攻击私有仓库
/v2/_catalog 获取docker仓库信息 -> /v2/镜像image/manifests/latest 获取镜像信息 包括env信息 里面可能存在ak sk 或者各类api-key
6获取cap信息等
amicontained 工具
capsh --print 自带命令
7隐藏在image中的信息
docker history --no-trunc madhuakula/k8s-goat-hidden-in-layers 查看构建历史 ->
notion image
这时候就有很多思路了 下面是思路介绍
1docker cp把文件提出来看
2docker save 为tar文件传到自己的机器然后docker load + cap权限 然后访问即可
3参考
docker save 为tar文件传到自己的机器-> 解压 - > 使用dive分析镜像
8Falco - 运行时安全监测和检测
既然它可以搭建监控日志 又是开源的 可以修改cpp文件 检测ak sk等规则发送key到我们的vps机器上
Loading...