
Wprowadzenie do problemu
BoryptGrab to nowo zidentyfikowany stealer dla systemów Windows, wykorzystywany w szeroko zakrojonej kampanii dystrybucyjnej opartej na publicznych repozytoriach GitHub. Zagrożenie podszywa się pod darmowe narzędzia, cheaty do gier i popularne utility, a jego celem jest kradzież danych z przeglądarek, portfeli kryptowalutowych, komunikatorów oraz plików użytkownika.
Kampania pokazuje, że zaufanie do rozpoznawalnych platform developerskich coraz częściej staje się elementem łańcucha infekcji. Sama obecność projektu w publicznym repozytorium nie oznacza już, że pobierane pliki są bezpieczne.
W skrócie
- Badacze wykryli ponad 100 repozytoriów GitHub używanych do dystrybucji BoryptGrab.
- Atakujący stosowali techniki SEO, aby złośliwe projekty pojawiały się wysoko w wynikach wyszukiwania.
- Ofiary były kierowane do fałszywych stron pobierania, z których pobierały archiwa ZIP z loaderem i kolejnymi komponentami malware.
- BoryptGrab wykrada hasła, dane przeglądarek, informacje o systemie, dane z portfeli kryptowalutowych, pliki Telegrama oraz tokeny Discorda.
- W części przypadków infekcja była rozszerzana o backdoora TunnesshClient, umożliwiającego zdalny dostęp i tunelowanie ruchu.
Kontekst i historia
Opisana kampania nie przypomina klasycznego phishingu opartego wyłącznie na wiadomościach e-mail. Zamiast tego operatorzy nadużywali ekosystemu open source oraz mechanizmów wyszukiwania, tworząc repozytoria udające legalne projekty oferujące darmowe wersje znanych aplikacji lub narzędzi.
W plikach README umieszczano frazy związane z popularnymi wyszukiwaniami, aby zwiększyć widoczność w wynikach i przechwytywać ruch użytkowników szukających cracks, cheatów, modów czy „premium tools”. To połączenie socjotechniki i manipulacji wyszukiwarkami znacząco zwiększało skuteczność kampanii.
Istotnym elementem operacji była także infrastruktura pośrednia. Ofiara po wejściu na stronę projektu trafiała na fałszywą stronę pobierania przypominającą standardową zawartość hostowaną w GitHub Pages, a następnie pobierała archiwum ZIP o nazwie sugerującej legalne oprogramowanie.
Analiza techniczna
Łańcuch infekcji rozpoczynał się od pobrania archiwum ZIP. W jednej z głównych ścieżek wykonania użytkownik uruchamiał plik wykonywalny wykorzystujący technikę DLL side-loading. Legalnie wyglądający program ładował złośliwą bibliotekę libcurl.dll, która odszyfrowywała ukryty payload launchera z sekcji zasobów.
Do ochrony komponentów stosowano między innymi XOR oraz AES w trybie CBC, co utrudniało statyczną analizę próbek. Launcher pobierał następnie właściwy moduł BoryptGrab oraz dodatkowe komponenty zależnie od wariantu kampanii.
Wśród obserwowanych ładunków znajdowały się również warianty Vidar, downloader HeaconLoad oraz backdoor TunnesshClient. Poszczególne buildy używały nazw takich jak Shrek, Leon, CryptoByte czy Sonic, co mogło służyć operatorom do śledzenia źródeł ruchu lub wersji kampanii.
Alternatywna ścieżka infekcji opierała się na skryptach VBS ukrywających polecenia w tablicach liczb całkowitych. Po dekodowaniu uruchamiany był PowerShell odpowiedzialny za pobranie kolejnego etapu z serwera atakującego. W części przypadków skrypty próbowały także dodawać wyjątki do Microsoft Defender.
Sam BoryptGrab zawierał mechanizmy anti-analysis. Malware sprawdzał obecność środowisk wirtualnych, analizował aktywne procesy i podejmował próbę uruchomienia z podwyższonymi uprawnieniami, aby utrudnić wykrycie przez sandboxy i zespoły analityczne.
Zakres kradzionych danych był szeroki. BoryptGrab zbierał dane z wielu przeglądarek, w tym Chrome, Edge, Firefox, Opera, Brave, Vivaldi i Yandex Browser. Szczególnie istotne było wykorzystanie technik obchodzenia ochrony Chrome App-Bound Encryption oraz dodatkowego komponentu do ekstrakcji danych z przeglądarek opartych na Chromium.
Poza danymi przeglądarek zagrożenie celowało w portfele kryptowalutowe, takie jak Exodus, Electrum, Ledger Live, Atomic, Binance, Wasabi czy Trezor. Malware wykonywał również zrzuty ekranu, zbierał informacje systemowe, katalogował zainstalowane aplikacje i uruchamiał moduł file grabber do wykradania plików o określonych rozszerzeniach z popularnych lokalizacji użytkownika.
W nowszych wariantach obserwowano także kradzież danych z Telegrama i tokenów Discorda. Zebrane informacje były kompresowane i wysyłane do serwera C2. Dodatkowy komponent TunnesshClient znacząco zwiększał możliwości atakującego po infekcji, umożliwiając tunel SSH, działanie jako proxy SOCKS5 oraz zdalne wykonywanie poleceń.
Konsekwencje i ryzyko
Najbardziej oczywistym skutkiem infekcji jest kradzież danych uwierzytelniających i przejęcie kont użytkownika. Dotyczy to nie tylko kont webowych zapisanych w przeglądarkach, ale również portfeli kryptowalutowych, komunikatorów i usług społecznościowych.
W środowiskach firmowych ryzyko obejmuje przejęcie sesji, wtórną eskalację uprawnień oraz dostęp do skrzynek pocztowych, narzędzi SaaS i paneli administracyjnych. Jeśli na stacji uruchomiony zostanie również TunnesshClient lub inny dodatkowy komponent, incydent może szybko przerodzić się z kradzieży danych w pełną kompromitację hosta.
Kampania ma również szersze znaczenie dla bezpieczeństwa łańcucha dostaw i higieny korzystania z repozytoriów publicznych. Pokazuje bowiem, że zaufanie do platformy hostującej projekt nie może zastępować weryfikacji bezpieczeństwa samego oprogramowania.
Rekomendacje
Organizacje powinny ograniczyć możliwość pobierania i uruchamiania niezweryfikowanych narzędzi z publicznych repozytoriów, szczególnie z kategorii cheatów, cracks i „premium unlockers”. W praktyce warto stosować kontrolę aplikacji, filtrowanie pobrań, blokowanie wykonywania plików z katalogów tymczasowych oraz zasady allowlistingu.
Z perspektywy detekcji należy monitorować następujące symptomy:
- nietypowe pobrania archiwów ZIP z projektów podszywających się pod popularne narzędzia,
- uruchamianie procesów z techniką DLL side-loading,
- tworzenie zadań harmonogramu i wpisów autostartu bez uzasadnienia biznesowego,
- użycie PowerShell i VBS do pobierania kolejnych payloadów,
- nietypowe połączenia HTTP/HTTPS do infrastruktury pobierającej dodatkowe moduły,
- aktywność wskazującą na ekstrakcję danych z przeglądarek i portfeli kryptowalutowych,
- próby tworzenia tuneli SSH lub ruch proxy z hostów użytkowników.
Zespoły SOC powinny uzupełnić reguły o detekcję procesów potomnych uruchamianych przez rzekome instalatory narzędzi użytkowych, anomalii w pracy przeglądarek oraz działań związanych z odczytem baz haseł i tokenów. Warto także korelować zdarzenia związane z modyfikacją ustawień Microsoft Defender.
Po stronie użytkownika końcowego kluczowe jest unikanie pobierania „darmowych” wersji płatnych aplikacji, weryfikacja historii repozytorium, commitów i autorów oraz ostrożność wobec stron pobierania generowanych poza oficjalnym kanałem producenta. W przypadku podejrzenia infekcji należy natychmiast odizolować host, zresetować hasła, unieważnić aktywne sesje i przeprowadzić pełne dochodzenie powłamaniowe.
Podsumowanie
BoryptGrab to przykład nowoczesnej kampanii malware, która łączy skuteczną socjotechnikę, nadużycie zaufanej platformy, wieloetapowy łańcuch infekcji i rozbudowane możliwości kradzieży danych. Skala operacji oraz wykorzystanie dodatkowych komponentów, takich jak TunnesshClient, wskazują na aktywne i dobrze zorganizowane zagrożenie.
Dla obrońców najważniejszy wniosek jest prosty: rozpoznawalna platforma hostująca kod nie jest gwarancją bezpieczeństwa. Każde pobierane narzędzie powinno być traktowane jak potencjalny wektor ataku i podlegać weryfikacji przed uruchomieniem.
Źródła
- Security Affairs — https://securityaffairs.com/189110/malware/massive-github-malware-operation-spreads-boryptgrab-stealer.html
- Trend Micro Research — New BoryptGrab Stealer Targets Windows Users via Deceptive GitHub Pages — https://www.trendmicro.com/en_us/research/26/c/boryptgrab-stealer-targets-users-via-deceptive-github-pages.html
