CCleaner - włamanie do programu poważniejsze, niż przypuszczano

CCleaner, niezwykle popularne narzędzie do porządkowania i optymalizacji systemu operacyjnego, został wykorzystany przez cyberprzestępców jako nośnik niebezpiecznego kodu. Atak okazał się wymyślny, a zagrożenie poważniejsze, niż się spodziewano.

O zagrożeniu poinformowali m.in. eksperci z firmy Morphisec oraz z zespołu badań nad bezpieczeństwem Cisco Talos. W Cisco wykryto je przy okazji testów nowej technologii detekcji złośliwego oprogramowania. Eksperci zwrócili uwagę na alerty systemów generowane przez pewien plik wykonywalny, który okazał się instalatorem CCleanera dystrybuowanym przez oficjalny serwer plików producenta. Plik .exe CCleanera miał prawidłowy cyfrowy certyfikat, przyznany producentowi, tj. należącej do Avasta firmie Piriform, przez Symanteka, jednak użytkownik, który pobierał to narzędzie, otrzymywał niechciany dodatek.

Wraz z 32-bitowym CCleanerem w wersji dekstop 5.33.6162 oraz CCleaner Cloud 1.07.3191 rozpowszechniany był złośliwy program, wyposażony w funkcję zarządzania i kontroli (tzw. command and control) oraz algorytmy generowania domen. Pierwsza służy cyberprzestępcy do zdalnego sterowania przejętym w wyniku skutecznego ataku komputerem. Z kolei algorytmy DGA używane są w botnetach do utrudnienia blokowania połączeń do serwerów command and control, a także do zapobiegania przejęciu infrastruktury danego botnetu. Co ciekawe, kod opóźniał swoje działanie o 10 minut (601 sekund), co przez ekspertów z Cisco Talos zostało zinterpretowane jako próba uniknięcia wykrycia przez oprogramowanie zabezpieczające.

Przestępcom udało się zmodyfikować kod CCleanera poprzez doklejenie swoich ukrytych instrukcji w jego części inicjalizacyjnej (Common Runtime). Przemycony do CCleanera kod zbierał informacje o lokalnym komputerze, takie jak: nazwa, lista zainstalowanych aplikacji – w tym aktualizacji Windows – lista uruchomionych procesów (z wyszczególnieniem, które działają z uprawnieniami administratora) i adresy MAC pierwszych trzech adapterów sieciowych. Wszystkie gromadzone w ten sposób dane malware szyfrowało i przesyłało do serwera sterującego, oczekując na dalsze instrukcje.

Spokojnie, to tylko awaria?

W momencie opracowywania artykułu wektor ataku nie był znany, jednak jak podaje Morphisec, charakter modyfikacji w kodzie CCleanera wskazuje na to, że mogły zostać wykonane w systemie ze środowiskiem programistycznym kompilującym kod programu. Tę możliwość bierze też pod uwagę Cisco Talos: za atakiem mógł stał ktoś wewnątrz zespołu programistów Avast/Piriform, kto celowo umieścił w narzędziu szkodliwy kod lub ktoś, kto miał lub w nieuprawniony sposób uzyskał dostęp do kompilatora. Przedstawiciele producenta CCleanera nie chcieli się wypowiadać na ten temat przed zakończeniem wewnętrznego śledztwa.

Feralna wersja CCleanera została wydana 15 sierpnia i była dystrybuowana niemal przez miesiąc. Szacuje się, że ofiarami ataku mogło paść ponad 2,27 mln użytkowników, bo tylu pobrało zainfekowane instalatory. Producent, po uzyskaniu informacji o malwarze od Morpisec (12 września), udostępnił automatyczną aktualizację wersji 5.33.6162, noszącą numer 5.33.6163 i oczyszczoną ze szkodliwego kodu. Powiadomił też amerykańskie organa ścigania, czego efektem było wyłączenie serwera sterującego malware. Równocześnie wydał też kolejną wersję CCleanera, 5.34.

I na tym sprawa mogłaby się zakończyć, gdyby nie dalsze analizy kodu, również tego pozyskanego z zamkniętego serwera C2, prowadzone niezależnie zarówno przez Avasta, jak i Cisco. Analizy te ujawniły skalę zaawansowania ataku.

Atak ukierunkowany

