Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Botnety na urządzeniach sieciowych

17 czerwca 2013, 10:52 | Teksty | komentarzy 10
Tagi:

Botnety oparte na urządzeniach sieciowych

Wstęp

Botnety to dość powszechnie znane zjawisko w dzisiejszym świecie. Liczące często setki tysięcy przejętych komputerów, kontrolowanych zdalnie przez cyberprzestępców, wykorzystywane do masowych ataków odmowy usługi (DDoS) są potężną bronią i jednym z największych problemów współczesnego Internetu. Mimo dość powszechnie znanych mechanizmów pozyskiwania kolejnych maszyn tworzących botnet, nadal nie wymyślono skutecznej metody zapobiegania temu zjawisku. Główną przyczyną jest bierność i nieznajomość zagrożenia ze strony zwykłych użytkowników, co przekłada się na skalę zjawiska i jego powszechność

Nieco mniej znaną formą botnetów są sieci składające się z wszelkiego rodzaju urządzeń sieciowych (routerów, switchy, modemów ADSL/kablowych itp.). Postaram się zatem nieco przybliżyć zagadnienie.

 

2007 – pierwsze sygnały

Już w 2007 roku Gadi Evron we wpisie Broadband Routers and Botnets: Being Proactive, opublikowanym na łamach portalu CircleID zwrócił uwagę na coraz częstsze przypadki odkrywania luk w routerach i modemach, jako przykład podając modem Deutsche Telekom Speedport w700v. W opisie luki, dostępnym na liście Bugtraq pod adresem http://seclists.org/bugtraq/2007/May/178 można przeczytać dokłany opis błędu w formularzu logowania, zbudowanym w oparciu o skrypt w języku JavaScript, opóźniający kolejne błędne próby logowania i jednocześnie możliwość jego ominięcia, co pozwalało atakującemu na bezpośrednie odpytywanie skryptu CGI odpowiedzialnego za sprawdzanie uprawnień, a tym samym atak typu Brute Force.

Sam atak, jak i sposób jego przeprowadzenia nie był niczym wyjątkowym. Gadi Evron zwrócił jednak uwagę na coś innego – mianowicie dość „lekkie” podejście do tematu zabezpieczeń urządzeń sieciowych (pozostawianie domyślnych haseł, niczym nie ograniczany dostęp do webowych paneli administracyjnych z dowolnych adresów IP itd.). Wskazał także, że dotyczy to urządzeń należących do dostawcy usług (ISP), co w naturalny sposób wielokrotnie zwiększało skalę problemu.

W tym samym roku także Borys Łącki na łamach swojego bloga opublikował wpis o innej luce w urządzeniu innego ISP (brytyjskiego BeThere) – pełny tekst można przeczytać pod adresem Accidental backdoor by ISP [updated x2]

 

2009 – pierwszy udokumentowany przypadek – psyb0t

Jako prekursora opisywanych botnetów uznaje się psyb0t’a – odkrytego w styczniu 2009 roku przez australijskiego specjalistę od bezpieczeństwa komputerowego Terry Baume’a w modemie ADSL firmy Netcomm (pod tym adresem znajduje się dokładna analiza – .pdf, 150kB).

Niedługo po tym fakcie, w marcu tego samego roku, doszło do pierwszego zarejestrowanego ataku DDoS, dokonanego przez botnet psyb0t. Celem ataku była usługa DroneBL, zbierająca informacje o adresach IP wykorzystywanych m.in. przez botnety. Po tym ataku psyb0t został deaktywowany i już więcej (oficjalnie) nie został użyty. Zwrócił jednak uwagę społeczności związanej z bezpieczeństwem informatycznym na nowe zagrożenie.

Oprogramowanie modemu NB5, w którym Baume znalazł malware, oparte było na Linuksie z jądrem w wersji 2.4.17 (do dzisiaj malware takie, jak aidra atakuje właśnie urządzenia oparte o firmware zbudowane na architekturze MIPS). Cechą szczególną tej architektury jest jej powszechność właśnie na wszelkiego rodzaju systemach wbudowanych (routery, Windows CE, Sony PlayStation 2, Sony PlayStation Portable itp.).

 

