突破盒子 (BOtB): 容器安全检测和利用工具
BOtB(Break out the Box)是一个强大的容器分析和利用工具,旨在帮助渗透测试员和工程师在日常工作中进行安全测试。它既适合手动操作,也能够无缝集成到CI/CD流程中。
项目简介
BOtB是一款命令行界面工具,具备以下功能:
- 利用常见的容器漏洞进行突破
- 进行容器后渗透操作
- 在缺少特定工具或二进制文件时提供解决方案
- 使用其功能与CI/CD系统一起测试容器部署
- 提供手动和自动两种模式
该工具的当前能力包括:
- 通过暴露的Docker守护进程(docker.sock)进行突破
- 利用CVE-2019-5736漏洞进行突破
- 利用权限容器和启用的CAPS/SYSCALLS进行突破
- 从Linux内核键环中提取数据
- 检测并使用Kubernetes服务账户的秘密
- 查找元数据服务端点
- 从GCP元数据端点获取信息
- 分析并识别ProcFS中的敏感字符串
- 发现UNIX域套接字
- 查找支持HTTP的UNIX域套接字
- 找出Docker守护进程
- 自定义payload劫持主机二进制文件
- 在CI/CD模式下运行并仅返回非零退出代码
- 将数据推送到S3桶
- 强制返回零退出代码(对于非阻塞的CI/CD有用)
技术分析
BOtB是用Go语言编写的,可以轻松地构建为针对目标平台的二进制文件。它提供了许多方便的功能,如容器漏洞利用、内核键环数据提取、Kubernetes秘密识别等。这些功能可以在配置文件或命令行参数中指定,使其非常适合自动化测试场景。
应用场景
- 安全评估:在容器化应用上线前进行安全扫描,确保没有常见的攻击面。
- CI/CD集成:自动检查新部署的容器是否符合安全标准。
- 监控与防御:持续监测生产环境中的容器,发现潜在的脆弱性。
- 教学与研究:学习和了解容器安全,实验不同的攻击方法和防御策略。
项目特点
- 多功能性:支持多种漏洞利用和后渗透动作。
- 灵活性:既可以手动运行,也可以在无终端的CI/CD环境中运行。
- 易安装:提供预编译二进制包和Go源码安装选项。
- CI/CD友好:能以非零退出代码报告异常情况,适合持续集成。
- 广泛的兼容性:涵盖了多种容器漏洞和系统配置。