我在虚拟机上发现了一个名为金辛这里详细描述了这一点: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