Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

Dawid Farbaniec

Botnet. Sieć
komputerów
zombie

Ridero

2021
© Dawid Farbaniec, 2021
ISBN 978-83-8245-717-9
Książka powstała w inteligentnym systemie wydawniczym Ridero
Spis treści

Słowem wstępu 5
Legalność i kwestie prawne 6
0x01. Sentymentalnie? Malware made in Poland
(okolice roku 2000) 8
0x02. Cyfrowa broń to pożądany produkt 12
0x03. Kto to jest etyczny haker? 16
0x04. Co to jest botnet? 18
0x05. Technologia C&C (C2) 21
0x06. Zastosowanie DNS w sieciach typu botnet 25
0x07. Connect&Forget botnet 27
0x08. File/URL-based botnet 29
0x09. Metody zbierania nowych botów 31
0x0A. Do czego używany jest botnet? 32
0x0B. Zalecenia dot. bezpieczeństwa 34
0x0C. Analiza przykładowego bota 36
0x0D. Wykaz literatury (bibliografia) 40
Słowem wstępu

Niniejsza publikacja ma na celu przedstawienie


Czytelnikowi w przystępny sposób cybernetycznego
zagrożenia jakim są sieci maszyn zombie typu botnet.

Infekcja dużej liczby komputerów, które mają łą-


cze o wysokiej przepustowości mogą stworzyć
na prawdę poważne zagrożenie.

5
Legalność i kwestie
prawne

Opublikowane tutaj materiały zostały stworzone


wyłącznie w celach edukacyjnych. Wielką radość
by mi sprawiło, gdyby tę książkę polecił swoim stu-

6
dentom np. wykładowca czy inna osoba zajmująca się
nauczaniem. Autor, wydawnictwo i sklepy udostęp-
niające tę publikację nie ponoszą odpowiedzialności
za niezgodne z prawem użycie jakiegokolwiek frag-
mentu tych materiałów. Czytelnik oświadcza, że z za-
mieszczonych treści i kodów komputerowych korzy-
sta na własną odpowiedzialność oraz, że nie będą one
używane niezgodnie z prawem.

7
0x01. Sentymentalnie?
Malware made
in Poland (okolice roku
2000)

W tym rozdziale przedstawiono wybrane histo-


ryczne konie trojańskie z okolic roku 2000, gdy wielu
nastolatków łącznie ze mną chciało zostać hakerami.
Wyjaśniono również ogólną zasadę działania tego ty-
pu aplikacji. Rozdział ma jedynie na celu przedstawić
fragment historii.

Klasyczny koń trojański jest niczym innym


jak aplikacją sieciową o architekturze klient–serwer.
Program typu serwer jest uruchamiany na atakowa-
nym komputerze i nasłuchuje na określonym porcie
na polecenia. Natomiast aplikacja klienta łączy się

8
Rysunek 1. Architektura klasycznego konia trojańskiego

z serwerem (musi znać adres IP) i wysyła przez gniaz-


do polecenia (rysunek 1).
Pamiętam wiele dyskusji na forach internetowych
w tamtych czasach, które dotyczyły problemów
z działaniem koni trojańskich. Wystarczyło, że kom-
puter ofiary był za routerem nie mając zewnętrznego
adresu IP, aby się z nim połączyć bezpośrednio i nici
ze zdalnego sterowania.
Rozwiązywano to później za pomocą serwerów po-
średniczących np. słynnego komunikatora Gadu-Ga-
du czy też IRC. Złośliwe oprogramowanie z tamtych
lat jak i konie trojańskie wyglądają dzisiaj bardzo

9
Rysunek 2. Koń trojański NetBus (1998 r.)

prymitywnie. Jednak było o nich głośno w tamtych


czasach oraz cieszyły się ogromną popularnością. Ry-
sunek 2 przedstawia konia trojańskiego NetBus 1.70
zagranicznej produkcji z roku 1998. Natomiast rysu-
nek 3 zawiera okno jednego z chyba najbardziej zna-
nych w tamtych czasach polskich koni trojańskich
o nazwie Prosiak.

10
Rysunek 3. Koń trojański Prosiak (made in Poland)

