Специалисты по кибербезопасности зафиксировали использование нового вредоносного инструмента под названием Roadk1ll, который применяется злоумышленниками для перемещения внутри уже взломанных сетей (lateral movement). Главная особенность — использование WebSocket-туннеля для управления зараженной машиной и доступа к другим системам внутри сети.
Roadk1ll это небольшая вредоносная программа, которая устанавливается на уже скомпрометированную машину и используется для дальнейших действий атакующего.
Читайте также: Android-троян SURXRAT продаётся в Telegram как сервис: шпионит, блокирует телефон и загружает ИИ-модуль на 23 ГБ
По данным исследователей, он написан на Node.js, создает обратное соединение (reverse connection) к серверу атакующего, использует WebSocket как канал управления. Его задача — дать стабильный доступ внутрь сети и расширить его.

Механика Roadk1ll:
-
В начале исходного кода RoadK1ll импортирует два ключевых модуля
Node.js:netдля обработки необработанных TCP-сокетов иwsдля обмена данными по WebSocket -
После заражения машина инициирует исходящее WebSocket-соединение к серверу злоумышленника.
-
Через это соединение передаются команды и сетевой трафик.
-
Roadk1ll начинает работать как прокси, пересылает данные между атакующим и внутренними системами.
В результате один скомпрометированный сервер превращается в опорную точку для атаки. Вредоносная программа может открывать новые TCP-соединения внутри сети по команде злоумышленника, что позволяет атакующему исследовать инфраструктуру и подключаться к другим системам.
VPS_HOST и VPS_WS_PORT идентифицируют удаленный ретрансляционный сервер; TUNNEL_SECRET предоставляет базовый токен аутентификации, а RECONNECT_INTERVAL показывает, что вредоносная программа предназначена для восстановления туннеля в случае разрыва соединения.

WebSocket, протокол для постоянного двустороннего соединения между клиентом и сервером. Это делает его удобным для атак, ведь соединение выглядит как обычный веб-трафик, используется исходящее подключение, что часто разрешено в сетях, при этом канал остается открытым постоянно
Это позволяет обходить многие традиционные средства защиты, которые лучше отслеживают входящие соединения.
Roadk1ll использует собственный протокол передачи данных поверх WebSocket. Он позволяет одновременно управлять несколькими соединениями, передавать разные потоки данных через один канал, эффективно масштабировать доступ внутри сети.
Атакующий получает доступ к внутренним сервисам, которые не доступны извне, возможность обхода сетевых сегментаций, устойчивый канал управления даже при частичном обнаружении, удобный инструмент для дальнейшего проникновения и разведки сети.
Один из важнейших элементов реализации — комментарий, определяющий формат сообщений, используемых для связи по туннелю. Каждое сообщение начинается с 4-байтового идентификатора канала, за которым следует 1-байтовый тип сообщения, а оставшиеся байты представляют собой полезную нагрузку.

Обнаружить такую активность злоумышленника — сложно. Ведь трафик выглядит как обычный WebSocket, входящие соединения — отсутствуют, есть только исходящие, используется минимальный набор команд — меньше сигнатур для детекта. А ещё хакер может автоматически переподключаться при обрыве связи.

Это реализовано с помощью функции scheduleReconnect, которая отвечает за восстановление туннеля WebSocket в случае его потери.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.
Вопросы по теме
Что такое Roadk1ll?
Он сам взламывает систему?
Что такое pivoting?
Что искать в логах?
— постоянные исходящие подключения к неизвестным хостам
— нестандартные TCP-туннели