Python Paket Dizini (PyPI) kayıt defteri, ortam değişkenlerini sızdırmayı ve virüslü makinelere truva atlarını düşürmeyi amaçlayan üç kötü amaçlı Python paketini kaldırdı.
Araştırmacıların raporuna göre, bu kötü amaçlı paketlerin 10.000’den fazla indirme ve yansı oluşturduğu tahmin ediliyor.
Büyük ölçekli statik analiz, kötü niyetli bir keşfe yol açtı
Bu hafta, Andrew ScottPalo Alto Networks’te geliştirici ve kıdemli ürün yöneticisi olan , PyPI açık kaynak kayıt defterinde üç kötü amaçlı Python paketi keşfettiğini bildirdi.
Aşağıda gösterilen bu kötü amaçlı paketler, toplamda neredeyse 15.000 kez indirildi ve yansıtıldı.
ilk versiyonu dpp-istemcisi 13 Şubat 2021 civarında PyPI’de ortaya çıktı ve dpp-client1234 14’ünde. Oysa, ilk versiyonu aws-login0 aracı daha yakın zamanda, 1 Aralık’ta ortaya çıktı.
Paket ismi | bakıcı | Açıklama | İndirme sayıları* |
---|---|---|---|
aws-login0 aracı | davycrockett5729492 | Typosquatting adayı, Windows’ta Truva Atı (EXE) bırakıyor | 3.042 |
dpp-istemcisi | kesmek (Alex) | Ortam değişkenlerini (Unix) ve dosyaları sızdırır | 10.194 |
dpp-client1234 | kesmek (Alex) | Ortam değişkenlerini (Unix) ve dosyaları sızdırır | 1.536 |
*PyPIstats ve Pepy.tech’ten toplanan indirme sayıları, geliştiriciler tarafından yapılan organik indirmelere ek olarak (otomatik) yansıtmaları içerebilir.
Scott, “PyPI üzerindeki paketlerin büyük bir yüzdesinin” büyük ölçekli statik analizini yaparken bu gizemli görünümlü paketlerle karşılaştı.
“Bunları öncelikle manuel inceleme yoluyla yakaladım. setup.py Aradığım çeşitli şüphe dizeleri ve normal ifade kalıplarıyla eşleşen dosyalar,” Scott bir e-posta röportajında BleepingComputer’a anlatıyor.
“Örneğin, çoğu durumda yürütmek iyi niyetliydi, ancak bu riskli bir yöntem ve genellikle kötü niyetli paketler hazırlayan saldırganlar tarafından kullanılıyor.”
Scott, araştırmasına yardımcı olmak için Python Paketleme Otoritesi’nden yararlandı. Bandersnatch açık kaynak projesi.
“Çok sayıda paket dağıtımını indirdikten sonra, daha kolay analiz için bunları çıkarmam gerekiyordu. Bandersnatch’in biraz karmaşık klasör yapısını yinelemeli olarak yinelemek için oldukça basit bir Python betiği oluşturdum, ardından her birini sıkıştırıp çıkardım. sdist, Yumurta, veya teker düz bir dizine”, geliştiriciyi açıklıyor Blog yazısı.
Paketleri çıkardıktan sonra geliştirici, bir dizi dizge ve normal ifade tabanlı arama işlemi gerçekleştirdi. grep yardımcı program ve sonuçları manuel olarak gözden geçirdi.
“Bu basit yaklaşımın sonucu aslında oldukça etkiliydi.”
Windows PC’leri, Apache Mesos çalıştıran Linux dağıtımlarını hedefler
bu aws-login0 aracı paket, Windows makinelerini hedefler ve kötü amaçlı bir 64-bit yürütülebilir dosyayı indirir, normal.exe itibaren güvenli[.]ga alan adı.
Kötü amaçlı yürütülebilir dosya, tarafından bir truva atı olarak tanımlandı. Antivirüs motorlarının %38’i VirusTotal’da, yazılı olarak:
Tam aksine, dpp-istemcisi ve dpp-client1234 Linux sistemlerini hedefleyin ve ortam değişkenlerine, dizin listesine göz atın ve bu bilgileri pt.traktrain[.]ile alan adı.
Bu paketler, aşağıdakiler de dahil olmak üzere birkaç dizini gözetlemeye çalışır: / mnt / ay, kötü amaçlı yazılımın özellikle aşağıdakilerle ilgili dosyaları aradığını belirtir. Apaçi Mezosu, açık kaynaklı bir küme yönetimi ürünü.
Bir sır olarak kalan şey, bu paketler için çok sayıda indirme ve yansıtmadır.
İlk bakışta, aws-login0 aracı geliştiricinin belirttiği gibi bir yazım hatası girişimi gibi görünüyor – çoğu klavyede ‘0’ ve ‘-‘ tuşları yan yana bulunuyor. Ancak, BleepingComputer, akıllı bir saldırganın kimliğine bürünmek isteyebileceği ‘aws-login-tool’ adlı etkin bir PyPI paketinin farkında değildir. rağmen, bir var olmuş olabilir geçmişte.
BleepingComputer ayrıca PyPI sayfasını da gözlemledi: aws-login0 aracı, hayattayken, kullanıcıya paketi indirmemesini söyleyen açık bir sorumluluk reddi beyanı içeriyordu:
“Lütfen bunu kullanma… Kötü şeyler yapar… Ah canım :(“
Aynı şekilde, proje sayfaları için dpp-istemcisi ve dpp-client1234 BleepingComputer tarafından görüldüğü gibi paketler, açıklamalarında, büyük olasılıkla bir kavram kanıtlama alıştırmasının parçası olduğunu ima eden basit bir “test” anahtar sözcüğünü içeriyordu.
Bu gelişme, PyPI, npm ve RubyGems gibi açık kaynak depolarını hedefleyen devam eden kötü amaçlı yazılım ve istenmeyen içerik örneklerini takip eder.
Geçen ay, JFrog güvenlik araştırma ekibi, rapor edildi Bir “yeni sızma” tekniğini kötüye kullanan diğer kötü niyetli PyPI paketleri arasında Discord bilgi hırsızlarını yakalamak.
Aynı ay, kötü niyetli bir PyPI paketi hakkında yazdım. kaba yazım denemesi ‘boto3’—Python için Amazon Web Hizmetleri SDK’sı.
Bu yılın Temmuz ayında, altı kötü amaçlı PyPI paketi de yakalandı madencilik kripto para birimi geliştirici makinelerinde.
Neyse ki, Scott tarafından keşfedilen yukarıda bahsedilen üç paket, 10 Aralık’ta PyPI yöneticilerine bildirildi ve hızla kaldırıldı.
Güncelleme 07:26 AM ET: Scott’tan alıntı eklendi.