如何使用Gorsair入侵远程Docker容器并暴露API

VSole2021-10-25 18:24:14

关于Gorsair

Gorsair是一款功能强大的针对Docker容器的渗透测试工具,可以帮助广大研究人员入侵易受攻击的Docker容器,并发现和访问目标Docker容器的API。一旦它访问了目标Docker守护进程,就可以使用Gorsair直接在远程容器上执行命令。

众所周知,在外网上暴露或公开Docker API是一种非常危险的行为,因为这样可以允许恶意代理获取所有其他容器、映像和系统的信息。如果映像使用的是root用户,还可能允许攻击者获得针对整个系统的高级访问权限。

工具安装

发布版本安装

首先,我们需要设置好需要安装的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

从代码源安装

首先,确保已经安装好了支持所有工具模块的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:【https://github.com/Ullaakut/Gorsair】

参考资料

https://nmap.org/book/man-target-specification.html
https://nmap.org/book/man-performance.html
https://nmap.org/book/man-bypass-firewalls-ids.html
https://nmap.org/book/man-bypass-firewalls-ids.html


dockerdocker命令
本作品采用《CC 协议》,转载必须注明作者和本文链接
此漏洞/攻击取决于 Kubernetes 集群的配置方式。
Docker容器入门指北
2022-05-11 06:43:31
Docker 是一种基于 Linux 的容器化技术,类似于轻量的虚拟机。它采用 C/S 架构,使用Go语言开发。Docker 分为 2 个版本:社区版和企业版,社区版免费,企业版是收费的
1Docker 迁移存储目录默认情况系统会将 Docker 容器存放在 /var/lib/docker 目录下[问题起因]?今天通过监控系统,发现公司其中一台服务器的磁盘快慢,随即上去看了下,发现?由上述原因,我们都知道,在?中存储的都是相关于容器的存储,所以也不能随便的将其删除掉。设备进行扩容来达到相同的目的。的详细参数,请点击查看?但是需要注意的一点就是,尽量不要用软链, 因为一些?容器编排系统不支持这样做,比如我们所熟知的?发现容器启动不了了
如果您希望启动并运行一个强大的 ERP 解决方案,Jack Wallen 可以通过 Odoo 和 Docker 提供解决方案。
七个杀手级Docker命令
2023-12-22 15:19:58
Docker是一个容器化平台,通过操作系统级别的虚拟化技术,实现软件的打包和容器化运行。借助Docker,开发人员能够将应用程序以容器的形式进行部署,但在此之前需要构建Docker镜像。只要熟悉相关Docker命令,开发人员就能轻松完成所有这些步骤,从而实现应用程序的容器化部署。本文将根据使用场景对 Docker 命令进行分类介绍。1 构建 Docker 镜像构建 Docker 镜像需要使用 Do
首先,对Docker架构以及基本安全特性进行介绍,分析了Docker面临的安全威胁。由于Docker拥有轻量化、高效率和易部署的特点,目前已被广泛应用于云计算和微服务架构中。本文对Docker安全相关的研究思路、方法和工具进行比较和分析,并指出未来可能的研究方向。此外,Iptables的限制范围有限,容器网络仍然容易受到数据链路层攻击,如ARP欺骗等。
独立的Docker Swarm1.2.3以上版本。旧版本的Portainer支持独立Docker Swarm,而Portainer 1.17.0和更新版本不支持它。但是,对于一般需求,Portainer可能并不适合。此外,DockStation在Docker Hub上十分的受欢迎。未来,会重构成 Spring Cloud Alibaba 。
你是否还在大量控制台窗口中监控容器,还是对使用终端命令充满热情?而使用Docker的图形用户界面(GUI)工具,则可以更简单的对容器进行管理,并提高效率。而且它们都是免费的。
事先准备一台linux主机,并且已安装好docker环境。centos安装docker环境如下:查询可安装版本:
VSole
网络安全专家