2010 – Chuck Norris i Tsunami

W 2010 roku wspomniany już wcześniej Gadi Evron, we wpisie opublikowanym na liście dyskusyjnej SecurityFocus.org, poinformował o odkryciu przez czeskich specjalistów do spraw bezpieczeństwa nowego robaka zarażającego routery i budującego duży botnet przeznaczony do ataków DDoS. Więcej o ich odkryciu można przeczytać w materiałach źródłowych wskazanych przez Gadi Evrona: Chuck Norris Botnet and Broadband Routers – SecurityFocus.org archives, 22.02.2010.

Chuck Norris został zneutralizowany, zanim jeszcze zdążył poczynić jakiekolwiek szkody. Niestety, w tym samym roku, w marcu, pojawiła się jego mutacja, znana jako Tsunami – badacze znależli w jego kodzie źródłowym wiele fragmentów analogicznych do tych odkrytych wcześniej w Norrisie.

marta_janus_pic21

1. Komendy IRC sterujące botnetem Tsunami

2012 – eksperyment z botnetem Carna

W marcu 2012 roku anonimowy haker zbudował botnet „Carna” (oparty o około 420 tysięcy urządzeń). Botnet przeskanował łącznie około cztery miliardy (!!!) adresów IP zbierając w tym czasie około 9 TB danych. Z jego badań wynikało, że 1,3 miliarda adresów IP to aktywne urządzenia, z czego 141 milionów znajdowało się za firewall’em; 729 milionów urządzeń zwróciło adres domenowy dla swojego adresu IP. 2,3 miliarda urządzeń nie dało „znaków życia”. Malware napiane przez hakera próbowało połączyć się z każdym z odkrytych urządzeń przy użyciu nazw użytkowników 'root’ lub 'admin’. Jeśli próba kończyła się sukcesem, malware instalowało się na urządzeniu i dołączało je do botnetu. W ten sposób już po pierwszym dniu botnet składał się z około 100 tysięcy urządzeń. Dokładniejszy opis „eksperymentu” można przeczytać w artykule Guerilla researcher created epic botnet to scan billions of IP addresses.

 

clientmap_16to9_1600x900
2. Aktywność botnetu Carna w okresie od marca do grudnia 2012 roku

 

2013 – Aidra i jej odmiany

Nadal dość popularnym jest malware znane jako 'aidra’, 'Aidra’ bądź 'Lightaidra 0×2012′. O tej ostatniej mutacji można przeczytać więcej pod adresem lightaidra 0×2012 (aidra). W dokumentacji zamieszczonej w folderze z kodem źródłowym autor, Federico Fazzi, zamieścił podstawowe informacje o tym, jak uruchomić i skompilować aidrę. Jak zaznaczył w opisie, głownym celem aidry jest budowa botnetów zdolnych przeprowadzać ataki DDoS poprzez zalew „uszkodzonymi” pakietami TCP (tcp flood).

Poniżej – przykład urządzenia zaatakowane przez Aidrę:

aidra

Proces zarażenia

Wbrew pozorom, mimo potencjalnej mniejszej widoczności w Internecie urządzenia sieciowe z wielu powodów są łatwiejsze do „przejęcia” od klasycznych maszyn:

  • najczęciej są bezpośrednio podłączone do sieci (w większości same są jej węzłami), co ułatwia ich wyszukiwanie. Oznacza to także, że nie chroni ich choćby stosowany w sieciach wewnętrznych NAT czy też firewalle lub systemy wykrywania włamań IDS
  • z reguły są to urządzenia przeznaczone do pracy ciągłej (24 godziny na dobę, 7 dni w tygodniu). To sprawia, że „okno czasowe” do przeprowadzenia skutecznego ataku jest w zasadzie dowolne (w przeciwieństwie do przykładowo komputerów lub drukarek sieciowych w sieciach korporacyjnych, działających w godzinach pracy personelu)
  • urządzenia te nie posiadają zainstalowanego żadnego oprogramowania zabezpieczającego – antywirusów, firewalli itp. Oznacza to, że po uzyskaniu do takiego urządzenia dostępu, nie chroni go już nic.
  • do urządzeń sieciowych bardzo rzadko zalogowany jest jakikolwiek użytkownik, który mógłby zauważyć próbę włamania. Dużo rzadziej niż na maszynach produkcyjnych przeglądane są czy wręcz rejestrowane próby nieautoryzowanego dostępu
  • bardzo wiele urządzeń posiada niezmienione od czasu instalacji i uruchomienia domyślne (fabryczne) ustawienia uprawnień dostępu (nazw użytkowników i haseł). Informacje te można bez żadnych problemów odnaleźć w Internecie, także w oficjalnej dokumentacji na stronach producentów

