czwartek, 21 listopada, 2024

Nasze serwisy:

Więcej

    Necurs – hybrydowy botnet spamowy

    Zobacz również

    Necurs to jeden z większych botnetów na świecie – według informacji podawanych na stronie MalwareTech jest to nawet kilka milionów infekcji, z czego średnio kilkaset tysięcy jest aktywnych. Zainfekowane komputery rozsyłają e-maile ze spamem do wielu odbiorców – zwykle stylizowane są na prośbę o poprawienie faktury czy potwierdzenie zamówienia. W ich załącznikach znajduje się skrypty, które po uruchomieniu instalują malware – zazwyczaj Locky, który po infekcji szyfruje pliki użytkownika i

    - Reklama -

    żąda za nie okupu. Necurs jest siecią hybrydową – połączeniem modelu scentralizowanego Command and Control, zapewniającego szybkie wydawanie komend do botów, z modelem peer-to-peer, który uniemożliwia wyłączenie całości botnetu poprzez przejęcie pojedynczego serwera. Nie jest zatem zaskoczeniem tak wielki sukces tego malware’u.
    Zachowanie

    Malware próbuje się połączyć do serwera C2, którego adres IP jest generowany na kilka różnych sposobów. Po pierwsze, kilka adresów znajduje się bezpośrednio w samej próbce (w postaci zaszyfrowanej – więcej o tym niżej). Jeśli połączenie się nie powiedzie, to Necurs generuje do 2048 pseudolosowych domen (przy użyciu DGA), które zależą od obecnej daty (nowe domeny tworzone są co 4 dni) oraz ziarna pseudolosowości, zapisanego na stałe w próbce – w tym analizowanym przypadku była to liczba 5. Jeśli któraś z domen jest zarejestrowana i odpowiada na połączenie zgodnie z protokołem, jest ona zapisywana jako adres. Wreszcie, jeśli wszystkie z tych metod zawiodły, adres C2 jest pobierany od „peerów” – początkowa lista około dwóch tysięcy par IP+port sąsiadów jest zaszyfrowana w próbce. Podczas analizy, Necurs korzystał z tej ostatniej metody, gdyż żadna z domen utworzonych poprzez DGA nie była zarejestrowana lub nie odpowiadała. Nie jest jednak wykluczone, że w przyszłości autor skorzysta z tej metody.Screenshot from 2016-09-02 14-58-16_scaled

    Jeśli w końcu udało się połączyć z głównym serwerem, pobierana jest od niego (przy użyciu autorskiego protokołu zbudowanego na bazie HTTP) lista informacji – w dalszej części opisu będę je nazywał „zasobami”. Każdy zasób jest identyfikowany 64-bitową liczbą. Przypuszczalnie jest to jakiś hash sensownej nazwy używanej w kodzie źródłowym, ale po kompilacji oczywiście nie mamy do niej dostępu. Niemniej, analizując jak konkretne zasoby są używane, mogliśmy niektóre z nich zidentyfikować.

    Przykładowe informacje, które C2 wysyła to: nowa lista sąsiedztwa (ok. 2000 par IP+port), nowa lista domen C2, komenda odczekania określonego czasu (zazwyczaj kilkanaście-kilkadziesiąt minut), czy komenda pobrania i uruchomienia biblioteki DLL. Praktycznie każda odpowiedź zawiera rozkaz poczekania – ma to zapewne na celu zmniejszenie obciążenia serwera.

    W głównym module nie było jednak tego, co najbardziej nas interesowało – wysyłania maili. Jak się okazuje, funkcja ta znajduje się w jednej z pobieranych bibliotek DLL. Ta niestety była napisana już w C++, co przełożyło się na zwiększenie objętości kodu (używane były szablony) i wydłużenie analizy. Większość informacji udało się na szczęście wywnioskować behawioralnie, tj. debugując malware i obserwując dane, jakie wysyła (oczywiście jeszcze przed ich zaszyfrowaniem).

    Jak się okazuje, payload (istotne dane) jest w formacie JSON. Niestety wszystkie klucze są dość nieczytelne i nie da się odgadnąć ich znaczenia jedynie po ich nazwie – np. „dg3XGB9” oznacza obecny czas uniksowy. Jest kilka formatów wiadomości protokołu komunikacji, spośród których zanalizowałem jedynie kilka najciekawszych – w szczególności prośbę bota o format e-maila do wysłania i oczywiście odpowiedzi serwera na nią. Necurs korzysta z dość prostego języka skryptowego, aby randomizować wysyłane maile.

    ŹródłoCERT
    guest
    0 Comments
    najnowszy
    najstarszy oceniany
    Inline Feedbacks
    View all comments
    - Reklama -

    Najnowsze

    Dołącz ze SkyCash do programu Mastercard Bezcenne Chwile

    Bezcenne Chwile to wyjątkowy program, w którym płatności pracują na Ciebie! Płać kartą Mastercard zarejestrowaną w programie w aplikacji SkyCash...