"Bilge bir ninja, tam olarak anlamadığı bir düşmanı aramaz." - Teenage Mutant Ninja Turtles'tan Splinter Bilim kurgu tutkunu bir teknik yazar olarak Sonatype'teki işimin en heyecan verici kısımlarından biri, güvenlik araştırma ekibiyle işbirliği yapma fırsatına sahip olduğum zamandır. Bulduğumuzdan beri RAT mutantları dediğimiz şeye (uzaktan erişim truva atlarının ve bilgi hırsızlarının yeteneklerinden yararlanan yeni kötü amaçlı yazılımlar) karşılık gelen güvenlik araştırmacılarımız rahatsız edici bir deja vu duygusuna kapıldılar. geçen ay bir dizi Python paketi Bu nadir görülen bir durum değil: Gerçekten kötü amaçlı olup olmadıklarını belirlemek için açık kaynak kayıtlarındaki yüzlerce şüpheli paketi sürekli olarak değerlendiriyorlar. Bu prosedür sırasında paketler arasındaki tanıdık kalıpları tespit ederler ve bazen güçlü benzerlikleri fark ettikten sonra arkalarındaki aktörü/kampanyayı bulmak için daha fazla araştırma yaparlar. 2022'nin son haftası ile 2023'ün başı arasında yapay zeka sistemimiz, dahil olmak üzere PyPI kayıt defterine yüklenen şüpheli paketleri işaretledi. Güvenlik araştırmacılarımız bunlara baktı ve gerçekten kötü niyetli olduklarını doğruladı. Daha ayrıntılı bir analizin ardından, bu paketlerin Python kötü amaçlı yazılımlarında sıklıkla görülmeyen bir dizi özellik eklediğini fark ettiler. pyrologin , easytimestamp , discorder , discord-dev , style.py ve pythonstyles Fiili bir strateji haline gelen bu yöntemde, kötü aktörler dosyasında bir veri yükünü gizler, böylece geliştiricilerin virüse yakalanmak için yalnızca basit bir pip kurulumu kullanması gerekir. Bu durumda, saldırganın kurbanın faresini ve klavyesini kontrol etmesine, ekran görüntüleri almasına ve gizli uzak bağlantılar oluşturmasına olanak tanıyan kitaplıkları yüklemek için ZIP dosyasını indiren bir PowerShell betiğini yanlışlıkla başlatıyor olacaklar. Üstelik bu paketler aynı zamanda şifreler, çerezler ve kripto para birimi cüzdan verileri gibi hassas bilgileri de sızdırıyor ve hatta uzaktan erişim için bir araç yüklemeye çalışıyor. Bulgularımız uyumluydu tamamen aynı paketlerden. setup[.]py Phylum'un teknik raporu Yine de güvenlik araştırmacısı Carlos Fernandez, rahatsız edici bir deja vu duygusu yaşıyordu. Paketleri açıkladıktan sonraki hafta boyunca, bu kötü amaçlı yazılımın önceki sürümlerini gördüğüne dair anılar aklına geldi. Bir tehdit aktörü zaman içinde kötü amaçlı yazılımını geliştiriyor olabilir, ancak bundan emin olmamız gerekiyordu, bu yüzden sezgilerinde herhangi bir doğruluk payı olup olmadığını görmesine yardımcı olmak için OSINT şapkamı taktım. Köken Hikayesi Veritabanımıza dönüp baktığımızda 25 Eylül 2022'de PyPI deposuna adlı bir paketin yüklendiğini görüyoruz. Yapay zekamız bunu şüpheli olarak işaretledi ve güvenlik araştırmacılarımız bunun kötü amaçlı yazılım içerdiğini ve adı verilen başka bir paketin kaynaklarını bir araya getirdiğini doğruladı. Her iki kütüphanenin yazarı da , diğer adıyla BillyTheGoat, diğer adıyla BillyV3 (loTus04 ve BlueRed'in katkılarıyla). Fransa'dan gelen bu yazar (en azından GitHub'daki konumu ve Discord kanalları aracılığıyla konuşulan dil bunu gösteriyor) arkasındaki kişi olarak kabul ediliyor. , yakın zamanda yüklenen kötü amaçlı yazılımlarda sıklıkla bulduğumuz bir Python gizleme aracıdır ve aynı zamanda aşağıdakilerin yaratıcılarından biridir: Temmuz ayından bu yana aktif olan bir bilgi hırsızı Kayıtları açmak için. pygradient pystyle billythegoat356 Hyperion W4SP hırsızı devam eden tedarik zinciri saldırısı W4SP hırsızı kalıcılık (kullanıcılar bilgisayarı her yeniden başlattığında yeniden etkinleştirilir), gizleme (yazar bunun tamamen tespit edilemez olduğunu vaat ediyor) ve bir görüntü dosyası içindeki polimorfik ve oldukça karmaşık yükleri gizlemek için steganografi tekniklerine sahiptir. Kötü amaçlı yazılım, kurbanın tüm Discord hesaplarını, kredi kartlarını, şifrelerini ve kripto cüzdanlarını sabit kodlu bir Discord web kancası adresi aracılığıyla saldırgana geri gönderiyor. Bu kötü amaçlı yazılımla ilgilenen kötü aktörler, onu yaklaşık 20 ABD doları tutarında kripto para ödeyerek satın aldılar. Başlangıçta, kötü niyetli bir yapıya sahip değildi; okunabilirliği ve kullanıcı deneyimini geliştirmek için konsol çıktısını stillendirmek ve renklendirmek için zararsız bir paketti. Ancak Phylum araştırmasına göre, popüler hale geldikten sonra (paket PyPI'de hala aktif ve her ay 40.000'den fazla indirme işlemi gerçekleştiriyor), birkaç sürüme W4SP kötü amaçlı yazılımını eklemeye karar verdiler. pystyle gibi açık kaynaklı paketler aylarca uyuyan aracılar olarak görev yapabilir, ancak daha sonra kendi yazarları tarafından kötü amaçlı amaçlarla etkinleştirilebilir. Riskli bir hareket çünkü popüler paketleri bizim gibi güvenlik araştırmacıları tarafından keşfedilebilir ve bu araştırmacılar onu kötü amaçlı olarak rapor edebilir ve sonsuza kadar kaldırılabilir. Bu nedenle genellikle zararsız bir kütüphanenin kaynak kodunu içeren, bir tür kötü amaçlı yük ekleyen ve bunu yeni bir adla yükledikleri yeni paketler oluştururlar: genel, kulağa hoş gelen, masum görünen bir şey. gibi bir isim. pystyle pygradient Carlos'u daha yakından inceledikten sonra, bu proto-RAT mutant kötü amaçlı yazılımın Aralık sürümlerindeki bazı özelliklerden yoksun olduğunu gördük: Ayrıca bir PowerShell betiği başlatıp hassas verileri dışarı sızdırmasına rağmen, base64 kodlu yükleri veya izin verilenler listesini kullanmıyordu. Kendi kendine bulaşmayı önlemek için txt dosyası. Bir bakıma daha hafif, daha az karmaşık bir varyanttı. Ancak daha sonra, aralarında , ve da bulunduğu Kasım ayı başında yüklenen paketlere baktık ve daha derine indikten sonra şüphemizin doğrulandığını gördük: kötü amaçlı yazılım gerçekten gelişiyordu. paintpy devicespoof devicespoofer Kötü Amaçlı Yazılımları Takip Eden Bir Taklitçi BillyTheGoat Kasım ayından bu yana GitHub'da aktif olmasa da, çoğunlukla Portekiz'de yerleşik olduğu anlaşılan bir kullanıcı tarafından, onun yaratımlarına dayanan veya doğrudan onlardan çalınan kötü amaçlı yazılımlar buluyoruz. . zeeckt Bu kullanıcı PyPI'de kısa süre önce kaldırılan adlı bir paketi yükledi ve bu paket yanlışlıkla BillyTheGoat'a atfedildi. —yeni paketlerini popüler bir GitHub kütüphanesine bağlayarak ve böylece yüzlerce yıldız ve çatalla ilişkilendirilerek itibarını artırmaya yönelik bir teknik. pystilez Jacking'i Başlat Checkmarx Bu kötü aktörün, adlı bir pakette (benzer isimli varyasyonlarla birlikte) kötü amaçlı kodlarında bir Discord sunucusu bağlantısı içeren bir W4SP saldırısı bulduktan sonra ortaya çıktığı belirtildi. Doğrulanmış bir Steam hesabına bağlı yönetici profili ve "zeeckt" adı, saldırganın Steam takma adlarından biri olarak ortaya çıktı. takip ediyordu apicolor ayrıca bu tehdit aktörünün meşruiyeti artırmak için popüler GitHub hesaplarının profillerini kopyalayarak sahte kullanıcılar oluşturduğunu da bildirdi. Ve kurbanlarından biri şunu yaratmaya karar verdi: sahte profillerinden birine aşık olduktan sonra insanları bu saldırı hakkında uyarmak. Kontrol Noktası bir YouTube videosu Bir güvenlik araştırmacısı, Zeeckt'in verilerinden birini eğitim amaçlı yayınladı ve W4SP hırsızının ortak yazarından ilginç bir yanıt aldı: Hırsızınızın çalınması ne kadar da ironik. Görünüşe göre 17 yaşında bir Python geliştiricisi olan aynı yazar, GitHub profilindeki bir README dosyasında hayal kırıklığını yineliyor: Zeeckt'in diğer kötü aktörlerden tam olarak hangi kötü amaçlı kodu çaldığını bilmiyoruz, ancak kesin olan bir şey var: bu ad, açık kaynak kayıtlarındaki kötü amaçlı yazılım kampanyalarında ortaya çıkmaya devam ediyor. Daha Sinsi Varyantlar Kripto Servetinizi Kemiriyor Carlos yakın zamanda dört paket daha buldu : , ve . Daha fazla araştırma yaptıktan sonra bunları kötü niyetli olarak etiketledi ve kaldırılmaları için PyPI'ye bildirdi. En hızlı vakanın yayınlanmasından silinmesine kadar yaklaşık 20 dakika sürdü. zeeckt forenitq forenith , forenity forenitz dosyasındaki bakan Carlos aşağıdaki ilk aşama yükünü buldu: forenitq setup[.]py , Saldırgan, "start" komutunu kullanarak Windows ikili dosyalarını belirli URL'lerden indirip çalıştıran üç geçici dosya oluşturur. Her ne kadar ve sümüklü böcekleri kötü niyetli niyetleri akla getirse de, bu varsayımı arka plana bakmadan doğrulayamadık. /rat /clip Bu yazının yazıldığı sırada, adresinde barındırılan sayfa hâlâ aktiftir ve yalnızca süresi dolmuş veya özel bir Discord davetine giden bağlantıyı gösterir. hxxp://20[.]226[.]18[.]203 Carlos paketin popülermiş gibi göründüğünü fark etti. Paket, olası bir StarJacking girişimi için meta verilerini kullanıyor. Colorama RAT dosyasının gizliliğini kaldırdıktan sonra, olası bir pano korsanının yüklendiği bir satır buldu, ancak bunun ayrıntıları base64 ile kodlanmıştı: Kodu çözdükten sonra, hedeflenen kripto para birimi cüzdan adresini saldırganın adresiyle değiştirmek için kurbanın panosunu ele geçirmek üzere tasarlanmış bir Python kodu elde ederiz: (bc1), (0x), Monero (4) ve (L veya M veya 3) gibi belirli kalıpları arar ve bir kalıp bulunduğunda amaçlanan adresi saldırganın kripto para birimi cüzdan adresiyle değiştirir. . Bitcoin Ethereum litecoin Kod şunları kullanır: pano verilerini kopyalayıp yapıştırmak için kitaplık. Henüz kurulmamışsa kütüphaneyi kuracak ve ardından kripto para birimi cüzdan adresini panoya kopyalayacaktır. Kod daha sonra panoyu cüzdan adresi kalıpları açısından izlemek üzere sürekli bir döngüye ayarlanır. kalem klibi Ek olarak, bu RAT mutantının tespitten kaçmak için kullandığı daha fazla tekniği ortaya çıkardık: .]py dosyasına eklenen birinci aşama verisi ve her çalıştırdığınızda değişen ikinci aşama polimorfik verisi. ikili. setup[.]py forenitq/ansi[.]py Saldırgan ayrıca eksiksiz bir yardım menüsü içeren yeni bir komut ve kontrol ekledi ve bu kez şunu söyledi: Gördüğünüz gibi kötü niyetli aktörler, altyapınıza daha fazla sızmak için kripto fonlarınızı ve sistem kimlik bilgilerinizi çalmaya isteklidir. RAT kötü amaçlı yazılımları, daha kaçamak ve geliştiricilere zarar verecek şekilde mutasyona uğramaya devam ediyor. Dolayısıyla, yazılım tedarik zincirinizi bugün korumuyorsanız, bunu mümkün olan en kısa sürede yapmak için harekete geçmeyi düşünün. IOC'ler (Uzlaşma Göstergeleri) hxxp://20[.]226[.]18[.]203/inject/tCxFLYLT6ViY9ZnP hxxp://20[.]226[.]18[.]203/clip hxxp://20[.]226[.]18[.]203/rat