Siber güvenlik araştırmacıları, üç kötü amaçlı mücevherin RubyGems'e ek yük taşıma hedefiyle yayınlanmasının ardından Ruby ekosistemini hedef alan SleeperGem kod adlı yeni bir yazılım tedarik zinciri saldırısını işaretledi.

Hileli mücevherler aşağıda listelenmiştir -

StepSecurity "Her kötü amaçlı sürüm bir yükleyicidir"saidbir analizde. "Saldırgan tarafından kontrol edilen bir Forgejo ana bilgisayarından ikinci bir aşamayı getiriyor, bir yapı sisteminde çalışıp çalışmadığını kontrol ediyor ve çalışıyorsa atlıyor ve geliştirici makineye yerel bir arka plan programı bırakıyor ve kalıcılığı yüklüyor."

Saldırının hemen göze çarpan yönlerinden biri, "git_credential_manager"ın resmi Microsoft Git Kimlik Bilgisi Yöneticisini taklit etmesi, diğer ikisinin ise kötü amaçlı güncellemeleri almadan önce yıllarca hareketsiz kalmasıydı. "Dendreo" en son 24 Ekim 2020'de güncellendi ve "fastlane-plugin-run_tests_firebase_testlab", yeni sürümlerden önce 9 Mart 2019'dan beri etkin değildi.

Etkinliğin bir başka tanımlayıcı özelliği de, sürümlerin kaynak projelerde eşleşen herhangi bir taahhüt veya etiket olmadan doğrudan kayıt defterinde yayınlanmasıdır.

İlginçtir ki, "git_credential_manager"eklendi"Dendreo" ve "fastlane-plugin-run_tests_firebase_testlab" dahil olmak üzere beş pakete bağımlılık olarak, kötü amaçlı yükün paketlerin mevcut kullanıcılarına yayılmasına etkili bir şekilde izin veriyor -

  • Dendreo
  • fastlane-plugin-run_tests_firebase_testlab
  • slackHtmlToMarkdown
  • seo_optimizer
  • array_fast_methods

"fastlane-plugin-run_tests_firebase_testlab" haricinde yukarıda belirtilen tüm paketler aynı hesap tarafından korunur ("LR-DEV"). Mücevherin farklı bir bakımcıya ait olduğu gerçeği ("pembe oda"), hileli sürümleri RubyGems'e aktarmak için birden fazla hesabın ele geçirilmiş olabileceğini belirtir.

Bu paketlere yerleştirilen kötü amaçlı yazılım, yüklendikten sonra virüslü sistemi, GitHub Actions, GitLab, CircleCI, Travis, Jenkins ve Vercel ile ilgili olanlar da dahil olmak üzere yaklaşık 30 ortam değişkeni için tarar. Bunlardan herhangi biri tespit edilirse derhal çıkar. Denetimin, geçici CI çalıştırıcılarında çalıştırılmasını önlemeye ve geliştirici bir makinede yürütülmesini sağlamaya yönelik kasıtlı bir girişim olduğu değerlendiriliyor.

"git_credential_manager" durumunda, kötü amaçlı kod, kütüphane gerekli olduğunda tetiklenir ve kütüphanenin genel bir Forgejo örneğinden ("git.disroot[.]org/git-ecosystem") iki yükü indirmesine neden olur: bir kabuk betiği ("deploy.sh") ve gem'in kılığına girdiği araçla aynı adı taşıyan yerel bir ikili dosya. Windows'ta alınan veri PowerShell aracılığıyla yürütülür.

2.8.2 sürümü yalnızca yükleri aşamalandırırken, mücevherin 2.8.3 sürümü saldırının bir sonraki aşamasına geçiyor. Bu, ikili dosyayı bir arka plan arka plan programı olarak başlatmak için kurulum komut dosyasının kullanılmasını içerir; ardından bir cron girişi ve bir sistemd kullanıcı hizmeti olarak kalıcılık oluşturur ve sudo ve tekerlek gruplarını sorgular.

StepSecurity, "Kullanıcı sudo'yu parola olmadan çalıştırabiliyorsa, komut dosyası kendisini root olarak yeniden çalıştırır ve root olarak çalıştığında, bir ağ oluşturma yardımcı programını taklit etmek için seçilen yola sistem kabuğunun setuid kök kopyasını yerleştirir" dedi.

Yukarıda bahsedilen mücevherlerden herhangi birini kuran kullanıcılara, makineleri ve ilgili sırları ele geçirilmiş olarak değerlendirmeleri tavsiye edilir. Ayrıca "~/.local/share/gcm/" konumunda bırakılan arka plan programının kaldırılması, kalıcılık yöntemlerinin silinmesi, "/usr/local/sbin/ping6" konumunda bir setuid kabuğunun olup olmadığının kontrol edilmesi ve tüm kimlik bilgilerinin döndürülmesi önerilir.

Aikido Güvenlik araştırmacısı Charlie Eriksen, "Altı veya yedi yıldır sessiz kalan bir RubyGems hesabı kimseye riskli görünmüyor."said. "İşte tam olarak devralmaya değer profil. SleeperGem adı da buradan geliyor: yerleşik, uzun süreli bir saldırgan varlığı değil, tamamen hareketsiz hale gelen ve kimsenin farkına varmadan ele geçirilebilecek kadar zararsız görünen gerçek, sıradan bir hesap."

Veri Sızdırmasının Son Noktası Olarak RubyGems

Açıklama RubyGems'ten iki aydan fazla bir süre sonra geldikısaca duraklatıldıKötü niyetli kişilerin, koordineli bir spam yayınlama kampanyası kapsamında düzinelerce kötü amaçlı paket göndermesinin ardından hesap kayıtları. Aynı sıralarda Soket araştırmacılarıişaretlikayıt defterini veri sızıntısı kanalı olarak kötüye kullanan 150 değerli taşla dolduran paralel bir kampanya.

Bu ayın başlarında Mend.io, çalınan kimlik bilgileri verilerini depolamak için 14 RubyGems paketinden oluşan başka bir setin kullanıldığı belgelenmemiş bir yazılım tedarik zinciri saldırısının ayrıntılarını açıkladı.

Spesifik olarak, kötü amaçlı bir tarayıcı uzantısının kimlik bilgilerini yerel olarak erişilebilen bir API aracılığıyla topladığı, bilgileri JavaScript ve standart Web API'lerini kullanarak tamamen tarayıcının içinde geçerli .gem dosyaları halinde paketlediği ve bu paketleri sabit kodlanmış bir RubyGems API anahtarı kullanarak doğrudan RubyGems.org'a yüklediği tespit edildi.

Maciej Mensfeld, "Bu taşıma, 63 kasa öğesindeki düz metin şifreleri, SSH özel anahtarlarını, AWS kimlik bilgilerini, kripto cüzdanı tohum ifadelerini, Sosyal Güvenlik numaralarını, kredi kartı numaralarını ve banka hesabı ayrıntılarını içeriyordu."said.

"RubyGems buradaki dağıtım mekanizması değildi. Bu tam bir çöküştü: Çalınan verilerin, saldırgan geri gelene kadar saklandığı, normal geliştirici yüklemeleri arasında görünmeyen güvenilir, yüksek trafikli bir alan."

Bu makaleyi ilginç buldunuz mu? Bizi takip edinGoogle Haberler, heyecan and LinkedInyayınladığımız daha özel içeriği okumak için.