11
0x02. Cyfrowa broń
to pożądany produkt

Przestępcą możesz zostać w jednej chwili.


Jednak skutki złych uczynków będą trwały.
Osoba, która w bramie Kościoła zbiera
na chleb jest wolnym człowiekiem, tylko
biednym. Czy chwila poczucia się potężnym
jest rozsądną ceną za wolność?

Gdy miałem te naście lat zdarzyło mi się usłyszeć


od pewnego znajomego, że wirusy tworzą firmy anty-
wirusowe, aby mieć pracę i ich produkty były potrzeb-
ne. Uważam to jednak za kompletną bzdurę. Może by-
ły takie incydenty, może nie, ale sądzę, że za taką
działalność pracownik/VXer dostał by kopniaka.

Ja uważam, że nie powinno się robić z wirusów


komputerowych i stosowanych w nich metodach wie-

12
dzy tajemnej. Nie popieram przestępstw w postaci
tworzenia i rozsyłania malware. Ale czy ignorowanie
zagrożenia jest dobrym rozwiązaniem?

Według mnie powinny być przeprowadzane ekspe-


rymenty z zastosowaniem różnych metod pochodzą-
cych ze złośliwego oprogramowania. Mowa oczywi-
ście o własnym laboratorium, a nie rozesłaniu wirusa
komputerowego publicznie, żeby sobie zebrać staty-
styki ile maszyn przejął.

Fragment kodeksu karnego (stan prawny aktualny


na dzień 13.09.2020) Art. 269b. KK w paragrafie pierw-
szym twierdzi1:

§1. Kto wytwarza, pozyskuje, zbywa lub udostępnia in-


nym osobom urządzenia lub programy komputerowe przy-
stosowane do popełnienia przestępstwa określonego w art.
165 sprowadzenie niebezpieczeństwa powszechnego §1 pkt
4, art. 267 bezprawne uzyskanie informacji §3, art. 268a
niszczenie, uszkadzanie, usuwanie, zmienianie lub utrud-
nianie dostępu do danych informatycznych §1 albo §2
w związku z §1, art. 269 niszczenie, uszkadzanie, usuwanie
1
lexlege.pl, 2020 — Art. 269b. KK, https://www.lexlege.pl/kk/art-269b/ [dostęp:
13.09.2020 r.]

13
lub zmienianie danych informatycznych o szczególnym
znaczeniu §1 lub 2 albo art. 269a zakłócanie pracy systemu
informatycznego, teleinformatycznego lub sieci teleinfor-
matycznej, a także hasła komputerowe, kody dostępu
lub inne dane umożliwiające nieuprawniony dostęp do in-
formacji przechowywanych w systemie informatycznym,
systemie teleinformatycznym lub sieci teleinformatycznej,
podlega karze pozbawienia wolności od 3 miesięcy do lat 5.

Jednak dla dobra etycznych hakerów i innych ba-


daczy jakiś czas później wprowadzono zapis1 (stan
prawny aktualny na dzień 13.09.2020):

§1a. Nie popełnia przestępstwa określonego w §1, kto


działa wyłącznie w celu zabezpieczenia systemu informa-
tycznego, systemu teleinformatycznego lub sieci teleinfor-
matycznej przed popełnieniem przestępstwa wymienionego
w tym przepisie albo opracowania metody takiego zabez-
pieczenia.

Niestety kłopotem jest interpretacja prawa. Jednak


jest to według mnie krok w stronę wolności, propago-
wania wiedzy o technikach spotykanych w złośliwym
1
lexlege.pl, 2020 — Art. 269b. KK, https://www.lexlege.pl/kk/art-269b/ [dostęp:
13.09.2020 r.]

14
oprogramowaniu i nie traktowaniu ludzi i badaczy,
którzy zajmują się testami bezpieczeństwa systemów
informatycznych jak przestępców.

15
0x03. Kto to jest
etyczny haker?

Etyczny haker (ang. ethical hacker) to osoba zwią-


