CCleaner v5.33.6162 oraz CCleaner Cloud v1.07.3191 (wersje 32-bitowe) zawierały złośliwy loader osadzony w kodzie aplikacji przed właściwym punktem wejścia, co stanowi klasyczny przypadek ataku na łańcuch dostaw oprogramowania. Podatność jest krytyczna, ponieważ zainfekowane oprogramowanie było dystrybuowane oficjalnym kanałem producenta i instalowane przez użytkowników ufających zaufanemu dostawcy.
▸ Pokaż oryginał (EN)
CCleaner v5.33.6162 and CCleaner Cloud v1.07.3191 (32-bit builds) contained a malicious pre-entry-point loader that diverts execution from __scrt_common_main_seh into a custom loader. That loader decodes an embedded blob into shellcode, allocates executable heap memory, resolves Windows API functions at runtime, and transfers execution to an in-memory payload. The payload performs anti-analysis checks, gathers host telemetry, encodes the data with a two-stage obfuscation, and attempts HTTPS exfiltration to hard-coded C2 servers or month-based DGA domains. Potential impacts include remote data collection and exfiltration, stealthy in-memory execution and persistence, and potential lateral movement. CCleaner was developed by Piriform, which was acquired by Avast in July 2017; Avast later merged with NortonLifeLock to form the parent company now known as Gen Digital. According to vendor advisories, the compromised CCleaner build was released on August 15, 2017 and remediated on September 12, 2017 with v5.34; the compromised CCleaner Cloud build was released on August 24, 2017 and remediated on September 15, 2017 with v1.07.3214.
Złośliwy loader przechwytuje wykonanie kodu przed standardowym punktem wejścia aplikacji (__scrt_common_main_seh) i przekierowuje go do własnej procedury. Loader dekoduje osadzony blob binarny do postaci shellcode, alokuje wykonywalną pamięć na stercie (heap) i dynamicznie rozwiązuje funkcje Windows API w czasie wykonania, co utrudnia statyczną analizę. Payload przeprowadza następnie kontrole antyanalizowe, zbiera telemetrię systemową (dane o hoście), koduje je dwuetapową obfuskacją, a następnie próbuje wyeksplikować je przez HTTPS do zakodowanych na stałe serwerów C2 lub domen generowanych algorytmem DGA opartym na bieżącym miesiącu.
Atakujący może zdalnie zbierać i eksfiltrować dane z zainfekowanych hostów, utrzymywać ukrytą obecność w systemie poprzez wykonanie wyłącznie w pamięci (in-memory), a także potencjalnie przeprowadzać lateral movement w sieci ofiary.
Należy zaktualizować CCleaner do wersji v5.34 (udostępnionej 12 września 2017 r.) lub nowszej, a CCleaner Cloud do wersji v1.07.3214 (udostępnionej 15 września 2017 r.) lub nowszej. Zaleca się również przeprowadzenie audytu bezpieczeństwa systemów, na których działały zainfekowane wersje, w celu wykrycia ewentualnych śladów eksfiltracji danych lub lateral movement.
CCleaner v5.33.6162 (wersja 32-bitowa) wydany 15 sierpnia 2017 r. oraz CCleaner Cloud v1.07.3191 (wersja 32-bitowa) wydany 24 sierpnia 2017 r., dystrybuowane przez Piriform (przejęte przez Avast w lipcu 2017 r.)
Jest to atak na łańcuch dostaw (supply chain attack) — złośliwy kod został osadzony w oficjalnych, podpisanych instalatorach dystrybuowanych przez producenta. Zainfekowana wersja CCleaner była dostępna do pobrania przez blisko 4 tygodnie (15 sierpnia – 12 września 2017 r.), a CCleaner Cloud przez około 3 tygodnie (24 sierpnia – 15 września 2017 r.). CCleaner był w tamtym czasie oprogramowaniem o bardzo szerokim zasięgu, co potencjalnie naraziło miliony użytkowników. Producent (Avast, następnie Gen Digital) opublikował szczegółowe raporty z dochodzenia dostępne w sekcji referencji.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X