Etkilenen platformlar: PyPI paketlerinin yüklenebileceği tüm platformlar
Etkilenen taraflar: Bu kötü amaçlı paketlerin yüklü olduğu tüm bireyler veya kurumlar
Etki: Kimlik bilgilerinin, hassas bilgilerin vb. sızdırılması
Önem düzeyi: Yüksek
Fortinet’in AI destekli OSS kötü amaçlı yazılım tespit sistemi yakın zamanda iki kötü amaçlı paket tespit etti: 16 Kasım 2024’te Zebo-0.1.0 ve 24 Kasım 2024’te Cometlogger-0.1. Kötü amaçlı yazılımlar genellikle meşru kod gibi davranarak zararlı özelliklerini karmaşık mantık ve karartmaların arkasına gizler. Bu analizde, bu iki paketin arkasındaki Python betiklerini inceliyor, kötü amaçlı davranışlarını özetliyor ve potansiyel etkilerine dair içgörüler sağlıyoruz.
Zebo-0.1.0 betiği, gözetleme, veri sızdırma ve yetkisiz kontrol için tasarlanmış işlevlere sahip tipik bir kötü amaçlı yazılım örneğidir. Pynput ve ImageGrab gibi kütüphaneleri ve karartma tekniklerini kullanarak açık kötü niyetli niyeti gösterir.
Cometlogger-0.1 betiği ayrıca dinamik dosya manipülasyonu, webhook enjeksiyonu, bilgi çalma ve sanal makine karşıtı kontroller de dahil olmak üzere kötü amaçlı davranış belirtileri gösteriyor.
Zebo-0.1.0, kullanıcı gizliliğini ve güvenliğini ihlal eden çeşitli görevleri gerçekleştirmek üzere yapılandırılmıştır. Ana bileşenleri şunlardır:
Bulanıklaştırma: Algılama mekanizmalarını atlatma
Tuş Kaydı: Kullanıcının yazdığı her tuş vuruşunu yakalama.
Ekran Yakalama: Kullanıcının masaüstünün periyodik ekran görüntüleri.
Veri Sızdırma: Hassas bilgileri (tuş vuruşları, ekran görüntüleri, vb.) uzak bir sunucuya yükleme.
Kalıcılık Mekanizması: Kötü amaçlı yazılımın sistem başlatıldığında yeniden çalıştırılmasını sağlama.
Karartma, gerçek işlevselliği bilerek gizler ve kullanıcıların veya güvenlik sistemlerinin kodun ne yaptığını anlamasını zorlaştırır. Bu örnekte, betik veya bileşenleri karartılırsa, yetkisiz veri toplama veya sistem manipülasyonu gibi kötü amaçlı davranışları gizleyebilir. Karartma, güvenlik önlemlerini atlatmak için de kullanılabilir ve potansiyel olarak kötü amaçlı yazılımların algılanmadan çalışmasına izin verir ve bu da hem kullanıcının gizliliği hem de sistem bütünlüğü için ciddi riskler oluşturur.
Kod, iletişim kurduğu sunucunun URL’sini gizlemek için hex kodlu dizeler (örneğin, \x68\x74\x74…) kullanır. Kötü amaçlı yazılımın davranışını yönetmek ve çalınan verileri toplamak için kullanılan uzak bir sunucuya HTTP istekleri aracılığıyla bir komut ve kontrol mekanizması kullanır. Bu karartma, kod incelemesi veya otomatik taramalar sırasında algılama mekanizmalarını atlatmaya çalıştığı için kötü niyetli niyetin açık bir işaretidir.
pynput kütüphanesinin kullanımı, betiğin kullanıcı tarafından yapılan her tuş vuruşunu kaydetmesini sağlar. Bu özellik aşağıdaki işlevler aracılığıyla uygulanır:
Ekran yakalama, kullanıcının ekranını gizlice kaydedebilir, potansiyel olarak gizliliğini ihlal edebilir ve hassas bilgilere yetkisiz erişime yol açabilir. Sağlanan kodda, kurulum sonrası betik, böyle bir işlevi uygulamak için kullanılabilir ve bir saldırganın kullanıcının etkinliklerini izni olmadan izlemesine olanak tanır. Bu, kişisel bilgileri çalmak veya diğer zararlı eylemleri gerçekleştirmek için kullanılabildiğinden kötü niyetli davranış olarak kabul edilir ve veri ihlalleri ve yasal sonuçlar dahil olmak üzere önemli güvenlik risklerine yol açabilir.
Bu kodda veri sızdırma kullanmak tehlikelidir çünkü kullanıcının bilgisi veya izni olmadan hassas verileri gizlice toplayıp kullanıcının sisteminden aktarmayı içerir. Kurulum sonrası betik (i_am_cute()) yetkisiz veri erişimi için kullanılabilir ve potansiyel olarak özel bilgileri uzak bir sunucuya gönderebilir. Bu, gizliliği ihlal edebilir, güvenliği tehlikeye atabilir ve davranış keşfedilirse yazılım geliştiricisi veya dağıtıcısı için yasal sonuçlara yol açabilir, çünkü bir tür bilgisayar korsanlığı veya veri hırsızlığı olarak görülebilir.
Günlükler ve ekran görüntüleri bir Firebase veritabanına gönderilerek kullanıcının hassas verileri yetkisiz taraflara ifşa edilir. Bu, HTTP PUT istekleri aracılığıyla yürütülür:
Sistem her başlatıldığında çalışmasını sağlamak için kötü amaçlı yazılım:
Sağlanan kod, potansiyel kötü amaçlı aktiviteye işaret eden birkaç kırmızı bayrak ortaya çıkarıyor.
Webhook Manipülasyonu: Kod, kullanıcıdan dinamik olarak bir “webhook” ister ve bunu `Comet.py` ve `Exela.py’ gibi Python dosyalarına gömer.
Bilgi Hırsızlığı: Çeşitli platformlardan (Discord, Steam, Instagram, Twitter, vb.) token, parola ve hesap çalar.
Anti-VM Algılama: Analiz veya deneme ortamından kaçınmak için sanallaştırma ortamları.
Dinamik Dosya Değişikliği: Komut dosyaları, Python dosyalarını çalışma zamanında değiştirir, bu da yürütme sırasında istismar için kötü amaçlı kod enjeksiyonuna olanak tanıyan bir yöntemdir.
Kalıcılık: Kurbanın sisteminde uzun süreli varlık sürdürme.
Güvenlik Riskleri : Bir webhook URL’sini doğrudan koda enjekte etmek, yetkisiz kullanıcılar tarafından olası manipülasyona izin vererek kötü amaçlı saldırılara kapı açar. Saldırganlar webhook URL’sini değiştirirse, hassas verileri kötü amaçlı sunuculara yönlendirebilir ve güvenliği tehlikeye atabilir.
Veri Bütünlüğü : Çalışma zamanı sırasında webhook’larda dinamik değişikliklere izin vermek, istenmeyen değişikliklere yol açabilir ve yanlış veya tutarsız verilerin gönderilmesine neden olabilir. Bu, sistemin işlevselliğini etkileyebilir ve hizmetler arasında iletişim bozukluğuna yol açabilir.
Kötü Amaçlı İstismar : Webhook enjeksiyonunu birden fazla yere sabit kodlayarak, bu yaklaşım kötü amaçlı kod yürütmek için istismar edilebilir. Kod kolayca değiştirilebildiği ve yeniden kullanılabildiği için, saldırganlar webhook aracılığıyla zararlı yükler gönderebilir, potansiyel olarak sistemlere zarar verebilir veya verileri çalabilir.
Betik, kullanıcılara webhook için tekrar tekrar istemde bulunur ve bunu dinamik olarak dosyalara enjekte eder
Enjekte edilen webhook’lar şunları yapabilir:
Hassas bilgileri uzak bir sunucuya gönderin.
Komuta ve kontrol (C2) operasyonlarını kolaylaştırarak saldırganın uzaktan komutlar vermesine olanak tanır.
Comet.py’den gelen betik, kaydedilmiş parolaların, oturum çerezlerinin ve tarama geçmişinin toplanması yoluyla kullanıcı gizliliğini ihlal ederek önemli riskler oluşturur ve bu, kullanıcıları taklit etmek, finansal verileri çalmak veya hesapları tehlikeye atmak için kullanılabilir. Kuruluşlar için bu kötü amaçlı yazılım, kurumsal hesaplara yetkisiz erişim ve veri ihlalleri tehdidinde bulunur ve potansiyel olarak ciddi yasal ve finansal sonuçlara yol açabilir. Ayrıca, Instagram, TikTok ve Twitter gibi platformlardan gelen çerezleri hedef alarak, spam, dolandırıcılık veya kimlik hırsızlığı için hesap ele geçirmeyi mümkün kılar.
Saldırganlar, kodlarının araştırmacılar veya güvenlik araçları tarafından yaygın olarak kullanılan bir sanal makinede mi yoksa bir deneme ortamında mı çalıştığını belirlemek için sıklıkla anti-VM tekniklerini kullanırlar. Kod, “VMware” ve “VirtualBox” gibi yaygın sanallaştırma göstergelerini kontrol eder. Bu tür göstergeler bulunursa, kod tespit edilmekten kaçınmak için yürütmeyi sonlandırır. Bu, saldırganların kontrollü ortamlarda güvenlik izlemesini atlatmasını sağlar.
Sahte Hata Mesajı, kullanıcıları kötü amaçlı yazılım kodunu çalıştırmaya kandırabilir.
Güvenlik Endişeleri : Kod, kullanıcı girdilerine göre dosyaları değiştirir ve potansiyel olarak webhooks gibi hassas verileri değiştirir. Bu, bir saldırgan kötü amaçlı girdi sağlarsa veya dosya içeriğini değiştirirse kötü amaçlı sömürüye kapı açar.
Veri Bütünlüğü Riskleri : Doğrulama yapılmadan değiştirme işlemlerinin kullanılması, özellikle dosyalar aynı anda başka işlemler veya uygulamalar tarafından kullanılıyorsa, dosyalarda istem dışı değişikliklere veya bozulmalara yol açabilir.
Kötü Amaçlı Yazılım Riskleri : Yürütülebilir dosyaları sıkıştıran UPX ile entegrasyon, kötü amaçlı kodun yürütülmesi konusunda endişelere yol açar. UPX aracı genellikle kötü amaçlı yazılımları gizlemek için kullanılır ve bu da güvenlik araçlarının onu tespit etmesini zorlaştırır.
Kod, harici dosyaları (Comet.py ve Exela.py) içeriklerini veya amaçlarını doğrulamadan değiştiriyor:
Güvenlik Riskleri : UPX kodu gizleyebilir ve güvenlik araçlarının yürütülebilir dosyayı analiz etmesini zorlaştırabilir. Bu, kötü amaçlı yazılımlarda kullanıldığında algılanamayan kötü amaçlı davranışlara yol açabilir.
Uyumluluk Sorunları : UPX sıkıştırması, bazı güvenlik araçlarının sıkıştırılmış yürütülebilir dosyaları şüpheli olarak işaretleyerek yanlış pozitif sonuçlara yol açması nedeniyle bazı antivirüs yazılımları veya sistem yapılandırmalarıyla sorunlara neden olabilir.
Performans Etkisi : UPX dosya boyutunu azaltırken, çalışma zamanında sıkıştırmayı kaldırma işlemi gecikmelere neden olabilir ve özellikle kodun kritik alanlarında aşırı kullanılırsa uygulamanın performansını etkileyebilir.
utils/upx.exe’nin subprocess.call kullanılarak sık sık çağrılması oldukça şüphelidir:
Sürekli istisna döngüleri, aşırı CPU kaynakları tüketme, sistem donmalarına neden olma ve performansı düşürme gibi çeşitli sorunlara yol açabilir. Ayrıca sorunun temel nedenini gizleyerek hata ayıklamayı daha zor hale getirebilir. Uygun şekilde işlenmeden istisnalar oluşturulursa, program tepkisiz hale gelir ve bakımı zorlaşır.
Komut dosyası, kullanıcının ortamında kalıcı olmak için sonsuz bir döngü kullanır:
İnternet bağlantısını kesin : Daha fazla veri sızdırılmasını önlemek için enfekte sistemi derhal izole edin.
Antivirüs Araçlarını Çalıştırın : Kötü amaçlı yazılımları tespit etmek ve kaldırmak için güvenilir bir antivirüs yazılımı kullanın.
Sistemi Yeniden Biçimlendirin : Enfeksiyon devam ederse, sistemi yeniden biçimlendirin ve işletim sistemini yeniden yükleyin.
Kod İncelemesi : Üçüncü taraf betiklerini ve yürütülebilir dosyalarını çalıştırmadan önce her zaman doğrulayın.
Ağ İzleme : Şüpheli ağ etkinliğini belirlemek için güvenlik duvarları ve saldırı tespit sistemleri uygulayın.
Eğitim : Kullanıcıları kimlik avı girişimlerini tanımaları ve doğrulanmamış komut dosyalarını çalıştırmaktan kaçınmaları için eğitin.
Bu kötü amaçlı Python betiği (Zebo-0.1.0), gözetleme, veri sızdırma ve yetkisiz kontrol için tasarlanmış işlevler sergileyen kötü amaçlı yazılımların ders kitabı örneğidir. Pynput ve ImageGrab gibi kütüphanelerin karmaşık kullanımı, karartma teknikleriyle birleştiğinde, kullanıcılara zarar verme veya onları istismar etme konusunda açık bir niyet gösterir. Bu tür betikler, siber güvenlik farkındalığının ve sağlam savunma önlemlerinin önemini vurgular.
Komut dosyası (Cometlogger-0.1), dinamik dosya manipülasyonu, webhook enjeksiyonu, bilgi çalma, ANTI-VM dahil olmak üzere kötü niyetli niyetin birkaç ayırt edici özelliğini sergiliyor. Bazı özellikler meşru bir aracın parçası olabilirken, şeffaflığın olmaması ve şüpheli işlevsellik, yürütülmesini güvenli hale getirmiyor. Çalıştırmadan önce her zaman kodu inceleyin ve doğrulanmamış kaynaklardan gelen komut dosyalarıyla etkileşime girmekten kaçının.
FortiGuard AntiVirus, bu raporda tanımlanan kötü amaçlı dosyaları şu şekilde algılar:
zebo_0.1.0: Python/Agent.BZ!tr
runner.py:Python/Agent.BZ!tr
Cometlogger_0.1: Python/Agent.APQ!tr
Comet.py: Python/Agent.APQ!tr
FortiGuard AntiVirus hizmeti FortiGate, FortiMail, FortiClient ve FortiEDR tarafından desteklenmektedir. Güncel AntiVirus güncellemelerini çalıştıran müşteriler korunmaktadır.
FortiGuard Web Filtreleme Servisi, bu raporda Kötü Amaçlı olarak belirtilen indirme URL’lerini tespit eder ve engeller.
FortiDevSec SCA tarayıcısı , bu raporda belirtilenler de dahil olmak üzere, test aşamasındaki kullanıcıların projelerinde bağımlılık olarak işlev görebilecek kötü amaçlı paketleri tespit eder ve bu bağımlılıkların kullanıcıların ürünlerine dahil edilmesini önler.
Bu veya başka bir siber güvenlik tehdidinin kuruluşunuzu etkilediğine inanıyorsanız lütfen Global FortiGuard Olay Müdahale Ekibimizle iletişime geçin .
Paket/dosya adı | Sha256 | Tespit |
Zebo_0.1.0 | 4aeb0211bd6d9e7c74c09ac67812465f2a8e90e25fe04b265b7f289deea5db21 | Python/Agent.BZ!tr |
zebo_0.1.0/koşucu.py | 4aeb0211bd6d9e7c74c09ac67812465f2a8e90e25fe04b265b7f289deea5db21
| Python/Agent.BZ!tr |
kuyrukluyıldız_0.1 | 839d0cfcc52a130add70239b943d8c82c4234b064d6f996eeaae142f05cc9e85 | Python/Ajan.APQ!tr |
kuyrukluyıldız_0.1/komet.py | e01c61dc52514b011c83c293cf19092c40cb606a28a87675b4f896be5afebed2 | Python/Ajan.APQ!tr |