Gorsair 是一款功能强大的针对 Docker 容器的渗透测试工具, 可以帮助广大研究人员入侵易受攻击的 Docker 容器, 并发现和访问目标 Docker 容器的 API.
关于 Gorsair
Gorsair 是一款功能强大的针对 Docker 容器的渗透测试工具, 可以帮助广大研究人员入侵易受攻击的 Docker 容器, 并发现和访问目标 Docker 容器的 API. 一旦它访问了目标 Docker 守护进程, 就可以使用 Gorsair 直接在远程容器上执行命令.
众所周知, 在外网上暴露或公开 Docker API 是一种非常危险的行为, 因为这样可以允许恶意代理获取所有其他容器, 映像和系统的信息. 如果映像使用的是 root 用户, 还可能允许攻击者获得针对整个系统的高级访问权限.
工具安装
(1) 发布版本安装
首先, 我们需要设置好需要安装的 Gorsair 发行版的 "GORSAIR_VERSION" 版本号信息.
接下来, 设置对应操作系统的 "OS" 操作系统信息 (Linux,Windows 或 darwin).
组后, 设置对应的系统架构 "ARCH"(amd64,ARM 或 ppc64le).
配置好上述内容之后, 我们就可以运行下列命令来安装 Gorsair:
curl -sS https://github.com/Ullaakut/Gorsair/releases/download/$GORSAIR_VERSION/gorsair_$OS_$ARCH --output /usr/local/bin/gorsair && chmod +x /usr/local/bin/gorsair
(2) 从代码源安装
首先, 确保已经安装好了支持所有工具模块的 Go 版本 (v1.11 及以上版本).
其次, 确保系统环境变量中已经将 "GO111MODULE" 变量设置为了 "on".
接下来, 使用下列命令将该项目源码克隆至本地, 并在项目根目录下运行构建语句:
- Git clone https://github.com/Ullaakut/Gorsair.git
- go build -o /usr/local/bin/gorsair cmd/*.go
命令行参数
-t, --targets: 根据 nmap 目标格式设置目标, 样例:--targets="192.168.1.72,192.168.1.74";
-p, --ports: (默认: 2375,2376) 设置自定义端口;
-s, --speed: (默认: 4) 设置自定义 nmap 查找预设以提高速度或准确性. 如果你试图扫描一个不稳定且速度缓慢的网络, 建议降低该值; 如果在一个性能非常好且可靠的网络上, 建议增加该值;
-D, --decoys: 要使用的诱饵 IP 地址列表
-e, --interface: 需要使用的网络接口
--proxies: 需要使用的 HTTP/SOCKS4 代理列表
-S, --spoof-ip: IP 地址欺骗所使用的 IP 地址;
--spoof-Mac: Mac 地址欺骗所使用的 Mac 地址;
-v, --verbose: 启用 Verbose 日志模式;
-h, --help: 显示工具实使用信息;
工具使用演示
如何保护自己的容器免受此类攻击
避免将可访问 Docker 套接字的容器暴露在外网中.
避免在 Docker 容器中使用 root 账号.
项目地址
Gorsair:[GitHub 传送门 https://github.com/Ullaakut/Gorsair ]
来源: http://netsecurity.51cto.com/art/202110/687255.htm