Fałszywa aplikacja do pobrania ze Slacka zapewnia atakującym ukryty pulpit na Twoim komputerze

| 16 kwietnia 2026 r.
Fałszywa strona internetowa Slacka rozsyła złośliwe oprogramowanie

Pobieranie zainfekowanego trojanem programu Slack ze strony wykorzystującej błędy w adresach internetowych daje atakującym coś, czego większość użytkowników nawet nie wiedziałaby, jak szukać: ukryty pulpit działający na ich komputerze.

Instalator wygląda na legalny i uruchamia nawet działającą wersję Slacka. Jednak w tle może utworzyć niewidoczną sesję, dzięki której osoby atakujące mogą przeglądać zawartość, uzyskiwać dostęp do kont i oddziaływać na system, a na ekranie użytkownika nie pojawia się żadna informacja. Chcemy wyraźnie zaznaczyć, że ta kampania nie ma nic wspólnego z firmą Slack i poinformowaliśmy ją o naszych ustaleniach.

Slack ma dziesiątki milionów aktywnych użytkowników dziennie w ponad 200 000 płacących organizacji w ponad 150 krajach, w tym w 77 firmach z listy Fortune 100. Zatem zainfekowany trojanem instalator stanowi zagrożenie nie tylko dla osoby, która go uruchamia, ale także dla sieci korporacyjnych, kont połączonych z systemem SSO oraz komunikacji wewnętrznej.

Strona internetowa podszywająca się pod serwis Slack
Fałszywa strona internetowa Slacka

Slack to jedna z tych aplikacji, które ludzie instalują bez zastanowienia. Znajduje się ona obok Chrome Zoomu w panteonie programów, które pracownicy pobierają już pierwszego dnia w nowej pracy, często po szybkim wyszukiwaniu w Google, a nie z linku w zakładkach. To właśnie sprawia, że jest ona tak atrakcyjna. Marka jest natychmiast rozpoznawalna, instalator to program, który uruchamiały już miliony ludzi, a cała procedura instalacji wydaje się czymś zupełnie zwyczajnym.

Sprawcy tej kampanii zarejestrowali domenę slacks[.]pro (zwróć uwagę na dodatkową literę „s” oraz domenę najwyższego poziomu .pro zamiast .com). Kod źródłowy strony zawiera procedurę obsługi kliknięć w języku JavaScript, która przechwytuje każde kliknięcie na stronie i przekierowuje przeglądarkę do pliku do pobrania umieszczonego na oddzielnej domenie, debtclean-ua[.]sbs. Jedyne kliknięcia, które są wykluczone, to przyciski zgody na pliki cookie; wszystko inne uruchamia pobieranie. Nie jest to typowy atak typu „drive-by”, który wykorzystuje przeglądarkę w tle, ale sytuacja jest bardzo podobna: wystarczy jedno kliknięcie rozproszonego użytkownika.

Na pulpicie ofiary pojawia się plik o nazwie slack-4-49-81.exe, nazwa, która na tyle wiernie odzwierciedla rzeczywisty system numeracji wersji Slacka, że większość osób nie miałaby z tym żadnych wątpliwości.

Procedura obsługi zdarzenia kliknięcia w JavaScript
Procedura obsługi zdarzenia kliknięcia w JavaScript

Nie jest to żadna nieznana taktyka. W sierpniu 2024 roku udokumentowaliśmy niemal identyczną kampanię, w której wykorzystano fałszywe reklamy Google Ads do przekierowywania wyników wyszukiwania w serwisie Slack na złośliwą stronę pobierania. Ataki te służyły do rozpowszechniania SecTopRAT, trojana umożliwiającego zdalny dostęp, wyposażonego w funkcje kradzieży danych.

Te kampanie wciąż powracają, ponieważ ta metoda się sprawdza: cyberprzestępcy wykorzystują znaną markę, rejestrują przekonującą domenę i liczą na to, że większość ludzi nie analizuje dokładnie adresu URL, gdy po prostu próbuje przygotować się do pracy.

Prawdziwa instalacja i ukryty moduł ładujący, działające równolegle

Oto, co sprawia, że ten konkretny przykład jest tak sprytny: nie tylko udaje, że instaluje Slacka. W rzeczywistości instaluje działającą wersję aplikacji, jednocześnie uruchamiając w tle moduł ładujący złośliwe oprogramowanie. Ofiara widzi autentyczny ekran powitalny, obserwuje, jak Slack pojawia się na pasku zadań, i nie ma powodu, by podejrzewać, że coś poszło nie tak.



