GCP - Add Custom SSH Metadata
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
Bir örnekte metadata değişikliği, bir saldırgan gerekli izinleri elde ederse önemli güvenlik risklerine yol açabilir.
GCP'de, Linux sistemleri genellikle Google Compute Engine için Python Linux Misafir Ortamı üzerinden betikler çalıştırır. Bunun kritik bir bileşeni, yetkilendirilmiş SSH genel anahtarlarındaki güncellemeleri kontrol etmek için örnek metadata uç noktasını düzenli olarak kontrol etmek üzere tasarlanmış accounts daemondır.
Bu nedenle, bir saldırgan özel metadata'yı değiştirebilirse, daemon'un yeni bir genel anahtar bulmasını sağlayabilir; bu anahtar işlenecek ve yerel sisteme entegre edilecektir. Anahtar, mevcut bir kullanıcının veya sudo
ayrıcalıkları olan yeni bir kullanıcının ~/.ssh/authorized_keys
dosyasına eklenecektir; bu, anahtarın formatına bağlıdır. Ve saldırgan, ana bilgisayarı tehlikeye atabilecektir.
Örnekteki Mevcut SSH Anahtarlarını İnceleyin:
Mevcut SSH anahtarlarını bulmak için örneği ve metadata'sını tanımlamak üzere komutu çalıştırın. Çıktıdaki ilgili bölüm metadata
altında, özellikle ssh-keys
anahtarının altında olacaktır.
SSH anahtarlarının formatına dikkat edin: kullanıcı adı anahtarın önünde, iki nokta ile ayrılmıştır.
SSH Anahtarı Metadata'sı için Bir Metin Dosyası Hazırlayın:
Kullanıcı adları ve bunlara karşılık gelen SSH anahtarlarının detaylarını meta.txt
adlı bir metin dosyasına kaydedin. Bu, mevcut anahtarları korumak için gereklidir.
Hedef Kullanıcı için Yeni Bir SSH Anahtarı Oluşturun (alice
bu örnekte):
Yeni bir SSH anahtarı oluşturmak için ssh-keygen
komutunu kullanın; yorum alanının (-C
) hedef kullanıcı adıyla eşleştiğinden emin olun.
Yeni genel anahtarı meta.txt
dosyasına ekleyin, örneğin metadata'daki formatı taklit ederek.
Örneğin SSH Anahtarı Metadata'sını Güncelleyin:
Güncellenmiş SSH anahtarı metadata'sını örneğe uygulamak için gcloud compute instances add-metadata
komutunu kullanın.
Yeni SSH Anahtarı ile Örneğe Erişim Sağlayın:
Yeni anahtarı kullanarak SSH ile örneğe bağlanın ve hedef kullanıcı bağlamında shell'e erişin (alice
bu örnekte).
Eğer ilginç bir kullanıcı bulunamazsa, sudo
ayrıcalıkları verilecek yeni bir kullanıcı oluşturmak mümkündür:
Proje düzeyinde SSH anahtarları uygulayarak bulut ortamında birden fazla Sanal Makine (VM) için SSH erişimini genişletmek mümkündür. Bu yaklaşım, projede açıkça proje genelinde SSH anahtarlarını engellemeyen herhangi bir örneğe SSH erişimi sağlar. İşte özet bir kılavuz:
Proje Düzeyinde SSH Anahtarlarını Uygula:
meta.txt
dosyasındaki SSH anahtarlarını projenin meta verilerine eklemek için gcloud compute project-info add-metadata
komutunu kullanın. Bu işlem, SSH anahtarlarının projedeki tüm VM'ler tarafından tanınmasını sağlar, aksi takdirde bir VM "Proje genelinde SSH anahtarlarını engelle" seçeneğini etkinleştirmiştir.
Proje Genel Anahtarları Kullanarak Örneklerine SSH Bağlan:
Proje genelinde SSH anahtarları mevcut olduğunda, projedeki herhangi bir örneğe SSH ile bağlanabilirsiniz. Proje genelinde anahtarları engellemeyen örnekler, SSH anahtarını kabul ederek erişim sağlar.
Bir örneğe SSH ile bağlanmanın doğrudan bir yöntemi, gcloud compute ssh [INSTANCE]
komutunu kullanmaktır. Bu komut, mevcut kullanıcı adınızı ve proje düzeyinde ayarlanan SSH anahtarlarını kullanarak erişim sağlamaya çalışır.
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)