zana z IT Security, która działa legalnie. Osobiście są-
dzę, że nie powinno się wykluczać szarych kapeluszy.
Każdemu zdarzają się upadki, a ważne jest to, że ktoś
wciąż chce się podnosić. Przykładem może być sytu-
acja znajomej mi osoby, która z powodów finanso-
wych w młodym wieku pisała na sprzedaż malware.
Później ten człowiek zaczął udzielać się dla społecz-
ności, znalazł pracę programisty i jakoś udaje mu się
nie wracać do zła.

16
Rysunek 4. Białe i czarne kapelusze wśród hakerów

17
0x04. Co to jest botnet?

Rysunek 5. Sieć typu botnet — schemat ogólny

Termin botnet można najprościej zdefiniować jako


sieć komputerów zainfekowanych złośliwym opro-
gramowaniem, które pozwala złemu hakerowi (istnie-
ją też dobrzy, etyczni hakerzy — przyp. Mr. At) na stero-
wanie skompromitowanymi maszynami (rysunek 5).

18
Warto zaznaczyć, że jeśli ktoś wgra nawet na kil-
kadziesiąt komputerów konia trojańskiego, to słowo
botnet jest określeniem na wyrost. Mały botnet za-
czyna się, gdy zainfekowane jest od kilkuset do kil-
kutysięcy maszyn. Historia może poświadczyć, że ar-
mia komputerów zombie potrafiła rozrosnąć się
do liczby milionów botów. Na przykład sieć botnet
Bredolab liczyła około 30 milionów maszyn1. Idąc
tym tropem można wywnioskować, że zamiary złego
hakera są inne, gdy stosowany jest Remote Access Tro-
jan i celem jest mniejsza liczba komputerów,
niż podczas masowej infekcji. Jeśli zły haker przej-
mie kontrolę nad mniejszą liczbą maszyn, to może
pozwolić sobie na ręczne przeglądanie plików
czy inne indywidualne akcje. Natomiast szkodliwe
działania zmieniają się, gdy mowa jest o dziesiąt-
kach tysięcy maszyn lub więcej. Możliwe jest wtedy
skuteczne wykonanie rozproszonego ataku odmowy
usługi (ang. Distributed Denial of Service) powodujące-
go np. wyłączenie określonej witryny internetowej.
Jako najprostszy do wyobrażenia przykład można
podać tutaj platformę sprzedażową. Wyłączenie wi-

1
https://web.archive.org/web/20120430215206/ http://www.thetechherald.com/ar-
ticles/Researchers-Bredolab-still-lurking-though-severely-injured-(Upda-
te-3)/11757/ [dostęp: 29-05-2021 r.]

19
tryny równa się zatrzymaniu sprzedaży, czyli brak
zysku i straty.

20
0x05. Technologia
C&C (C2)

Określenie Command&Control dotyczy wydawania


poleceń zainfekowanym komputerom co pozwala
na zdalne sterowanie nimi. Termin ten można spo-
tkać w różnych dokumentach w skróconej formie ja-
ko C&C lub C2.

Zły haker, który programuje bota może zastoso-


wać różne topologie C&C. Jako podstawowe rodzaje
kanałów komunikacyjnych można wymienić m.in.:
— użycie serwera centralnego (topologia scentra-
lizowana),
— komunikacja bezpośrednia p2p (ang. peer-to-
peer),
— inny nietypowy kanał komunikacji.

Zastosowanie serwera centralnego (rysunek 6) wy-

21
różnia się tym, że łatwo taką architekturę zaprojekto-
wać. Zły haker stawia serwer/usługę i wydaje przez
to polecenia dla sieci botów. Można się domyślić,
że jeśli coś ma sterowanie scentralizowane, to w przy-
padku wykrycia miejsca dowodzenia do zlikwidowa-
nia jest jeden obiekt.

Chociaż nie zawsze.

Cyberprzestępca może zaprogramować w swoim


programie zachowanie w stylu:
— jeśli ten adres IP komputera nie odpowiada,
to użyj innego adresu serwera.
— jeśli przygotowana pula adresów IP nie odpo-
wiada, to pod określoną domeną będzie plik z nowym
kanałem komunikacji.
— i tak dalej…

Niektórzy może się domyślają jakie należy podjąć