W ciągu kilku sekund od uruchomienia, slack-4-49-81.exe zapisuje dwa pliki tymczasowe w katalogu użytkownika %TEMP% folder. Pierwszy, slack.tmp, to przynęta: samorozpakowujący się pakiet instalacyjny Squirrel. Squirrel to legalny framework do aktualizacji typu open source, wbudowany w dziesiątki aplikacji opartych na Electronie, w tym w oryginalne wersje Slacka, Discorda i Microsoft Teams. Dropper zawiera w sobie autentyczną kopię Squirrel Update.exe wraz z pakietem NuGet o nazwie slack-4.49.81-full.nupkg, markowy obraz powitalny (background.gif), oraz manifest wydania. Gdy slack.tmp po uruchomieniu rozpakowuje to wszystko do %LOCALAPPDATA%\SquirrelTemp, wprowadza na rynek Update.exe z standardowym --install flagę, a od tego momentu instalacja Slacka przebiega dokładnie tak samo, jak gdyby użytkownik pobrał aplikację z slack.com. Slack się otwiera, wygląda dobrze i działa.

Drugi plik, svc.tmp, pojawia się kilka sekund później. Oto program ładujący: oddzielny plik wykonywalny o rozmiarze około 519 KB, wbudowany w instalator o rozmiarze 150 MB i wyodrębniony do %TEMP% obok pliku-przynęty. Nie jest on podpisany, w metadanych pliku wykonywalnego (PE) identyfikuje się jako Windows Update Service” firmy Microsoft Corporation i nie ma żadnego związku z frameworkiem Squirrel ani aplikacją Slack, która jest instalowana obok niego. Niemal natychmiast tworzy niewielki plik o nazwie loader_log.txt w folderze tymczasowym, co potwierdza rozpoczęcie fazy ładowania, a następnie podejmuje próbę nawiązania połączenia z serwerem dowodzenia i kontroli (C2) pod adresem 94.232.46.16 na porcie TCP 8081.

W międzyczasie instalacja programu Squirrel dobiega końca i zapisuje klucz rejestru typu „Run”, aby zachować ustawienia po ponownym uruchomieniu komputera: nazwa wartości com.squirrel.slack.slack pod HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Jest to dokładnie ta sama nazwa klucza i ścieżka, które tworzy legalna instalacja Slacka. Administrator IT przeglądający wpisy w sekcji autostartu uznałby to za zwykłą instalację Slacka i nie zwróciłby na to uwagi.

Wewnątrz programu ładującego: co ujawnia analiza statyczna

Aby zrozumieć, do czego służy ten moduł ładujący po nawiązaniu połączenia C2, przeanalizowaliśmy bezpośrednio plik binarny. Informacje o wersji pliku PE wskazują, że jest to usługa aktualizacji Windows (nazwa wewnętrzna WinSvcUpd.exe), wydanego przez Microsoft Corporation, wersja 1.4.2.0. Nic z tego nie jest prawdą. To fałszywa przykrywka, która ma na celu przetrwanie pobieżnego spojrzenia na listę procesów lub w menedżerze zadań.

Plik binarny to 64-bitowy plik Windows skompilowany przy użyciu MSVC. Jego siedem sekcji PE ma losowo wybrane nazwy, takie jak .7ssik, .d1npl, .m6zef, a nie standardowe sekcje .text i .rdata generowane przez zwykłe kompilatory, co jest zgodne z wykorzystaniem niestandardowego narzędzia do kompilacji lub szyfrowania. Tabela importów jest celowo ograniczona do minimum: zawiera 90 funkcji z KERNEL32.dll i nic więcej. Nie ma statycznych importów dotyczących sieci, dostępu do rejestru ani manipulacji procesami. Zamiast tego te interfejsy API są rozpoznawane w czasie wykonywania za pomocą GetProcAddress oraz LoadLibraryExW, standardowa technika, która ukrywa rzeczywiste możliwości pliku binarnego przed analizą tablicy importu.

Zajęcia wychowania fizycznego
Zajęcia wychowania fizycznego

To, co wyróżnia ten próbny program wśród innych narzędzi ładujących, to jego „gadatliwość” na poziomie wewnętrznym. Plik binarny jest pełen ciągów tekstowych służących do debugowania, które opisują całą jego architekturę, podzieloną na oznaczone podsystemy. Ciągi te nie były przeznaczone do wglądu ofiary. Są to elementy diagnostyczne pozostawione w kompilacji przez programistów, które dokładnie wskazują, do czego to narzędzie zostało zaprojektowane.

