Giriş
Son dönemde, Laravel Lang yerelleştirme paketlerine yönelik bir tedarik zinciri saldırısı, yazılımcıları karmaşık bir kimlik avı yazılımı kampanyasına maruz bıraktı. Saldırganlar, GitHub sürüm etiketlerini kullanarak Composer paketleri aracılığıyla kötü amaçlı kod dağıttı.
Saldırı Nasıl Çalışıyor?
Saldırganlar, Laravel Lang organizasyonu tarafından yönetilen dört deposun GitHub etiketlerini yeniden yazdı. Yeni kötü amaçlı sürümler yayınlamaktan ziyade mevcut etiketler üzerinde değişiklik yaptılar. Etkilenen paketler arasında laravel-lang/lang, laravel-lang/http-statuses, laravel-lang/attributes ve muhtemelen laravel-lang/actions bulunmaktadır. Güvenlik firması Aikido‘ya göre, saldırganlar üç repoda toplam 233 versiyonu ele geçirdi, Socket ise yaklaşık 700 tarihsel versiyonun etkilenmiş olabileceğini belirtti.
Saldırının dikkat çekici yanı, projenin temel kaynak kodunun kötü amaçlı kodu içerecek şekilde değiştirilmemiş olmasıydı. Aksine, saldırganlar GitHub’ın, etiketlerin aynı deponun forklarındaki commit’lere işaret etmesine olanak tanıyan bir özelliğini istismar etti.
“Yeni bir kötü amaçlı sürüm yayımlamak yerine, saldırgan her mevcut git etiketini kötü niyetli bir commit’e işaret edecek şekilde yeniden yazdı,” diyor StepSecurity. Yapılan değişikliklerin başlangıcı 22:32 UTC‘de laravel-lang/lang üzerinde, son ise 00:00 UTC‘de laravel-lang/actions üzerinde gerçekleşti.
Etkilenen Sistemler
Bu saldırı sayesinde, saldırganlar projeye ait gibi görünen ancak aslında kötü amaçlı commit’lerin bulunduğu sahte sürüm etiketleri yayımlama imkanı buldu. Geliştiriciler, Composer üzerinden paketi kurduklarında, aslında meşru Laravel Lang sürümlerini kurarken kötü amaçlı kodu da indirmekteydiler.
Kimlik Avı Yazılımı Nasıl Çalışıyor?
Araştırmacılar, kötü amaçlı sürümlerin “src/helpers.php” adlı bir kötü amaçlı dosya eklediğini ve bu dosyanın Composer tarafından otomatik olarak yüklendiğini belirtti. İçe aktarılan kod, saldırganın komuta ve kontrol sunucusundan ikinci bir yük indiren bir bırıcı olarak işlev gördü.
İndirilen PHP yükü, VirusTotal üzerinden incelendiğinde, Linux, macOS ve Windows için tasarlanmış büyük bir kimlik avı yazılımı ortaya çıktı. Bu yazılım, bulut kimlik bilgilerini, Kubernetes gizli anahtarlarını, Vault tokenlarını, Git kimlik bilgilerini, CI/CD gizli anahtarlarını, SSH anahtarlarını, tarayıcı verilerini, kripto para cüzdanlarını, parola yöneticilerini, VPN yapılandırmalarını ve yerel .env yapılandırma dosyalarını toplamaktadır.
Malware, AWS anahtarlarını, GitHub tokenlarını, Slack tokenlarını, Stripe gizli anahtarlarını, veritabanı kimlik bilgilerini, JWT’leri, SSH özel anahtarlarını ve kripto para kurtarma ifadelerini dosyalardan ve ortam değişkenlerinden çıkarmak için düzenli ifade kalıpları içerir.
Windows sistemlerinde ise, yüke gömülü bir base64 kodlu çalıştırılabilir dosya, %TEMP% klasörüne rastgele bir .exe dosya adıyla yazılır ve daha sonra başlatılır. BleepingComputer’ın analizine göre, bu infostealer DebugElevator olarak adlandırılmıştır ve Chrome, Brave ve Edge tarayıcılarını hedef almakta, depolanan kimlik bilgilerini şifrelerini çözmek için gerekli App-Bound Encryption anahtarlarını çıkarmaktadır.
İçerik şifreli hale getirildikten sonra, bu veriler komuta ve kontrol sunucusuna geri gönderilmektedir.
Çözüm ve Korunma
Aikido, durumu Packagist’e rapor etti ve etkilenmiş sürümlerin hızlı bir şekilde kaldırıldığını belirtti. Laravel Lang paketlerini kullanan geliştiricilerin aşağıdaki adımları uygulamaları önerilmektedir:
- Yüklediğiniz paket sürümlerini gözden geçirin.
- Maruz kalan kimlik bilgilerini değiştirin.
- Sistemlerde olumsuz etkiler için incelemeler yapın.
- Mümkünse, flipboxstudio[.]info adresine yapılan tarihsel çıkış bağlantılarını kontrol edin.
Sonuç
Geliştiricilerin, bu tür saldırıların önüne geçmek için paketteki sürümleri güncellemeleri ve maruz kalmış olan kimlik bilgilerini hızla değiştirmeleri kritik öneme sahiptir. Ayrıca, sistemlerini düzenli olarak denetlemeleri ve tedarik zinciri güvenlik önlemlerini güçlendirmeleri önerilir.


