SolyxImmortal: nowy infostealer w Pythonie, który wykorzystuje Discord webhooks do cichej kradzieży danych (styczeń 2026)

securitybeztabu.pl 1 dzień temu

Wprowadzenie do problemu / definicja luki

SolyxImmortal to świeżo opisany malware typu information stealer (infostealer) dla Windows, napisany w Pythonie, który łączy kradzież danych (m.in. haseł z przeglądarek), monitoring aktywności użytkownika, keylogging i zrzuty ekranu w jednym “monolitycznym” implantcie. Jego wyróżnikiem jest to, iż do eksfiltracji używa Discord webhooks – legalnej funkcji popularnej platformy – przez co ruch bywa mniej podejrzany na poziomie sieci.

To nie jest “luka” w sensie CVE, tylko trend operacyjny: atakujący coraz częściej ograniczają własną infrastrukturę C2 i przenoszą komunikację na zaufane usługi, licząc na to, iż organizacje nie chcą lub nie mogą łatwo blokować takich domen.

W skrócie

  • Cel: ciągłe, długotrwałe zbieranie danych z pojedynczej stacji roboczej (bez samorozprzestrzeniania).
  • Dane: hasła z przeglądarek Chromium, dokumenty z katalogu użytkownika, keystrokes, zrzuty ekranu.
  • Eksfiltracja: dwa hardcoded Discord webhooks – osobno na “dane strukturalne” i osobno na screenshoty.
  • Persistence: kopia w AppData, a następnie uruchamianie przez klucz Run w rejestrze użytkownika.
  • Kryptografia przeglądarek: wyciąganie klucza z pliku Local State i odszyfrowywanie danych w kontekście bieżącego użytkownika (DPAPI).

Kontekst / historia / powiązania

Z informacji badaczy wynika, iż SolyxImmortal był widoczny “na wolności” w styczniu 2026 i był oferowany w podziemnym kanale na Telegramie, co wpisuje się w model commodity malware-as-a-service: narzędzie tworzy jedna osoba/grupa, a dystrybuować i używać może wiele podmiotów o różnym poziomie umiejętności.

W warstwie taktycznej to przykład “living off trusted services”: zamiast utrzymywać własne serwery C2, atakujący wykorzystują gotowe platformy (tu: Discord) i ich reputację oraz HTTPS, by utrudnić wykrycie na poziomie sieci.

Analiza techniczna / szczegóły luki

1) Architektura: monolit + wątki

SolyxImmortal jest opisany jako monolityczna aplikacja w Pythonie z centralnym kontrolerem uruchamiającym równolegle wiele wątków: zbieranie danych, keylogging, monitoring okien, zrzuty ekranu i eksfiltracja. Cała logika oraz parametry C2 są osadzone na stałe w kodzie (hardcoded), bez potrzeby dodatkowej konfiguracji.

2) Persistence: AppData + Run key

Mechanizm utrzymania się na hoście ma być prosty, ale skuteczny:

  • samokopiowanie do katalogu w ścieżce AppData użytkownika,
  • zmiana nazwy na “udającą” komponent systemowy i ustawienie atrybutów ukrycia,
  • rejestracja w kluczu Run (uruchomienie przy logowaniu użytkownika, zwykle bez uprawnień admina).

Wniosek obronny: to zostawia dość klasyczne ślady w rejestrze i w systemie plików (nietypowy binarny/EXE w AppData + autorun w HKCU).

3) Kradzież haseł z Chromium: Local State + DPAPI

Mechanika jest typowa dla wielu stealerów na Windows:

  • malware lokalizuje profile przeglądarek Chromium (Chrome/Edge/Brave i podobne),
  • odczytuje plik Local State w celu pozyskania “master key”,
  • następnie odszyfrowuje wpisy logowania z baz SQLite (w raporcie wskazano AES-GCM po stronie przeglądarki, a “wiązanie” klucza z kontem użytkownika przez DPAPI).

DPAPI (np. CryptUnprotectData) jest standardowym mechanizmem Windows do ochrony danych w kontekście użytkownika – i dlatego atakujący, uruchomieni jako użytkownik, mogą próbować go nadużyć do odszyfrowania danych zapisanych przez aplikacje.

4) Dokumenty, staging i sprzątanie

SolyxImmortal ma przeszukiwać katalog domowy użytkownika, filtrować pliki po rozszerzeniach i rozmiarze, a następnie:

  • staging w katalogu tymczasowym,
  • kompresję,
  • wysyłkę,
  • kasowanie artefaktów tymczasowych po udanej eksfiltracji.

To “sprzątanie” ogranicza materiał dla klasycznej triage (tymczasowe katalogi gwałtownie znikają), ale przez cały czas można szukać śladów w logach, EDR i telemetryce plików/rejestru.

5) Keylogger i screen monitoring

W raporcie wskazano:

  • keylogging z buforowaniem w pamięci i okresową wysyłką (mniej “głośny” ruch sieciowy),
  • monitoring aktywnego okna (porównywanie tytułów okien do listy słów-kluczy związanych z logowaniem/finansami) oraz robienie screenshotów po wykryciu dopasowania i także cyklicznie. (

Mapowanie do MITRE ATT&CK jest tu dość proste:

  • keylogging → T1056.001 (Input Capture: Keylogging)
  • zrzuty ekranu → T1113 (Screen Capture)

6) Eksfiltracja przez Discord webhooks

Najciekawszy element operacyjny: dwa webhooki Discorda zaszyte w kodzie – jeden do danych (np. archiwa, logi, hasła), drugi dedykowany screenshotom, a do tego hardcoded Discord user ID do “mention” operatora przy zdarzeniach wysokiej wartości.

