SOC Prime Bias: Critical

27 Oct 2026 13:41 UTC

42 Zbrojonych Repozytoriów GitHub ujawnia ukrytego wydawcę npm

Author Photo
SOC Prime Team linkedin icon Śledź
42 Zbrojonych Repozytoriów GitHub ujawnia ukrytego wydawcę npm
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Podsumowanie

Wyrafinowana kampania śledzona jako testmetest wykorzystuje złośliwe pakiety npm i skompromitowane repozytoria GitHub do kradzieży poświadczeń i automatyzacji wydania złośliwych pakietów. Atakujący polegają na polimorficznych wrapperach, natywnych dodatkach Node.js i zaszyfrowanych ładunkach, aby uniknąć wykrycia. Kampania obejmuje także infrastrukturę używaną do skanowania i wykorzystywania podatności cPanel.

Śledztwo

Badacze z JFrog Security zidentyfikowali 42 uzbrojone repozytoria GitHub oraz wiele złośliwych pakietów npm. Odkryli, że atakujący użyli techniki maskowania przez natywny dodatek, w której skompilowany .node plik odszyfrowuje ukryty ładunek w czasie wykonania. Śledztwo powiązało również tę aktywność z shellpanel skanerami celującymi w systemy cPanel przez CVE-2026-41940.

Mitigacja

Użytkownicy powinni usunąć zidentyfikowane złośliwe pakiety npm i odbudować zaatakowane systemy z zaufanych źródeł. Organizacje muszą obrócić potencjalnie skompromitowane poświadczenia, w tym GitHub, npm i tokeny do chmury. Konieczne jest również przeprowadzenie audytu repozytoriów pod kątem nieautoryzowanych plików konfiguracyjnych, takich jak .github/init.js i nieoczekiwanych punktów wykonania w package.json plikach lub Makefiles.

Reakcja

Gdy złośliwa aktywność zostanie wykryta, należy natychmiast odwołać wyeksponowane sekrety i obrócić poświadczenia. Poszukiwać mechanizmów utrzymania, takich jak net-health-checker or pkg-runtime. Przeglądać logi GitHub Actions pod kątem nieautoryzowanych przepływów pracy i monitorować systemy pod kątem odszyfrowanych ładunków zapisanych do tymczasowych katalogów.

Przepływ Ataku

Nadal aktualizujemy tę część.

Detekcje

Ukryty plik został utworzony na hoście Linux (poprzez file_event)

Zespół SOC Prime
26 Paź 2026

Podejrzane procesy potomne NodeJS [Windows] (poprzez cmdline)

Zespół SOC Prime
26 Paź 2026

Możliwe pobieranie pliku z GitHub inicjowane przez nietypowy proces (poprzez network_connection)

Zespół SOC Prime
26 Paź 2026

Użycie nohup (poprzez cmdline)

Zespół SOC Prime
26 Paź 2026

Podejrzane procesy potomne NodeJS [Linux] (poprzez cmdline)

Zespół SOC Prime
26 Paź 2026

Podejrzane wykonanie chmod wskazujące na podejrzane katalogi (poprzez cmdline)

Zespół SOC Prime
26 Paź 2026

Pobieranie do podejrzanych folderów (poprzez cmdline)

Zespół SOC Prime
26 Paź 2026

IOCs (HashSha256) do wykrycia: Poza testmetest: Natywne Maskowanie Dodatków i 42 Uzbrojone Repozytoria GitHub ujawniają ukrytego wydawcę npm

AI Zasady SOC Prime
26 Paź 2026

IOCs (SourceIP) do wykrycia: Poza testmetest: Natywne Maskowanie Dodatków i 42 Uzbrojone Repozytoria GitHub ujawniają ukrytego wydawcę npm

AI Zasady SOC Prime
26 Paź 2026

IOCs (DestinationIP) do wykrycia: Poza testmetest: Natywne Maskowanie Dodatków i 42 Uzbrojone Repozytoria GitHub ujawniają ukrytego wydawcę npm

AI Zasady SOC Prime
26 Paź 2026

Sprawdzenie obecności debuggera przez IsDebuggerPresent lub CheckRemoteDebuggerPresent [Dziennik Zdarzeń Bezpieczeństwa Windows]

AI Zasady SOC Prime
26 Paź 2026

Podejrzane tworzenie procesów i wykonanie pliku JS w lokalizacji tymczasowej [Tworzenie Procesów Windows]

AI Zasady SOC Prime
26 Paź 2026

Wykrywanie wykonania natywnego dodatku Node.js [Ładowanie Obrazu Windows]

AI Zasady SOC Prime
26 Paź 2026

Wykryto wykonanie złośliwych procesów dodatków Node [Tworzenie Procesów Linux]

AI Zasady SOC Prime
26 Paź 2026

Podejrzane odczyty mapy pamięci natywnego dodatku [Google Cloud Platform]

AI Zasady SOC Prime
26 Paź 2026

Symulacyjne Wykonanie

  • Narracja Ataku i Komendy: Przeciwnik z powodzeniem umieścił złośliwy ładunek JavaScript w katalogu tymczasowym użytkownika, nazywając go .nc by potencjalnie naśladować plik związany z Netcat lub po prostu ukryć jego cel. Aby go wykonać, przeciwnik używa loadera wywołującego CreateProcessA API Win32 do uruchamiania Hosta Skryptów Windows (wscript.exe) z plikiem tymczasowym jako argumentem. Ta konkretna sekwencja – użycie ANSI wersji API tworzenia procesów do uruchomienia skryptu z %TEMP%– to dokładny wzór, który reguła wykrywania ma przechwycić.

  • Skrypt Testu Regresji:

     # Skrypt Symulacyjny: Wywoływanie 'Podejrzane tworzenie procesów i wykonanie pliku JS w lokalizacji tymczasowej'
    
      # 1. Zdefiniuj ścieżki
      $tempPath = $env:TEMP
      $targetFile = Join-Path $tempPath ".nc"
    
      # 2. Utwórz przykładowy złośliwy plik JS w katalogu %TEMP%
      # Uwaga: Nazywamy go .nc zgodnie z wymaganiami logiki detekcji
      "WScript.Echo('Symulowana działalność złośliwa');" | Out-File -FilePath $targetFile -Encoding ascii
    
      Write-Host "[+] Złośliwy plik utworzony na: $targetFile"
    
      # 3. Symuluj wykonanie za pomocą wscript.exe
      # W prawdziwym scenariuszu, 'CallTrace' zawierający 'CreateProcessA' jest generowany 
      # przez podlegające wywołanie API Windows używane przez ładowarkę malware.
      # Uruchomienie tego za pomocą PowerShell/CMD wygeneruje zdarzenie tworzenia procesów.
      Write-Host "[+] Wykonywanie skryptu w celu wywołania detekcji..."
      Start-Process "wscript.exe" -ArgumentList "`"$targetFile`""
    
      Write-Host "[+] Wysłano komendę symulacji."
  • Polecenia czyszczenia:

     # Skrypt czyszczenia: Usuwanie artefaktów symulacji
      $tempPath = $env:TEMP
      $targetFile = Join-Path $tempPath ".nc"
    
      if (Test-Path $targetFile) {
          Remove-Item -Path $targetFile -Force
          Write-Host "[+] Czyszczenie zakończone sukcesem: $targetFile usunięty."
      } else {
          Write-Host "[!] Czyszczenie nieudane: Plik nie został znaleziony."
      }