От уязвимости в VPN до полного root-контроля. Хакеры через веб-шелл и легальный софт потрошили базы миллионов абонентов

leer en español

4674
От уязвимости в VPN до полного root-контроля. Хакеры через веб-шелл и легальный софт потрошили базы миллионов абонентов

Одна точка входа превратилась в многослойную систему скрытого присутствия внутри сети.

image

Чужая ошибка в настройке атакующей инфраструктуры раскрыла почти всю цепочку взлома крупного интернет-провайдера. Hunt.io обнаружила открытый сервер злоумышленника с 298 файлами в 30 каталогах, которые указывали на вторжение в сеть тайского оператора 3BB, закрепление на внутренних машинах и целенаправленную охоту за учётными данными абонентов.

Операцию Hunt.io связала с FortiGate 60F, обслуживавшим SSL-VPN 3BB. Злоумышленник сначала определял модель и версию прошивки, затем проверял шлюз на CVE-2024-21762. Критическая ошибка записи за границами буфера получила 9,8 балла по CVSS 3.1 и позволяет без авторизации выполнить произвольный код через специально сформированный HTTP-запрос к службе SSL-VPN.

В найденном наборе сохранилась полноценная цепочка эксплуатации. Скрипты подготавливали память устройства, запускали ROP-цепочку и открывали обратное соединение с сервером атакующего. Для точной подгонки к FortiGate 60F злоумышленник пытался получить нужную прошивку FortiOS 7.2.5, используя серийный номер целевого устройства при запросах к инфраструктуре Fortinet.

После проникновения атака перешла внутрь сети. Один из файлов фиксировал выполнение команд с правами root на Linux-сервере 3BB, а отдельные инструменты были подготовлены для повышения привилегий, установки скрытого SUID-бэкдора и кражи SSH-ключей, конфигураций приложений и паролей. Подобный переход от пограничного FortiGate к внутренним системам уже разбирался на примере других атак.

Для долговременного контроля злоумышленник выбрал MeshCentral, легальный открытый инструмент удалённого администрирования. В конфигурации агента фигурировала группа TH-3BB и внешний управляющий сервер, а экспорт устройств показывал несколько активных машин с агентами, запущенными от root. Такой канал выглядит как обычное средство администрирования и хуже заметен среди легитимного трафика.

Параллельно злоумышленник разворачивал запасные точки входа и готовил расширение доступа. Скрипты MySQL могли записывать PHP-веб-шеллы в каталоги веб-серверов, добавлять SSH-ключи и менять права в базах. Другие утилиты перебирали пароли более чем на 55 внутренних узлах и искали доступ к FTP, MySQL, MongoDB и Redis уже из доверенного сегмента сети.

Отдельной целью стала инфраструктура RADIUS, через которую оператор проверяет учётные данные абонентов. В наборе находился скрипт для извлечения данных из баз radius_corp, radiusinfo и job_radius с жёстко заданным паролем MySQL root. Hunt.io не подтвердила массовую выгрузку абонентских данных, поэтому доказана сама цель атаки, а не факт утечки сведений миллионов клиентов.

Злоумышленник заранее подготовил зачистку следов. cleanup_target.sh удалял журналы, историю команд, компоненты повышения привилегий и веб-шеллы, но намеренно сохранял MeshCentral и скрытый SUID-бэкдор. Такая схема позволяла скрыть уже проведённые действия, не теряя постоянный доступ. Fortinet ранее предупреждала, что последствия взлома могут сохраняться даже после обновления FortiGate.

Hunt.io обнаружила открытый рабочий каталог 3 июня 2026 года, когда операция ещё продолжалась, а отчёт опубликовала 14 сентября. До публикации компания уведомила затронутые стороны и профильный CERT, но не сообщила об их ответных действиях. Владельцам FortiGate рекомендовано проверить прошивки, искать неизвестные MeshCentral-агенты и сменить привилегированные учётные данные, VPN-сертификаты и ключи.