BGP-перехват против Softaculous: как поддельный маршрут довёл до валидного TLS-сертификата

· Безопасность
Атака на разработчика хостинговых панелей Softaculous объединила перехват маршрута BGP и легитимно выпущенный TLS-сертификат, что позволило подсунуть вредоносное обновление Virtualizor части установок.

cover.svg

Несколько дней назад разработчик хостингового ПО Softaculous Ltd — создатель автоустановщика Softaculous и панели управления виртуальными машинами Virtualizor — стал целью атаки, в основе которой лежал перехват маршрута по протоколу BGP. Как сообщила сама компания, злоумышленник, используя «технически валидный TLS-сертификат» и перехват BGP, доставил «вредоносный пакет обновления Virtualizor» на «небольшое число установок». Клиентам предложено пройти по цепочке шагов и проверить, не были ли они затронуты.

Как перехватили адресное пространство

28 августа 2026 года в 20:57 UTC в глобальной таблице маршрутизации появился новый префикс — 162.55.80.0/24. Этот диапазон включал адреса конечной точки обновлений Softaculous, а также клиентского и биллингового сайта. Речь шла о более специфичном перехвате блока 162.55.0.0/16, который обычно анонсирует Hetzner Online (AS24940). Скорее всего, маршрут исходил от предпоследней автономной системы в пути — малоизвестного провайдера NexonHost (AS62390), будь то из-за компрометации или бреши в защите клиента.

Ключевая деталь: атакующий приписал AS24940 крайним справа в AS-пути, подделав источник. Из-за этого маршрут оказался RPKI-валидным — ROA требовала происхождения от AS24940 и допускала длину префикса от /24 до /16. Как более специфичный маршрут, он побеждал легитимный /16 по правилу самого длинного совпадения и перенаправлял трафик на себя. Настоящий Hetzner несколько раз перебивал перехват собственным анонсом /24, но маршрут возвращался.

Откуда взялся валидный сертификат

Одного перехвата BGP было бы мало. Тот же приём применяли в 2022 году при атаке на южнокорейскую криптобиржу KLAYswap: уязвимости в самом TLS нет, но TLS слепо доверяет маршрутизации. Перехватив трафик, атакующий провёл MITM-атаку на процесс проверки владения доменом и получил подлинный сертификат.

Чтобы противостоять этому, Let’s Encrypt уже несколько лет применяет проверку с нескольких точек (MPIC): подтверждение запрашивается из географически и топологически разных мест, требуется кворум согласных. Но здесь перехваченный маршрут распространился настолько широко и без конкурента, что кворум целиком оказался под контролем атакующего.

Что помогло бы

Автор напоминает: строгие ROA, где максимальная длина префикса совпадает с реально анонсируемой, резко сузили бы окно для перехвата — тогда MPIC, вероятно, не выдал бы сертификат. Помог бы и мониторинг BGP: появление нового /24 Hetzner исключительно через транзит малоизвестного NexonHost должно было насторожить.

После публикации Hetzner ужесточил ROA для 162.55.0.0/16, задав maxLength /16, и поправил ещё два блока. Однако у AS24940 остаётся около 50 ROA с прежней уязвимой конфигурацией. Дополнительно Hetzner добавил запись ASPA, перечисляющую авторизованных провайдеров, — сети, проверяющие ASPA, теперь могут сразу отклонять маршруты с посторонним апстримом вроде AS62390.


Источник: Lobsters

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.