NPM paketlerinde malign komut dosyalarıyla yeni tedarik zinciri saldırısı

Güvenlik şirketinin alınması, NPM paketlerinde malign komut dosyaları olan bir kampanya uyarıyor. Analistler, bu paketlerin 60'ını keşfetti, bu da bilginin bir kısmını içeriyor, bu da makinenin dijital bir izini, ağ verilerini ve dizin yapılarını casusluk yapıyor ve saldırganın uyumsuz bir hesabına gönderiyor.

Altmış paket üç NPM hesabı alır (BBBBB335656, CDSFDFAFD1232436437 ve SDSD656565), yirmi ve zaten 3000 kez indirildi. Her durumda aynı malign komut dosyası kurulumla başlar (npm install) ve bir sanal alan kontrolüne öncülük eder, bu nedenle sadece virtual olmayan bir ortamda, bir iş istasyonunda veya oradaki gerçek bir düğümde aktiftir. Windows, macOS ve Linux sistemleri ilgileniyor.

Kirlenmiş bir paket örneği

Kirlenmiş bir paket örneği artık NPM kaydında bulunamaz.

(Resim: soket)

Yine de ve hala tedarik zincirine büyük ölçekli saldırılar var ve şu anda ortaya çıkan parçalar şimdi NPM dizininden kaybolmasına rağmen, analistler saldırının olası bir genişlemesi gibi hissediyor: “Malign aktörler senaryoyu kolayca klonlayabilir, indir teleme'yi gerçek zamanlı olarak kaydedebilir ve yeniden reddedebilir.” Çalıntı verilerle, yazarlar daha fazla saldırı için yeterli bilgiye sahiptir. Özellikle oradaki ortamlarda, paket kaydının bilgisi ve yolların inşası, tedarik zincirine daha fazla saldırı için fırsatlar sunar.

Güvenlik analistleri savunmayı öneriyor: Geliştiriciler, kurulumdan (burada anlaşmazlık), kablolu URL'ler ve alışılmadık derecede küçük hedeflerden sonra otomatik kontrollerini web tezgahlarındaki kontrol etmelidir.

Komut dosyasından bir alıntı, casusluk yaptığınız verileri gösterir:


    const trackingData = JSON.stringify({
	
        package: package,
	
        directory: __dirname,
	
        home_directory: os.homedir(),
	
        username: os.userInfo().username,
	
        dns: dns.getServers(),
	
        internal_hostname: os.hostname(),
	
        internal_ip: getIPAddress(), 
	
        external_ip: externalIP.ip, 
	
        external_hostname: externalIP.hostname,
	
        organization: externalIP.organization,
	
        resolved_url: packageJSON ? packageJSON.___resolved : undefined,
	
        package_version: packageJSON.version,
	
        package_json: packageJSON,
	
        package_type: 'npm',
	
    });


(DSÖ)


Yayımlandı

kategorisi

yazarı:

Etiketler:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir