Już pisaliśmy o malware i szyfrowaniu RC4, jednak niniejszy przypadek jest ciekawszy. Algorytm symetryczny RC4 został zastosowany kilka razy w procesie uruchamiania złośliwego kodu na zainfekowanym komputerze.
Analizowany plik ze złośliwym oprogramowaniem to „pdf informacja o działki.exe”. Od 7 maja na skrzynki email osób prywatnych ale również konta firmowe w Polsce regularnie (co 6-7 dni) trafiają wiadomości, które umożliwiają nam pobranie tego pliku.
Przykłady pobieranych plików zip zawierających plik exe:
Uruchomienie aplikacji powoduje instalację komponentu malware (system.pif) w katalogu domowym użytkownika Startup/Autostart. Ten komponent może pobierać/uruchamiać bez wiedzy/udziału użytkownika inne pliki wykonywalne (efektem końcowym są zaszyfrowane pliki – nie tylko dysków lokalnych ale i podłączonych zasobów sieciowych). Jest też wersja na system Android mająca inną funkcjonalność [1].
Algorytm RC4 wykorzystywany jest do:
- Odszyfrowania fragmentu kodu wykonywalnego loader-a (ten fragment odpowiada za odkodowanie głównego kodu),
- Odszyfrowywania klucza, który użyty jest do odszyfrowania dwóch plików wykonywalnych,
- Odszyfrowania dwóch plików wykonywalnych. Jeden plik mapowany jest do pamięci procesu system.pif, drugi (spakowany UPX) mapowany do pamięci procesu iexplore.exe. W obu przypadkach zastosowana technika to process hollowing,
- Szyfrowania komunikacji pomiędzy działającym procesem malware a serwerami C&C (jeden z zastosowanych kluczy &^V8trcv67d[wf9798687RY). Serwery C&C są w domenie .RU (zastosowano również usługę Fast-Flux) – niektóre adresy IP są jeszcze aktywne.
Fragment kodu, który identyfikuje klucz RC4 używany do odkodowania głównego kodu loader-a (rozmiar loader-a 0x3E80).
Poszczególne fragmentu zakodowanego kodu oddzielone są tagiem „RT-t”. W zielonej ramce klucz deszyfrujący.
Zaszyfrowane pliki wykonywalne umieszczone są jako zasób 21 (widok z CFF Explorer).
Fragment kodu odszyfrowujący pliki wykonywalne:
Odkodowany fragment malware (pierwszego pliku wykonywalnego):
Co ciekawe klucz odszyfrowujący dwa pliki jest również zaszyfrowany RC4. Poniżej jego wersja zaszyfrowana (z pliku pif) i odszyfrowana (z pamięci):
Poniżej ostatni przykład. Proces szyfrowania danych przed wysłaniem do serwerów C&C.
Malware przesyła do serwera C&C nazwę użytkownika, nazwę hosta oraz listę aktualnie uruchomionych procesów.
Odnośniki zewnętrzne:
[1] http://www.cert.pl/news/10180