ethical.blue Magazine

// Cybersecurity clarified.

Co to jest botnet? Sieć maszyn zombie

23.05.2022   Dawid Farbaniec
...

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.


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.

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 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...</p>

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łączeniu bezpośrednim P2P (ang. peer-to-peer, pol. każdy do każdego) zapewnia decentralizację. 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 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.

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 DNS typu A.
botnet.example.ethical.blue A 127.0.0.1

botnet.example.ethical.blue A 127.0.0.2
botnet.example.ethical.blue A 127.0.0.3
botnet.example.ethical.blue A 127.0.0.4
botnet.example.ethical.blue A 127.0.0.5
(...)

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.

File/URL-based botnet

Botnet bazujący na pliku/adresie URL 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.

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.

Do czego używany jest botnet?

Sieć typu botnet może zostać użyta m.in. do:
  • Rozsyłania niechcianych wiadomości (spam)
  • Ataków typu Odmowa usługi (DDoS)
  • Wykorzystania mocy obliczeniowej zainfekowanych komputerów do kopania/wydobywania kryptowaluty
  • Instalacji programów z reklamami (Adware) i szpiegowskich (Spyware)
  • Instalacji programów do wyłudzania okupu i szantażowania użytkownika komputera (Ransomware)
  • Kradzieży danych i własności intelektualnej
  • ...i inne.

Zalecenia dot. bezpieczeństwa

Użytkownicy komputerów mogą chronić się przed dołączeniem do botnetu m.in. poprzez:
  • Używanie legalnego i aktualizowanego oprogramowania
  • Ostrożność w otwieraniu linków i załączników
  • Używanie logowania wieloskładnikowego (np. kod SMS oprócz zwykłego hasła)
  • Używanie aktualnego oprogramowania antywirusowego i firewall
  • 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.

Wykaz literatury

Agencja Unii Europejskiej ds. Cyberbezpieczeństwa (ENISA), 2020 — Botnet. Krajobraz zagrożeń wg Agencji Unii Europejskiej ds. Cyberbezpieczeństwa (ENISA), 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
Radware's DDoS Handbook, 2015 — The Ultimate Guide to Everything You Need to Know about DDoS Attacks
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/ [access: 2021-05-29]
https://news.microsoft.com/apac/2020/10/13/microsoft-takes-action-to-disrupt-botnet-and-combat-ransomware/ [access: 2021-05-29]
https://www.usenix.org/legacy/event/sruti05/tech/full_papers/cooke/cooke_html/ [access: 2021-05-29]

ethical.blue Appz

Categories

Archives


Donate to ethical.blue Magazine website maintenance with cryptocurrency or PayPal.

aspnet
Connections: 5

bitcoin diesel