Webhooki to legalny, powszechny mechanizm publikowania wiadomości do kanału (HTTP endpoint). W praktyce oznacza to, iż malware może wysyłać dane do Discorda bez utrzymywania własnego serwera.

Praktyczne konsekwencje / ryzyko

  1. Przejęcie kont: kradzież haseł z przeglądarek + keylogging znacząco zwiększają szansę na zdobycie dostępów do VPN, SSO, bankowości, poczty i narzędzi deweloperskich.
  2. Utrata poufnych dokumentów: automatyczne “przeczesywanie” katalogu użytkownika typowo trafia w umowy, oferty, eksporty danych, pliki księgowe.
  3. Ryzyko wtórnych ataków: infostealer często bywa etapem 0 przed BEC, ransomware lub przejęciem repozytoriów kodu. (To wniosek ogólny – warto go uwzględnić w planowaniu IR).
  4. Trudniejsze wykrycie na sieci: jeżeli organizacja dopuszcza ruch do Discorda, webhooki mogą “zniknąć w tłumie” HTTPS.

Rekomendacje operacyjne / co zrobić teraz

Kontrole sieciowe i proxy

  • Ogranicz/monitoruj ruch do Discorda na stacjach roboczych (zwłaszcza segmenty back-office, finanse, HR). jeżeli Discord jest biznesowo potrzebny – rozważ allowlistę tylko dla aplikacji/procesów, które mają prawo z niego korzystać. (Nie zawsze możliwe, ale warto spróbować w ZTNA/SSE).
  • Wykrywaj nietypowe POST-y do endpointów webhooków Discorda i anomalie wolumenu (małe, częste żądania z hostów, które wcześniej nie komunikowały się z Discord).

Telemetria endpoint i EDR

  • Poluj na persistence:
    • wpisy w HKCU\Software\Microsoft\Windows\CurrentVersion\Run wskazujące na binaria w AppData,
    • pliki wykonywalne w AppData o nazwach imitujących systemowe komponenty.
  • Poluj na objawy kradzieży z Chromium:
    • dostęp procesu do pliku Local State i baz SQLite profilu przeglądarki (Login Data itp.),
    • w tym samym czasie aktywność DPAPI (CryptUnprotectData) jako sygnał korelacyjny.
  • Poluj na surveillance:
    • procesy robiące screenshoty (API/artefakty plikowe) + jednoczesne połączenia wychodzące,
    • sygnały keyloggowania. (MITRE T1056.001 i T1113 mogą posłużyć jako “checklista” źródeł danych i detekcji).

Higiena tożsamości

  • Wymuś MFA/Passkeys tam, gdzie to możliwe (infostealer + keylogger to zabójcze combo dla samych haseł).
  • Rotuj hasła i unieważniaj sesje dla kont, które mogły być logowane na zainfekowanej maszynie (szczególnie: poczta, SSO, Git, narzędzia finansowe).

Incident response (IR) – praktyczny playbook

  • Jeśli podejrzewasz SolyxImmortal na hoście: izolacja stacji, triage autorunów (Run key), analiza AppData, korelacja z ruchem do Discord.
  • Przyjmij, iż wyciek obejmuje hasła i dane wpisywane (keylogger), więc sama zmiana haseł “w ciemno” na tej samej stacji nie pomaga – reset realizuj z czystego urządzenia.

Różnice / porównania z innymi przypadkami (jeśli dotyczy)

Na tle klasycznych stealerów SolyxImmortal nie wyróżnia się “nową kryptografią” czy exploitami – jego przewaga jest bardziej operacyjna:

  • C2 jako usługa (Discord webhooks), co upraszcza życie operatorom i utrudnia blokowanie,
  • rozdzielenie kanałów eksfiltracji (dane vs screenshoty), co sugeruje myślenie o niezawodności i priorytetach,
  • nacisk na ciągły monitoring (okna, hasła, najważniejsze akcje) zamiast jednorazowego “grab-and-go”.

W praktyce to kolejny dowód, iż granica między “commodity stealerem” a “narzędziem do inwigilacji” się zaciera – zwłaszcza gdy dodamy screen capture i mechanizmy alertowania operatora.

Podsumowanie / najważniejsze wnioski

  • SolyxImmortal to Pythonowy infostealer na Windows, który łączy kradzież danych, keylogging i zrzuty ekranu w jednym implantcie.
  • Do eksfiltracji używa Discord webhooks, co zmniejsza potrzebę własnej infrastruktury i może utrudniać detekcję sieciową.
  • Persistence przez AppData + Run key jest prosta do polowania w EDR, ale skuteczna w środowiskach z luźną higieną endpointów.
  • Obrona powinna łączyć: kontrolę ruchu do Discord, detekcje na endpointach (autorun + dostęp do Local State/SQLite + DPAPI), oraz twardą higienę tożsamości (MFA/Passkeys).

Źródła / bibliografia

  1. SecurityWeek – opis zagrożenia i podsumowanie ustaleń badaczy (19 stycznia 2026). (SecurityWeek)
  2. CYFIRMA Research – “SOLYXIMMORTAL: Python Malware Analysis” (publ. 16 stycznia 2026). (CYFIRMA)
  3. Discord Developer Documentation – Webhook Resource (opis działania webhooków). (Discord)
  4. Microsoft Learn – CryptUnprotectData (DPAPI, kontekst użytkownika/komputera). (Microsoft Learn)
  5. MITRE ATT&CK – T1056.001 (Keylogging) oraz T1113 (Screen Capture). (attack.mitre.org)
Idź do oryginalnego materiału