Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用 镜像 ecf6dd577389 导致 Linux cpu 率 50 % #2000

Open
5 tasks done
luojiyin1987 opened this issue Dec 27, 2024 · 38 comments
Open
5 tasks done

使用 镜像 ecf6dd577389 导致 Linux cpu 率 50 % #2000

luojiyin1987 opened this issue Dec 27, 2024 · 38 comments
Labels
bug Something isn't working

Comments

@luojiyin1987
Copy link

luojiyin1987 commented Dec 27, 2024

例行检查

  • 我已确认目前没有类似 issue
  • 我已确认我已升级到最新版本
  • 我已完整查看过项目 README,尤其是常见问题部分
  • 我理解并愿意跟进此 issue,协助测试和提供反馈
  • 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

问题描述
我设置了 docker 镜像自动更新, 运行 one-api 的 docker 镜像,导致 cpu 占用率 50%。 pve 上的虚拟机,cpu i7-8550u, 分配内存8G
复现步骤
启动 docker 容器后, cpu 占用率会上升到 50 %左右
预期结果

相关截图
image

image
image
image

@luojiyin1987 luojiyin1987 added the bug Something isn't working label Dec 27, 2024
@karllao
Copy link

karllao commented Dec 27, 2024

+1,单核服务器会被占满100%

@finisitineris
Copy link

镜像疑似被加入了挖矿脚本 地址是: 107.167.83.34:443

@wyangx
Copy link

wyangx commented Dec 27, 2024

ubuntu同样的问题,启动镜像后cpu占用率会到50%
image

@luojiyin1987
Copy link
Author

镜像疑似被加入了挖矿脚本 地址是: 107.167.83.34:443

有更详细的日志吗 ? @finisitineris

@zhangolve
Copy link

是的,debug了好久。一开始vps都ssh进不去了,因为占用满了。。。

@luojiyin1987
Copy link
Author

image
用 grype 扫描一下

@finisitineris
Copy link

我目前不方便截图,但很可能是 DockerHub 的镜像被投毒了。

我服务器上镜像的更新时间如下:

time="2024-12-27T01:13:16+08:00" level=info msg="Found new justsong/one-api:v0.6.9 image (ecf6dd577389)"
time="2024-12-27T01:13:17+08:00" level=info msg="Stopping /one-api (ff6fb3e8414e) with SIGTERM"
time="2024-12-27T01:13:19+08:00" level=info msg="Creating /one-api"
time="2024-12-27T01:13:19+08:00" level=info msg="Removing image c19f59f73a94"

我从监控看到在那之后占用一直很高。

在那个时间点,DockerHub 上的版本 0.6.5 和 0.6.9 的镜像被替换为投毒后的镜像(ID: 72e46af91bb2)。

https://hub.docker.com/r/justsong/one-api/tags

我是通过 1Panel 发现服务器占用过高,进程管理中发现一个名为 "7" 的进程占用资源异常,且其父进程为 one-api。然后我查看 "7" 进程的网络连接,发现其连接到 107.167.83.34:443,Nmap 了一下 IP 发现是一个矿池。

@luojiyin1987
Copy link
Author

image
明白了

@Kosette
Copy link

Kosette commented Dec 27, 2024

DockerHub的v0.6.5-v0.6.9,以及latest应该全部被投毒了,都是一样的sha256。如果还能拿回账号控制权的话,建议先删除相应的tag镜像,避免更多的人中招,如果无法拿回控制权,建议置顶发出警告。

@Kosette
Copy link

Kosette commented Dec 27, 2024

看了一下 ghcr.io 的镜像更新时间还是6天前,应该只是DockerHub被拿下了,可以考虑使用 ghcr.io/songquanpeng/one-api:v0.6.9

@songquanpeng
Copy link
Owner

我先撤销所有 token

@songquanpeng
Copy link
Owner

image 我昨天并没有推送

@songquanpeng
Copy link
Owner

image

@songquanpeng
Copy link
Owner

初步判断是用于 One API 推送 docker 镜像的密钥被泄露了,该密钥仅用于 GitHub Actions

@songquanpeng
Copy link
Owner

初步判断只是 token 泄露了,稳妥起见我已经撤销所有 token,重置密码,并 enable 2fa:
image

