数据安全:一次 VPS 宿主机被入侵的事件记录

本文最后更新于 2024年10月25日 中午

即使是一个经营了长达 11 年的商家,还是会出现整台 VPS 母鸡被黑客入侵的情况。

并且令人感到愤怒的是,商家还对此做了隐瞒,不愿意承认是被入侵并泄露数据,而把责任归咎于是 RAID 出现故障。

经过这次事件,我再也不想去相信中小厂的公有云服务了。

强烈建议,在任何 VPS 部署服务时,做好 数据加密存储,并不在服务器上存储任何明文的 token 或密码

以及,及时的备份数据

事件经过

1 - 系统宕机和绿云工单回复

  • 2024-10-21 16:24

我发现一台在线时长将近一年的绿云 10 周年 VPS 自动重启了。

当时没太在意,以为就是例行维护。

随后我发现我的一些需要写入数据库的服务变得不可用,比如 seafilevaultwarden

登录上服务器发现文件系统全部变成了 read-only

于是我发了一个工单:

发工单后,我发现服务器直接宕机了,并且通过 SolusVM 面板无法进行重启。

  • 2024-10-21 18:16

绿云客服回复,说是遇到了罕见的 RAID 故障。

当时我认为,这种便宜的机器也许就是 RAID0 吧,如果修不好可能数据就没了。

不过好在做了备份。

  • 2024-10-22 17:29

经过了一天的时间,发邮件询问情况。

绿云客服回复,RAID 无法恢复,只能 rebuild。

补偿是 1 年时间,或者按照购入价格全额退款。

2 - 商家的隐瞒

  • 2024-10-23 lowendtalk 网友发帖,披露 VPS 数据被入侵。

原贴地址:https://lowendtalk.com/discussion/198766/my-greencloud-vps-got-ransomwared-the-entire-mothership/p1

该网友进入了救援模式 (Rescue Mode)[1]后,可以看到所有的文件都被修改成了 xxx@cock.li

我在进行相同操作的时候,确实也发现了,所有的文件都被 改名并加密,直接 google 搜索 junglesec,可以发现这是一个黑客组织,主要以勒索攻击(ransomware)而闻名。[2]

究竟发生了什么

搜索一下关键字 junglesec, VPS, IPMI,就大概可以看懂是数据是如何被入侵的了。

IPMI(智能平台管理接口) 是一种集成在服务器主板上的系统管理固件,这种固件允许管理员在操作系统无法访问时仍能进行远程管理,例如重启系统、查看系统状态等。因此,IPMI 提供了对系统的深层次访问权限。

本次服务器攻击的步骤

  1. 通过 IPMI 登录获取访问权限

    • 攻击者首先寻找启用了 IPMI 的设备,特别是那些使用默认密码未充分加固的 IPMI 接口。

    • 一旦攻击者登录成功,就可以通过 IPMI 远程控制服务器,即使系统的操作系统崩溃也能进行操作。

  2. 重启系统进入单用户模式

    • 攻击者利用 IPMI 的远程访问功能,将目标服务器重启到单用户模式(Single User Mode)。在这个模式下,系统只加载必要的服务,并为管理员提供 root 权限,而无需输入密码。
    • 攻击者在单用户模式下可以绕过所有用户账户的认证机制,直接获得系统的最高权限。
  3. 下载并编译加密程序

    • 获得 root 权限后,攻击者在系统中下载并编译一个名为 ccrypt 的加密程序,攻击者利用它来加密系统中的所有文件。
  4. 发送勒索邮件

这并不是一个比较新鲜的攻击方式了,可以看到非常多的相关案例[3][4]

我们应该做什么

在事件发生之后,我选择了退款 + 重新迁移数据到阿里云。

同时,由于之前过于相信商家 + 懒惰,很多备份的脚本和一些其他的定时任务,比如 vps 之间的 ssh 鉴权,比如许多上传和下载的 api key 和 token,我都明文保存在了 VPS 上。

因此,我重置了一些重要平台比如 google drive, onedrive, github, gitlab 的 auth token,同时清理了所有 vps 上的 authorized_keys

还好目前部署的东西大多是玩具,这是一次很好的教训,之前用云服务的时候其实一直忽略了数据安全和隐私,觉得许多事情离我太遥远,然而当事情真正发生到自己身上时,再后悔就晚了。

一个很容易想到但是许多人压根不 care 的事情是,只要你的文件是明文存储的,那么 vps 厂商就可以读到你的明文文件。[5]

因此,当 vps 宿主机出现被入侵时,你的文件也可以被其他人明文读取

所以,最好的防护措施是:

  1. 尽量只用大厂服务。
  2. 敏感信息不上云,上云就做好端到端加密和及时的备份。
  3. 不要在 vps 的一些 cronjob 中明文配置一些密码和token。
  4. 真正重要的基础服务还是不要自建,或者采用更鲁棒的方式比如做 k3s 之类的集群,否则关键时候出问题,即使有数据备份恢复起来还是很麻烦。

相关概念

1 - rescue mode

救援模式(Rescue Mode)是虚拟专用服务器(VPS)提供的一种应急维护功能,允许用户在无法正常启动系统或发生重大问题时,进入一个最小化的操作环境进行排障和修复。它通常是一个轻量级的 Linux 环境,不依赖原有的操作系统,类似于单机版的安全模式或Live CD。

2 - junglesec

JungleSec 是一个黑客组织,主要以勒索攻击(ransomware)而闻名。该组织的活动在网络安全圈中引起了广泛关注,其主要手段是针对企业或个人的系统进行未授权访问,并通过加密文件或劫持网络基础设施实施勒索。

主要的攻击方式

  1. 勒索软件攻击
    JungleSec 通常在侵入目标系统后,将关键文件加密,并要求受害者支付赎金(通常以比特币等加密货币支付),否则威胁删除或公开敏感数据。
  2. 攻击向量
    他们利用系统中的已知漏洞弱密码、以及未充分配置的管理接口(如 IPMI,BMC)等来侵入系统。IPMI(Intelligent Platform Management Interface)是他们的主要目标之一,这是一种用于远程管理服务器的接口,如果未安全配置,就容易被攻击者利用。
  3. 赎金要求
    JungleSec 的攻击一般要求受害者支付一定金额的比特币或其他加密货币。如果不支付,受害者的数据将无法解密。

ref


数据安全:一次 VPS 宿主机被入侵的事件记录
https://moreality.net/posts/56316/
作者
Moreality
发布于
2024年10月25日
许可协议