Araştırmacılar, tehdit aktörlerinin, kötü amaçlı yazılımları ve kötü amaçlı betikleri barındırmak ve dağıtmak için GitHub Codespaces’in bağlantı noktası yönlendirme özelliğini nasıl kötüye kullanabileceğini gösterdi.
GitHub Codespaces, geliştiricilerin doğrudan bir web tarayıcısında kod yazmak, düzenlemek ve test etmek/çalıştırmak için bulutta barındırılan IDE platformlarını sanallaştırılmış kapsayıcılarda dağıtmasına olanak tanır.
GitHub Codespaces, Kasım 2022’de yaygın olarak kullanıma sunulduğundan beri, projeleri için gerekli tüm araçlar ve bağımlılıklarla donatılmış, önceden yapılandırılmış, kapsayıcı tabanlı ortamı nedeniyle onu tercih eden geliştiriciler arasında popüler bir seçim haline geldi.
GitHub Codespaces’i kötü amaçlı yazılım sunucusu olarak kullanma
Trend Micro tarafından hazırlanan yeni bir raporda araştırmacılar, GitHub Codespaces’in kötü amaçlı içeriği dağıtmak için bir web sunucusu gibi davranacak ve trafik Microsoft’tan geldiğinde tespit edilmekten potansiyel olarak kaçınacak şekilde nasıl kolayca yapılandırılabileceğini gösteriyor.
GitHub Codespaces, geliştiricilerin TCP bağlantı noktalarını halka iletmelerine olanak tanır, böylece harici kullanıcılar uygulamaları test edebilir veya görüntüleyebilir.
Bir Codespace VM’deki bağlantı noktalarını iletirken GitHub özelliği, o bağlantı noktasında çalışan uygulamaya erişmek için özel veya genel olarak yapılandırılabilen bir URL oluşturur.
Özel bağlantı noktası iletme, URL’ye erişmek için belirteç veya tanımlama bilgileri biçiminde kimlik doğrulaması gerektirir. Ancak, URL’yi bilen herkes, kimlik doğrulaması gerektirmeden halka açık bir bağlantı noktasına erişebilir.
Bu GitHub özelliği, geliştiricilere kod gösterilerinde esneklik sağlar, ancak Trend Micro, günümüzde saldırganların platformda kötü amaçlı yazılım barındırmak için bunu kolayca kötüye kullanabileceğini söylüyor.
Teorik olarak, bir saldırgan basit bir Python web sunucusu çalıştırabilir, Codespace’lerine kötü amaçlı komut dosyaları veya kötü amaçlı yazılım yükleyebilir, sanal makinelerinde bir web sunucusu bağlantı noktası açabilir ve ona “genel” görünürlük atayabilir.
Oluşturulan URL daha sonra, kimlik avı kampanyaları için veya diğer kötü amaçlı yazılımlar tarafından indirilen kötü amaçlı yürütülebilir dosyaları barındırmak için barındırılan dosyalara erişmek için kullanılabilir.
Bu, tehdit aktörlerinin kötü amaçlı yazılım dağıtım kampanyaları için Google Cloud, Amazon AWS ve Microsoft Azure gibi diğer güvenilir hizmetleri tam olarak bu şekilde kötüye kullanmalarıdır.
Trend Micro raporunda, “Tehdit modelleme kötüye kullanım senaryosu hipotezimizi doğrulamak için, 8080 numaralı bağlantı noktasında Python tabanlı bir HTTP sunucusu çalıştırdık, bağlantı noktasını ilettik ve herkese açık olarak gösterdik” yazıyor.
“Bu süreçte, kimlik doğrulaması için URL’yi ve çerezlerin olmadığını kolayca bulduk.”
Analistler, Codespaces bağlantı noktası iletme sisteminde HTTP’nin varsayılan olarak kullanılmasına rağmen, geliştiricilerin bunu HTTPS’ye ayarlayarak URL için güvenlik yanılsamasını artırabileceğini söylüyor.
GitHub güvenilir bir alan olduğundan, virüsten koruma araçlarının alarm verme olasılığı daha düşüktür, böylece tehdit aktörleri minimum maliyetle tespit edilmekten kurtulabilir.
Saldırıyı ilerletmek
Trend Micro analistleri, kötü amaçlı yazılım dağıtım operasyonlarını daha verimli hale getirmek için GitHub Codespaces’teki Dev Container’ları kötüye kullanmayı da araştırıyor.
GitHub Codespaces’teki bir “geliştirme kabı”, belirli bir proje için gerekli tüm bağımlılıkları ve araçları içeren önceden yapılandırılmış bir kapsayıcıdır. Geliştiriciler bunu hızlı dağıtım için kullanabilir, başkalarıyla paylaşabilir veya VCS aracılığıyla bağlanabilir.
Saldırgan, bir bağlantı noktasını iletmek, bir Python HTTP sunucusu çalıştırmak ve Codespace’lerine kötü amaçlı dosyalar indirmek için bir komut dosyası kullanabilir.
Ardından, bağlantı noktasının görünürlüğü, kötü amaçlı dosyaları hedeflere sunan açık bir dizine sahip bir web sunucusu oluşturan genel olarak ayarlanır.
Trend Micro, web sunucusu silinmeden önce URL’ye erişildikten sonra 100 saniyelik bir gecikme kullanarak bunun için bir kavram kanıtı (PoC) oluşturdu.
BleepingComputer, Codespaces kullanarak “kötü amaçlı” bir web sunucusunun oluşturulmasını, özellikle sıfır deneyimle 10 dakikadan daha kısa bir sürede kopyalayabildi.
“Saldırganlar, bu tür betikleri kullanarak, kod alanı ortamlarında bağlantı noktalarını herkese açık bir şekilde açığa çıkararak kötü amaçlı içeriği hızlı bir oranda sunmak için GitHub Codespaces’i kolayca kötüye kullanabilir. Oluşturulan her Codespace’in benzersiz bir tanımlayıcısı olduğundan, ilişkili alt etki alanı da benzersizdir.” rapor.
“Bu, saldırgana farklı açık dizin örnekleri oluşturmak için yeterli zemin sağlar.”
GitHub’ın politikası, etkin olmayan kod alanlarının 30 gün sonra otomatik olarak silinmesidir, böylece saldırganlar aynı URL’yi bir ay boyunca kullanabilir.
Şu anda GitHub Codespaces’in kötüye kullanıldığı bilinen bir durum olmasa da, tehdit aktörleri genellikle güvenlik ürünleri tarafından da güvenilen “ücretsiz kullanım” platformlarını hedeflemeyi tercih ettiğinden, rapor gerçekçi bir olasılığın altını çiziyor.
BleepingComputer, Trend Micro’nun raporu hakkında yorum yapmak için GitHub ile iletişime geçti, ancak hâlâ yanıt bekliyoruz.