Serangan kagumantungan ngamungkinkeun palaksanaan kode di PayPal, Microsoft, Apple, Netflix, Uber sareng 30 perusahaan sanés

Sababaraha dinten ka pengker metoda saderhana saderhana dileupaskeun anu ngamungkinkeun serangan kagumantungan dina aplikasi anu dikembangkeun ngagunakeun Repositori paket internal. Panaliti anu ngaidentipikasi masalah aranjeunna tiasa ngajalankeun kode anjeun dina sérver internal 35 perusahaan, kalebet PayPal, Microsoft, Apple, Netflix, Uber, Tesla, sareng Shopify.

Peretasan dilakukeun salaku bagian tina program Bug Bounty, dina koordinasi sareng perusahaan-perusahaan anu diserang, sareng palaku parantos nampi $ 130.000 bonus pikeun ngaidentipikasi kerentanan.

Cara na dumasar kana kanyataan yén seueur perusahaan nganggo kagumantungan Repository standar NPM, PyPI sareng RubyGems dina aplikasi internalna, ogé kagumantungan internal anu henteu disebarkeun sacara umum atanapi diunduh ti gudangna nyalira.

Masalahna nyaéta manajer paket kawas npm, pip sareng permata aranjeunna nyobian ngaunduh kagumantungan internal perusahaan, bahkan ti gudang umum. Pikeun serangan, ngan ukur tangtoskeun nami-nami rangkep kalayan kagumantungan internal sareng jieun bungkus anjeun nyalira kalayan nami anu sami di Repository umum NPM, PyPI sareng RubyGems.

Masalahna henteu khusus pikeun NPM, PyPI, sareng RubyGems, sareng éta ogé manifests nyalira kana sistem anu sanés sapertos NuGet, Maven, sareng Benang.

Gagasan pikeun metode anu diusulkeun sumping saatos panaliti ngahaja merhatoskeun yén dina kode anu sayogi publik dipasang dina GitHub, seueur perusahaan henteu ngaleungitkeun sesebutan kagumantungan tambihan tina file manifes na dipaké dina proyék internal atanapi nalika nerapkeun fungsionalitas nambahan. Lacak anu sami parantos dipendakan dina kode JavaScript pikeun jasa wéb, ogé dina proyék Node. JS, Python, sareng Ruby seueur perusahaan.

Bocor utama aya hubunganana sareng kontén eusi tina file package.json dina kode JavaScript anu sayogi umum nalika prosés ngawangun, ogé ku panggunaan unsur jalur anu saleresna dina kabutuhan () panggilan, anu tiasa dianggo pikeun nangtoskeun nami katergantungan.

Nyeken sababaraha juta domain perusahaan ngungkabkeun sababaraha rébu nami paket JavaScript anu henteu aya dina Repository NPM. Saatos nyusun basis data nami paket internal, panaliti mutuskeun pikeun ngayakeun percobaan pikeun ngarobih infrastruktur perusahaan anu miluan program Bug Bounty. Hasilna héran épéktip sareng panaliti tiasa ngajalankeun kode na dina seueur komputer pangembangan sareng server anu jawab ngawangun atanapi nguji dumasar kana sistem integrasi kontinyu.

Nalika ngaunduh kagumantungan, manajer paket npm, pip, sareng permata utamina dipasang paket ti repositori publik primér NPM, PyPI, sareng RubyGems, anu dianggap prioritas langkung luhur.

Ayana bungkusan anu sami sareng nami anu sami di gudang perusahaan swasta teu dipaliré tanpa nunjukkeun peringatan atanapi nubruk anu tiasa narik perhatian pangurus. Dina PyPI, prioritas unduhan dipangaruhan ku nomer vérsi (henteu paduli gudangna, vérsi anu paling anyar tina pakét éta diunduh). Dina NPM sareng RubyGems, prioritasna ngan ukur gumantung kana gudang.

Panaliti parantos nempatkeun bungkus dina repositori NPM, PyPI, sareng RubyGems anu silih sambung sareng nami-nami kagumantungan internal anu dipendakan, nambihan kode kana skrip anu ngalir sateuacan dipasang (tos dipasang dina NPM) pikeun ngempelkeun inpormasi ngeunaan sistem sareng ngalebetkeun inpormasi ditampi ka host luar.

Pikeun nyampekeun inpormasi ngeunaan kasuksesan hack, bypass firewall ngahalangan patalimarga éksternal, cara ngatur komunikasi saluran rahasia liwat protokol DNS. Kodeu anu ngajalankeun ngabéréskeun host dina domain panarajang dina kendali domain anu nyerang, anu ngamungkinkeun pikeun ngumpulkeun inpormasi ngeunaan operasi anu suksés dina sérver DNS. Inpormasi ngeunaan host, ngaran pamaké sareng jalur ayeuna parantos diliwatan.

75% sadaya éksékusi kode anu dirékam pakait sareng unduhan paket NPM, utamina kusabab kanyataanna aya langkung seueur nami modul JavaScript internal tibatan nami katergantungan Python sareng Ruby.

sumber: https://medium.com/


Eusi tulisan taat kana prinsip urang tina étika éditorial. Pikeun ngalaporkeun kasalahan klik di dieu.

Janten kahiji komen

Ninggalkeun koméntar anjeun

email alamat anjeun moal diterbitkeun. Widang diperlukeun téh ditandaan ku *

*

*

  1. Jawab data: Miguel Ángel Gatón
  2. Tujuan tina data: Kontrol SPAM, manajemén koméntar.
  3. Legitimasi: idin anjeun
  4. Komunikasi data: Data moal dikomunikasikan ka pihak katilu kacuali ku kawajiban hukum.
  5. Panyimpenan data: Basis data anu diayakeun ku Occentus Networks (EU)
  6. Hak: Iraha waé anjeun tiasa ngawatesan, cageur sareng mupus inpormasi anjeun.