RoadK1ll: nowy implant WebSocket do pivotingu w przejętych sieciach - Security Bez Tabu

RoadK1ll: nowy implant WebSocket do pivotingu w przejętych sieciach

Cybersecurity news

Wprowadzenie do problemu / definicja

RoadK1ll to nowo opisany implant wykorzystywany na etapie post-exploitation, czyli po uzyskaniu wstępnego dostępu do środowiska ofiary. Jego zadaniem nie jest klasyczne przejęcie pulpitu czy rozbudowane zdalne sterowanie systemem, lecz utworzenie dyskretnego kanału pivotingu, który pozwala napastnikowi przemieszczać się pomiędzy kolejnymi hostami wewnątrz skompromitowanej sieci.

Mechanizm działania opiera się na połączeniu WebSocket inicjowanym z zainfekowanego hosta do infrastruktury atakującego. Następnie przez ten tunel przekazywany jest ruch TCP do systemów i usług niedostępnych bezpośrednio z Internetu. W praktyce przejęta maszyna staje się punktem przekaźnikowym dla dalszych działań intruza.

W skrócie

RoadK1ll to lekki implant napisany w Node.js, zaprojektowany z myślą o cichym rozszerzaniu zasięgu ataku w sieci ofiary. Nie wymaga nasłuchu przychodzącego na przejętym urządzeniu, ponieważ sam zestawia połączenie wychodzące do serwera kontrolowanego przez operatora.

  • wykorzystuje WebSocket jako kanał komunikacyjny,
  • obsługuje wiele równoległych połączeń TCP w jednym tunelu,
  • umożliwia dostęp do systemów wewnętrznych z poziomu zaufanego hosta,
  • ułatwia lateral movement i omijanie części zabezpieczeń perymetrowych,
  • pozostaje aktywny tak długo, jak działa jego proces.

Kontekst / historia

Implant został opisany podczas działań incident response prowadzonych przez zespół MDR Blackpoint. Z analizy wynika, że RoadK1ll nie jest rozbudowanym trojanem z wieloma funkcjami operatorskimi, ale wyspecjalizowanym narzędziem do utrzymania dostępu i rozszerzania obecności napastnika po początkowym przełamaniu zabezpieczeń.

To wpisuje się w szerszy trend widoczny w nowoczesnych operacjach intruzów. Zamiast ciężkich, monolitycznych backdoorów coraz częściej pojawiają się lekkie moduły realizujące pojedyncze zadania, takie jak tunelowanie, proxying ruchu, lateral movement czy utrzymywanie sesji. Takie podejście zmniejsza ślad operacyjny i utrudnia wykrycie narzędzia wyłącznie na podstawie klasycznych sygnatur.

Analiza techniczna

RoadK1ll został zaimplementowany w Node.js i łączy obsługę surowych połączeń TCP z komunikacją WebSocket. Architektura implantu sprowadza się do roli brokera pomiędzy zewnętrznym kanałem sterowania a połączeniami inicjowanymi lokalnie do wskazanych hostów wewnętrznych.

Komunikacja przebiega z użyciem niestandardowego protokołu osadzonego w tunelu WebSocket. Każda wiadomość zawiera identyfikator kanału, typ komunikatu oraz właściwy ładunek danych. Taki model umożliwia multipleksowanie wielu logicznych sesji w ramach pojedynczego połączenia, co zwiększa elastyczność działania i ogranicza liczbę widocznych połączeń sieciowych.

Zestaw komend jest niewielki, ale wystarczający do skutecznego pivotingu:

  • CONNECT — inicjuje nowe połączenie TCP do wskazanego hosta i portu,
  • DATA — przekazuje dane przez aktywny kanał,
  • CONNECTED — potwierdza udane zestawienie połączenia,
  • CLOSE — zamyka sesję,
  • ERROR — raportuje problem operacyjny.

Najważniejszą funkcją jest komenda CONNECT, ponieważ to ona powoduje zestawienie połączenia z poziomu zainfekowanego hosta do systemu wewnętrznego wskazanego przez operatora. Dzięki temu ruch pochodzi z urządzenia już obecnego w zaufanej części sieci, co może otworzyć drogę do interfejsów administracyjnych, baz danych, usług zdalnego zarządzania i innych zasobów niedostępnych z zewnątrz.

