24 lutego 2026 r. opublikowaliśmy artykuł o tym, jakfałszywa „aktualizacja” Zoom Meeting po cichu instaluje oprogramowanie monitorujące. Opisaliśmy kampanię, w której wykorzystano przekonującą fałszywą poczekalnię Zoom, żeby wcisnąć legalny instalator Teramind, który został wykorzystany do nielegalnego monitorowania Windows . Firma Teramind oświadczyła, że nie jest powiązana z opisanymi podmiotami stanowiącymi zagrożenie, nie wdrożyła oprogramowania, o którym mowa, i potępia wszelkie nieuprawnione nadużycia komercyjnych technologii monitorujących.
Po opublikowaniu naszych ustaleń złośliwa domena została zgłoszona do rejestratora nazw domen Namecheap, który potwierdził zawieszenie usługi. Pomimo usunięcia domeny nasze ciągłe monitorowanie pokazuje, że kampania nie tylko nadal trwa, ale nawet się rozrasta: zidentyfikowaliśmy teraz równoległą operację podszywającą się pod Google Meet, prowadzoną z innej domeny i infrastruktury.
W tym artykule przedstawimy bardziej szczegółową analizę techniczną obu wariantów, katalogując wykorzystanie identyfikatorów instancji Teramind przez oszustów, które bezpośrednio zaobserwowaliśmy lub zebraliśmy z repozytoriów piaskownicy, udokumentujemy nasze praktyczne uruchomienie instalatora w kontrolowanym środowisku i odpowiemy na pytanie, które pojawiło się podczas naszych badań: W jaki sposób jeden identyczny pakietWindows może służyć kilku różnym kontom atakujących?
Kampania rozszerza się na Google Meet
Podczas gdy oryginalna strona poświęcona Zoomowi pod adresem uswebzoomus[.]com została usunięta przez Namecheap po zgłoszeniu przez społeczność, druga strona pod adresem googlemeetinterview[.]click aktywnie wdraża ten sam ładunek przy użyciu identycznego scenariusza dostosowanego do Google Meet.
Wariant Google Meet przedstawia fałszywą stronę Microsoft Store oznaczoną jako „Google Meet for Meetings” opublikowaną przez „Google Meet Video Communications, Inc”, która jest fikcyjnym podmiotem. Przycisk „Rozpoczęcie pobierania…” jest wyświetlany, podczas gdy plik MSI jest potajemnie dostarczany ścieżką /Windows/download.php. Strona odsyłająca to /Windows/microsoft-store.php, potwierdzając, że fałszywy ekran Microsoft Store jest obsługiwany przez infrastrukturę atakującego, a nie przez firmę Microsoft.
Nasze przechwycenie ruchu Fiddler dla wariantu Google Meet pokazuje nagłówek odpowiedzi:
Content-Disposition: attachment; filename="teramind_agent_x64_s-i(__06a23f815bc471c82aed60b60910b8ec1162844d).msi".
W przeciwieństwie do wariantu Zoom, gdzie nazwa pliku była zamaskowana jako komponent Zoom, ten wariant nawet nie próbuje ukrywać użycia Teramind przez oszusta w nazwie pliku. Sprawdziliśmy, że oba pliki są identyczne bajt po bajcie (MD5: AD0A22E393E9289DEAC0D8D95D8118B5), potwierdzając, że w obu kampaniach wykorzystywany jest ten sam plik binarny, a zmieniono jedynie nazwę pliku.
Różnice infrastrukturalne między wariantami
Pomimo wykorzystania tego samego ładunku, oba warianty są hostowane na różnych infrastrukturach. Wariant Zoom na uswebzoomus[.]com działał na Apache/2.4.58 (Ubuntu) i został zarejestrowany przez Namecheap w dniu 2026-02-16. Wariant Google Meet pod adresem googlemeetinterview[.]click działa na serwerze LiteSpeed.
Oba serwisy udostępniają pliki do pobrania za pomocą skryptów PHP i wykorzystują ten sam fałszywy wzorzec przekierowania do sklepu Microsoft Store, ale zmiana serwera internetowego i rejestratora domen sugeruje, że operator przewidział usunięcie serwisów i przygotował wcześniej infrastrukturę awaryjną.
Jeden plik binarny, wiele tożsamości. Jak instalator odczytuje nazwę własnego pliku
W trakcie naszego dochodzenia zidentyfikowaliśmy 14 różnych nazw plików MSI o tym samym skrócie SHA-256. Dwie z nich zostały bezpośrednio przechwycone ze złośliwej infrastruktury poprzez analizę domen złośliwego oprogramowania: wariant Zoom z uswebzoomus[.]com oraz wariant Google Meet z googlemeetinterview[.]click. Pozostałe nazwy plików pochodziły z repozytoriów piaskownicy.
Należy pamiętać, że niektóre z tych nazw plików pochodzących z piaskownicy mogą reprezentować legalne wdrożenia korporacyjne Teramind, a nie złośliwą działalność. Teramind jest produktem komercyjnym o legalnych zastosowaniach w przedsiębiorstwach, a pliki przesyłane do usług piaskownicy niekoniecznie wskazują na nadużycia. Niemniej jednak wszystkie one mają ten sam plik binarny i wykazują ten sam mechanizm konfiguracji oparty na nazwach plików.
Każdy plik ma ten sam skrót SHA-256: 644ef9f5eea1d6a2bc39a62627ee3c7114a14e7050bafab8a76b9aa8069425fa. To natychmiast wywołało pytanie: jeśli identyfikator instancji Teramind zmienia się wraz z każdą nazwą pliku, ale plik binarny jest identyczny bajt po bajcie, to gdzie faktycznie jest przechowywany identyfikator?
Odpowiedź tkwi w niestandardowej akcji .NET osadzonej w pliku MSI. Nasza analiza behawioralna ujawnia następującą sekwencję:
Calling custom action Teramind.Setup.Actions!Teramind.Setup.Actions.CustomActions.ReadPropertiesFromMsiName
PROPERTY CHANGE: Modifying TMINSTANCE property. Its current value is 'onsite'. Its new value: '__941afee582cc71135202939296679e229dd7cced'.
PROPERTY CHANGE: Adding TMROUTER property. Its value is 'rt.teramind.co'.
MSI jest dostarczany z domyślnym TMINSTANCE wartość onsite. Jest to standardowe domyślne ustawienie lokalnej instalacji Teramind. Podczas instalacji ReadPropertiesFromMsiName akcja niestandardowa analizuje nazwę pliku instalatora, wyodrębnia 40-znakowy ciąg szesnastkowy z s-i(__) część i nadpisuje domyślną wartość identyfikatorem instancji specyficznym dla atakującego.
W dzienniku pojawia się również komunikat Failed to get router from msi name—co oznacza, że instalator próbował wyodrębnić adres serwera C2 z nazwy pliku, ale nie był w stanie tego zrobić. W takim przypadku powraca do wartości domyślnej. rt.teramind.co, który jest wstępnie skonfigurowany wewnątrz MSI. Jednakże, TMROUTER jest właściwością MSI, co oznacza, że może zostać nadpisana podczas instalacji lub zmieniona w innej kompilacji. Nazwa pliku w tej kampanii zawiera tylko identyfikator instancji; miejsce docelowe C2 jest określane przez domyślną konfigurację MSI.
Detonacja na żywo: co instalator faktycznie robi w rzeczywistym systemie
Aby wyjść poza analizę behawioralną opartą na piaskownicy, uruchomiliśmy instalator MSI w izolowanej maszynie wirtualnej Windows z włączonym szczegółowym logowaniem MSI, ApateDNS do przechwytywania DNS i Fiddler do monitorowania sieci. Ta praktyczna analiza ujawniła kilka krytycznych zachowań, które nie były widoczne w automatycznych raportach piaskownicy.
Łańcuch instalacyjny i brama CheckHosts
Instalator MSI przechodzi kolejno przez cztery niestandardowe akcje .NET, wszystkie wykonywane za pomocą zestawu narzędzi WiX Toolset. zzzzInvokeManagedCustomActionOutOfProc mechanizm:
- OdczytajWłaściwościZNazwyMsi: Analizuje nazwę pliku MSI w celu wyodrębnienia identyfikatora instancji Teramind i nadpisuje domyślną wartość.
onsitewartość - CheckAgent:Sprawdza, czy agent Teramind jest już zainstalowany na komputerze.
- ValidateParams:Sprawdzanie poprawności wyodrębnionych parametrów konfiguracyjnych
- Sprawdź hosty: Wykonuje kontrolę łączności przed lotem względem serwera C2.
rt.teramind.co
The CheckHosts akcja jest trudna: jeśli instalator nie może połączyć się z serwerem Teramind, instalacja zostaje przerwana z kodem błędu 1603. Nasza pierwsza próba detonacji w izolowanej sieciowo maszynie wirtualnej zakończyła się niepowodzeniem właśnie w tym momencie:
TM: TMINSTANCE = __941afee582cc71135202939296679e229dd7cced
TM: TMROUTER = rt.teramind.co
CustomAction CheckHosts returned actual error code 1603
Zachowanie to jest istotne z dwóch powodów. Po pierwsze, ujawnia adres serwera C2: rt.teramind.coPo drugie, oznacza to, że ofiary w sieciach korporacyjnych z restrykcyjnym DNS lub filtrowaniem wychodzącym mogą być nieumyślnie chronione. Instalator niepowodzenie zakończy się bez powiadomienia, jeśli nie będzie mógł połączyć się z serwerem podczas instalacji. Jednak plik MSI obsługuje TMSKIPSRVCHECK właściwość, która może ominąć tę kontrolę, a jej wartością domyślną jest no.
Aby uzupełnić naszą analizę, dodaliśmy rt.teramind.co do pliku Windows , wskazującego lokalny host, co umożliwiło pomyślne rozpoznanie DNS i przejście akcji CheckHosts. Instalacja została pomyślnie zakończona.
Tryb ukrycia potwierdzony
Dziennik pomyślnej instalacji potwierdza to, co sugerowano w oryginalnym artykule: tryb ukryty Teramind (zwany Hidden Agent, opcja wdrażania działająca w tle) jest domyślnie włączony w tej kompilacji. Zrzut właściwości MSI pokazuje:
Property(S): TMSTEALTH = 1
Potwierdza to, że agent instaluje się bez ikony na pasku zadań, bez wpisu w zasobniku systemowym i bez widocznego wpisu na liście Windows . Ofiara nie ma żadnego wizualnego wskazania, że oprogramowanie monitorujące jest uruchomione.
Dwie usługi, a nie jedna
Dziennik instalacji ujawnia, że kampania wdraża dwie trwałe usługi, a nie tylko tę udokumentowaną w naszym oryginalnym artykule:
| Nazwa usługi | Wyświetlana nazwa | Binarny | Typ startu |
|---|---|---|---|
| tsvchst | Host usług | svc.exe – usługa | Automatyczny (uruchamianie) |
| pmon | Monitor wydajności | pmon.exe | Ręczny (na żądanie) |
Obie nazwy usług zostały wybrane tak, aby dobrze komponowały się z otoczeniem: tsvchst naśladuje legalny system Windows svchost.exe wzorzec nazewnictwa, podczas gdy pmon o nazwie wyświetlanej „Performance Monitor” naśladuje wbudowany monitor Windows . Oba działają jako LocalSystem, najwyższy poziom uprawnień na Windows .
Obie usługi są skonfigurowane z agresywnym odzyskiwaniem po awarii: ponowne uruchomienie po pierwszej awarii, ponowne uruchomienie po drugiej awarii i ponowne uruchomienie po kolejnych awariach, z opóźnieniami wynoszącymi 160 sekund (tsvchst) i 130 sekund (pmon). Oznacza to, że nawet jeśli użytkownik lub narzędzie zabezpieczające zakończy działanie usługi, zostanie ona automatycznie ponownie uruchomiona w ciągu kilku minut.
Zaobserwowano wywołanie zwrotne Live C2
Zaraz po instalacji ApateDNS wykryło, że agent łączy się z serwerem macierzystym. Zapytania DNS dotyczące rt.teramind.co pojawiły się w ciągu kilku sekund od rozpoczęcia usługi, potwierdzając, że agent natychmiast rozpoczyna cykl oddzwaniania. Zapytania powtarzały się w odstępach około 11 sekund, wykazując stały wzorzec odpytywania.
W rzeczywistej sytuacji, gdy ofiara ma dostęp do Internetu, połączenia te zostaną przekierowane do infrastruktury Teramind, a agent rozpocznie przesyłanie przechwyconych danych.
Pełna powierzchnia konfiguracyjna MSI
Szczegółowy dziennik instalacji ujawnia wszystkie parametry konfiguracyjne obsługiwane przez MSI poprzez jego SecureCustomProperties lista. To pokazuje pełną powierzchnię konfiguracyjną instalatora:
TMSTEALTH— Tryb ukrycia (ustawiony na 1 w tej wersji)
TMINSTANCE— Identyfikator konta (wyodrębniony z nazwy pliku)
TMROUTER— Adres serwera C2 (na stałe ustawiony na rt.teramind.co)
TMENCRYPTION— Przełącznik szyfrowania komunikacji C2
TMSOCKSHOST / TMSOCKSPORT / TMSOCKSUSER / TMSOCKSPASSWORD— Wbudowana obsługa proxy SOCKS5 do tunelowania ruchu C2 przez serwery proxy
TMHTTPPROXY— Obsługa serwera proxy HTTP
TMSKIPSRVCHECK— Pomiń kontrolę łączności C2 przed lotem
TMNODRV / TMNOFSDRV— Wyłącz sterowniki filtrów jądra
TMNOIPCCLIPBOARD— Przełącznik monitorowania schowka
TMNOREMOTETS— Przełącznik zdalnego monitorowania usług terminali
TMHASHUSERNAMES— Anonimizacja/haszowanie przechwyconych nazw użytkowników
TMDISABLESCREEN— Wyłącz przechwytywanie zrzutów ekranu
TMADDENTRYTOARP— Dodaj/usuń wpis z sekcji Dodaj/usuń programy (wyłączone w trybie ukrytym)
TMCRASHUPLOADURL— Punkt końcowy przesyłania danych telemetrycznych dotyczących awarii
TMREVEALEDPASSWORDLESS— Przełącznik funkcji ujawniania bez hasła
Na szczególną uwagę zasługuje obsługa proxy SOCKS5. Oznacza to, że agent można skonfigurować tak, aby wszystkie dane z monitoringu były kierowane przez proxy kontrolowane przez atakującego, co znacznie utrudnia wykrycie na poziomie sieci poprzez ukrycie ruchu C2 jako legalnego ruchu proxy.
Obserwowane identyfikatory instancji Teramind
W poniższej tabeli wymieniono wszystkie nazwy plików MSI i odpowiadające im identyfikatory instancji Teramind, które zebraliśmy. Dwa z nich zostały bezpośrednio zaobserwowane w środowisku naturalnym podczas naszej własnej analizy domen złośliwego oprogramowania: wariant Zoom (941afee…7cced, przechwycony z uswebzoomus[.]com) oraz wariant Google Meet (06a23f8…2844d, przechwycony z googlemeetinterview[.]click). Pozostałe nazwy plików pochodzą z repozytoriów piaskownicy.
Jak wspomniano powyżej, niektóre z nich mogą stanowić legalne wdrożenia przedsiębiorstw, a nie złośliwe wykorzystanie. Wszystkie pliki mają ten sam skrót SHA-256. Dwie nazwy plików mają ten sam identyfikator instancji c0cea71…0a6d7, co wskazuje, że to samo konto atakującego zostało użyte w wielu wariantach nazw plików.
| Nazwa pliku MSI | Identyfikator instancji |
|---|---|
zoom_agent_x64_s-i(__941afee582cc71135202939296679e229dd7cced).msi | 941afee582cc71135202939296679e229dd7cced |
ZoomApp_agent_x64_s-i(__fca21db2bb0230ee251a503b021fe02d2114d1f0).msi | fca21db2bb0230ee251a503b021fe02d2114d1f0 |
945bd48ad7552716f4583_s-i(__d72c88943945bd48ad7552716f4583ada0b7c2a6).msi | d72c88943945bd48ad7552716f4583ada0b7c2a6 |
teramind_agent_x64_s-i(__572d85bb94f4f59ef947c3faf42677f9adb223c3).msi | 572d85bb94f4f59ef947c3faf42677f9adb223c3 |
file_agent_x64_s-i(__f76fee1df21e19d93d5842f50c375286477b3f6c).msi | f76fee1df21e19d93d5842f50c375286477b3f6c |
teramind_agent_x64_s-i(__653d105a51cc886dede8101d1b0cd02e20329546).msi | 653d105a51cc886dede8101d1b0cd02e20329546 |
e411293f92e8730f717_s-i(__c0cea713de411293f92e8730f71759aa1890a6d7).msi | c0cea713de411293f92e8730f71759aa1890a6d7 |
0154299765aa7b198bce97d8361_s-i(__c0cea713de411293f92e8730f71759aa1890a6d7).msi | c0cea713de411293f92e8730f71759aa1890a6d7 |
GoogleMeet_agent_x64_s-i(__ab28818c0806ce7996c10c59b0e4e5d102783461).msi | ab28818c0806ce7996c10c59b0e4e5d102783461 |
teramind_agent_x64_s-i(__5ca3d9dd35249200363946b1f007b59f88dbde39).msi | 5ca3d9dd35249200363946b1f007b59f88dbde39 |
file_agent_x64_s-i(__81c39bed817fc9989834c81352cb7f69b94342da).msi | 81c39bed817fc9989834c81352cb7f69b94342da |
GoogleMeet_agent_x64_s_i_94120be3942474019852c62041d2f373fdb11a0e.msi | 94120be3942474019852c62041d2f373fdb11a0e |
AdobeReader_agent_x64_s-i(__d57d34e76cc8c2c883cbdcb42a14c47d00be03c0).msi | d57d34e76cc8c2c883cbdcb42a14c47d00be03c0 |
teramind_agent_x64_s-i(__06a23f815bc471c82aed60b60910b8ec1162844d).msi | 06a23f815bc471c82aed60b60910b8ec1162844d |
Różnorodność prefiksów nazw plików jest godna uwagi: zoom_agent, ZoomApp_agent, GoogleMeet_agent, AdobeReader_agent, teramind_agent, oraz file_agent. Sugeruje to, że kampania wykracza poza podszywanie się podczas wideokonferencji.
Jednak wersja z logo AdobeReader została znaleziona tylko w repozytoriach piaskownicy i może to być raczej test lub planowana rozbudowa, a nie aktywne wdrożenie. Nazwy plików z ogólnymi prefiksami, jak teramind_agent i file_agent, też wyglądają na zgłoszenia do piaskownicy, które zachowały domyślne nazwy, a nie są specyficznymi dla marki przynętami socjotechnicznymi.
Wskaźniki naruszenia bezpieczeństwa
Suma kontrolna pliku
SHA-256: 644ef9f5eea1d6a2bc39a62627ee3c7114a14e7050bafab8a76b9aa8069425fa
MD5: AD0A22E393E9289DEAC0D8D95D8118B5
Domeny
- uswebzoomus[.]com (wersja Zoom: usunięta przez Namecheap)
- googlemeetinterview[.]click (wersja Google Meet: aktywna od 26.02.2026 r.)
Wykrywanie i zalecenia dotyczące ochrony
- Ostrzeżenie dotyczące katalogu GUID ProgramData
{4CEC2908-5CE4-48F0-A717-8FC833D8017A}. Ten identyfikator GUID jest stały we wszystkich obserwowanych wariantach.
- Zapytanie dotyczące obu usług:
sc query tsvchstorazsc query pmon. Uruchomienie na komputerze niebędącym własnością firmy potwierdza aktywny nadzór.
- Obserwuj ładowanie sterowników jądra:
tm_filter.sysoraztmfsdrv2.sysładowanie na komputerach osobistych powinno wywoływać alerty o wysokim stopniu ważności.
- Zablokuj wykonywanie plików MSI z katalogów pobierania przeglądarki. Oba warianty opierają się na uruchomieniu pliku MSI z folderu Pobrane przez użytkownika. Zasady kontroli aplikacji, które uniemożliwiają wykonywanie plików MSI ze ścieżek, do których użytkownik ma uprawnienia zapisu, powstrzymałyby tę sekwencję ataków.
- Edukacja pracowników: Nigdy nie aktualizuj aplikacji, klikając linki w wiadomościach. Korzystaj z wbudowanego mechanizmu aktualizacji aplikacji lub ręcznie przejdź do oficjalnej strony internetowej dostawcy.
- Wprowadź zasady przeglądarki, które ostrzegają lub blokują automatyczne pobieranie plików z nieznanych domen.
Usunięcie
Aby odinstalować agenta, uruchom następujące polecenie jako administrator: msiexec /x {4600BEDB-F484-411C-9861-1B4DD6070A23} /qb. Spowoduje to usunięcie usług, sterowników jądra i większości zainstalowanych plików. Jednak nasze testy potwierdziły, że deinstalator nie usuwa całkowicie katalogu ProgramData z powodu plików generowanych w czasie wykonywania. Po odinstalowaniu należy ręcznie usunąć wszelkie pozostałości za pomocą rmdir /s /q "C:\ProgramData\{4CEC2908-5CE4-48F0-A717-8FC833D8017A}" i uruchom ponownie komputer, aby całkowicie wyładować sterowniki jądra z pamięci.
Wnioski
Ta kampania pokazuje nadużywanie legalnego oprogramowania do monitorowania działalności handlowej. Atakujący nie stworzyli własnego złośliwego oprogramowania. Zamiast tego wykorzystali gotowy produkt do monitorowania, wykorzystali jego wbudowany tryb ukrycia i system konfiguracji oparty na nazwach plików, a następnie połączyli to z technikami socjotechnicznymi mającymi na celu wykorzystanie zaufania do marek takich jak Zoom i Google Meet.
Rozszerzenie na Google Meet oraz dodatkowe warianty pochodzące z piaskownicy, w tym nazwa pliku z logo AdobeReader, sugerują, że jest to ewoluująca operacja, która może rozszerzyć się na podszywanie się pod inne aplikacje.
Nasza praktyczna detonacja ujawniła szczegóły niewidoczne dla automatycznych piaskownic: CheckHosts Brama przed lotem C2, rt.teramind.co adres routera, drugi pmon usługa podszywająca się pod Monitor wydajności, potwierdzona TMSTEALTH = 1 flagę oraz pełną funkcjonalność proxy SOCKS5 do unikania C2. Fakt, że pojedynczy plik binarny obsługuje nieograniczoną liczbę kont atakujących poprzez zwykłą zmianę nazwy pliku sprawia, że kampania ta jest łatwa do skalowania.
Podziękowania
Chcielibyśmy podziękować badaczowi bezpieczeństwa @JAMESWT_WT za szybkie zgłoszenie oryginalnej złośliwej domeny do Namecheap, co doprowadziło do jej usunięcia. uswebzoomus[.]com.
Firma Teramind oświadczyła, że nie była zaangażowana w tę kampanię. Ponieważ Teramind jest legalnym produktem komercyjnym, nie jest on wykrywany przez oprogramowanie zabezpieczające, co oznacza, że nie mamy informacji na temat tego, czy kampania ta spowodowała rzeczywiste infekcje. Możemy potwierdzić, że infrastruktura, którą udokumentowaliśmy — w tym specjalnie stworzone domeny phishingowe podszywające się pod Zoom i Google Meet, fałszywe strony Microsoft Store oraz agent Teramind skonfigurowany w trybie ukrytym — jest zgodna z kampanią mającą na celu wdrożenie oprogramowania monitorującego na komputerach ofiar bez ich wiedzy i zgody.











