Poznajmy malware to seria wpisów, która ma za zadanie przybliżyć osobom z podstawową wiedzą dotyczącą informatyki sposobu działania najpopularniejszych próbek złośliwego oprogramowania. Na podstawie dostępnych raportów oraz własnej analizy przedstawię wybrane techniki, metody działania i inne ciekawe informacje, które pozwolą przyswoić najważniejsze koncepcje wykorzystywane przez jego twórców.
Rodzina malware: | Dorkbot (alternatywnie: Ngrbot) |
Moja próbka: | Nazwa pliku: 5ef7ff9bda8ff5f5b6154a27e1f37a51f01f d56e2e37aeb1ac71d1d6bf6a20c1.exe Rozmiar: 96256 bajtów SHA256: 5ef7ff9bda8ff5f5b6154a27e1f37a51f01f d56e2e37aeb1ac71d1d6bf6a20c1 |
Dostępne raporty: | https://research.checkpoint.com/2018/dorkbot-an-investigation/ https://stopmalvertising.com/rootkits/analysis-of-ngrbot.html https://www.mcafee.com/blogs/other-blogs/mcafee-labs/ngrbot-spreads-via-chat/ https://threats.kaspersky.com/en/threat/Worm.Win32.Ngrbot/ https://www.microsoft.com/en-us/wdsi/threats/malware-encyclopedia-description?Name=Win32%2FDorkbot https://www.f-secure.com/v-descs/worm-w32-dorkbot-a.shtml |
Inne źródła: | https://cert.pl/en/posts/2015/12/dorkbot-botnets-disruption/ |
Krótki opis
Dorkbot, znany również jako NgrBot, jest niebezpiecznym robakiem komputerowym, który pierwszy raz został zaobserwowany w 2011 roku.
Rozprzestrzenia się głównie poprzez czaty online oraz nośniki wymienne. Jego działanie obejmuje m.in.:
- Kradzież danych uwierzytelniających (np. haseł do kont bankowych)
- Przeprowadzanie ataków typu DoS (Denial of Service)
- Instalację dodatkowego złośliwego oprogramowania
W szczytowym okresie aktywności do botnetu Dorkbota dołączało nawet 100 tysięcy nowych maszyn miesięcznie. Łącznie zainfekował on ponad milion komputerów na całym świecie.
W 2015 roku międzynarodowa grupa służb i firm przeprowadziła skuteczną akcję neutralizacji botnetu. Wykorzystano do tego technikę tzw. sinkholingu, polegającą na przejęciu lub podmianie serwerów C2 (Command and Control – umożliwiających wykonywanie operacji na zainfekowanej maszynie) na kontrolowane przez organy ścigania.
Omawiane oprogramowanie jest już wiekowe. Moja próbka nie zawiera żadnych technik zaciemniających, a jej analiza była stosunkowo prosta. Mimo to posiada ono wiele funkcji, co pozwoli nam przedstawić typowe etapy działania złośliwego oprogramowania.
Cykl życia złośliwego oprogramowania
Przedstawiony cykl dotyczy głównie oprogramowania umożliwiającego przestępcy zdalną kontrolę nad twoim komputerem (np. botnet, RAT, persistent droppers) lub zbieranie informacji z twojej maszyny (np. credential harvester, keylogger). Model może nie opisywać poprawnie działania oprogramowania, którego głównym celem jest uszkodzenie systemu ofiary (np. CIH, ILOVEYOU) lub niektórych ransomware.
Oto główne etapy działania złośliwego oprogramowania:
- Infekcja i detonacja
- Instalacja i zapewnienie trwałości
- Komunikacja z serwerem C2
- Wykonywanie akcji na systemie ofiary
Omówmy, więc teraz poszczególne etapy oraz przedstawię jak działają w praktyce na podstawie Dorkbota.
Infekcja i detonacja
Jest to pierwszy etap, którego celem jest dostarczenie i uruchomienie złośliwego kodu. Przestępcy najczęściej polegają na działaniach użytkowników, którzy nieświadomie uruchamiają ten kod (czytaj więcej: T1204). Do osiągnięcia tego celu wykorzystują m.in. socjotechnikę, phishing lub dołączają złośliwy kod do użytecznego oprogramowania.
Takie techniki stosował również Dorkbot, który był rozprzestrzeniany za pośrednictwem mediów społecznościowych i komunikatorów, takich jak Skype, Facebook czy vKontakte. Wysyłał wiadomości mające na celu zachęcenie użytkownika do kliknięcia. Oto przykładowy tekst:
- Is that your pic: [malicious link/file]
Oraz używając przykładowych nazw załączników:
- facebook-profile-pic-<random number>-JPEG.exe
- skype_<DD-MM-YYYY>_foto.exe
Dodatkowo należy dodać, że Dorkbot posiadał także cechy robaka – czyli zainfekowana maszyna umożliwiała infekowanie kolejnych. Wysyłała ona wyżej wspomniane wiadomości z komputera ofiary, ale również infekowała nośniki USB, które detonowały próbkę w momencie wpięcia go do komputera z włączonym automatycznie autostartem.
W momencie podłączenia nowej pamięci Dorkbot utworzy na nim swoją kopię oraz plik autorun.inf – odpowiedzialny za uruchomienie pliku wykonywalnego po wpięciu pamięci do nowej maszyny (czytaj więcej: T1091).
Instalacja i trwałość
Kolejnym etapem jest zainstalowanie oprogramowania oraz zapewnienie trwałości, czyli proces, który ma umożliwić działanie naszego złośliwego oprogramowania na komputerze, a także zagwarantować, że wyłączenie komputera nie sprawi, że przestanie ono działać.
Po uruchomieniu naszej próbki możemy zauważyć, że po kilku sekundach usunie ona wykonywany przez nas plik. Gdy przyjrzymy się akcjom wykonanym w naszym systemie możemy zauważyć utworzenie pliku wykonywalnego zawierającą jej kopię w katalogu %appdata%, który domyślnie jest ukryty dla użytkowników.
Kolejną zmianą jest dodanie klucza rejestru, który będzie uruchamiał złośliwe oprogramowanie zaraz po włączeniu komputera (czytaj więcej: T1547.001).
W przypadku Dorkbota nazwa wspomnianego wyżej nowo utworzonego pliku nie jest stała i jest ona tworzona w sposób pseudolosowy w oparciu o informacje z systemu ofiary. Oto algorytm odpowiadający za jej generowanie:
W ten sposób Dorkbot będzie już stale działał za plecami nieświadomego użytkownika oraz mógł wykonywać nieuprawnione i szkodliwe działania.
Komunikacja z serwerem C2
Następnie złośliwe oprogramowanie powinno rozpocząć komunikację z serwerami C2 kontrolowanymi przez jego autorów. Pierwszym ważnym krokiem jest poinformowanie o nowo zainfekowanej maszynie, a następnie oczekiwanie na rozkazy dotyczące operacji, jakie ma wykonać, lub przesyłanie danych z naszej maszyny.
Koordynowanie akcji botnetu wymaga odpowiedniej infrastruktury, która zazwyczaj wygląda jak na poniższym diagramie.
Serwer C2 pełni rolę centralnego punktu sterującego całym botnetem. W tej komunikacji pośredniczą również elementy mające na celu rozproszenie ryzyka i/lub ukrycie działania, oznaczone na diagramie jako Rendezvous Logic Point. Tę rolę mogą pełnić na przykład rekordy A domeny, serwery proxy, a także inne zainfekowane maszyny, jak w przypadku Storm Worm.
W naszej próbce również możemy zauważyć komunikację z serwerem C2. Dorkbot używa w tym celu protokołu IRC, co jest częstą praktyką w starszych rodzinach malware. Obecnie częściej stosuje się inne techniki, takie jak przesyłanie ruchu poprzez HTTPS (ze względu na szyfrowanie komunikacji), tzw. DNS tunneling (ze względu na trudności w zablokowaniu takiego ruchu) lub komunikację przez sieć TOR.
Na powyższym zdjęciu możemy zauważyć, że Dorkbot loguje się do serwera IRC działającego na domenach .su (Soviet Union) na porcie 8080. Jednocześnie w nicku przesyła informacje o kraju logowania oraz systemie operacyjnym.
Wykonywanie akcji na systemie ofiary
Finalnym etapem działania złośliwego oprogramowania jest wykonywanie szkodliwych działań. Oprogramowanie realizuje te zadania zazwyczaj po otrzymaniu odpowiednich poleceń od serwera C2. Mogą one obejmować pobieranie innego malware, przeprowadzanie ataków, czy kradzież danych.
Dorkbot posiada wiele funkcji, które można wywołać. Do najważniejszych, które mają zastosowanie również obecnie, należą: pobieranie i uruchamianie innych plików, przeprowadzanie ataków typu DoS (TCP SYN flood, UDP flood, SlowLoris) oraz przesyłanie wykradzionych danych uwierzytelniających.
Pełną listę rozkazów opisał portal stopmalvertising i można się z nią zapoznać tutaj.
Podsumowanie
Po lekturze dzisiejszego wpisu powinniśmy mieć już ogólny zarys złośliwego oprogramowania, z którym najczęściej będziemy się spotykać. W przyszłych wpisach chciałbym omówić bardziej szczegółowe techniki, takie jak algorytmy generowania domen, ukrywania swojej aktywności czy obfuskacji, a także przedstawić malware spełniające inne zadania. Zachęcam również do zapoznania się z pozostałymi 80% informacji na temat Dorkbota, które nie zostały omówione w tym wpisie.
Powodzenia!
Dodaj komentarz