Okazało się, że szkodnika zaprogramowano tak, by umożliwiał cyberprzestępcom załadowanie na zainfekowanych maszynach kolejnego złośliwego oprogramowania. Początkowo Avast zapewniał, że zagrożenie zostało zażegnane tak szybko, jak to było możliwe, i że udało się to zrobić, zanim zostały wyrządzone dalsze szkody (chociaż do 18 września zhakowanej wersji narzędzia używało jeszcze ponad 700 tys. osób).

Z zapisów logów zamkniętego serwera C2 z kilku dni, zgromadzonych do 20 września, wynika, że 2. faza ataku jednak miała miejsce, a kolejny złośliwy kod został skutecznie przesłany do 20 komputerów w 8 różnych organizacjach. Faktyczna liczba takich systemów może być jednak dużo wyższa, biorąc pod uwagę to, ile osób pobrało wadliwą wersję CCleanera. Przestępcy wzięli na celownik duże przedsiębiorstwa z sektora technologii i telekomunikacji, m.in. Samsung, Cisco, HTC, Sony, Intel, Microsoft, Vodafone, O2, Linksys, Epson, MSI, Akamai, D-Link i Vmware. Może to sugerować, że istotą ataku było szpiegostwo przemysłowe i kradzież własności intelektualnej.

Druga faza ataku to proces dość skomplikowany. Zaczynała się od przesłania do zainfekowanego systemu pliku GeeSetup_x86.dll, który identyfikował typ systemu, a następnie umieszczał w nim dopasowanego do tej wersji trojana. W 32-bitowym Windows zagnieżdżał się w ten sposób trojan lTSMSISrv.dll, który w Windows XP zapisywany był jako C:\Windows\system32\spool\prtprocs\w32x86\localspl.dll, a w Windows 7 i nowszych trafiał do katalogu C:\Windows\system32.

Trojany doklejały się do binariów legalnych programów, wstrzykując w nie swoją złośliwą funkcjonalność. W systemach 32-bit posługiwały się w ten sposób plikiem VirtCDRDrv32.dll, który wchodzi w skład instalacji aplikacji Corel WinZip. W Windows 64-bit ofiarą padał plik EFACli64.dll, część pakietu Symantec Endpoint Protection.

Oba trojany ładowały się automatycznie, wykorzystując usługi systemowe: w Windows 32-bit – bufora wydruku, w 64-bit – pulpitu zdalnego. Tworzyły też wpisy w Rejestrze Windows, w kluczu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WbemPerf\.

Kto stoi za atakiem?

Jak zwrócili uwagę eksperci z Kaspersky Lab, fragmenty kodu malware dodanego do CCleanera są identyczne ze zidentyfikowanymi w narzędziach cyberprzestępczej Grupy 72, znanej także jako APT17. Chociaż nie można przesądzać, że grupa ta stoi za zhakowaniem CCleanera, istnieje kilka przesłanek, by ją o to podejrzewać. Specjalizuje się ona w przeprowadzaniu ataków APT (Advanced Persistent Threat), wymierzonych w duże organizacje, dysponujące dużymi zbiorami cennych danych, w tym również własności intelektualnej. Ponadto, w jednym z plików konfiguracyjnych serwera C2 znaleziono ustawienie czasu zgodne ze strefą czasową w Chinach (a APT17 to właśnie chińscy hakerzy).

Niezależnie od tego, kto stoi za atakiem, trzeba uznać ten incydent za wyjątkowo groźny i oczekiwać, że w przyszłości kolejni twórcy złośliwego oprogramowania będą powielać ten schemat. Powody, by tak myśleć, są dwa: po pierwsze, mamy do czynienia z cyberatakiem z użyciem legalnie dystrybuowanego oprogramowania. Cyberprzestępcy próbują wykorzystać zaufanie użytkowników do dostawców oprogramowania, ponieważ nie ma, przynajmniej teoretycznie, bezpieczniejszego źródła zaopatrywania się w aplikacje niż serwer internetowy producenta.

Po drugie, wybór „ofiary ataku” nie był przypadkowy. CCleaner stale pojawia się w przeróżnych zestawieniach najprzydatniejszych aplikacji komputerowych – z powodzeniem zmieściłby się nie tylko w pierwszej dziesiątce najlepszych aplikacji optymalizacyjnych do Windows, ale najlepszych aplikacji do tego systemu w ogóle. Producent notuje 5 mln nowych instalacji wersji desktopowej CCleanera tygodniowo, a w ubiegłym roku pochwalił się, że od chwili powstania tego programu pobrano go ponad 2 mld razy.


Zobacz również