tutaj - Prevenity
Transkrypt
tutaj - Prevenity
Analiza malware Remote Administration Tool (RAT) – DarkComet – BeSTi@ 24 marzec, 2014 Wstęp Tydzień temu do wielu skrzynek pocztowych w Polsce trafił email z linkiem do pliku podszywającego się pod nową aktualizację aplikacji o nazwie BeSTi@ (System Zarządzania Budżetem Jednostek Samorządu Terytorialnego). Fałszywa aktualizacja to narzędzie typu Remote Administration Tool (RAT) - DarkComet – zmodyfikowane pakietem AutoIT. DarkComet bardzo często wykorzystywany jest do infekowania stacji roboczych i serwerów z systemem operacyjnym Microsoft Windows – nadaje się idealnie do łatwego i szybkiego budowania sieci bot, które pozwalają między innymi na przeprowadzanie ataków DDoS czy kradzież haseł użytkowników. Poniżej przedstawiamy wynik analizy przeprowadzony na poniższej próbce: File: Bestia.3.02.012.07.exe Size: 562237 MD5: 9BB03BB5AF40D1202378F95A6485FBA8 Analiza Process Explorer wyświetla proces „malware” jako spakowany (plik spakowany za pomocą UPX). Uruchomiony plik tworzy swoją kopię pod nazwą driver--grap.exe. Dla systemu Windows 7 jest to katalog: C:\Users\<username>\AppData\Roaming\driver--grap.exe. Dodaje też skrót o nazwie Windows do katalogu Startup w celu zapewnienia automatycznego startu złośliwej aplikacji po restarcie systemu operacyjnego. Na poniższym rysunku przedstawiona jest informacja o właściwościach skrótu Windows. Prevenity 2014 1 Rysunek 1. Właściwości skrótu Windows. Po restarcie zainfekowanego komputera na liście procesów będzie widoczna aplikacja driver-grap.exe. Jedną z funkcji „malware” jest keylogger. Dane zapisywane są w pliku tekstowym o rozszerzeniu .dc. Nazwa pliku to aktualna data. Poniżej fragment zawartości logu: C:\Users\<username>\AppData\Roaming\dclogs\2014-03-20-2.dc :: Bestia (4:20:49 PM) :: Start menu (4:20:59 PM) notepad :: Untitled - Notepad (4:21:19 PM) prevenity :: Blank Page - Windows Internet Explorer (5:37:02 PM) o[<-][<-]prevenity.com :: Administrator: C:\Windows\system32\cmd.exe (5:43:55 PM) dir DarkComet łączy się z adresem IP: 188.116.4.246 na port TCP 81. Nie korzysta z ustawień proxy ani nazwy domenowej hosta o tym IP (wiewiora.me). Po nawiązaniu połączenia możliwe jest zdalne przesyłanie komend do zainfekowanego komputera. Komunikacja pomiędzy serwerami a klientem DarkComet jest szyfrowana. Poniżej zapis przechwyconej i zaszyfrowanej komunikacji „keepalive” wysyłanej z serwerów (zainfekowanych stacji) co 20 sekund. Prevenity 2014 2 Wartość obiektu MUTEX (informacja z Process Explorer): Wartość obiektu MUTEX (konfiguracja odczytana z pamięci procesu) W pliku konfiguracyjnym obok wartości MUTEX znajduje się hasło używane do szyfrowania komunikacji. Poniższy fragment kodu odpowiada za załadowanie danych z pliku konfiguracyjnego (między innymi klucza szyfrującego, wysyłanych komend): driver__grap.exe:00403111 driver__grap.exe:00403111 driver__grap.exe:00403114 driver__grap.exe:00403116 driver__grap.exe:00403119 loc_403111: fild qword ptr [ecx+eax] fild qword ptr [eax] cmp ecx, 8 jle short loc_40312C Poniżej przykład dotyczący zaszyfrowania komunikatu #KEEPALIVE#, który wysyłany jest z zainfekowanego komputera. Komunikat #KEEPALIVE# po zaszyfrowaniu: Wywołanie funkcji sprawdzającej czy komenda została zaszyfrowana (adres 0x4030FC). Prevenity 2014 3 Fragment funkcji szyfrującej (adres funkcji 0x4613D8). Ostatnim elementem jest zastosowanie operacji XOR do zakodowania poszczególnych znaków komendy. Na kolejnym zrzucie z ekranu oraz liście znajdują się niektóre z dostępnych w DarkComet komendy/funkcje: Prevenity 2014 4 %IPPORTSCAN SUBMREMOTESHELL WEBCAMLIVE SOUNDCAPTURE PASSWORD FTPFILEUPLOAD URLDOWNLOADTOFILE RPCLanScan #BOT#URLDownload #BOT#URLUpdate #BOT#SvrUninstall #BOT#CloseServer #BOT#RunPrompt #BOT#VisitUrl #FreezeIO #SendClip Poniżej fragment wewnętrznego dziennika zdarzeń DarkComet: Prevenity 2014 5 Komunikację sieciową malware możemy śledzić monitorując wywoływana funkcji ws2_32_send(). driver__grap.exe:004863EB driver__grap.exe:004863EC driver__grap.exe:004863EF driver__grap.exe:004863F2 driver__grap.exe:004863F3 push mov mov push call eax ; zaszyfrowany komunikat eax, [ebp-8] eax, [eax+40h] eax ; \Device\Afd ws2_32_send Plik Bestia.3.02.012.07.exe zawiera wersję serwera DarkComent 5.x. Poniżej zrzut ekranu z konsoli zarządzającej (klient) i generatora (DarkComet Server Builder) plików exe (serwera DarkComet). Można je pobrać ze strony DarkComet [1]. Źródła [1] http://darkcomet-rat.com [2] http://contextis.com/research/blog/malware-analysis-dark-comet-rat/ [3] http://blog.malwarebytes.org/intelligence/2012/06/you-dirty-rat-part-1-darkcomet/ [4] http://www.matasano.com/research/PEST-CONTROL.pdf Prevenity 2014 6