@songquanpeng
Copy link
Owner

我先重新推送一个 latest 镜像

@binaryYuki
Copy link

binaryYuki commented Dec 27, 2024

镜像疑似被加入了挖矿脚本 地址是: 107.167.83.34:443

已提交abuse report 希望能降低影响

能反查到的是 https://phx02.supportxmr.com 以及 pool-phx.supportxmr.com
上线是https://supportxmr.com/ 这个一个矿池

@songquanpeng
Copy link
Owner

我先重新推送一个 latest 镜像

暂未推送,还是先找出原因吧

@songquanpeng
Copy link
Owner

songquanpeng commented Dec 27, 2024

image 根据官方描述,密钥是不会被 fork 利用的,但可能被合作者利用,稳妥起见,我先撤销所有合作者权限(各位见谅),先等原因确定后再加回来

@songquanpeng
Copy link
Owner

songquanpeng commented Dec 27, 2024

image

GitHub Action 先 disable 了

@yihong0618
Copy link

image

GitHub Action 先 disable 了

你可以用这个项目自查一下看看可能攻击的手段然后定位问题

https://github.com/woodruffw/zizmor

@songquanpeng
Copy link
Owner

image GitHub Action 先 disable 了

先临时推送了一个版本

@MrHongping
Copy link

WechatIMG2
就是这个玩意儿,逼得没办法 重做了系统

@ous50
Copy link

ous50 commented Dec 27, 2024

请问这个是 Docker Hub 被攻击者利用了打包一个xmrig在docker hub里面并发包吗(?

@duskcouple
Copy link

太坑了

@binaryYuki
Copy link

请问这个是 Docker Hub 被攻击者利用了打包一个xmrig在docker hub里面并发包吗(?

可以简单理解为封装了xmrig后将每台机器作为一个 worker 挖矿(?

@songquanpeng
Copy link
Owner

WechatIMG2 就是这个玩意儿,逼得没办法 重做了系统

从容器中逃逸出来了吗?

@tiancool
Copy link

root@xxx:~# ps -ef|grep xmeig root 767282 767230 0 08:46 pts/1 00:00:00 grep --color=auto xmeig
检出这个只有这一行,是被挖矿了吗

@markintouch
Copy link

我运行docker习惯性加了--cap-drop=ALL。宿主机应该不需要重装吧。

@cnrenil
Copy link

cnrenil commented Dec 28, 2024

root@xxx:~# ps -ef|grep xmeig root 767282 767230 0 08:46 pts/1 00:00:00 grep --color=auto xmeig
检出这个只有这一行,是被挖矿了吗

不是,放心。你可以自己去htop看一下,使用/开始过滤,如果没有的话就没问题。

@duskcouple
Copy link

把已经部署的容器包括镜像都删除就好了,应该是没有从容易逃逸感染到宿主机。

@Kosette
Copy link

Kosette commented Dec 28, 2024

原则上是不会从容器中逃逸的,停止并且删除容器,重启服务器可以解决问题。

@songquanpeng
Copy link
Owner

这个事情我本周末还会再追一下

@luojiyin1987
Copy link
Author

root@xxx:~# ps -ef|grep xmeig root 767282 767230 0 08:46 pts/1 00:00:00 grep --color=auto xmeig
检出这个只有这一行,是被挖矿了吗

不是,放心。你可以自己去htop看一下,使用/开始过滤,如果没有的话就没问题。

https://github.com/CISOfy/lynis 审计一下系统

@Whichbfj28
Copy link

先确认下。那些版本会受到影响。6个月前的 v0.6.7版本有没有问题

@songquanpeng
Copy link
Owner

先确认下。那些版本会受到影响。6个月前的 v0.6.7版本有没有问题

攻击者是周五推送的,其当时重新推送了v0.6.5到v0.6.9之间的正式版本,如果你周五没更新受影响版本就不受影响

@ours1505
Copy link

WechatIMG2 就是这个玩意儿,逼得没办法 重做了系统

猫池 把启动参数复制出来 可以去投诉投毒的钱包地址

c3pool.org

@Oakleysecurity
Copy link

谁还有被投毒的镜像样本吗,我想分析一下攻击者是怎么封装的xmrig

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests