Güvenlik araştırmacıları, özellikle Python Paket Endeksi (PyPI) kullanıcılarını hedef alan yeni ve ilk bilinen bir kimlik avı kampanyasının arkasındaki tehdit aktörü olarak “JuiceLedger” adlı önceden bilinmeyen bir grubu belirlediler.
Tehdit aktörü ilk olarak bu yılın başlarında ortaya çıktı ve virüslü sistemlerden tarayıcı ve kripto para birimiyle ilgili bilgileri aramak ve çalmak için JuiceStealer adlı .NET tabanlı bir kötü amaçlı yazılımı dağıtmaya odaklandı.
Başlangıçta, JuiceLedger bilgi hırsızını sahte Python yükleyici uygulamaları aracılığıyla dağıttı. Ancak Ağustos ayından itibaren SentinelOne ve Checkmarx araştırmacıları, saldırganın muhtemelen kötü amaçlı yazılımını daha geniş bir kitleye dağıtmak için PyPI deposundaki Python paketlerini zehirleme girişimlerinde bulunduğunu gözlemledi.
Tehdit aktörünün çalışma şekli, PyPI kullanıcılarını Google’ın PyPI’de yayınlanan paketler için yeni bir doğrulama süreci uygulaması hakkında bilgilendiren bir kimlik avı e-postasıyla hedeflemeyi içeriyor. E-posta, önlemin, kayıt defterine yüklenen kötü amaçlı PyPI paketlerindeki büyük artışa yanıt olarak olduğunu iddia etti. Geliştiricileri, kayıt defterinden kaldırılmalarını önlemek için kod paketlerini Google ile hızlı bir şekilde doğrulamaları konusunda uyardı. Kimlik avı e-postasında, “Eylül’den önce doğrulanmayan paketler derhal kaldırılacak” dedi.
Bağlantıya tıklayan PyPI kullanıcıları, tam olarak PyPI’nin giriş sayfasına benzeyecek şekilde sahte bir web sayfasına yönlendirildi. Kullanıcılar kimlik bilgilerini oraya girdiklerinde, sayfa bu bilgileri JuiceLedger tarafından kontrol edilen bir alana (linkedopports) göndermek için tasarlandı.[dot]com). Kapari, en az iki geliştiriciyi kimlik bilgileriyle ayrılmaya ikna etmiş gibi görünüyor ve bu da JuiceLedger’a nispeten yaygın olarak kullanılan PyPI paketlerine kötü amaçlı kodlarla erişme ve onları zehirleme yolu verdi.
Örneğin, virüslü paketlerden biri (“exotel”in 0.1.6 sürümü) virüs bulaştığı sırada toplam 480.000’den fazla indirmeye sahipti. Diğer paket (“spam”ın 2.0.2 ve 4.0.2 sürümleri) yaklaşık 200.000 indirmeye sahipti. PyPI yöneticileri o zamandan beri her iki paketi de kaldırdıCheckmarx’a göre.
Bir geliştirme ortamına yüklendiğinde, kod Google Chrome şifrelerini arayabilir, Chrome SQLite dosyalarını sorgulayabilir ve “config.exe” adlı zip dosyasında bulunan bir Python yükleyicisini başlatabilir, dedi SentinelOne. Bilgi hırsızı ayrıca kelimeyi içeren günlükleri de arar. “kasa”, muhtemelen kripto para kasalarını aradığı ve bilgileri HTTP üzerinden saldırgan tarafından kontrol edilen bir komuta ve kontrol sunucusuna rapor ettiği için.
Geniş Kampanya
PyPI yöneticileri, hem SentinelOne hem de Checkmarx’ın belirttiği gibi, bilgi hırsızını popüler Python kod deposu aracılığıyla dağıtmak için daha geniş bir çabanın parçası olarak JuiceLedger’ın PyPI’de yayınladığı “birkaç yüz” yazım hatası içeren paketi kaldırdı. Analizleri, tehdit aktörlerinin bir saldırgan-denetleyici URL’sinden imzalı bir JuiceStealer varyantını almak ve yürütmek için paketlere kısa bir kod parçacığı eklediğini gösterdi.
Yazım düzenine sahip paketlerdeki kod, JuiceLedger’ın kimlik avı kampanyası aracılığıyla iki meşru kod paketine yerleştirdiği koda benziyordu. Yazım hatası yapılmış paketlerin iletişim kurduğu saldırgan kontrollü URL, “exotel” ve “spam” paketlerinin zehirli sürümlerinin ilettiğiyle aynıydı. Bu, SentinelOne ve Checkmarx’taki araştırmacıların JuiceLedger’ın hem PyPI kimlik avı kampanyasından hem de yazım hatası yapılmış paketleri PyPI’ye yüklemekten sorumlu olduğu sonucuna varmalarını sağladı.
JuiceLedger’ın Ağustos ayında PyPI’ye saldırısı tehlikeli bir tırmanışı temsil ediyor SentinelOne, tehdit aktörünün bilgi hırsızını dağıtma çabalarında olduğunu söyledi. “Ağustos 2022’de tehdit aktörü, tedarik zinciri saldırısı yoluyla bilgi hırsızıyla daha geniş bir kitleyi hedeflemenin bir yolu olarak açık kaynak paketlerini zehirledi ve bu grubun oluşturduğu tehdit seviyesini önemli ölçüde artırdı.”
Popüler – Ama Tek Değil – Hedef
PyPI son zamanlarda yazılım tedarik zincirlerini zehirlemeye çalışan saldırganlar için popüler bir hedef haline geldi. Sayısız kuruluş, uygulamalarını oluşturmak için depoda yayınlanan kodu kullanır. Bu nedenle, saldırganlar kayıt defterindeki paketleri zehirleyerek, nispeten daha az çabayla potansiyel olarak geniş bir kitleye ulaşabilir. Son örnekler arasında, PyPI’de yayınlanan 10 pakete kötü amaçlı paket yükleme kodu ekleyen tehdit aktörleri, 300 geliştiricinin yanlışlıkla Cobalt Strike’ı yüklemek için bir paketi kayıt defterinden indirdiği ve okul çağındaki bir korsanın ne olduğunu görmek için kayıt defterine fidye yazılımı yüklediği bir başka olay yer alıyor. gerçekleşecekti.
PyPI, saldırganların son zamanlarda hedeflediği tek kod deposu değil. Güvenlik satıcıları, npm ve Maven Central gibi yaygın olarak kullanılan diğer kayıtları içeren çok sayıda benzer olay bildirmiştir. Bu eğilim, özellikle ulus-devlet destekli düşmanların – SolarWinds uzlaşmasının arkasındaki Rus tehdit aktörü gibi – aynı taktiği saldırı kampanyalarında kullanma potansiyeli nedeniyle, yazılım tedarik zinciri güvenlik sorunlarına olan ilgiyi artırdı.
SentinelOne’da tehdit istihbaratı araştırmacısı Amitai Ben, saldırganların geliştiricilerin ve kuruluşların her zaman açık kaynak paketleri kullanması gerekeceği gerçeğinden yararlandığını söylüyor.
Açık kaynak kodunun halka açık havuzlara girmesine katkıda bulunanların maruz kalmasını en aza indirmenin en iyi yolu, paket yöneticilerindeki kullanıcı hesaplarında iki faktörlü kimlik doğrulamayı (2FA) etkinleştirmektir. Bu, kötü niyetli aktörler tarafından hesap devralma riskini en aza indirir.
Bu arada açık kaynak paketlerinin kullanıcıları, popüler paketlerin genellikle geliştirme sürecinin gerçekleştiği Git depolarına bağlı olduğunu bilmelidir. Ben, “Depo ile paket yöneticisindeki paket arasındaki tutarsızlıklar, şüpheli etkinliğin ve hesabın ele geçirilmesinin bir işareti olabilir” diyor.