(图片来源网络,侵删)
Vesta是一款集容器扫描、Docker和K8s配置基线检查于一身的工具,检查内容包括镜像或容器中包含漏洞版本的组件,同时根据云上实战渗透经验检查Docker以及Kubernetes的危险配置。Vesta同时也是一个灵活,方便的工具,能够在各种系统上运行,包括但不限于Windows,Linux以及MacOS。Github开源项目地址:https://github.com/kvesta/vesta/tree/mainVesta包含两大模块:scan: 扫描容器和镜像的组件信息,检测是否包含CVE漏洞版本。analyze: 检查Docker和Kubernetes配置,是否包含危险配置。(后续考虑附加攻击方法)编译安装: ##基于go 1.18构建[root@k8s-master-02 ~]# yum install -y make && yum install -y golang[root@k8s-master-02 ~]# go version ##查看Go语言版本[root@k8s-master-02 ~]# mkdir /root/vesta && cd /root/vesta[root@k8s-master-02 ~]# git clone https://github.com/kvesta/vesta.git[root@k8s-master-02 ~]# make build[root@k8s-master-02 ~]# cp vesta /usr/local/bin && chmod +x /usr/local/bin/vesta使用:vesta scan image cve-2019-14234_web:latestvesta scan image -f example.tarvesta scan container <CONTAINER ID>vesta scan container -f example.tarvesta analyze dockermake run.dockervesta analyze k8s检查项:Scan:扫描通过主流安装方法安装程序的漏洞:apt/apt-getrpmyumdpkg扫描软件依赖的漏洞以及恶意投毒的依赖包:Java(Jar, War, 以及主流依赖log4j)NodeJs(NPM, YARN)Python(Wheel, Poetry)Golang(Go binary)PHP(Composer, 以及主流的PHP框架: laravel, thinkphp, wordpress, wordpress插件等)Rust(Rust binary)Docker检查: Check ItemDescriptionSeverityPrivilegeAllowed危险的特权模式criticalCapabilities危险capabilities被设置criticalVolume Mount敏感或危险目录被挂载criticalDocker Unauthorized2375端口打开并且未授权criticalKernel version当前内核版本存在逃逸漏洞criticalNetwork ModuleNet模式为host模式或同时在特定containerd版本下critical/mediumPid ModulePid模式被设置为hosthighDocker Server versionDocker Server版本存在漏洞critical/high/ medium/lowDocker env password checkDocker env是否存在弱密码high/mediumDocker historyDocker layers 存在不安全的命令high/mediumDocker BackdoorDocker env command 存在恶意命令critical/highDocker SwarmDocker Swarm存在危险配置信息以及危险的容器检测medium/lowKubernetes检查: Check ItemDescriptionSeverityPrivilegeAllowed危险的特权模式criticalCapabilities危险capabilities被设置criticalPV and PVCPV 被挂载到敏感目录并且状态为activecritical/mediumRBACK8s 权限存在危险配置high/medium/ low/warningKubernetes-dashborad检查 -enable-skip-login以及 dashborad的账户权限critical/high/ lowKernel version当前内核版本存在逃逸漏洞criticalDocker Server version (k8s versions is less than v1.24)Docker Server版本存在漏洞critical/high/ medium/lowKubernetes certification expiration证书到期时间小于30天mediumConfigMap and Secret checkConfigMap 或者 Secret是否存在弱密码high/mediumPodSecurityPolicy check (k8s version under the v1.25)PodSecurityPolicy过度容忍Pod不安全配置high/medium/lowAuto Mount ServiceAccount TokenPod默认挂载了service tokencritical/high/ medium/lowNoResourceLimits没有限制资源的使用,例如CPU,Memory, 存储lowJob and CronjobJob或CronJob没有设置seccomp或seLinux安全策略lowEnvoy adminEnvoy admin被配置以及监听0.0.0.0.high/mediumCilium versionCilium 存在漏洞版本critical/high/ medium/lowIstio configurationsIstio 存在漏洞版本以及安全配置检查critical/high/ medium/lowKubelet 10255/10250 and Kubectl proxy存在node打开了10250或者10255并且未授权或 Kubectl proxy开启high/medium/ lowEtcd configurationEtcd 安全配置检查high/mediumSidecar configurationsSidecar 安全配置检查以及Env环境检查critical/high/ medium/lowPod annotationPod annotation 存在不安全配置high/medium/ low/warningDaemonSetDaemonSet存在不安全配置critical/high/ medium/lowBackdoor检查k8s中是否有后门critical/highLateral admin movementPod被特意配置到Master节点中medium/low
0 评论