BleepingComputer yakın zamanda bir GitHub kusurunun veya muhtemelen bir tasarım kararının, Microsoft depolarıyla ilişkili URL’leri kullanarak kötü amaçlı yazılım dağıtmak ve dosyaların güvenilir görünmesini sağlamak amacıyla tehdit aktörleri tarafından nasıl kötüye kullanıldığını bildirdi.
Artık GitLab’ın da bu sorundan etkilendiği ve benzer şekilde kötüye kullanılabileceği ortaya çıktı.
Kötü amaçlı yazılımla ilişkili etkinliklerin çoğu Microsoft GitHub URL’lerine dayansa da, bu “kusur” GitHub veya GitLab’daki herhangi bir genel depoda kötüye kullanılabilir ve tehdit aktörlerinin çok ikna edici tuzaklar oluşturmasına olanak tanır.
GitLab yorumları kötü amaçlı yazılımları itmek için de kötüye kullanılabilir
Cumartesi günü BleepingComputer, tehdit aktörlerinin GitHub yorumlarını kötüye kullanarak kötü amaçlı yazılımları ittiğini ve kötü amaçlı dosyaların güvenilir kuruluşların resmi kaynak kod depolarında barındırılıyormuş gibi göründüğünü bildirdi.
Örneğin saldırıda kullanılan aşağıdaki URL’ler, bu ZIP’lerin Microsoft’un kaynak kodu deposunda varmış gibi görünmesine neden oldu:
https://github[.]com/microsoft/vcpkg/files/14125503/Cheat.Lab.2.7.2.zip
https://github[.]com/microsoft/STL/files/14432565/Cheater.Pro.1.6.0.zip
Ancak araştırmamızın ardından, kötü amaçlı yazılım olan bu dosyaların Microsoft’un kod deposunda hiçbir yerde bulunmadığını öğrendik.
Aksine, bunlar GitHub’un CDN’sinde mevcuttu ve muhtemelen platformun “yorumlar” özelliğini kötüye kullanan bir tehdit aktörü tarafından yüklenmişti.
Bir GitHub kullanıcısı, bir taahhüt veya çekme isteğine yorum bırakırken, GitHub’un CDN’sine yüklenecek ve şu formatta benzersiz bir URL kullanarak ilgili projeyle ilişkilendirilecek bir dosya (arşivler, belgeler vb.) ekleyebilir: ‘https://www.github.com/{project_user}/{repo_name}/files/{file_id}/{file_name}.‘
Videolar ve resimler için dosyalar, /assets/
bunun yerine yol.
Bir yorum gönderildikten sonra URL oluşturmak yerine GitHub, aşağıda gösterildiği gibi dosyayı kaydedilmemiş bir yoruma ekledikten sonra otomatik olarak indirme bağlantısını oluşturur. Bu, tehdit aktörlerinin kötü amaçlı yazılımlarını, onların haberi olmadan herhangi bir depoya eklemesine olanak tanır.
Yorum hiçbir zaman yayınlanmasa veya daha sonra kullanıcı (veya bir saldırgan) tarafından silinmese bile, dosyanın bağlantısı canlı kalır.
Otomatik kötü amaçlı yazılım analiz hizmeti UNPACME’den Sergei Frankoff, geçen ay bu hatayı canlı yayınlamış ve tehdit aktörlerinin bunu aktif olarak kötüye kullandığını söylemişti.
Haberimizden kısa bir süre sonra okuyucular işaret etti GitLab’ın da bu sorundan muaf olmadığını söyledi.
BleepingComputer, kullanıcıların GitLab’daki “yorumlar” özelliğini benzer şekilde kötüye kullanabileceğini doğrulayabilir.
Testlerimizde GitLab’ın CDN’sine yüklenecek ancak Inkscape ve Wireshark gibi popüler açık kaynaklı projelerin GitLab depolarında var gibi görünen dosyalar yükleyebildik:
https://gitlab[.]com/inkscape/inkscape/uploads/edfdbc997689255568a7c81db3f3dc51/InkScape-2024-Latest.exe
https://gitlab[.]com/wireshark/wireshark/uploads/b4162053fbb4dc6ee4f673c532009e16/WireShark-v4.2.4-stable-release.exe
Testimizde kullanılan dosya, tehdit aktörlerinin bu özelliği kötüye kullanarak kullanıcıları kötü amaçlı yazılım içeren sahte yazılım sürümlerini indirmeye nasıl yönlendirebileceğini göstermek için .exe olarak yeniden adlandırılan zararsız bir JPG görüntüsüdür.
GitLab CDN’ye yüklenen bu tür dosyaların izlediği format şöyledir:
https://gitlab.com/{project_group_namr}/{repo_name}/uploads/{file_id}/{file_name}
dosya_kimliği burada daha basit bir sayısal tanımlayıcının aksine bir MD4 veya MD5 karması gibi görünüyor.
GitHub’da olduğu gibi, oluşturulan GitLab dosya bağlantıları, yorum saldırgan tarafından hiç yayınlanmasa veya daha sonra silinse bile canlı kalacaktı.
GitLab, kullanıcılardan bu dosyaları yüklemeden veya indirmeden önce oturum açmalarını ister ancak bu, tehdit aktörlerinin ilk etapta bu dosyaları yüklemesini engellemez.
Hemen hemen her yazılım şirketi GitHub veya GitLab kullandığından, bu kusur, tehdit aktörlerinin olağanüstü derecede kurnaz ve güvenilir yemler geliştirmesine olanak tanır.
Örneğin, bir tehdit aktörü, popüler bir oyundaki sorunları düzelten yeni bir sürücü gibi görünen, NVIDIA’nın sürücü yükleyici deposuna kötü amaçlı bir yürütülebilir dosya yükleyebilir. Veya bir tehdit unsuru, Google Chromium kaynak koduna yapılan bir yorumdaki dosyayı yükleyebilir ve bunun web tarayıcısının yeni bir test sürümü olduğunu iddia edebilir.
Bu URL’ler aynı zamanda şirketin depolarına ait gibi görünecek ve bu da onları çok daha güvenilir kılacaktır.
Ne yazık ki, bir şirket depolarının kötü amaçlı yazılım dağıtmak için kötüye kullanıldığını öğrense bile projelerine eklenen dosyaları yönetmelerine veya silmelerine olanak tanıyan herhangi bir ayar bulamadık.
BleepingComputer, 18 Nisan Perşembe günü bu kötüye kullanımla ilgili olarak hem GitHub hem de Microsoft ile iletişime geçti ancak bir yanıt alamadı. Ayrıca yayınlamadan önce yorum yapmak için GitLab’a başvurduk ve yanıt bekliyoruz.