kroki, aby wykryć tego typu zachowania. Kluczem
jest zdobycie próbki złośliwego oprogramowania —
tutaj bota — i analiza jego kodu.
Zastosowanie architektury bazującej na połącze-
niu bezpośrednim P2P (ang. peer-to-peer, pol. każdy
do każdego) zapewnia decentralizację (rysunek 7).

22
Rysunek 6. Botnet ze sterowaniem centralnym — schemat

Rysunek 7. Botnet bazujący na komunikacji P2P — sche-


mat
23
Oznacza to, że zdobycie jednego czy kilku botów mo-
że być niewystarczające, aby przerwać cały botnet.
Istnieją również inne, mniej typowe kanały ko-
munikacji C&C jak np. taki, że jeden bot „wie o ist-
nieniu” tylko jednego, innego bota. Można to porów-
nać do przekazywania wiadomości dalej i dalej, czyli
losowego skanowania, aż natrafi się na bota. Jest
to rozwiązanie zdecentralizowane i powinno zapew-
nić długie przetrwanie botnetu, jednak atakujący
może spodziewać się gubienia poleceń czy opóźnień
w ich dostarczaniu.

24
0x06. Zastosowanie
DNS w sieciach typu
botnet

Użycie tzw. Dynamic DNS (DDNS) pozwala ataku-


jącemu na automatyczną zmianę adresu IP we wpi-
sach DNS, gdy adres IP serwera się zmieni.

Inne stosowane rozwiązanie to wieloadresowość


(ang. multihoming). Podnosi to niezawodność połącze-
nia poprzez wpisy podobne do tych z rysunku 8.

25
Rysunek 8. Wieloadresowość w sieciach typu botnet —
przykładowe wpisy DNS

26
0x07. Connect&Forget
botnet

Metoda Connect&Forget polega na tym, że poszcze-


gólne boty łączą się z panelem sterowania zostawiając
informacje o sobie potrzebne do nawiązania połącze-
nia (rysunek 9).

27
Rysunek 9. Botnet typu Connect&Forget — schemat

28
0x08. File/URL-based
botnet

Botnet bazujący na pliku/adresie URL (rysunek


10) może działać w taki sposób, że pod określoną do-
meną internetową zostawiony jest plik z poleceniami,
który boty mogą pobrać. Po przetworzeniu poleceń
z pliku wykonywana jest określona akcja.

29
Rysunek 10. Botnet bazujący na pliku/URL — schemat

30
0x09. Metody zbierania
nowych botów

Co powoduje, że armia komputerów zombie się


rozrasta?

Atakujący może przeprowadzać różne kampanie


w celu zdobycia nowych botów.

Poprzez posiadane boty może być wysyłany spam


zawierający złośliwe linki czy pliki za pomocą któ-
rych infekowane są kolejne komputery. Terminem
spam określa się niechciane i szkodliwe wiadomości
wysyłane poprzez e-mail czy komunikatory.

Stosowane są również narzędzia typu exploit, czyli


programy wykorzystujące błędy w innym oprogramo-
waniu pozwalające np. na nieuprawnione wykonanie
złośliwego kodu.

31
0x0A. Do czego
używany jest botnet?

Sieć typu botnet może zostać użyta m.in. do:

0x01. Rozsyłania niechcianych wiadomości (spam)

0x02. Ataków typu Odmowa usługi (DDoS)

0x03. Wykorzystania mocy obliczeniowej zainfe-


kowanych komputerów do kopania/wydobywania
kryptowaluty

0x04. Instalacji programów z reklamami (Adware)


i szpiegowskich (Spyware)

0x05. Instalacji programów do wyłudzania okupu


i szantażowania użytkownika komputera (Ransom-
ware)

32
0x06. Kradzieży danych i własności intelektualnej

0x07. …i inne.

33
0x0B. Zalecenia dot.
bezpieczeństwa

Użytkownicy komputerów mogą chronić się przed


dołączeniem do botnetu m.in. poprzez:

0x01. Używanie legalnego i aktualizowanego


oprogramowania

0x02. Ostrożność w otwieraniu linków i załączni-


ków

0x03. Używanie logowania wieloskładnikowego


