安全事件 – BGP 劫持 – Virtualizor

Lobsters Hottest 新闻

摘要

一次 BGP 劫持攻击将流量重定向到 Softaculous 服务,导致在 2026 年 8 月 28 日至 30 日期间,一些用户收到了恶意的 Virtualizor 更新。该事件已得到解决,并建议操作员检查是否存在入侵。

<p><a href="https://lobste.rs/s/6e1y6s/security_incident_bgp_hijacking">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/09/03 03:59

# 安全事件 – BGP 劫持 – Virtualizor 来源:https://www.virtualizor.com/blog/security-incident-bgp-hijacking/ 安全事件 – BGP 劫持 ## 摘要 在**2026年8月28日大约20:57 UTC**至**2026年8月30日大约06:10 UTC**期间,Softaculous 服务所使用的一个 IP 地址段(`162.55.80.0/24`,是我们 Hetzner 基础设施的一部分)遭受了**BGP 劫持**:一个不相关的网络未经授权宣布了该地址空间,导致发往这些地址的互联网流量被重定向到攻击者运营的服务器。攻击者为其域名获取了**技术上有效的 TLS 证书**,因此受劫持影响的连接未显示证书警告。 受影响的地址服务于,除其他系统外,我们的**软件更新端点**以及我们的**客户区域/计费网站**。 **我们已确认,一个恶意的 Virtualizor 更新包被传递给了少数在流量被重定向期间检查更新的安装**。这影响了少数服务器,而非一般的 Virtualizor 用户群。由于恶意响应由攻击者的系统提供且从未到达我们自己的日志,我们无法生成受影响服务器的明确列表,因此每位 Virtualizor 运营者都应执行“**如果您运行 Virtualizor**”部分中的检查。我们**尚未**发现任何其他产品的恶意软件包;相关调查仍在进行中。 路由现已完全恢复。我们已根据公共路由数据逐分钟重建了事件;完整的测量表包含在下文中。 ## 发生了什么 互联网网络之间的流量使用**BGP**(边界网关协议)进行路由,该系统历史上依赖于网络之间相互信任对方的路由通告。在**BGP 劫持**中,一个网络会宣布它并不控制的 IP 地址范围,从而将发往这些地址的流量吸引过来。 在**2026年8月28日大约20:57 UTC**,网络**AS62390 (NexonHost)** 开始未经授权地宣布 `162.55.80.0/24`——这是 Hetzner 地址空间的一部分,包含多个 Softaculous 系统的 IP 地址——并通过过境提供商 **AS6204 (Zet.net (http://zet.net/))** 进行路由。该通告比 Hetzner 对周围区块(`162.55.0.0/16`)的正常通告*更具体*,因此在**接受它的每一个网络**上,根据标准的 BGP 路由选择规则,它都优先。该通告在 AS 路径上保留了 AS24940 (Hetzner) 作为明显的来源。 攻击者的服务器能够从公共证书颁发机构 (Let’s Encrypt) 为其域名获取**有效的 TLS 证书**,因为证书颁发机构的自动化域名所有权验证*也*被重定向通过了劫持路径。因此,受劫持影响的连接**不会**显示浏览器或客户端证书警告。该证书覆盖了我们产品的多个域名,包括 `virtualizor.com`、`api.virtualizor.com` 和 `files.virtualizor.com`;完整列表在附录 A 中。 --- ## 时间线 所有时间均为 UTC。起止时间通过公共 RIPE 路由数据得到证实,而非仅依赖于提供商报告。 时间 | 事件 ---|--- **8月28日,~20:57** | AS62390 开始未经授权地通过 AS6204 宣布 `162.55.80.0/24`。由于它比合法路由更具体,在传播到的任何地方都赢得了路由选择,导致受影响地址的流量被重定向。 **8月28日 ~21:00 - 8月29日 ~08:50** | **第一波。** 未经授权的路由基本上被每一个接收到它的互联网观测点接受。该路由极不稳定,并在整个期间持续波动。 **8月29日,~08:00-08:50** | 独立证实存在主动拦截:重定向路径上的一个主机使用欺诈获得但技术上有效的证书为 Softaculous 域名提供服务。 **8月29日,~08:50** | 在我们向 Hetzner 报告劫持并多次升级后,Hetzner 开始直接宣布 `162.55.80.0/24`。流量重定向在几分钟内降至零。 **8月29日 ~09:00 - ~20:00** | **平静期。** 大约 11 小时几乎没有重定向——首先是因为 Hetzner 的直接通告有效,然后是因为被劫持的和用于纠正的 `/24` 都被撤回,流量恢复到合法的 `/16` 路由。 **8月29日 ~20:00 - 8月30日 ~06:00** | **第二波。** 未经授权的通告再次持续约 10 小时,同样被每一个接收到它的观测点接受。 **8月30日,~05:50-06:10** | 未经授权的路由被撤回,全球范围内的正常路由恢复。 **8月30日,06:10 之后** | 未再观察到重定向。在公共路由数据中已验证干净,至少到 8月30日 10:00 UTC。 --- ## 影响范围及测量方法 **方法。** RIPE 的路由信息服务 (RIS) 运营着 **368 个收集器对等点**——一个主要由全球大型过境和互联网交换网络组成的样本。在事件期间的每个 10 分钟时间点,我们检索 `162.55.80.0/24` 的重构路由表,并统计在持有该前缀路由的对等点中: - **被重定向** —— 最佳路径经过 **AS62390**(劫持者); - **在干净的 /24 上** —— 最佳路径是合法的 `/24`(Hetzner 来源,没有 AS62390);这只存在于 Hetzner 开始直接宣布 `/24` 作为反制措施之后; - **没有 `/24` 路由**的对等点会回退到 Hetzner 的正常 `162.55.0.0/16`,并且**未被**重定向。 RIS 对等点中最佳路径经过劫持者的比例,是衡量发送到该地址范围的流量中有多少比例被送往攻击者的标准代理指标。这是一个路由拓扑度量,而非字节计数。 **我们的发现。** 测量项 | 值 ---|--- 事件窗口 | 8月28日 20:57 UTC -> 8月30日 ~06:10 UTC(约33.3小时) 在某个时刻承载过被劫持路由的不同 RIS 对等点数 | 368个中的368个(整个 RIS 对等点集合) 当波次活跃时的最大重定向比例 | 约100%的持有 `/24` 路由的对等点——中位数**266**,范围**145-272**——即完整368对等点 RIS 集合的**约72%** 每个快照中显示的来源 AS | AS24940 (Hetzner) —— 劫持者将真正的来源保留在 AS 路径尾部,自身从未作为来源出现 整个33小时的时间加权平均重定向比例 | 所有368个 RIS 对等点的**约28%** / 在任何给定时刻,承载路由的对等点的**约65%** 持续的波次 | 两次:8月28日 ~21:00 -> 8月29日 ~08:50,以及 8月29日 ~20:00 -> 8月30日 ~06:00 波次之间的间隙 | 约11小时几乎没有重定向(8月29日 ~09:00-20:00) 路由稳定性 | 极不稳定——在窗口期内记录了约10,600次路由撤回;过境提供商的抖动抑制多次抑制了该路由 **这在实际中意味着什么。** 只要未经授权的路由在传播,服务器就有大约**72%的概率**(根据此代理指标)其网络会将发往 `162.55.80.0/24` 的流量发送给攻击者——这是一次广泛可见的劫持,而非局部性的,因为更具体的通告在它到达的任何地方都会胜过合法路由。然而,路由持续波动,因此对于任何单个服务器,在劫持活跃的大约22小时内,重定向是**间歇性**的,并且在事件期间有一个约11小时的窗口几乎没有重定向。只有当更新检查恰好发生在重定向间隔**并且**完成时,Virtualizor 服务器才会收到恶意包——这就是为什么只有少数安装受到影响。 --- ## 发现:完整的 BGP 状态测量(10分钟分辨率) 通过 RIPE Stat `bgp-state` API 从 RIPE RIS 重构,每10分钟一个快照。 **列定义** - **时间 (UTC)** —— 快照时间 (`MM-DD HH:MM`)。 - **持有路由的对等点** —— 持有到 `162.55.80.0/24` 任何路由的 RIS 收集器对等点(共368个)。 - **被重定向 (AS62390)** —— 其中,有多少个最佳路径经过劫持者。 - **在干净的 /24 上** —— 其中,有多少个拥有合法的 `/24` 最佳路径(Hetzner 的反制通告)。 - **占路由对等点的百分比** —— 被重定向数 / 持有路由的对等点数。 - **占所有368个 RIS 对等点的百分比** —— 被重定向数 / 368(衡量被重定向的互联网比例的下限代理)。 **如何阅读它。** 对齐到 00:00 和 08:00 UTC 的行最可靠(RIS 每8小时进行一次完整表快照);这些时间点之间的数值可能因路由剧烈波动而计数不足。多行平台期和8小时行是基本事实;孤立的单行尖峰或低谷是测量噪声或瞬时抖动状态。在波次期间显示 `1` 个被重定向 / `1` 个持有路由的行意味着该路由几乎在所有地方都被抑制了(抖动抑制),而非劫持已停止。 ``` | 时间 (UTC) | 持有路由的对等点 | 被重定向 (AS62390) | 在干净的 /24 上 | 占路由对等点的百分比 | 占所有368个 RIS 的百分比 | |------------------|------------------|--------------------|--------------|-------------------|------------------------| | 08-28 20:50 | 0 | 0 | 0 | 0.0 | 0.0 | | 08-28 21:00 | 271 | 271 | 0 | 100.0 | 73.6 | | 08-28 21:10 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 21:20 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 21:30 | 214 | 214 | 0 | 100.0 | 58.2 | | 08-28 21:40 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 21:50 | 262 | 262 | 0 | 100.0 | 71.2 | | 08-28 22:00 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 22:10 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 22:20 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 22:30 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 22:40 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 22:50 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 23:00 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 23:10 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 23:20 | 7 | 7 | 0 | 100.0 | 1.9 | | 08-28 23:30 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 23:40 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-28 23:50 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 00:00 | 269 | 269 | 0 | 100.0 | 73.1 | | 08-29 00:10 | 270 | 270 | 0 | 100.0 | 73.4 | | 08-29 00:20 | 271 | 271 | 0 | 100.0 | 73.6 | | 08-29 00:30 | 272 | 272 | 0 | 100.0 | 73.9 | | 08-29 00:40 | 272 | 272 | 0 | 100.0 | 73.9 | | 08-29 00:50 | 272 | 272 | 0 | 100.0 | 73.9 | | 08-29 01:00 | 272 | 272 | 0 | 100.0 | 73.9 | | 08-29 01:10 | 11 | 11 | 0 | 100.0 | 3.0 | | 08-29 01:20 | 272 | 272 | 0 | 100.0 | 73.9 | | 08-29 01:30 | 266 | 266 | 0 | 100.0 | 72.3 | | 08-29 01:40 | 259 | 259 | 0 | 100.0 | 70.4 | | 08-29 01:50 | 260 | 260 | 0 | 100.0 | 70.7 | | 08-29 02:00 | 2 | 2 | 0 | 100.0 | 0.5 | | 08-29 02:10 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 02:20 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 02:30 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 02:40 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 02:50 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 03:00 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 03:10 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 03:20 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 03:30 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 03:40 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 03:50 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 04:00 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 04:10 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 04:20 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 04:30 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 04:40 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 04:50 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 05:00 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 05:10 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 05:20 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 05:30 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 05:40 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 05:50 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 06:00 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 06:10 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 06:20 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 06:30 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 06:40 | 1 | 1 | 0 | 100.0 | 0.3 | | 08-29 06:50 | 269 | 269 | 0 | 100.0 | 73.1 | ```

相似文章

事件 CVE-2026-LGTM

Hacker News Top

一份讽刺性事件报告,详细描述了恶意软件包如何因各种故障绕过多个AI驱动的安全门,最终只有在攻击者的代理读取了本不应读取的文件后才得以解决。

Vercel 2026年4月安全事件

Hacker News Top

Vercel确认了一起安全漏洞,影响了有限的一部分客户,此前威胁行为者声称窃取了数据。该漏洞源于一名员工的Google Workspace账户被第三方AI工具(Context.ai)入侵,使得攻击者能够访问未加密的环境变量,并进一步枚举对客户系统的访问权限。