Jak zatem dochodzi do zarażenia takich urządzeń?

Malware tworzący botnet oparty na nich działa według prostego, kilkuetapowego schematu.

Pierwszym krokiem jest odnalezienie w sieci tych adresów, na których działają usługi służące do zdalnej komunikacji (port 23 – telnet, 22 – SSH, 80 – WWW) i ich identyfikacja jako należących do określonego typu urządzenia (a nie np. serwera WWW, FTP, drukarki czy zwykłego komputera osobistego).

Kolejnym krokiem jest sprawdzenie, czy malware jest w stanie zalogować się przy użyciu domyślnych loginów i haseł (bądź, co możliwe jest w urządzeniach niektórych producentów – wręcz logowanie się tylko przy użyciu domyślnej nazwy użytkownika, bez podania hasła). W tym celu malware wykorzystuje zapisaną bazę domyślnych nazw użytkowników i haseł dla kilku tysięcy urządzeń, stosuje zatem klasyczny atak słownikowy.

Po pomyślnym zalogowaniu się następuje faza instalacji właściwego oprogramowania, które przemieni urządzenie w jeden z węzłów botnetu. Przykładowo, malware o nazwie „aidra” pobiera skrypt o nazwie getbinaries.sh, który jest uruchamiany. Skrypt pobiera i uruchamia binaria botnetu, który z kolei łączy się z serwerem zarządzającym całym botnetem (najczęściej wykorzystywany jest tu protokół IRC). W tym momencie botnet rozrasta się o kolejne przejęte urządzenie.

Profilaktyka i wykrywanie

Ponieważ malware, które instaluje się na urządzeniach sieciowych w ramach botnetu jest bardzo trudno wykrywalne, gdyż praktycznie nie widać żadnych, dających się jednoznacznie zidentyfikować cech „zarażenia”, bardzo ważna jest odpowiednia profilaktyka. Sprowadza się ona w zasadzie do kilku podstawowych zasad, wspólnych dla wszystkich punktów sieci, nie tylko routerów czy modemów:

  • nie pozostawiajmy domyślnych (fabrycznych) loginów oraz haseł na urządzeniu, do którego jest możliwy dostęp z poziomu sieci (poprzez np. telnet, SSH czy panel administracyjny w postaci aplikacji www)
  • wyłączmy bądź zablokujmy usługi sieciowe udostępniane przez urządzenie, które nie będą wykorzystywane
  • dbajmy o regularne aktualizacje firmware, śledźmy strony producentów w poszukiwaniu informacji o nich lub potencjalnych zagrożeniach dotyczących posiadanych urządzeń. Możemy także szukać takich informacji w serwisach poświęconych bezpieczeństwu informatycznemu (PacketStorm Security, Secunia)

Sporo przydatnych informacji mogących pomóc w zdiagnozowaniu naszej sieci pod kątem obecności malware na urządzeniach sieciowych można znaleźć w opracowaniu Pavla Celedy „Network Security Monitoring and Behavior Analysis”. Jest ono dostępne w postaci dokumentu PDF do pobrania pod adresem http://www.ces.net/events/2012/campus-monitoring/p/celeda-behavior-analysis.pdf.