(np. kod SMS oprócz zwykłego hasła)

0x04. Używanie aktualnego oprogramowania an-


tywirusowego i firewall

0x05. Zachowanie ogólnej higieny w korzystaniu

34
z komputera

Badacze bezpieczeństwa mogą podjąć bardziej za-


awansowane akcje jak np. monitorowanie botnetów
i analiza kodu botów. Z metod monitorowania sieci
typu botnet można wymienić m.in. uruchomienie ho-
neypot w celu złapania bota i analizy jego kodu, moni-
torowanie ruchu sieciowego czy dość nietypowy spo-
sób polegający na dołączeniu swojego programu
do botnetu.

35
0x0C. Analiza
przykładowego bota

Czytelnikom, którzy są bardziej wtajemniczeni


w programowanie można polecić usługę pod adresem:

https://any.run/

Dzięki tej witrynie możliwa jest wygodna analiza


próbek złośliwego oprogramowania bez konieczno-
ści instalacji wirtualnych maszyn na swoim kompu-
terze.

Przykładową analizę próbki nazwanej Blue Botnet


można obejrzeć pod adresem: https://app.any.run/tasks/
a8a507e1-59eb-46aa-868d-12c9e6bf82d0/

Analiza pochodzi z marzec 2020 r., ale złośliwe


oprogramowanie mogło zostać stworzone o wiele

36
Rysunek 11. Żądania HTTP pliku bluebotnet. exe

wcześniej. Wynik funkcji skrótu MD5 dla próbki jest


następujący:

64a1d0dfdbd8cf4ff63682bfc748b1c2

Na dole raportu można zauważyć wysyłane żąda-


nia HTTP (rysunek 11). Autor malware jak widać
nie krył za bardzo swoich działań. Gdy pobierzemy
plik próbki, to możemy sobie przeczytać czarno
na białym jakie były potencjalne zamiary autora ko-
du (rysunek 13). Program to plik dla platformy. NET,
więc można go dekompilować np. za pomocą ILSpy
(rysunek 13).
Program bluebotnet. exe próbuje sobie zapewnić au-
tostart i przetrwanie poprzez dodanie się do rejestru
i skopiowanie do folderu AppData (rysunek 12).

37
Rysunek 12. Operacje na plikach i rejestrze wykonywane
przez program bluebotnet. exe

38
Rysunek 13. Dekompilacja fragmentu pliku bluebotnet. exe

39
0x0D. Wykaz literatury
(bibliografia)

Agencja Unii Europejskiej ds. Cyberbezpieczeń-


stwa (ENISA), 2020 — Botnet. Krajobraz zagrożeń wg
Agencji Unii Europejskiej ds. Cyberbezpieczeństwa (ENI-
SA), ISBN: 9789292043544

Craig A. Schiller, Jim Binkley, David Harley, Gadi


Evron, Tony Bradley, Carsten Willems, Michael
Cross, 2007 — Botnets: The Killer Web App, ISBN:
9781597491358

Dawid Farbaniec, 2019 — Idea „beczułek z mio-


dem” (ang. honeypot), https://haker.info/blog/n/idea-beczu-
lek-z-miodem-honeypot [dostęp: 29-05-2021 r.]

Radware’s DDoS Handbook, 2015 — The Ultimate


Guide to Everything You Need to Know about DDoS Attacks

40
Michael Hale Ligh, Steven Adair, Blake Hartstein,
Matthew Richard, 2011 — Malware Analyst’s Cookbook
and DVD. Tools and Techniques for Fighting Malicious
Code, ISBN: 9780470613030

https://web.archive.org/web/20120430215206/http://
www.thetechherald.com/articles/Researchers-Bredolab-
still-lurking-though-severely-injured-(Update-3)/11757/
[dostęp: 29-05-2021 r.]

https://news.microsoft.com/apac/2020/10/13/microsoft-
takes-action-to-disrupt-botnet-and-combat-ransomware/
[dostęp: 29-05-2021 r.]

https://www.usenix.org/legacy/event/sruti05/tech/
full_papers/cooke/cooke_html/ [dostęp: 29-05-2021 r.]

41

You might also like