Filmler ve TV şovları bize bilgisayar korsanlarını zor görevlerle, ayrıntılı planlarla ve ayrıntılı planlarla ilişkilendirmeyi öğretti.
Güvenlik araştırmacısı Carlos Fernández ve benim yakın zamanda açık kaynak kayıtlarında bulduğumuz şey farklı bir hikaye anlatıyor: Kötü aktörler basitliği, etkililiği ve kullanıcı merkezli düşünmeyi tercih ediyor. Kötü amaçlı kodlarını bir sonraki seviyeye taşımak için ChatGPT'nin desteklediği yeni özellikler de ekliyorlar.
Tıpkı hizmet olarak yazılım ( SaaS ) gibi, DuckLogs , Redline Stealer ve Racoon Stealer gibi hizmet olarak kötü amaçlı yazılım (MaaS) tekliflerinin yer altı pazarlarında bu kadar popüler hale gelmesinin bir nedeni de, bunların Aktif müşteri destek kanalları ve ürünleri genellikle şık ve kullanıcı dostudur. Bu kutuları işaretleyin, bu formu doldurun, bu düğmeye tıklayın… İşte kullanıma hazır kötü amaçlı yazılım örneğiniz! Bu ürünlerin genellikle profesyonel siber suçlular tarafından üretildiğini söylemeye gerek yok.
Discord token yakalayıcı Z3US gibi doğada bulduğumuz daha az popüler MaaS tekliflerinde, insan merkezli tasarım ilkelerini birleştirme girişimi var, ancak ürün müşteri desteğinde başarısız oluyor. Çoğunlukla gençler tarafından işletilen ve tüketilen ilgili Telegram hesapları, "ömür boyu garanti" vaadinin yerine getirilmemesi nedeniyle şikayetlerle ve düşmanca "kardeş söylemleriyle" dolu:
Sonatype'e katılmadan önce bile siber suçların modern yüzünün neye benzediğini merak ediyordum. Artık dünyanın dört bir yanından bir dizi kampanyayı ve kötü aktörleri takip ettiğime göre, benim için bir şey netleşti: Güvenlik araştırma ekibinin dikkatime sunduğu kötü amaçlı paketlerin çoğu, kapüşonlu tuhaf bir dehanın ürünü değil monitörlerle dolu karanlık bir bodrumdan kodlama. MaaS'ın basit yapısı sayesinde, herkes minimum kurulum maliyeti ve teknik bilgiyle kolayca kötü amaçlı yazılım örnekleri oluşturabilir ve açık kaynak kayıt defterlerine yükleyebilir.
Avast araştırmacıları, devam eden Kovid-19 salgınının başlangıcından bu yana Discord ve Telegram gibi platformların genç nüfus arasında giderek daha popüler hale geldiğini gözlemledi . Bu gençler, ana akım sosyal medyayı kullanmak yerine, ebeveynlerinin gözetiminden uzakta oyun oynamak, sohbet etmek ve sosyalleşmek amacıyla Discord'da kötü amaçlı yazılım toplulukları oluşturuyor. Bu topluluklar genellikle rakip sunucuların mülkiyetini alarak, hatta şüphelenmeyen kurbanlardan çaldıkları bilgilerin yer aldığı ekran görüntülerini paylaşarak gösteriş yapan, teknik açıdan en yetkin üyeler tarafından yönetiliyor. Ayrıca programlama becerilerine veya kampanyalarına katkıda bulunma potansiyellerine göre aktif olarak başka üyeler arıyorlar.
Bu faaliyetlerin istenmeyen bir sonucu olarak, güvendiğimiz dayanıklı açık kaynak kayıtları aşırı kaynak yüküyle karşı karşıya kalıyor. Yalnızca geçen ay güvenlik araştırmacılarımız, npm ve PyPI kayıtlarına yüklenen çok sayıda 6.933 paketin kötü amaçlı olduğunu doğruladı.
Yakın zamanda PyPI'ye 5.000'den fazla paket yükleyen EsqueleSquad adlı İspanyolca konuşan bir grubun kampanyasını takip ettik . Bu paketlerdeki veri, PowerShell komutunu kullanarak Dropbox, GitHub ve Discord'dan bir Windows Truva Atı indirmeye çalıştı.
Daha sonra, hassas bilgileri sızdırmak için tasarlanmış kötü amaçlı yazılım içeren paketler oluşturan, muhtemelen İspanya'dan gelen SylexSquad adlı başka bir grubun faaliyetlerini araştırdık . Ürünlerini YouTube videolarıyla tanıtmanın ve bunları bir pazar yerinde satmanın yanı sıra, yeni üyeler kazanmak için küçük bir Discord topluluğu da var. Ve açık kaynaklı yazılım tedarik zincirini kirletmek için bolca zamanları var gibi görünüyor.
Nisan ayının ilk haftasında yapay zeka sistemimiz, PyPI'ye yüklenen bir dizi paketi şüpheli olarak işaretledi ve daha sonra güvenlik araştırmacılarımız tarafından kötü amaçlı olduğu doğrulandı. Bu paketler, "py" ön ekinden ve ardından antivirüs yazılımına yapılan referanslardan oluşan bir adlandırma düzenine sahipti: pydefenderultra , pyjunkerpro , pyanalizate ve pydefenderpro .
Carlos Fernández, paketlerin SylexSquad grubuna atfedildiğini fark etti ve bu da, rever_shell ve sintaxisoyyo paketlerini içeren, daha önce takip ettiğimiz bir kampanyanın devam ettiğini öne sürdü. Bu keşfi yaptıktan sonra faaliyetlerini haritalamaya başladık.
Bir kedi fare oyununda, bu paketlerden birinin kötü amaçlı olduğunu her onayladığımızda, PyPI ekibi onu kaldırmamıza yardım edecek ve birkaç saat sonra kötü aktörler benzer isimli bir paketi gizlice içeri alacaklardı.
Size bu kampanyanın tam resmini verebilmek için ilk bulgularımızı özetleyelim:
Geliştiriciler PyPI paketi revers_shell'i kuracak olsaydı, setup.py
, GitHub'da barındırılan ve ASCII kodlarına karşılık gelen bir dizi sayı olarak kodlanan, hafif karmaşık bir komut dosyası olan bypass.py
çalıştırırdı.
Gizlemenin kaldırılmasından sonra, kalıcılık için Windows'ta yeni kayıt defteri değerleri oluşturacak ve sonuç olarak GitHub tarafından barındırılan başka bir dosya olan WindowsDefender.py
dosyasını bir bilgi çalıcı olarak çağıracaktır. Tarayıcı bilgileri (geçmiş, çerezler, şifreler…), Steam hesapları, Telegram hesapları, kredi kartları ve hatta kurbanın masaüstünün ekran görüntüsü gibi hassas veriler, saldırganın Discord web kancası kullanılarak yüklenecek.
Bu gruba atfedilen yeni paketlere hızlıca ilerleyin ve "4 katmanlı algoritmayla koruma" vaat eden bir hizmet olan Pyobfuscate ile oluşturulmuş, yoğun şekilde gizlenmiş koddan (AES 256 şifreleme) oluşan tamamen farklı bir setup.py
buluyoruz. Carlos, kod gizleme süreci için kolları sıvamadan önce, kamufle edilmiş kod okyanusundan yalnızca iki parça bilgiyi seçebiliyorduk: hizmet URL'si ve okunabilir bir mesaj: ' why, are, you, reading, this, thing, huh
' Bu mesajdaki her kelime, gizleme işlemi için kullanılan bir değişkendi:
Pyobfuscate'in nasıl çalıştığına dair ayrıntılara girmeyeceğim, ancak Carlos sabır ve uzmanlıkla kodun karmaşıklığını başarıyla çözmeyi ve gerçek biçimini ortaya çıkarmayı başardı. Gizlenmiş içeriğin yalnızca setup.py
değil, aynı zamanda başlangıçta GitHub'dan ve şimdi de transfer.sh hizmetinden alınan önceden okunabilir WindowsDefender.py
de mevcut olmasını ilgi çekici buldu.
Kötü aktörler yeterince hızlı hareket etmediğinde, bizim gibi güvenlik araştırmacılarının ve GitHub'ın platformun kötü amaçlı yazılım CDN'si olarak kullanılmasına izin vermeme konusundaki kurallarının planlarını mahvetme ihtimali yüksektir. Başlangıçta GitHub deposu “joeldev27”de barındırılan ve PyPI paketleri pycracker ve pyobfpremium tarafından kullanılan ve kısa süre sonra devre dışı bırakılan WindowsDefender.py
durumu da buna benzer.
Bu dosya adı tutarlı bir şekilde kullanıldığından, biraz araştırma yaptım ve WindowsDefender.py
CosasRandoms480 adlı bir GitHub deposunda barındırıldığını buldum. Bu bulguyu Carlos'la paylaştığımda, bana merak duygusuyla yanıt verdi: "Önümüzdeki birkaç saat içinde PyPI'de, setup.py
gizleyen yeni bir paket görünecek. Kurulumdan sonra, az önce bulduğunuz WindowsDefender.py
adlı, oldukça karmaşık bir komut dosyası bulduğunuz bu depodan indirilecek ve bu, bir kalıcılık mekanizması oluşturacak ve daha önce araştırdığımız, WindowsDefender.py
adlı bilgi hırsızını indirecek.
Tahmini, pyobfadvance paketinin 30 dakikadan daha kısa bir süre sonra PyPI'de görünmesi ve “CosasRandoms480”i kötü amaçlı yazılım CDN'si olarak etkili bir şekilde kullanmasıyla gerçeğe dönüştü. Bunu PyPI ekibine bildirdik ve kısa süre sonra kaldırıldı.
Bilim adamları ve filozoflar bir bilgisayar simülasyonunda yaşayıp yaşamadığımızı merak ediyorlardı. Bir güvenlik araştırmacısı olarak çalışmak kesinlikle böyle hissettiriyor. Araştırma, keşfetme ve raporlama döngüsünde sıkışıp kalıyorsunuz ve aynı tehditler tekrar tekrar karşınıza çıkıyor.
İki gün sonra sistemimizde yeni bir SylexSquad kredili paket işaretlendi: pydefenderpro. Aynı karmaşık setup.py
. Aynı WindowsDefender.py
dosyasını aynı kalıcılık mekanizması koduyla ve WindowsDefender.py
bilgi hırsızının aynı yürütülmesiyle çalıştıran aynı GitHub deposundaki aynı URL. Her şey aynı görünüyordu, ancak dosya artık karmaşık değildi ve transfer.sh'den yeni bir komut dosyası çağrılıyordu:
"Bu bir RAT!" Carlos bana Slack'ten mesaj attı. "Ayrıca bir bilgi hırsızı..."
"Bir RAT Mutantı mı?" Uzaktan erişim truva atlarını ve bilgi hırsızlarını birleştiren bir tür kötü amaçlı yazılım türünde takip ettiğimiz bir eğilime atıfta bulunarak yanıt verdim.
"Kesinlikle" dedi Carlos.
OSINT araştırması, yeni RAT kodunun orijinal olmadığını, DiscordRAT kopyasının bir kopyası olduğunu ortaya çıkardı:
Durulayın ve tekrarlayın : PyPI ekibine kötü amaçlı bir paket bildirilir ve PyPy ekibi onu kaldırır.
Tabii kısa süre sonra yeni bir paket olan pydefenderultra sahneye çıktı. Burada farklı olan şey, muhtemelen “CosasRandoms480” deposunun devre dışı bırakılması nedeniyle, kötü niyetli kişilerin WindowsDefender.py
indirmek için GitHub yerine Pastebin.pl hizmetine geçiş yapmalarıydı.
WindowsDefender.py
okunabilir sürümünün GitHub kurallarını ihlal ettiğini doğrulamayı kolaylaştırdığından şüpheleniyoruz. Peki neden kötü oyuncular senaryonun belirsizliğini kaldırmaya karar verdiler? Basit süreçleri için çok mu karmaşıktı?
RAT mutasyona uğramaya devam etti. Menü ve yorumlar artık İspanyolcaya çevrildi ve ek işlevlere sahip oldu.
Döngü, başka bir paket olan pyjunkerpro'yu yüklediklerinde devam etti. Bu kez eklenen işlevler arasında bir keylogger, ses kaydedici, işletim sistemi verilerinin sızdırılması ve kurbandan herhangi bir dosyayı saldırganın Discord kanalına yükleme yeteneği yer alıyordu. Kodla ilgili yorumlar alışılmadık derecede çoktu ve bu genellikle yalnızca eğitim koduyla ilişkilendiriliyor ve bir kötü amaçlı yazılım parçasıyla ilişkilendirilmiyor.
"Bekle," dedi Carlos yüksek sesle düşünerek, "Ya yeni işlevler yaratmak için yapay zekayı kullanıyorlarsa?"
GPTZero ve Copyleaks gibi araçlar, yapay zeka tarafından oluşturulan metni tespit etmek için iyi bir başlangıç noktası sağlar. Bununla birlikte, yapay zeka tarafından oluşturulan kodu tanımlamak hala zordur, çünkü şu anda bunu doğru bir şekilde yapabilecek (bildiğim kadarıyla) hiçbir araç yoktur. Neyse ki insanlar kalıpları tanıma konusunda hâlâ çok iyiler…
Hızla bir ChatGPT sekmesi açtım ve İspanyolca bir komut yazdım ve şu anlama geliyordu: "PyAudio kullanarak uzaktaki bir bilgisayardan ses yükleyen bir Discord botu için Python kodu yazın." Aldığım çıktı ürkütücü derecede benzerdi:
Görünüşe göre çeşitli kaynaklardan kod kopyalayan ve ardından yeni özellikler eklemek için ChatGPT'yi kullanan senaryo çocuklarını izliyorduk. Ortaya çıkan benzersiz kod, onlara YouTube'da reklamını yapma veya kendi pazar yerlerinde satma konusunda güven verdi. Ve hiç kimse bunun orijinal bir yaratım olmadığından şüphelenmez.
Bu durum ilginç bir soruyu gündeme getiriyor: Bu kötü aktörlere ne ad vermeliyiz? Yapay zeka tarafından yazılan çocuklar mı? Acele edin çocuklar?
ChatGPT'ye sordum ve şunu söyledi: Eğer bir kişi ChatGPT'yi kötü amaçlı yazılımlarına yeni yetenekler eklemek için kullanıyorsa, geleneksel bir yazılımcı çocuktan daha gelişmiş bir hacker türü olarak kabul edilebilir. Bunun yerine onlara "bilgisayar korsanları" veya "Yapay Zeka destekli bilgisayar korsanları" demek daha doğru olabilir.
Büyüleyici.
ChatGPT onlara daha fazla statü veriyor.
Carlos, deneme amacıyla, aracın kötü aktörlerin faaliyetleri hakkında daha fazla bilgi edinmemize yardımcı olup olmayacağını görmek için bir ipucu denemek istedi.
“Discord API'sini bot olarak (belirteç kullanarak) kullanabilecek Python koduna ihtiyacım var. Komut dosyası bota bağlanmalı ve lonca bilgilerini, lonca üyelerini, lonca kanallarını ve mesaj geçmişini görüntülemelidir."
Beklendiği gibi, ChatGPT, yoğun şekilde yorumlanan kod ve başlangıç için net talimatlar oluşturdu: Bu kodu kullanmak için, "bot_token_here" ifadesini bot jetonunuzla değiştirin ve Python betiğini çalıştırın . Böylece "Yapay Zeka destekli bilgisayar korsanlarının" MicrosoftUpdate.py
eklediği belirteci kopyaladık ve yapay zeka tarafından oluşturulan Python betiğimize yapıştırdık.
Bu kodu çalıştırdık…
…ve biz de içerideydik! Üyeler (MEE6, $Demon666, $̷y̷n̷t̷a̷x̷E̷r̷r̷o̷r̷, aitanaxx05 + 4 tekrar, Esmeralda, SylexNaranjoDomina ve AI Image Generator), kanallar ve mesaj geçmişi hakkında bilgi topladık. Görünüşe göre zaten birkaç kullanıcıya virüs bulaştırmışlar; bir IP'nin Küba'dan, diğerinin ise Hindistan'dan olduğunu belirledik. Ve işletim sistemi bilgileri, virüslü kurbanın kullanıcı adının adını taşıyan kanallara sızıyordu:
Yönetici ayrıcalıklarına sahip "SylexNaranjoDomina" adlı bir bota bağlı olduğumuzu keşfettik. Bu, birisinin üye eklemesine, web kancalarını silmesine veya mevcut kanalları değiştirmesine olanak sağlayabilir.
Birisi lonca adını "Demon666 sunucusu" yerine "Script Kiddie sunucusu" olarak kolayca değiştirebilir; bu tür kötü aktörler için uygun bir tanım, ancak ChatGPT'nin bu fikre kaşlarını çatabileceğini düşünüyorum.
Bu araştırma, MaaS'ın yaygınlaşmasının ve yapay zeka destekli kod kullanımının, teknik açıdan daha az yeterliliğe sahip kötü aktörler için yeni fırsatlar yarattığını açıkça ortaya koyuyor. Bu araç ve tekliflerden yararlanan kullanıcıların sayısı arttıkça, kötü amaçlı paketlerin yapı ortamınıza bulaşması için daha fazla fırsat ortaya çıkıyor. Siber güvenlik ortamı gelişmeye devam ettikçe savunmalarımız da gelişmelidir. Bilgili, dikkatli ve korunarak sürekli değişen siber suç tehdidine karşı bir adım önde olabiliriz.