Az - Arc vulnerable GPO Deploy Script
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Azure Arc, yeni iç sunucuların (katılmış alan sunucuları) Azure Arc'a Grup Politika Nesnesi yöntemiyle entegrasyonuna olanak tanır. Bunu kolaylaştırmak için Microsoft, onboarding prosedürünü başlatmak için gerekli olan bir dağıtım araç seti sağlar. ArcEnableServerGroupPolicy.zip dosyasının içinde şu betikler bulunur: DeployGPO.ps1, EnableAzureArc.ps1 ve AzureArcDeployment.psm1.
DeployGPO.ps1 betiği çalıştırıldığında, aşağıdaki işlemleri gerçekleştirir:
Yerel alanda Azure Arc Sunucuları Onboarding GPO'sunu oluşturur.
EnableAzureArc.ps1 onboarding betiğini, onboarding süreci için oluşturulan belirlenen ağ paylaşımına kopyalar; bu paylaşım ayrıca Windows yükleyici paketini de içerir.
Bu betiği çalıştırırken, sistem yöneticileri iki ana parametre sağlamalıdır: ServicePrincipalId ve ServicePrincipalClientSecret. Ayrıca, alan, paylaşımı barındıran sunucunun FQDN'si ve paylaşım adı gibi diğer parametreler de gereklidir. Kiracı kimliği, kaynak grubu ve diğer gerekli bilgiler gibi daha fazla ayrıntı da betiğe sağlanmalıdır.
Belirtilen paylaşımda AzureArcDeploy dizininde DPAPI-NG şifrelemesi kullanılarak şifrelenmiş bir gizli anahtar oluşturulur. Şifrelenmiş gizli anahtar, encryptedServicePrincipalSecret adlı bir dosyada saklanır. Bunun kanıtı, DeployGPO.ps1 betiğinde, şifrelemenin $descriptor ve $ServicePrincipalSecret girdileri ile ProtectBase64 çağrılarak gerçekleştirildiği yerde bulunabilir. Tanımlayıcı, Alan Bilgisayarı ve Alan Denetleyici grup SID'lerini içerir ve bu, ServicePrincipalSecret'ın yalnızca Alan Denetleyicileri ve Alan Bilgisayarları güvenlik grupları tarafından şifresinin çözülebileceğini garanti eder; bu, betik yorumlarında belirtilmiştir.
Aşağıdaki koşullara sahibiz:
İç ağa başarıyla sızdık.
Active Directory içinde bir bilgisayar hesabı oluşturma veya kontrol etme yeteneğine sahibiz.
AzureArcDeploy dizinini içeren bir ağ paylaşımını keşfettik.
AD ortamında bir makine hesabı elde etmenin birkaç yöntemi vardır. En yaygın olanlardan biri makine hesabı kotasını istismar etmektir. Diğer bir yöntem, savunmasız ACL'ler veya çeşitli diğer yanlış yapılandırmalar aracılığıyla bir makine hesabını tehlikeye atmaktır.
Bir makine hesabı elde edildikten sonra, bu hesapla kimlik doğrulamak mümkündür. Ya netonly bayrağı ile runas.exe komutunu kullanabiliriz ya da Rubeus.exe ile pass-the-ticket yöntemini kullanabiliriz.
Bellek içinde bilgisayar hesabımız için TGT'ye sahip olarak, hizmet ilkesi gizli anahtarını şifre çözmek için aşağıdaki betiği kullanabiliriz.
Alternatif olarak, SecretManagement.DpapiNG kullanabiliriz.
Bu noktada, şifrelenmişServicePrincipalSecret dosyasıyla aynı ağ paylaşımında saklanan ArcInfo.json dosyasından Azure'a bağlanmak için gereken kalan bilgileri toplayabiliriz. Bu dosya, TenantId, servicePrincipalClientId, ResourceGroup ve daha fazlası gibi ayrıntıları içerir. Bu bilgilerle, tehlikeye atılmış hizmet ilkesi olarak kimlik doğrulamak için Azure CLI'yi kullanabiliriz.
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)