W sieci można znaleźć sporo opisów botnetów, opartych o analizę plików infekujących użytkowników lub, choć rzadziej, analizy serwera C&C, do którego udało się dostać badaczom. Nieczęsto jednak można poczytać dodatkowo wywiad z autorem botnetu.
Kilka miesięcy temu w serwisie Reddit pojawiło się AMA (Ask Me Anything) z autorem botnetu Skynet. Botnetu o tyle ciekawego, że posiadającego serwer C&C w sieci TOR. Kilka dni temu na blogu firmy Rapid7 połączono analizę plików botnetu z odpowiedziami jego autora, tworząc zgrabną całość. Czego ciekawego można się zatem dowiedzieć?
Trywialna metoda dystrybucji
Jak wynika z wypowiedzi samego autora botnetu, jest on rozsyłany wyłącznie w sieci Usenet, jako fałszywy plik instalacyjny dowolnego innego, pożądanego przez internautów programu. Po co te wszystkie exploit packi i 0daye na Firefoxa, skoro można namówić dużą grupę użytkowników, by sami zainstalowali sobie to, co trzeba? Dzięki strukturze Usenetu (pliki replikują się między wieloma serwerami) plik raz wrzucony trudniej jest usunąć, poza tym Usenet pozostaje ciągle poza głównym nurtem zainteresowania organów ścigania, a jednocześnie nadal jest dość popularnym źródłem pirackiego oprogramowania. Połączenie tych czynników sprawia, że dystrybucja botnetu w Usenecie to metoda tania i skuteczna.
Konstrukcja bota
Próbka kodu, którą udało się zdobyć analitykom Rapid7, była wykrywana jedynie przez 7 silników antywirusowych z 42 i do tego nie na podstawie sygnatury pliku, a jedynie analizy heurystycznej. Oznacza to, że autor musi często tworzyć i dystrybuować nowe wersje bota, by uniknąć wykrycia.
Sam bot składa się z trzech kluczowych modułów: klienta IRC, dość standardowego bota Zeus, windowsowego klienta sieci TOR oraz CGMinera, służącego do kopania Bitcoinów. Kluczowy jest klient TORa, ponieważ serwer C&C botnetu został postawiony jako ukryta usługa w sieci TOR (ma adres w domenie .onion), tym samym eliminując jedno z kluczowych ryzyk każdego botnetu nie posługującego się architekturą p2p – czyli możliwość utraty kontroli nad serwerem C&C. Co ciekawe, koncepcja C&C botnetu w sieci TOR omawiana była już dwa lata temu na konferencji Defcon.
Z uwagi na konstrukcję sieci TOR nie istnieje możliwość namierzenia lokalizacji serwera C&C. Korzystanie z tej metody komunikacji ma też inne zalety. Cały ruch między klientem botnetu a C&C jest szyfrowany bez konieczności implementacji osobnych rozwiązań. Domeny .onion nie da się przejąć, by przekierować ruch klientów botnetu do serwera kontrowanego przez badaczy. Dodatkowo przeniesienie C&C na inny serwer oznacza jedynie konieczność skopiowania prywatnych kluczy pierwszego serwera.
Sterowanie w starym stylu
Pierwsze botnety powstawały z botów, pilnujących kanałów ircowych. Nic więc dziwnego, że protokół IRC był podstawową metodą komunikacji botów jeszcze 10 lat temu. Obecnie większość botnetów korzysta z komunikacji http, łatwo przepuszczanej przez firewalle. Skynet korzysta jednak ze starego, dobrego irca.
Lista poleceń bota nie jest zbyt rozbudowana.Potrafi on zbierać informacje z zainfekowanego komputera, otwierać na nim port SOCKS, aktualizować plik bota oraz wykonywać ataki DDoS (SYN flood, UDP flood, Slowloris, HTTP flood).
Podwójne C&C
Co ciekawe, obok komunikacji z C&C za pomocą protokołu IRC, równolegle bot komunikuje się ze zwykłym C&C Zeusa (również znajdującym się w sieci TOR). Zeus wykorzystywany jest przez autora w standardowy sposób – kradnie loginy i hasła do popularnych serwisów społecznościowych, pocztowych i finansowych.
Gdzie są pieniądze?
Podstawowym źródłem dochodu autora botnetu są przychody z wydobycia Bitcoinów. Wydajność jego botnetu wynosi ok. 20GH/s. Siedem miesięcy temu pozwalało mu to na osiąganie przychodów rzędu 40 dolarów dziennie. Aby zmniejszyć prawdopodobieństwo wykrycia, wydobycie BTC aktywowane jest jedynie gdy komputer nie jest używany przez przynajmniej 2 minuty i jest automatycznie zatrzymywane w przypadku wykrycia jakiejkolwiek aktywności użytkownika. Poziom wykorzystania karty graficznej ustawiany jest na 60%, by uniknąć przegrzania sprzętu i wycia wentylatorów.
Drugim źródłem dochodu autora jest sprzedaż danych wykradzionych przez Zeusa. Jak sam pisze, nie zajmuje się ich analizą i sprzedaje hurtowo na czarnym rynku, co przynosi od czasu do czasu kilkaset dolarów.
Gdzie znajdują się boty?
Autorom artykułu udało się namierzyć lokalizację klientów botnetu. Zauważyli, że klient, którego analizowali, otrzymał polecenie ataku DDoS na jedną z firm w Holandii. Skontaktowali się z jej administratorami i otrzymali od nich listę adresów IP hostów, które brały udział w ataku.
Mapka dystrybucji botnetu, sporządzona przez Rapid7, pokazuje, że większość zarażonych komputerów znajduje się w Niemczech oraz w Holandii. Kilkadziesiąt stacji znajduje się także w Polsce.
Podsumowanie
Mimo, iż od opisania botnetu na Reddicie minęło już 7 miesięcy, wygląda na to, ze sieć dalej działa i ma się dobrze, co świadczy o skuteczności modelu zastosowanego przez autora. Nie da się też ukryć, że kilkanaście tysięcy dodatkowych węzłów poprawia przy okazji wydajność sieci TOR.
Komentarze
„Nie da się też ukryć, że kilkanaście tysięcy dodatkowych węzłów poprawia przy okazji wydajność się TOR.”
Trochę dziwna konstrukcja końcówki, zakładam że ktoś zmienił koncept zdania w połowie i tego nie zauważył. Nie powinno zamiast „się” być „sieci”?
Oczywiście, poprawione.
Może się mylę, ale czy klient TOR’a domyślnie NIE uczestniczy w wymianie ruchu?
Klient tora z domyślnie nie pośredniczy w w przekazywaniu ruchu, choć można przestawić typ działania na węzeł