如何检查 Docker API 中是否配置了错误的 Docker API 端口

如何检查 Docker API 中是否配置了错误的 Docker API 端口

我在虚拟机上发现了一个名为金辛这里详细描述了这一点:https://sysdig.com/blog/zoom-into-kinsing-kdevtmpfsi/

虽然我可以清除虚拟机中的感染,但有趣的问题是攻击者如何获取恶意软件。

不同的资源对这些切入点达成了共识:

  • 不安全的 Redis 镜像

    B 阿帕奇太阳能

    C 过时的 PHP 模块

    D Docker API 端口配置错误

攻击模式首先由攻击者识别出已在公共互联网上开放的错误配置的 Docker API 端口。(https://blog.aquasec.com/threat-alert-kinsing-malware-container-vulnerability

虽然我不使用 AC,但我的问题是我对易受攻击的 Docker Api 端口的检查是否正确。我正在关注这个指导

我从外部执行了 NMAP,结果如下:

sudo nmap -sTV -p 2376 SERVER_IP
Starting Nmap 7.80 ( https://nmap.org ) at 2020-12-22 20:07 CET
Nmap scan report for SERVER_IP
Host is up (0.037s latency).

PORT     STATE    SERVICE VERSION
2376/tcp filtered docker

在服务器上我确实检查了:

sudo netstat -ltnp 

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      1137/smbd       
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      962/sshd        
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1072/master     
tcp        0      0 0.0.0.0:6556            0.0.0.0:*               LISTEN      954/xinetd      
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1137/smbd       
tcp6       0      0 :::139                  :::*                    LISTEN      1137/smbd       
tcp6       0      0 :::80                   :::*                    LISTEN      1456/docker-proxy
tcp6       0      0 :::22                   :::*                    LISTEN      962/sshd        
tcp6       0      0 :::5432                 :::*                    LISTEN      1470/docker-proxy
tcp6       0      0 :::25                   :::*                    LISTEN      1072/master     
tcp6       0      0 :::443                  :::*                    LISTEN      1392/docker-proxy
tcp6       0      0 :::445                  :::*                    LISTEN      1137/smbd 

由于我没有看到 Dockerd 在监听端口 2375 或 2376,所以我认为我的 Docker 端口是安全的。

它是否正确?

答案1

好吧,从你的 netstat 来看,你的 docker 运行了一个 web 服务器(80 和 443),恶意软件可以进入你的服务器,可能是由于设置正在运行的容器或任何正在运行的易受攻击的 web 应用程序的权限和所有权时出现错误,因为容器上的默认访问权限是 root,所以攻击者可以从中利用它。

回到主题,你可以从中看到docker API

systemctl status docker -l

如果 docker API 公开并且处于活动状态,你会看到如下 PID:

 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --some-flag-or-option:2375

相关内容