突破盒子 (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秘密识别等。这些功能可以在配置文件或命令行参数中指定,使其非常适合自动化测试场景。

应用场景

  1. 安全评估:在容器化应用上线前进行安全扫描,确保没有常见的攻击面。
  2. CI/CD集成:自动检查新部署的容器是否符合安全标准。
  3. 监控与防御:持续监测生产环境中的容器,发现潜在的脆弱性。
  4. 教学与研究:学习和了解容器安全,实验不同的攻击方法和防御策略。

项目特点

  1. 多功能性:支持多种漏洞利用和后渗透动作。
  2. 灵活性:既可以手动运行,也可以在无终端的CI/CD环境中运行。
  3. 易安装:提供预编译二进制包和Go源码安装选项。
  4. CI/CD友好:能以非零退出代码报告异常情况,适合持续集成。
  5. 广泛的兼容性:涵盖了多种容器漏洞和系统配置。