W wyszukiwaniu informacji o podatnościach w omawianych urządzeniach nieocenioną pomocą jest sama sieć, a w szczególności następujące miejsca:

  • www.routerpwn.com – zebrane szczegółowe dane na temat większości najpopularniejszych urządzeń, z podziałem na producentów i konkretne błędy. Całośc uporządkowana jest chronologicznie i zawiera odnośniki do szczegółowych informacji
  • opisywany już na łamach Sekuraka w artykule Wojciecha Smola „Shodan, czyli Google dla urządzeń sieciowych” projekt Shodan (http://www.shodanhq.com/), zbierający informacje o podłączonych do sieci urządzeniach, wraz z ich charakterystyką, adresami IP i wieloma innymi użytecznymi informacjami
  • serwis Packet Strom Security (http://packetstormsecurity.org/) – kopalnia wiedzy, nie tylko w opisywanym temacie, ale o wszelkich podatnościach, exploitach oraz sztuczkach i kruczkach związanych z tematyką IT security
  • strony firmowe producentów urządzeń sieciowych, przykładowo http://tools.cisco.com/security/center/publicationListing.x, będąca wyszukiwarką informacji o podatnościach w urządzeniach Cisco.

Mimo, że temat nie jest tak popularny i „medialny”, jak włamania do serwisów internetowych czy ataki DDoS na popularne usługi – nie brakuje o nim informacji i każdy zainteresowany może bez problemu do nich dotrzeć. Nawet do kodów źródłowych opisywanych tutaj botnetów.

Źródła

 

 

Rafał 'bl4de’ Janicki– bloorq[at]gmail.com

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Mateusz

    Zastanawiam się, w jaki sposób botnet zachowuje się, gdy plik nie jest używany przez oprogramowanie i jak „dodaje się do autostartu” rc-update? No i w jaki sposób znajduje kolejne adresy IP, w randomowy sposób odpytuje dane IPiki (jak dziala shodanhq)? Czy przechwytuje jakoś adresy które później próbuje odpytać ze standardowymi loginami/hasłami?

    Odpowiedz
    • @Mateusz -> z poszukiwaniem IPków – różnie bywa, ale jedna z opcji to odpytywanie losowe. AFAIR dość szczegółowo to jest opisane np. w analizie psyb0t-a – pdf linkowany w tekście

      Odpowiedz
  2. Amadeusz
    Odpowiedz
  3. bl4de

    @Amadeusz

    Dokładnie :)
    Swoją drogą, nigdzie nie spotkałem się z podanym przez Ciebie artykule podejrzeniem, że to Fyodor miałby być tym rzekomym anonimowym hakerem :)

    Odpowiedz
  4. GM

    „W 2010 roku wspomniany już wcześniej Gadi Evron we wpisie opublikowanym na liście dyskusyjnej SecurityFocus.org poinformował o odkryciu czeskich specjalistów do spraw bezpieczeństwa o odkryciu nowego robaka zarażającego routery i budującego duży botnet przeznaczony do ataków DDoS.” – Panowie, polska języka – trudna języka ;>

    Odpowiedz
  5. Allah

    błąd przy grafice 2102

    Odpowiedz
  6. Tak w ogóle – duże podziękowania dla Rafała – naszego czytelnika za przygotowanie tego tekstu.

    Wbrew pozorom jest z tym dużo pracy – podczas recenzji tekstu trochę go wywróciliśmy – trochę zostało wycięte, sporo dodane, część przeorganizowana, część uporządkowana. Miejmy nadzieję że finalny efekt się Wam podoba ;-)

    Odpowiedz
  7. f

    Fajny tekscik bl4de. Od sibie dodalbym jeszcze takie pozycje jak:

    http://ph-neutral.darklab.org/talks/wlan.html (kiedys byla online dostepna prezentacja, teraz nie widze ale moze zle szukam)

    http://www.data.proidea.org.pl/confidence/10edycja/materialy/prezentacje/FilipPalian_MateuszKocielski.pdf

    Dla osob niebawiacych sie w edytory tekstu z funkcja wylapywania bledow, a zadajacych dobre pytania w komentarzach, z pewnoscia linki okaza sie pomocne w pelniejszym zrozumieniu tematu (szczegolnie slajdy z odnosnikami do kolejnych materialow).

    Odpowiedz
  8. bl4de

    @f

    Dziękuję za dodatkowe materiały :)

    Pozdrawiam :)

    Odpowiedz

Odpowiedz