Ta witryna korzysta z plików cookies. Korzystając z witryny akceptujesz: polityka prywatności.   [×]
Online: 0x0F (15)

haker.info – Etyczny hacking🕊️

Spreading knowledge like a virus.

Botnet — sieć komputerów zombie

🕰 ✒️ Dawid Farbaniec 📄 1020 słów

Możesz wesprzeć autora tej witryny poprzez zakup materiałów w formie drukowanej lub e-book:

[ 📖 Botnet. Sieć komputerów zombie ] [ 📖 Inne ]

💀 🦠 🧪

0x01. Co to jest botnet?

Termin botnet można najprościej zdefiniować jako sieć komputerów zainfekowanych złośliwym oprogramowaniem, które pozwala złemu hakerowi (istnieją też dobrzy, etyczni hakerzy — przyp. Mr. At) na sterowanie skompromitowanymi maszynami (rysunek 1.1).

Botnet
Rysunek 1.1. Sieć typu botnet - schemat ogólny

Warto zaznaczyć, że jeśli ktoś wgra nawet na kilkadziesiąt komputerów konia trojańskiego, to słowo botnet jest określeniem na wyrost. Mały botnet zaczyna się, gdy zainfekowane jest od kilkuset do kilku tysięcy maszyn. Historia może poświadczyć, że armia 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 maszyn. Idąc tym tropem można wywnioskować, że zamiary złego hakera są inne, gdy stosowany jest Remote Access Trojan i celem jest mniejsza liczba komputerów, niż podczas masowej infekcji. Jeśli zły haker przejmie 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ątkach tysięcy maszyn lub więcej. Możliwe jest wtedy skuteczne wykonanie rozproszonego ataku odmowy usługi (ang. Distributed Denial of Service) powodującego np. wyłączenie określonej witryny internetowej. Jako najprostszy do wyobrażenia przykład można podać tutaj platformę sprzedażową. Wyłączenie witryny równa się zatrzymaniu sprzedaży, czyli brak zysku i straty.

0x02. Technologia C&C (C2)

Określenie Command&Control dotyczy wydawania poleceń zainfekowanym komputerom co pozwala na zdalne sterowanie nimi. Termin ten można spotkać w różnych dokumentach w skróconej formie jako C&C lub C2.

Zły haker, który programuje bota może zastosować różne topologie C&C. Jako podstawowe rodzaje kanałów komunikacyjnych można wymienić m.in.: — użycie serwera centralnego (topologia scentralizowana),
— komunikacja bezpośrednia p2p (ang. peer-to-peer),
— inny nietypowy kanał komunikacji.

Zastosowanie serwera centralnego (rysunek 2.1) wyróżnia się tym, że łatwo taką architekturę zaprojektować. 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 przypadku wykrycia miejsca dowodzenia do zlikwidowania 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 odpowiada, 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.

Botnet
Rysunek 2.1. Botnet ze sterowaniem centralnym — schemat

Zastosowanie architektury bazującej na połączeniu bezpośrednim P2P (ang. peer-to-peer, pol. każdy do każdego) zapewnia decentralizację (rysunek 2.2). Oznacza to, że zdobycie jednego czy kilku botów może być niewystarczające, aby przerwać cały botnet.

Botnet
Rysunek 2.2. Botnet bazujący na komunikacji P2P — schemat

Istnieją również inne, mniej typowe kanały komunikacji C&C jak np. taki, że jeden bot „wie o istnieniu” tylko jednego, innego bota. Można to porównać do przekazywania wiadomości dalej i dalej, czyli losowego skanowania, aż natrafi się na bota. Jest to rozwiązanie zdecentralizowane i powinno zapewnić długie przetrwanie botnetu, jednak atakujący może spodziewać się gubienia poleceń czy opóźnień w ich dostarczaniu.

0x03. Zastosowanie DNS w sieciach typu botnet

Użycie tzw. Dynamic DNS (DDNS) pozwala atakującemu na automatyczną zmianę adresu IP we wpisach DNS, gdy adres IP serwera się zmieni.

Inne stosowane rozwiązanie to wieloadresowość (ang. multihoming). Podnosi to niezawodność połączenia poprzez wpisy podobne do tych z rysunku 3.1.

Botnet
Rysunek 3.1. Wieloadresowość w sieciach typu botnet — przykładowe wpisy DNS

0x04. Connect&Forget botnet

Metoda Connect&Forget polega na tym, że poszczególne boty łączą się z panelem sterowania zostawiając informacje o sobie potrzebne do nawiązania połączenia (rysunek 4.1).

Botnet
Rysunek 4.1. Botnet typu Connect&Forget — schemat

0x05. File/URL-based botnet

Botnet bazujący na pliku/adresie URL (rysunek 5.1) może działać w taki sposób, że pod określoną domeną internetową zostawiony jest plik z poleceniami, który boty mogą pobrać. Po przetworzeniu poleceń z pliku wykonywana jest określona akcja.

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

0x06. 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 oprogramowaniu pozwalające np. na nieuprawnione wykonanie złośliwego kodu.

0x07. 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 zainfekowanych 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 (Ransomware)
0x06. Kradzieży danych i własności intelektualnej
0x07. ...i inne.

