- ghcr.io ile ghrc.io arasındaki basit bir yazım hatası karışıklığı, ciddi bir güvenlik tehdidine yol açıyor
- ghrc.io ilk bakışta varsayılan bir nginx sunucusu gibi görünse de, içeride OCI API’sini taklit eden davranışlar tespit edildi
- Bu site, www-authenticate başlığı üzerinden konteyner istemcilerini hassas kimlik doğrulama bilgilerini göndermeye yönlendiriyor
- docker login gibi komutlarla yanlışlıkla kimlik bilgileri girildiğinde veya hatalı bir registry kullanıldığında kimlik bilgisi sızıntısı yaşanabilir
- Yanlış sunucuda oturum açtıysanız parolanızı değiştirmek, PAT’i iptal etmek ve GitHub hesabındaki olağan dışı etkinlikleri kontrol etmek gerekir
Genel bakış
Basit bir yazım hatası nedeniyle sıkça yaşanabilecek ghcr.io ile ghrc.io karışıklığı, son derece tehlikeli bir güvenlik sorununa yol açan bir örnek. Birçok geliştirici ve ekibin kullandığı GitHub Container Registry (ghcr.io)’nun yazım hatalı sürümü olan ghrc.io üzerinde kimlik bilgisi çalma girişimi tespit edildi.
ghcr.io nedir?
- ghcr.io, konteyner imajları ve OCI artifact’leri için OCI uyumlu bir registry
- GitHub’ın bir parçası olarak, çok sayıda açık kaynak projede popüler bir registry olarak kullanılıyor
ghrc.io: Yüzeyde görünenler
- ghrc.io adresine girildiğinde sıradan bir varsayılan nginx sayfası görünüyor
- Tipik 404 hataları gibi temel davranışlar açısından normal bir nginx sunucusuyla aynı
Kötü amaçlı davranışın niteliği
- Temel sorun,
/v2/öneki altındaki OCI API çağrıları sırasında ortaya çıkıyor - Bu yola erişildiğinde,
www-authenticatebaşlığı ve 401 yanıtıyla resmî bir konteyner registry’sine çok benzeyen bir davranış sergiliyor www-authenticate: Bearer realm="https://ghrc.io/token"başlığı bulunuyor- Bu başlık nedeniyle Docker, containerd, podman, Kubernetes gibi istemciler kullanıcı kimlik bilgilerini
https://ghrc.io/tokenadresine otomatik olarak iletmeye çalışıyor - Varsayılan nginx yapılandırmasında bu başlık yer almadığından, bunun açıkça kasıtlı olarak yapılandırıldığı anlaşılıyor
Risk: kimlik bilgisi çalma senaryosu
- Bu örüntü, typo-squatting tabanlı bir kimlik bilgisi çalma saldırısı olarak değerlendiriliyor
- Risk yalnızca kullanıcı istemcisinin ghrc.io için kimlik bilgilerini girmesi veya kaydetmesi durumunda ortaya çıkıyor
- Gerçek kimlik bilgilerinin açığa çıkabileceği örnek durumlar
docker login ghrc.ioçalıştırılması- GitHub Action içinde
docker/login-actionkullanılırken registry olarak ghrc.io’nun belirtilmesi - Kubernetes secret içinde ghrc.io için registry kimlik bilgilerinin saklanıp imaj çekme girişiminde bulunulması
- Yalnızca ghrc.io’ya imaj
push/pulletmeye çalışmak, kimlik bilgilerini açığa çıkarmaz (anonim token denemesinden sonra hata döner)
Alınması gereken önlemler
- ghrc.io’da yanlışlıkla oturum açtıysanız, hemen parolanızı değiştirin ve kullandığınız PAT (Personal Access Token)’i iptal edin
- GitHub hesabınızda olağan dışı oturum açma veya kötü amaçlı etkinlikleri mutlaka kontrol edin
- Saldırganlar bunu kullanarak ghcr.io üzerindeki depolara kötü amaçlı imaj ekleyebilir veya hesaba erişim kazanabilir
Sonuç
- ghcr.io’ya benzeyen adresleri kullanan phishing sitelerine karşı dikkatli olunmalı
- Kimlik bilgileri, token’lar ve parolalar gibi güvenlik açısından hassas verilerin yönetiminde daha sıkı bir politika gerekiyor
Henüz yorum yok.