Badacze opisali również mechanizm automatycznego ponownego łączenia. Jeśli tunel WebSocket zostanie przerwany, implant próbuje odtworzyć sesję bez konieczności ręcznej interwencji atakującego. Jednocześnie RoadK1ll nie wykazuje klasycznych cech trwałości, takich jak wpisy autostartu, zadania harmonogramu czy usługi systemowe. Oznacza to, że narzędzie działa przede wszystkim jako aktywny komponent operacyjny, a nie rozbudowany RAT z pełnym zestawem funkcji utrzymania obecności.

Konsekwencje / ryzyko

Największe zagrożenie związane z RoadK1ll wynika nie z samej obecności malware, lecz z możliwości, jakie daje atakującemu po uzyskaniu pierwszego punktu zaczepienia w środowisku. Implant może szybko przekształcić pojedynczą kompromitację w szersze naruszenie obejmujące kolejne segmenty sieci.

  • umożliwia pivoting do kolejnych hostów i podsieci,
  • wspiera ruch lateralny do serwerów i stacji roboczych,
  • zapewnia dostęp do usług niedostępnych publicznie,
  • wykorzystuje zaufanie sieciowe skompromitowanego hosta,
  • utrzymuje elastyczny kanał operacyjny przy niskim poziomie szumu telemetrycznego.

Dla organizacji oznacza to ryzyko eskalacji incydentu do poziomu obejmującego systemy administracyjne, repozytoria danych, systemy kopii zapasowych czy kontrolery domeny. Ponieważ ruch inicjowany jest z wnętrza sieci, część tradycyjnych kontroli perymetrowych może nie wychwycić pełnego łańcucha działań.

Dodatkowym utrudnieniem jest wykorzystanie WebSocket. W wielu środowiskach taki ruch nie jest sam w sobie uznawany za podejrzany, zwłaszcza jeśli monitoring skupia się głównie na domenach, adresach IP lub certyfikatach, a nie na anomaliach sesji i zachowaniu procesów. To sprawia, że implant może przez pewien czas pozostawać niewidoczny dla zespołów bezpieczeństwa.

Rekomendacje

RoadK1ll należy traktować jako przykład nowoczesnego narzędzia post-exploitation, które wymaga detekcji opartej bardziej na zachowaniach niż na prostych sygnaturach. Organizacje powinny rozszerzyć monitoring o wzorce typowe dla tunelowania, proxyingu i ruchu bocznego.

  • monitorować nietypowe połączenia wychodzące WebSocket ze stacji roboczych i serwerów,
  • zwracać uwagę na procesy Node.js inicjujące komunikację sieciową w środowiskach, gdzie nie jest to standardem,
  • korelować telemetrię EDR z danymi sieciowymi, aby wykrywać pośredniczenie jednego procesu w komunikacji do wielu hostów wewnętrznych,
  • ograniczać lateral movement przez segmentację sieci i zasadę najmniejszych uprawnień,
  • kontrolować, które systemy mogą łączyć się z usługami administracyjnymi, takimi jak RDP, SMB, WinRM, SSH czy bazy danych,
  • tworzyć reguły wykrywające nietypowy multiplexing połączeń oraz wzorce reconnect,
  • regularnie porównywać logi z firewalli, proxy, DNS i EDR z aktualnymi wskaźnikami kompromitacji,
  • w czasie reakcji na incydent ustalać, czy przejęty host pełnił funkcję punktu przesiadkowego do dalszej penetracji.

Podsumowanie

RoadK1ll pokazuje, że współczesne zagrożenia coraz częściej wykorzystują proste, wyspecjalizowane implanty zamiast dużych frameworków malware. Dzięki pojedynczemu tunelowi WebSocket narzędzie może zestawiać wiele połączeń TCP i zamieniać przejętą maszynę w przekaźnik dla dalszych działań operatora.

Dla obrońców najważniejsze jest przesunięcie uwagi z samego faktu infekcji na aktywności charakterystyczne dla etapu post-exploitation. Wczesne wykrycie tunelowania, pivotingu, nietypowych połączeń wychodzących i ruchu do systemów wewnętrznych może ograniczyć skalę kompromitacji oraz skrócić czas obecności intruza w środowisku.

Źródła

  1. BleepingComputer — New RoadK1ll WebSocket implant used to pivot on breached networks — https://www.bleepingcomputer.com/news/security/new-roadk1ll-websocket-implant-used-to-pivot-on-breached-networks/
  2. Blackpoint — RoadK1ll: A WebSocket Based Pivoting Implant — https://blackpointcyber.com/blog/roadk1ll-a-websocket-based-pivoting-implant/