Ciągi znaków z przedrostkiem [P1] Opisz pierwszy etap: program ładujący pobiera ładunek z serwera C2 ([P1] Downloading payload...). Samo pobieranie odbywa się za pomocą biblioteki WinHTTP, która jest ładowana w czasie wykonywania. Ciągi znaków debugowania [HTTP] Connect, [HTTP] Sendi [HTTP] Recv śledzić cały cykl żądania, podczas gdy [HTTP] winhttp unavailable ujawnia ścieżkę awaryjną na wypadek, gdyby nie udało się załadować biblioteki. Przechowuje dane użytkowe w pamięci współdzielonej za pomocą interfejsów API Windows ([P1] Payload in shared memory) oraz uruchamia swoją drugą kopię jako Faza 2 ([P1] Phase-2 launched). W fazie 2 odczytywany jest ładunek z pamięci współdzielonej ([P2] Payload copied from shared memory) i odszyfrowuje go. Ciągi znaków [CRYPT] Decrypting... oraz [CRYPT] MZ OK sprawdź, czy ładunek dociera w postaci zaszyfrowanej i czy po odszyfrowaniu zostaje zweryfikowany jako plik Windows . Odszyfrowana biblioteka DLL jest zapisywana na dysku pod nazwą zgodną z wzorcem wmiprvse_*.tmp, zaprojektowany tak, aby wtapiać się w pliki tymczasowe tworzone przez legalny program Windows Provider Host.

Moduł ładujący został zaprojektowany tak, aby wywoływał określoną funkcję wyeksportowaną z odszyfrowanej biblioteki DLL: HvncRun. Ciągi znaków [LOAD] Calling HvncRun... oraz --- HvncClient log --- zidentyfikować ładunek jako klienta HVNC, czyli narzędzie do ukrytego wirtualnego przetwarzania danych (Hidden Virtual Network Computing). HVNC różni się od typowego trojana zdalnego dostępu w jednym kluczowym aspekcie: tworzy on całkowicie oddzielną, niewidoczną sesję pulpitu na komputerze ofiary. Atakujący może otwierać przeglądarki, uzyskiwać dostęp do portali bankowych i korzystać z uwierzytelnionych sesji, nie pozostawiając żadnych śladów na ekranie widocznym dla użytkownika. Jest to narzędzie wykorzystywane przede wszystkim w operacjach związanych z oszustwami finansowymi.

Aby uruchomić ładunek HVNC w trybie ukrytym, moduł ładujący umożliwia wstrzyknięcie biblioteki DLL do explorer.exe z wykorzystaniem techniki znanej jako wstrzykiwanie sekcyjne. Ciągi znaków [INJ] === Section-based injection into explorer.exe === oraz [INJ] Remote thread created in explorer.exe! opisać sekwencję, w której moduł ładujący tworzy sekcję pamięci współdzielonej za pomocą NtCreateSection, mapuje go zarówno do własnego procesu, jak i do Windows , zapisuje kod powłoki oraz ścieżkę do biblioteki DLL w obszarze współdzielonym, a następnie uruchamia zdalny wątek za pośrednictwem NtCreateThreadEx. Jest to trudniejsza do wykrycia odmiana wstrzykiwania procesu niż klasyczna WriteProcessMemory takie podejście, ponieważ pozwala uniknąć bezpośredniego zapisu w przestrzeni pamięci obiektu docelowego. Jeśli interfejsy API systemu NT są niedostępne, moduł ładujący przechodzi na zapisywanie biblioteki DLL na dysk i ładowanie jej bezpośrednio ([INJ] Required NT APIs not available, falling back to DropAndLoad).

Ciągi znaków

Plik binarny zawiera aktywne zabezpieczenia przed analizą. Ciąg znaków [AA] Debugger/sandbox detected oznacza, że system sprawdza dane obserwacyjne i odpowiednio dostosowuje swoje działanie. Dysponuje narzędziami, które to umożliwiają: IsDebuggerPresent oraz GetTickCount pojawiają się w tabeli importów; są one powszechnie wykorzystywane do wykrywania debuggerów oraz do omijania piaskownic opartych na pomiarze czasu, choć oba są również standardowymi importami biblioteki CRT w każdym pliku binarnym skompilowanym przez MSVC. Ciąg debugowania stanowi wyraźniejszy sygnał, że interfejsy API te są wykorzystywane celowo.

Co to oznacza dla osoby, która to uruchomiła

Jeśli pobrałeś aplikację Slack z innego źródła niż slack.com ostatnio, zwłaszcza z domen kończących się na .prolub taką, która automatycznie pobiera plik po kliknięciu w dowolnym miejscu na stronie, potraktuj to poważnie.

