Kampania Poisoned Source. Przejęte strony, złośliwy JavaScript i exploity na smartfony
Przeglądając Internet z poziomu smartfona, raczej nie spodziewamy się, że samo otwarcie legalnej strony może narazić nas na kradzież danych z urządzenia. Niestety rzeczywistość bywa przewrotna i właśnie taki scenariusz opisali analitycy cyberbezpieczeństwa firmy Sekoia. Ich raport, opublikowany na początku listopada, przedstawia kampanię nazwaną Poisoned Source.
Według badaczy za operacją stoi najprawdopodobniej rosyjska grupa APT29, powiązana z wywiadem zagranicznym SVR. Atakujący wykorzystywali przejęte witryny oraz fałszywe domeny imitujące legalne strony internetowe, aby dostarczać exploity na urządzenia z systemami iOS i Android.
Celem były dane użytkowników, w tym pliki cookies, hasła oraz inne informacje przechowywane na telefonach. Przyjrzyjmy się zatem, jakie techniki zastosowano w tej kampanii, jaką infrastrukturę wykorzystano i kto mógł znaleźć się na celowniku atakujących.
Zaufana strona jako pułapka
Kampania opierała się na technice nazywanej watering hole. Polega ona na umieszczeniu złośliwego kodu na stronach internetowych, które mogą znajdować się w kręgu zainteresowań określonej grupy osób. Zamiast atakować każdy cel osobno i bezpośrednio, napastnicy przygotowują pułapkę w miejscu, do którego potencjalna ofiara może trafić z własnej woli. Sama nazwa techniki nawiązuje do zachowania drapieżników, które czatują przy wodopoju na zwierzęta przychodzące ugasić pragnienie.
Pierwszym sposobem dostarczania złośliwego kodu było przejmowanie legalnych stron internetowych i umieszczanie w nich złośliwego JavaScriptu. Sekoia nie ujawniła nazw większości organizacji, których witryny zostały przejęte, z raportu wiemy jednak, że chodziło między innymi o stronę ukraińskiej firmy zajmującej się wydobyciem gazu oraz organizacji reprezentującej amerykański przemysł chemiczny.
Drugi sposób polegał na tworzeniu domen podszywających się pod prawdziwe serwisy. Atakujący nie musieli jednak budować od podstaw stron przypominających oryginały. Zamiast tego wykorzystywali reverse proxy, czyli serwer pośredniczący, który pobierał zawartość prawdziwej witryny i przekazywał ją użytkownikowi pod fałszywym adresem, dodając po drodze złośliwy JavaScript. W ten sposób podszywano się między innymi pod serwis amerykańskich obchodów 250-lecia niepodległości oraz stronę luksusowego hotelu Raffles London.
Ostatni, trzeci wariant jest najbardziej interesujący. Opierał się na kompromitacji usługi Plerdy, dlatego warto poświęcić mu nieco więcej uwagi.
Jeden skrypt, tysiące potencjalnych celów
Plerdy to ukraińska platforma analityki internetowej, która podobnie jak Google Analytics pomaga właścicielom stron analizować zachowania odwiedzających, między innymi kliknięcia czy sposób poruszania się użytkowników po witrynie.
Aby korzystać z funkcji platformy, administrator umieszcza na swojej stronie fragment kodu JavaScript pobierany z serwerów Plerdy. Gdy użytkownik odwiedza taką witrynę, jego przeglądarka automatycznie pobiera i uruchamia ten skrypt.
Jak wykazała analiza kampanii, między 27 sierpnia a 3 września 2026 roku atakujący uzyskali możliwość modyfikowania skryptu Plerdy i dodali do niego fragment pobierający złośliwy kod z własnej infrastruktury. Według późniejszego komunikatu Plerdy dostęp do infrastruktury uzyskano przy użyciu skradzionych poświadczeń administratora.
W rezultacie każdy, kto odwiedził stronę korzystającą z Plerdy, mógł nieświadomie uruchomić kod przygotowany przez napastników. Kompromitacja jednej usługi otworzyła więc drogę do wykorzystania w kampanii tysięcy witryn, głównie ukraińskich. Wśród nich znajdowały się również strony związane z wojskiem, rekrutacją i wyposażeniem wojskowym.
Nie oznacza to oczywiście, że odwiedzenie każdej z tych stron prowadziło do skutecznej infekcji. Przypadek Plerdy dobrze pokazuje jednak, że czasami zamiast przejmować wiele niezależnych witryn, wystarczy skompromitować jeden wspólny komponent, aby znacząco zwiększyć potencjalny zasięg ataku.
Złośliwy JavaScript
Niezależnie od tego, którą z opisanych metod dostarczono złośliwy kod, dalszy przebieg ataku wyglądał podobnie.

