Metarget/metarget
GitHub: Metarget/metarget
Metarget 是一个自动化构建脆弱云原生基础设施的框架,通过一键命令快速部署包含已知漏洞的靶机环境,解决安全研究中漏洞环境搭建耗时过长的问题。
Stars: 1408 | Forks: 202
权限维持/逃逸到宿主机
横向移动/逃逸到宿主机
防御绕过/在宿主机上构建镜像| |[cve-2019-13139](vulns_cn/docker/cve-2019-13139.yaml)|docker|command_execution|[8.4](https://nvd.nist.gov/vuln/detail/CVE-2019-13139)|[链接](writeups_cnv/docker-cve-2019-13139)| |[cve-2019-14271](vulns_cn/docker/cve-2019-14271.yaml)|docker|container_escape|[9.8](https://nvd.nist.gov/vuln/detail/CVE-2019-14271)|[链接](writeups_cnv/docker-cve-2019-14271)| |[cve-2020-15257](vulns_cn/docker/cve-2020-15257.yaml)|docker/containerd|container_escape|[5.2](https://nvd.nist.gov/vuln/detail/CVE-2020-15257)|[链接](writeups_cnv/docker-containerd-cve-2020-15257)| |[cve-2019-5736](vulns_cn/docker/cve-2019-5736.yaml)|docker/runc|container_escape|[8.6](https://nvd.nist.gov/vuln/detail/CVE-2019-5736)|| |[cve-2019-16884](vulns_cn/docker/cve-2019-16884.yaml)|docker/runc|container_escape|[7.5](https://nvd.nist.gov/vuln/detail/CVE-2019-16884)|| |[cve-2021-30465\*](vulns_cn/docker/cve-2021-30465.yaml)|docker/runc|container_escape|[7.6](https://nvd.nist.gov/vuln/detail/CVE-2021-30465)|[链接](writeups_cnv/docker-runc-cve-2021-30465)| |[cve-2024-21626](vulns_cn/docker/cve-2024-21626.yaml)|docker/runc|container_escape|[8.6](https://nvd.nist.gov/vuln/detail/CVE-2024-21626)|| |[cve-2017-1002101](vulns_cn/kubernetes/cve-2017-1002101.yaml)|k8s|container_escape|[9.6](https://nvd.nist.gov/vuln/detail/CVE-2017-1002101)|[链接](https://github.com/brant-ruan/cloud-native-security-book/blob/main/appendix/CVE-2017-1002101:突破隔离访问宿主机文件系统.pdf)| |[cve-2018-1002105](vulns_cn/kubernetes/cve-2018-1002105.yaml)|k8s|privilege_escalation|[9.8](https://nvd.nist.gov/vuln/detail/CVE-2018-1002105)|| |[cve-2018-1002100](vulns_cn/kubernetes/cve-2018-1002100.yaml)|k8s/kubectl|container_escape|[5.5](https://nvd.nist.gov/vuln/detail/CVE-2018-1002100)|| |[cve-2019-1002101](vulns_cn/kubernetes/cve-2019-1002101.yaml)|k8s/kubectl|container_escape|[5.5](https://nvd.nist.gov/vuln/detail/CVE-2019-1002101)|| |[cve-2019-11246](vulns_cn/kubernetes/cve-2019-11246.yaml)|k8s/kubectl|container_escape|[6.5](https://nvd.nist.gov/vuln/detail/CVE-2019-11246)|| |[cve-2019-11249](vulns_cn/kubernetes/cve-2019-11249.yaml)|k8s/kubectl|container_escape|[6.5](https://nvd.nist.gov/vuln/detail/CVE-2019-11249)|| |[cve-2019-11251](vulns_cn/kubernetes/cve-2019-11251.yaml)|k8s/kubectl|container_escape|[5.7](https://nvd.nist.gov/vuln/detail/CVE-2019-11251)|| |[cve-2019-11253](vulns_cn/kubernetes/cve-2019-11253.yaml)|k8s|denial_of_service|[7.5](https://nvd.nist.gov/vuln/detail/CVE-2019-11253)|| |[cve-2019-9512](vulns_cn/kubernetes/cve-2019-9512.yaml)|k8s|denial_of_service|[7.5](https://nvd.nist.gov/vuln/detail/CVE-2019-9512)|| |[cve-2019-9514](vulns_cn/kubernetes/cve-2019-9514.yaml)|k8s|denial_of_service|[7.5](https://nvd.nist.gov/vuln/detail/CVE-2019-9514)|| |[cve-2019-9946](vulns_cn/kubernetes/cve-2019-9946.yaml)|k8s|traffic_interception|[7.](https://nvd.nist.gov/vuln/detail/CVE-2019-9946)|| |[cve-2020-8554](vulns_cn/kubernetes/cve-2020-8554.yaml)|k8s|man_in_the_middle|[5.0](https://nvd.nist.gov/vuln/detail/CVE-2020-8554)|| |[cve-2020-10749](vulns_cn/kubernetes/cve-2020-10749.yaml)|k8s/kubernetes-cni|man_in_the_middle|[6.0](https://nvd.nist.gov/vuln/detail/CVE-2020-10749)|| |[cve-2020-8555](vulns_cn/kubernetes/cve-2020-8555.yaml)|k8s|server_side_request_forgery|[6.3](https://nvd.nist.gov/vuln/detail/CVE-2020-8555)|| |[cve-2020-8557](vulns_cn/kubernetes/cve-2020-8557.yaml)|k8s|denial_of_service|[5.5](https://nvd.nist.gov/vuln/detail/CVE-2020-8557)|| |[cve-2020-8558](vulns_cn/kubernetes/cve-2020-8558.yaml)|k8s|exposure_of_service|[8.8](https://nvd.nist.gov/vuln/detail/CVE-2020-8558)|| |[cve-2020-8559](vulns_cn/kubernetes/cve-2020-8559.yaml)|k8s|privilege_escalation|[6.8](https://nvd.nist.gov/vuln/detail/CVE-2020-8559)|| |[cve-2021-25741](vulns_cn/kubernetes/cve-2021-25741.yaml)|k8s|container_escape|[8.1](https://nvd.nist.gov/vuln/detail/CVE-2021-25741)|| |[cve-2022-0811](vulns_cn/kubernetes/cve-2022-0811.yaml)|k8s|container_escape|[8.8](https://nvd.nist.gov/vuln/detail/CVE-2022-0811)|[链接](writeups_cnv/kubernetes-cve-2022-0811)| |[cve-2016-5195](vulns_cn/kernel/cve-2016-5195.yaml)|kernel|container_escape|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2016-5195)|| |[cve-2016-8655](vulns_cn/kernel/cve-2016-8655.yaml)|kernel|privilege_escalation|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2016-8655)|| |[cve-2017-6074](vulns_cn/kernel/cve-2017-6074.yaml)|kernel|privilege_escalation|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2017-6074)|| |[cve-2017-7308](vulns_cn/kernel/cve-2017-7308.yaml)|kernel|container_escape|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2017-7308)|[链接](writeups_cnv/kernel-cve-2017-7308)| |[cve-2017-16995](vulns_cn/kernel/cve-2017-16995.yaml)|kernel|privilege_escalation|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2017-16995)|| |[cve-2017-1000112](vulns_cn/kernel/cve-2017-1000112.yaml)|kernel|container_escape|[7.0](https://nvd.nist.gov/vuln/detail/CVE-2017-1000112)|[链接](writeups_cnv/kernel-cve-2017-1000112)| |[cve-2018-18955](vulns_cn/kernel/cve-2018-18955.yaml)|kernel|privilege_escalation|[7.0](https://nvd.nist.gov/vuln/detail/CVE-2018-18955)|| |[cve-2020-14386](vulns_cn/kernel/cve-2020-14386.yaml)|kernel|container_escape|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2020-14386)|| |[cve-2021-3493](vulns_cn/kernel/cve-2021-3493.yaml)|kernel|privilege_escalation|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2021-3493)|[链接](writeups_cnv/kernel-cve-2021-3493)| |[cve-2021-4204](vulns_cn/kernel/cve-2021-4204.yaml)|kernel|privilege_escalation|[-](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4204)|| |[cve-2021-22555](vulns_cn/kernel/cve-2021-22555.yaml)|kernel|container_escape|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2021-22555)|| |[cve-2022-0185](vulns_cn/kernel/cve-2022-0185.yaml)|kernel|container_escape|[8.4](https://nvd.nist.gov/vuln/detail/CVE-2022-0185)|| |[cve-2022-0492](vulns_cn/kernel/cve-2022-0492.yaml)|kernel|container_escape|[7.8](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0492)|[链接](writeups_cnv/kernel-cve-2022-0492)| |[cve-2022-0847](vulns_cn/kernel/cve-2022-0847.yaml)|kernel|container_escape|[7.8](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0847)|[链接](writeups_cnv/kernel-cve-2022-0847)| |[cve-2022-0995\*](vulns_cn/kernel/cve-2022-0995.yaml)|kernel|privilege_escalation|[7.1](https://nvd.nist.gov/vuln/detail/CVE-2022-0995)||[链接](writeups_cnv/kernel-cve-2022-0995) |[cve-2022-25636\*](vulns_cn/kernel/cve-2022-25636.yaml)|kernel|privilege_escalation|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2022-25636)|| |[cve-2022-23222](vulns_cn/kernel/cve-2022-23222.yaml)|kernel|privilege_escalation|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2022-23222)|| |[cve-2022-27666\*](vulns_cn/kernel/cve-2022-27666.yaml)|kernel|privilege_escalation|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2022-27666)|| |[cve-2023-3269\*](vulns_cn/kernel/cve-2023-3269.yaml)|kernel|privilege_escalation|[7.8](https://nvd.nist.gov/vuln/detail/CVE-2023-3269)|| |[kata-escape-2020](vulns_cn/kata-containers/kata-escape-2020.yaml)|kata-containers|container_escape|[6.3](https://nvd.nist.gov/vuln/detail/CVE-2020-2023)/[8.8](https://nvd.nist.gov/vuln/detail/CVE-2020-2025)/[8.8](https://nvd.nist.gov/vuln/detail/CVE-2020-2026)|| |[cve-2020-27151](vulns_cn/kata-containers/cve-2020-27151.yaml)|kata-containers|container_escape|[8.8](https://nvd.nist.gov/vuln/detail/CVE-2020-27151)|| |[cap_dac_read_search-container](vulns_cn/configs/cap_dac_read_search-container.yaml)|config|container_escape|-|[链接](writeups_cnv/config-cap_dac_read_search-container)| |[cap_sys_admin-container](vulns_cn/configs/cap_sys_admin-container.yaml)|config|container_escape|-|| |[cap_sys_ptrace-container](vulns_cn/configs/cap_sys_ptrace-container.yaml)|config|container_escape|-|| |[cap_sys_module-container](vulns_cn/configs/cap_sys_module-container.yaml)|config|container_escape|-|[链接](writeups_cnv/config-cap_sys_module-container)| |[privileged-container](vulns_cn/configs/privileged-container.yaml)|config|container_escape|-|[链接](writeups_cnv/config-privileged-container)| |[k8s_backdoor_daemonset](vulns_cn/configs/k8s_backdoor_daemonset.yaml)|config|persistence|-|[链接](writeups_cnv/config-k8s-backdoor-daemonset)| |[k8s_backdoor_cronjob](vulns_cn/configs/k8s_backdoor_cronjob.yaml)|config|persistence|-|[链接](writeups_cnv/config-k8s-backdoor-cronjob)| |[k8s_shadow_apiserver](vulns_cn/configs/k8s_shadow_apiserver.yaml)|config|persistence|-|[链接](writeups_cnv/config-k8s-shadow_apiserver)| |[k8s_node_proxy](vulns_cn/configs/k8s_node_proxy.yaml)|config|privilege_escalation|-|[链接](writeups_cnv/config-k8s-node-proxy)| |[mount-docker-sock](vulns_cn/mounts/mount-docker-sock.yaml)|mount|container_escape|-|[链接](writeups_cnv/mount-docker-sock)| |[mount-host-etc](vulns_cn/mounts/mount-host-etc.yaml)|mount|container_escape|-|| |[mount-host-procfs](vulns_cn/mounts/mount-host-procfs.yaml)|mount|container_escape|-|[链接](writeups_cnv/mount-host-procfs)| |[mount-var-log](vulns_cn/mounts/mount-var-log.yaml)|mount|container_escape|-|[链接](writeups_cnv/mount-var-log)| 注意: - 目前 writeup 为中文。 - 在调试时建议添加 `--verbose` 选项。 - 你可能会发现一些内核漏洞被标记为 `privilege_escalation`,而另一些则是 `container_escape`。本质的区别在于 payload(直接获取高权限 shell 还是先进行逃逸)。 - 由于容器中默认的安全机制(例如 Seccomp、Capabilities),某些内核漏洞可能很难或几乎无法利用。 - 因此,如果我们能用 Metarget 复现整个过程,则漏洞被标记为 `container_escape`,其他则暂时标记为 `privilege_escalation`。 - 对于 **cve-2021-30465**,在执行 `cnv install cve-2021-30465`(用于安装 Docker)之后, - 为了进行漏洞利用,你最好手动安装一个 K8s(例如使用 Metarget 运行 `cnv install cve-2018-1002105` 或 `gadget install k8s --version 1.16.5`)。 - 对于以下内核漏洞,运行 Metarget 需要 Ubuntu 21.10(已测试): - cve-2022-0995 - cve-2022-25636 - cve-2022-27666 ### 4.2 与云原生应用相关的漏洞场景 这些场景主要源自其他开源项目: - [Vulhub](https://github.com/vulhub/vulhub) - [DVWA](https://github.com/digininja/DVWA) 我们对上述项目表示诚挚的感谢! Metarget 将上述项目中的场景转换为 Kubernetes 中的 *Deployments* 和 *Services* 资源(感谢 [kompose](https://github.com/kubernetes/kompose))。 要列出 Metarget 支持的与云原生应用相关的漏洞场景,只需运行: ``` ./metarget appv list ``` 注意: - 关于 [Confluence 漏洞 CVE-2019-3396](vulns_app/confluence/CVE-2019-3396) 的部署,你可以参考 [Vulhub](https://github.com/vulhub/vulhub/blob/master/confluence/CVE-2019-3396/README.zh-cn.md),但 PostgreSQL 的地址应为 `cve-2019-3396-db`,而不是 Vulhub 中的 `db`。 ## 5 演示 [](https://asciinema.org/a/407107) ## 6 开发计划 - [x] 基础云原生组件的部署(docker、k8s) - [x] 与云原生组件相关的漏洞场景集成 - [x] 容器内 RCE 场景的集成 - [x] 云原生漏洞镜像 - [x] 多节点云原生靶机集群的自动化构建 - [ ] 复杂云原生应用漏洞场景的集成 - 其他云原生漏洞场景的集成(长期计划) ## 7 维护者 - [@brant-ruan](https://github.com/brant-ruan) - [@ListenerMoya](https://github.com/ListenerMoya) - [@Lvzhizheng](https://github.com/Lvzhizheng) ## 8 贡献 Metarget 的目标之一是在发生漏洞时促进更快速地构建漏洞环境。同时,它也可以用来随时构建所有已集成的漏洞场景。 为了保持 Metarget 的时效性,我们将持续维护漏洞场景列表(包括 `cnv` 和 `appv`)。 Metarget 使用 *YAML* 来描述和集成漏洞场景。目前支持两层场景:`cnv`(位于 `vulns_cn/` 中)和 `appv`(位于 `vulns_app/` 中)。 目前,你可以通过两种方式为 Metarget 做出贡献: 1. 提交新云原生组件漏洞的 YAML 文件。 2. 提交新云原生应用漏洞的 YAML 文件。 ## 9 合作(通过 lvzhizheng@nsfocus.com 联系我们) 我们热忱欢迎与大学、科研机构和其他学术实体进行合作!Metarget 致力于成为云原生安全领域前沿研究的理想实验平台。我们相信,云原生安全将成为未来网络安全的前沿课题,而 Metarget 为此提供了理想的研究环境。 通过我们强大且灵活的框架,你可以深入研究云原生环境的安全挑战,发现和探索创新的解决方案,并将你的专业知识和发现贡献给整个行业的发展。 1. **多样化的实验场景:** 利用 Metarget 轻松构建各种脆弱的云原生靶机环境,涵盖从简单到复杂的各种实验场景,例如云原生电商平台和云原生在线课程系统。 2. **云原生漏洞镜像:** 无需任何脚本辅助,即可直接获取漏洞环境。 3. **支持多版本的 Kernel、Kubernetes 及其他云原生组件:** Metarget 不断更新以支持最新版本的组件,确保你在实验中能够使用最新技术。 4. **Ubuntu 版本定制:** 我们将根据你的实验需求量身定制 Ubuntu 版本,为你提供更加灵活的实验环境配置。 5. **多节点云原生集群的自动化生成:** Metarget 提供自动创建多节点云原生靶机集群的功能,增强了你研究的真实性和深度。 6. ... ## 10 关于 Logo 它不是 Kubernetes,而是一个带有三个无法正常运转的齿轮(脆弱)的基础设施 :) ## 10 开源许可 Metarget 采用 Apache License 2.0 进行授权。有关完整的许可证文本,请参阅 [LICENSE](LICENSE)。 ## 11 活动 ### KCon 2021 Arsenal - URL: http://kcon.knownsec.com/2021/#/arsenal ### OpenInfra Days Asia 2021 - 主题:Metarget:脆弱云原生基础设施的自动化构建 - 视频:https://www.youtube.com/watch?v=43UvCHjn8wA - PPT:[OID-Asia-2021-Metarget.pdf](https://github.com/brant-ruan/slides-and-papers/blob/master/OID-Asia-2021-Metarget.pdf) ### OpenInfra Days China 2021 - 主题:Metarget:构建云原生基础设施靶场 - PPT:[OID-China-2021-Metarget.pdf](https://github.com/brant-ruan/slides-and-papers/blob/master/OID-China-2021-Metarget.pdf) ### CCF BDTC 2021 - 主题:构建云原生基础设施靶场 ### 论文引用 (IEEE TPS-ISA 2021) - 论文:Security Challenges in the Container Cloud - PDF:[TPS21.pdf](https://github.com/brant-ruan/slides-and-papers/blob/master/TPS21.pdf) ### CSDN 云原生安全技术峰会 2022 - 主题:攻方视角:从开源靶场看云原生安全 -PT:[CSDN云原生安全技术峰会-2022-攻方视角:从开源靶场看云原生安全.pdf](https://github.com/brant-ruan/slides-and-papers/blob/master/CSDN%E4%BA%91%E5%8E%9F%E7%94%9F%E5%AE%89%E5%85%A8%E6%8A%80%E6%9C%AF%E5%B3%B0%E4%BC%9A-2022-%E6%94%BB%E6%96%B9%E8%A7%86%E8%A7%92%EF%BC%9A%E4%BB%8E%E5%BC%80%E6%BA%90%E9%9D%B6%E5%9C%BA%E7%9C%8B%E4%BA%91%E5%8E%9F%E7%94%9F%E5%AE%89%E5%85%A8.pdf) ### 论文引用 (IC2E 2022) - 论文:PACED: Provenance-based Automated Container Escape Detection - PDF:[IC2E-2022.PACED.pdf](http://www.csl.sri.com/users/gehani/papers/IC2E-2022.PACED.pdf) ### CIS 2022 - 主题:Metarget:云原生安全研究与自动化 - URL:https://cis.freebuf.com ### Metarget 加入 CNCF Landscape - URL:https://landscape.cncf.io/?selected=metarget ### KCD 上海 2024
标签:子域名突变, 安全渗透, 请求拦截, 逆向工具