Program ładujący próbuje nawiązać połączenie ze swoim serwerem C2, zanim okno Slacka zakończy ładowanie. Został zaprojektowany tak, aby wykorzystać to połączenie (jeśli zostanie nawiązane) do pobrania i odszyfrowania ładunku HVNC, a następnie wstrzyknięcia go do explorer.exe aby działać bezpośrednio w środowisku Windows . Instalacja Squirrel tworzy ten sam klucz „Run”, co legalna instalacja Slacka, więc wpis w sekcji autostartu jest nie do odróżnienia od tego na komputerze bez zainfekowanego oprogramowania. Tymczasem moduł ładujący musi zadziałać tylko raz: jeśli pobierze ładunek HVNC i wstrzyknie go do explorer.exe Podczas pierwszego uruchomienia atakujący uzyskuje punkt oparcia, który utrzymuje się do następnego restartu systemu. To, czy ładunek będzie się utrzymywał w systemie, zależy od kolejnych posunięć operatora C2.

Jak zachować bezpieczeństwo

Ta kampania stanowi przykład tego, jak wiele wysiłku inżynieryjnego wymaga stworzenie czegoś, co wygląda na zwyczajne. Jedna ścieżka kodu instaluje prawdziwe oprogramowanie za pośrednictwem legalnego frameworka. Druga uruchamia wieloetapowy moduł ładujący z dynamiczną identyfikacją interfejsów API, dostarczaniem zaszyfrowanego ładunku, wstrzykiwaniem procesów do Windows oraz zabezpieczeniami przed analizą – a wszystko to spakowane w plik binarny, który identyfikuje się jako usługa firmy Microsoft. Tętywka maskuje rzeczywisty przebieg operacji, podczas gdy moduł ładujący zapewnia atakującemu punkt zaczepienia.

Dodaj do zakładek oficjalne strony pobierania oprogramowania, z którego korzystasz. Jeśli zdarza ci się wpisywać w Google hasło „pobierz Slack” i klikać pierwszy wynik, który wygląda na właściwy, to jesteś dokładnie tym, na kogo ta kampania została wymierzona.

  • Pobieraj aplikację Slack wyłącznie z oficjalnej strony. Wejdź bezpośrednio na stronę slack.com lub skorzystaj z zaufanego skrótu. Unikaj klikania reklam lub nieznanych linków.
  • Sprawdź dokładnie adres URL. Zwróć uwagę na drobne zmiany, takie jak dodatkowe litery lub nietypowe domeny (na przykład „.pro” zamiast „.com”).
  • Uważaj na strony, które uruchamiają pobieranie plików po kliknięciu. Jeśli strona zaczyna pobierać plik po kliknięciu w dowolnym miejscu, zamknij ją.
  • Przed uruchomieniem instalatora sprawdź go. Kliknij plik prawym przyciskiem myszy, sprawdź jego właściwości i upewnij się, że posiada prawidłowy podpis cyfrowy.
  • Korzystaj z zabezpieczeń działających w czasie rzeczywistym. Narzędzie zabezpieczające może blokować znane złośliwe domeny i wykrywać podejrzane działania podczas instalacji.
  • Po zainstalowaniu oprogramowania należy zwracać uwagę na nietypowe zachowanie systemu. Warto zbadać sprawę w przypadku nieoczekiwanej aktywności sieciowej, spowolnień lub nieznanych procesów.
  • Jeśli coś wydaje się podejrzane, działaj szybko. Odłącz się od internetu, uruchom pełne skanowanie i zmień hasła na innym, niezaatakowanym urządzeniu – zwłaszcza do kont e-mailowych, bankowych i służbowych.

Co zrobić, jeśli możesz być narażony na ryzyko

  • Należy natychmiast rozłączyć się z siecią, aby przerwać wszelkie aktywne sesje C2.
  • Przeprowadź pełne skanowanie za pomocą Malwarebytes.
  • Zmień wszystkie hasła do kont, do których logowałeś się z tego komputera. Zrób to na innym, „czystym” urządzeniu. Najpierw zajmij się kontami pocztowymi, bankowymi i kontami z logowaniem jednokrotnym (SSO).
  • Jeśli jest to komputer służbowy, należy niezwłocznie powiadomić dział IT lub zespół ds. bezpieczeństwa.

Wskaźniki kompromisu (IOC)

Suma kontrolna pliku (SHA-256)

cfd2e466ea5ac50f9d9267f3535a68a23e4ff62e3fe3e20a30ec52024553c564 (slack-4-49-81.exe)

08fd0a82cdeb0a963b7416cf57446564dfed5de5c6f66dee94b36d28bfefec9d (svc.tmp)

Dystrybucja

slacks[.]pro

debtclean-ua[.]sbs

Wskaźniki sieciowe

94.232.46.16:8081


Nagroda „Wybór redakcji” serwisu CNET 2026

Według serwisu CNET.Przeczytaj ich recenzję


O autorze

Pasjonat rozwiązań antywirusowych, Stefan od najmłodszych lat zajmuje się testowaniem złośliwego oprogramowania i kontrolą jakości produktów AV. Jako członek zespołu Malwarebytes , Stefan jest oddany ochronie klientów i zapewnianiu im bezpieczeństwa.