Po otwarciu strony zawierającej złośliwy JavaScript uruchamiany był skrypt o nazwie UltimateFingerprinter, którego zadaniem było zebranie informacji o urządzeniu. Sprawdzał on między innymi system operacyjny, wersję przeglądarki oraz parametry sprzętowe telefonu.
Na podstawie zebranych informacji infrastruktura atakujących mogła dostarczyć odpowiedni łańcuch exploitów, czyli zestaw podatności wykorzystywanych kolejno do przełamywania zabezpieczeń przeglądarki i systemu operacyjnego.
Sekoia odtworzyła trzy takie łańcuchy – dwa przeznaczone dla iOS i jeden dla Androida.
W przypadku łańcucha przeznaczonego dla iOS 16.7 atak skupiał się na kradzieży plików cookies. W bardziej rozbudowanym wariancie wykorzystywano zestaw exploitów DarkSword, którego działanie opisywaliśmy już we wcześniejszym artykule. Pozwalał on na uzyskanie znacznie szerszego dostępu do danych urządzenia, w tym wiadomości, danych komunikatorów, zapisanych haseł, zdjęć i innych informacji.
Na Androidzie wykorzystywano podatności przeglądarki Chrome oraz sterownika graficznego Adreno. Końcowy komponent, nazwany przez badaczy AndroSnitch, zbierał między innymi pliki cookies, zapisane dane logowania oraz hasła sieci Wi-Fi.
Znane podatności nadal skuteczne
Kampania nie opierała się na żadnych nowych zero-dayach. Wszystkie podatności wykorzystywane w odtworzonych łańcuchach ataku miały już dostępne poprawki. W przypadku Androida atakujący łączyli CVE-2026-3910 w przeglądarce Chrome z CVE-2025-27038 w sterowniku graficznym Adreno. Z kolei najbardziej rozbudowany łańcuch dla iOS wykorzystywał aż pięć podatności, pozwalających przejść od wykonania kodu w przeglądarce, przez obejście zabezpieczeń systemu, aż po eskalację uprawnień.
W praktyce oznaczało to, że przed wykorzystaniem tych konkretnych exploitów mogły chronić aktualizacje systemu i przeglądarki, które były już dostępne w momencie prowadzenia kampanii.
Jeżeli chodzi o powiązanie całej operacji z APT29, Sekoia oparła swoje ustalenia na podobieństwach technicznych do wcześniejszych działań grupy, wykorzystywanej infrastrukturze oraz doborze potencjalnych celów. Grupa, znana również jako Midnight Blizzard lub Cozy Bear, pojawiła się już w jednym z naszych wcześniejszych artykułów dotyczących ataków na Active Directory Federation Services.
Sekoia nie ustaliła, ile telefonów zostało skutecznie zainfekowanych. Najciekawsze w całej operacji pozostaje jednak to, że atakujący nie potrzebowali nowych zero-dayów ani bezpośredniego kontaktu z ofiarami. Wystarczyło przygotować pułapki w miejscach, które użytkownicy mogli odwiedzić z własnej inicjatywy, i wykorzystać znane podatności w niezaktualizowanych urządzeniach.




