
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
C0XMO to nowy wariant botnetu powiązanego z rodziną Gafgyt, zaprojektowany do przejmowania urządzeń brzegowych, przede wszystkim routerów pracujących pod kontrolą DD-WRT. Głównym celem malware jest budowa infrastruktury wykorzystywanej w atakach DDoS, jednak kampania wyróżnia się także rozbudowanym mechanizmem propagacji, trwałością infekcji oraz aktywnym usuwaniem innych złośliwych programów z zajętych hostów.
Z perspektywy obrońców zagrożenie jest istotne, ponieważ dotyczy urządzeń sieciowych, które często pozostają poza standardowym monitoringiem bezpieczeństwa. W praktyce oznacza to, że kompromitacja routera lub innego urządzenia IoT może przez długi czas pozostać niezauważona.
W skrócie
- C0XMO wykorzystuje lukę CVE-2021-27137 w DD-WRT do zdalnego wykonania kodu bez uwierzytelnienia.
- Po infekcji malware pobiera skaner w Pythonie i wyszukuje kolejne podatne urządzenia w internecie.
- Zagrożenie próbuje logować się przez SSH i Telnet przy użyciu słabych danych uwierzytelniających.
- Botnet obsługuje wiele architektur procesorów, co zwiększa skalę kampanii.
- Na przejętych hostach C0XMO usuwa konkurencyjne boty i utrwala swoją obecność.
Kontekst / historia
Rodzina Gafgyt od lat pozostaje jednym z najbardziej rozpoznawalnych zagrożeń w obszarze IoT. Operatorzy takich kampanii regularnie wykorzystują stare, ale nadal skuteczne podatności, domyślne hasła oraz słabo chronione usługi administracyjne do przejmowania routerów, rejestratorów i innych urządzeń embedded.
W przypadku C0XMO uwagę zwraca połączenie klasycznych technik infekcji z bardziej uporządkowanym modelem działania. Kampania nie ogranicza się do pojedynczego typu urządzeń i została przygotowana z myślą o środowiskach heterogenicznych. Zaobserwowano warianty binarne przeznaczone dla architektur ARM, MIPS, PowerPC, SuperH, x86 oraz x86_64, co wskazuje na próbę osiągnięcia możliwie szerokiego zasięgu infekcji.
Analiza techniczna
Punktem wejścia do ataku jest podatność CVE-2021-27137 w DD-WRT. Błąd wynika z niewystarczającej walidacji danych wejściowych i może prowadzić do wykonania dowolnego kodu bez wcześniejszego uwierzytelnienia. Tego rodzaju luka jest szczególnie groźna w przypadku urządzeń wystawionych bezpośrednio do internetu.
Po skutecznym wykorzystaniu podatności malware pobiera dodatkowy komponent skanujący napisany w Pythonie. Skrypt przygotowuje środowisko i uruchamia wielowątkowe skanowanie adresów IP pod kątem usług dostępnych na popularnych portach, takich jak 22, 23, 80, 443, 7547, 8080, 8443 i 8888. Następnie próbuje używać słabych poświadczeń dla usług SSH i Telnet, aby rozszerzać zasięg infekcji.
Po uzyskaniu dostępu do celu C0XMO identyfikuje architekturę procesora i wdraża odpowiedni wariant binarny. Kampania obejmuje również funkcje pomocnicze związane z eksploatacją przez HTTP oraz wybrane ścieżki ataku na urządzenia wykorzystujące ADB, co sugeruje chęć maksymalnego zwiększenia powierzchni ataku.
Na zainfekowanym urządzeniu malware kopiuje się do ukrytych lokalizacji, zwykle w katalogach tymczasowych lub pamięci współdzielonej. Następnie tworzy zadania cron uruchamiające złośliwy kod cyklicznie, a także modyfikuje skrypty startowe powłoki. Dzięki temu bot utrzymuje trwałość nawet po restarcie procesu lub całego urządzenia.
Jedną z najbardziej charakterystycznych cech C0XMO jest eliminowanie konkurencji. Malware analizuje uruchomione procesy i usuwa inne botnety, a także wybrane narzędzia, które mogłyby zakłócać jego działanie. Dotyczy to zarówno samych plików wykonywalnych, jak i mechanizmów persistence, takich jak wpisy cron, usługi systemowe czy modyfikacje profili powłoki.
Po zakończeniu instalacji bot komunikuje się z zakodowanym na stałe serwerem C2 przy użyciu własnego, wieloetapowego mechanizmu handshake. Następnie oczekuje na polecenia operatorów. Zidentyfikowane możliwości obejmują utrzymywanie heartbeatów, uruchamianie skanowania oraz prowadzenie ataków DDoS z użyciem wielu metod, w tym floodów UDP, TCP, SYN i ICMP.
Konsekwencje / ryzyko
Największe ryzyko dotyczy organizacji i użytkowników, którzy nadal korzystają z urządzeń z nieaktualnym firmware, słabymi hasłami lub aktywnym zdalnym dostępem administracyjnym. Przejęty router może zostać wykorzystany nie tylko do udziału w atakach DDoS, ale również jako punkt pośredni do dalszej aktywności wewnątrz sieci lokalnej.
Z punktu widzenia przedsiębiorstw problem wykracza poza pojedynczą infekcję. Urządzenia brzegowe i IoT często nie są objęte takim samym poziomem widoczności jak serwery czy stacje robocze, przez co wykrycie incydentu bywa opóźnione. Dodatkowo usuwanie konkurencyjnego malware może utrudniać analizę śledczą i zniekształcać obraz kompromitacji.
Ryzyko obejmuje także konsekwencje operacyjne i reputacyjne. Zainfekowane urządzenie może generować intensywny ruch sieciowy, obniżać jakość usług, a nawet prowadzić do blokad po stronie dostawców usług internetowych. W części przypadków kończy się to koniecznością awaryjnej wymiany sprzętu.
Rekomendacje
W pierwszej kolejności należy przeprowadzić przegląd urządzeń z DD-WRT oraz innych systemów sieciowych wystawionych do internetu. Kluczowe jest sprawdzenie wersji firmware i wdrożenie dostępnych aktualizacji bezpieczeństwa. Jeżeli dane urządzenie nie jest już wspierane przez producenta, rozsądnym krokiem będzie jego wymiana.
Warto również ograniczyć lub całkowicie wyłączyć zdalny dostęp administracyjny z internetu. Jeśli taki dostęp jest wymagany, powinien być chroniony przez VPN, listy ACL, segmentację sieci oraz silne hasła. Należy też bezwzględnie wyeliminować domyślne i słabe poświadczenia dla usług SSH, Telnet i paneli WWW.
Z perspektywy detekcji istotne jest monitorowanie nietypowych połączeń wychodzących z urządzeń sieciowych, prób skanowania wielu hostów w krótkim czasie oraz wzmożonego ruchu na portach administracyjnych. Warto szukać również śladów persistence, takich jak podejrzane wpisy cron, ukryte pliki w katalogach tymczasowych i zmiany w skryptach startowych.
- Aktualizować firmware urządzeń brzegowych i IoT.
- Wyłączyć niepotrzebny zdalny dostęp administracyjny.
- Wymusić silne hasła i usunąć domyślne poświadczenia.
- Segmentować urządzenia IoT do odrębnych VLAN-ów.
- Rozszerzyć monitoring bezpieczeństwa na routery, DVR i inne systemy embedded.
Podsumowanie
C0XMO pokazuje, że botnety IoT nadal ewoluują i łączą znane techniki przejęcia urządzeń z bardziej dojrzałym podejściem operacyjnym. Wykorzystanie luki w DD-WRT, obsługa wielu architektur, mechanizmy trwałości oraz aktywne usuwanie konkurencyjnego malware sprawiają, że jest to zagrożenie poważne zarówno dla użytkowników indywidualnych, jak i organizacji.
Dla zespołów bezpieczeństwa najważniejsze pozostają podstawy: aktualne firmware, ograniczenie ekspozycji usług administracyjnych, silne uwierzytelnianie oraz lepsza widoczność telemetrii z urządzeń brzegowych i IoT. Bez tych działań nawet pozornie nieistotny router może stać się elementem większej infrastruktury wykorzystywanej do ataków.
Źródła
- BleepingComputer — C0XMO botnet spreads via DD-WRT router flaw, kills rival malware — https://www.bleepingcomputer.com/news/security/c0xmo-botnet-spreads-via-dd-wrt-router-flaw-kills-rival-malware/
- CVE Program — CVE-2021-27137 — https://www.cve.org/CVERecord?id=CVE-2021-27137
- NIST National Vulnerability Database — CVE-2021-27137 — https://nvd.nist.gov/vuln/detail/CVE-2021-27137
- Fortinet FortiGuard Labs — analiza zagrożeń botnetów IoT i Gafgyt — https://www.fortinet.com/blog/threat-research