Exploit, geliştiricileri sosyal mühendislik teknikleriyle havuzları açığa çıkarmak için kandırmayı içeriyordu
Bir güvenlik araştırmacısı, GitHub Pages oluşturma sürecinden yararlanarak kod yürütme saldırıları başlatmanın bir yolunu keşfetti.
Joren Vrancken, yakın tarihli bir blog gönderisinde açıklandığı gibi, GitHub’ın HackerOne bug bounty programı aracılığıyla bildirilen bir komut enjeksiyon hatası için 4.000 $ ödül aldı.
Vrancken’e göre, güvenlik sorunu, depolardan veri çekebilen, bir derleme işlemi aracılığıyla kod çalıştırabilen ve ardından web siteleri yayınlayabilen statik bir barındırma hizmeti olan GitHub Pages’de mevcuttu.
Kod yürütme yolu
Süreci kolaylaştırmak için GitHub Pages, Jekyll statik site oluşturucuyu destekler.
Jekyll ayarları bir YAML yapılandırma dosyasında depolanır ve GitHub’ın bir POST isteği yayınlayacağı ve kaynakta değişiklik yapmak için otomatik olarak yeni bir taahhüt oluşturacağı temalar da dahil olmak üzere hizmetin bazı yönleri GitHub tarafından otomatikleştirilir.
Bu işlemler yönetici ayrıcalıkları gerektirir ve yalnızca iki dizin (bir dalın kökü ve /docs) belirtilebilir. Ancak, kullanıcı giriş dizinleri, tema seçici URL’sinde de belirtilebilir.
En son hata ödül haberlerini yakalayın
GitHub Pages kaynağı olarak kullanmak üzere rastgele bir dizin seçebilir ve ardından Jekyll’in başlatılması, statik dosya dağıtımı ve sayfa yapılarının yüklenmesini içeren GitHub iş akışını çalıştırabilirsiniz. Sonunda, bu işlem bir tar komutu aracılığıyla bir yükü tetikleyebilir ve bu da rasgele kod yürütülmesine neden olabilir.
Ancak, saldırganın zaten yönetici ayrıcalıkları vardır, bu nedenle bu mutlaka büyük bir sorun değildir.
Vrancken, bu iş akışı işlevselliğini daha ciddi bir şeye dönüştürmenin yollarını buldu. Bir saldırgan özel bir depoda barındırılan koda erişmek isterse, tek ihtiyacı olan bir URL ve kullanıcı etkileşimidir.
Saldırganlar, üçüncü taraf bir kaynaktan bir komut dosyası indiren ve yürüten kötü amaçlı bir URL oluşturarak, bir yönetici kullanıcıyı bağlantıya tıklamaya ve Tema Seç sürecini izlemeye ikna etmek için kimlik avı veya diğer sosyal mühendislik taktiklerini kullanabilir – böylece kötü niyetli bir yükü tetikleyebilir ve ifşa edebilir. depo.
Saldırganların yalnızca bir URL sağlamaları gerekir – bir GitHub hesabına veya hedef depoya herhangi bir bağlantıya ihtiyaçları yoktur.
‘Box-esque Hack’
27 Temmuz’da GitHub’a bulgularını bildirdikten sonra, Vrancken aynı gün bir yanıt aldı ve onay 2 Ağustos’ta geldi. 23 Ağustos’a kadar GitHub güvenlik ekibi, Tema Seçici işlevini kaldırarak sorunu çözmüştü.
Vrancken, çabaları için bir GitHub Pro aboneliğinin yanı sıra 4.000 dolarlık bir hata ödülü aldı.
Araştırmacı, “Bu kesinlikle yaptığım en eğlenceli hata ödüllerinden biriydi, çünkü GitHub’a özgü birden fazla özelliği daha geleneksel Hack The Box benzeri tekniklerle birleştiriyor” dedi. “GitHub bug bounty programını tüm kalbimle tavsiye ediyorum.”
GitHub’ın ürün güvenliği mühendisliği yanıtı direktörü Jill Moné-Corallo, şunları söyledi: Günlük Swig: “Hata ödül programımıza yapılan her gönderim, GitHub’ı, ürünlerimizi ve müşterilerimizi daha güvenli hale getirmek için bir şanstır. Joren’in bulguları, güvenlik araştırmalarına olan tutkularını gösteriyor ve onlar gibi araştırmacıları işe almak, hata ödül programımıza değer katmaya devam etmemizin nedeni.”
BUNU DA BEĞENEBİLİRSİN Grafik tabanlı JavaScript hata tarayıcısı, Node.js kitaplıklarında 100’den fazla sıfırıncı gün güvenlik açığı keşfeder