0x08. 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łączników
0x03. Używanie logowania wieloskładnikowego (np. kod SMS oprócz zwykłego hasła)
0x04. Używanie aktualnego oprogramowania antywirusowego i firewall
0x05. Zachowanie ogólnej higieny w korzystaniu z komputera

Badacze bezpieczeństwa mogą podjąć bardziej zaawansowane akcje jak np. monitorowanie botnetów i analiza kodu botów. Z metod monitorowania sieci typu botnet można wymienić m.in. uruchomienie honeypot w celu złapania bota i analizy jego kodu, monitorowanie ruchu sieciowego czy dość nietypowy sposób polegający na dołączeniu swojego programu do botnetu.

0x09. 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 komputerze.

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 wcześniej. Wynik funkcji skrótu MD5 dla próbki jest następująca:

64a1d0dfdbd8cf4ff63682bfc748b1c2

Na dole raportu można zauważyć wysyłane żądania HTTP (rysunek 9.1). 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 kodu (rysunek 9.3). Program to plik dla platformy .NET, więc można go dekompilować np. za pomocą ILSpy (rysunek 9.3).

Botnet
Rysunek 9.1. Żądania HTTP pliku bluebotnet.exe

Program bluebotnet.exe próbuje sobie zapewnić autostart i przetrwanie poprzez dodanie się do rejestru i skopiowanie do folderu AppData (rysunek 9.2).

Botnet
Rysunek 9.2. Operacje na plikach i rejestrze wykonywane przez program bluebotnet.exe
Botnet
Rysunek 9.3. Dekompilacja fragmentu pliku bluebotnet.exe

Wykaz literatury (bibliografia)

[1] Agencja Unii Europejskiej ds. Cyberbezpieczeństwa (ENISA), 2020 — Botnet. Krajobraz zagrożeń wg Agencji Unii Europejskiej ds. Cyberbezpieczeństwa (ENISA), ISBN: 9789292043544
[2] Craig A. Schiller, Jim Binkley, David Harley, Gadi Evron, Tony Bradley, Carsten Willems, Michael Cross, 2007 — Botnets: The Killer Web App, ISBN: 9781597491358
[3] Dawid Farbaniec, 2019 — Idea „beczułek z miodem” (ang. honeypot), https://haker.info/blog/n/idea-beczulek-z-miodem-honeypot [dostęp: 29.05.2021 r.]
[4] Radware's DDoS Handbook, 2015 — The Ultimate Guide to Everything You Need to Know about DDoS Attacks
[5] 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
[6] 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.]
[7] https://news.microsoft.com/apac/2020/10/13/microsoft-takes-action-to-disrupt-botnet-and-combat-ransomware/ [dostęp: 29.05.2021 r.]
[8] https://www.usenix.org/legacy/event/sruti05/tech/full_papers/cooke/cooke_html/ [dostęp: 29.05.2021 r.]


Komentarze czytelników

📖 Trzymaj e-booka! 👋🏻

\\ więcej książek i e-booków »

Komentarze [0]

jas napisał komentarz do ↴
🔳 Dekodowanie kodu Aztec 2D z dowodu rejestracyjnego
[🕰 / 🌎 IP address logged ]
jas napisał komentarz do ↴
🔳 Mowa szesnastkowa (ang. hex speech)
[🕰 / 🌎 IP address logged ]
Iceman napisał komentarz do ↴
🔳 Mowa szesnastkowa (ang. hex speech)
[🕰 / 🌎 IP address logged ]

🎲 Losowe wpisy

Gra komputerowa: Opowieść zapisana w bajtach (290 słów) Przeczytaj teraz »
Wymazywanie kodu z pamięci (x64) (620 słów) Przeczytaj teraz »
Hacking i wartości moralne – przemyślenia (780 słów) Przeczytaj teraz »

Maskotka haker.info

Postać Mr. At nawiązuje do gier z gatunku roguelike/ASCII RPG w których do wyświetlania grafiki korzysta się ze znaków tekstowych. Znak @ (at) w grach roguelike przeważnie oznacza postać bohatera.

Kontakt

mgr inż. Dawid Farbaniec  //  haker.iиfø

E-mail:
office@haker.info

Odwiedź mnie również na:

 

Wyrazy uznania: 📜 Credits page

Wszystkie treści umieszczone na tej witrynie są chronione prawem autorskim. Surowo zabronione jest kopiowanie i rozpowszechnianie zawartości tej witryny bez zgody autora. Wszelkie opublikowane tutaj treści (w tym kody źródłowe i inne) służą wyłącznie celom informacyjnym oraz edukacyjnym. Właściciele tej witryny nie ponoszą odpowiedzialności za ewentualne niezgodne z prawem wykorzystanie zasobów dostępnych w witrynie. Użytkownik tej witryny oświadcza, że z zamieszczonych tutaj danych korzysta na własną odpowiedzialność. Wszelkie znaki towarowe i nazwy zastrzeżone zostały użyte jedynie w celach informacyjnych i należą wyłącznie do ich prawnych właścicieli. Autor tej witryny w czasie tworzenia treści nie działa w imieniu firm, których technologie czy produkty opisuje — chyba, że jest to jasno oznaczone. Korzystając z zasobów witryny haker.info oświadczasz, że akceptujesz powyższe warunki oraz politykę prywatności.