Az - File Shares

Tip

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)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Temel Bilgiler

Azure Files, standart SMB (Server Message Block) ve NFS (Network File System) protokolleri aracılığıyla erişilebilen paylaşımlı dosya depolama sağlayan tamamen yönetilen bir bulut dosya depolama hizmetidir. Kullanılan ana protokol SMB olmasına rağmen, NFS Azure dosya paylaşımları Windows için desteklenmemektedir (bkz. docs). Birden fazla sanal makine (VM) veya yerel sistemler tarafından aynı anda erişilebilen yüksek kullanılabilirlikte ağ dosya paylaşımları oluşturmanıza olanak tanır ve ortamlar arasında kesintisiz dosya paylaşımını sağlar.

Erişim Katmanları

  • İşlem Optimize Edilmiş: İşlem yoğun operasyonlar için optimize edilmiştir.
  • Sıcak: İşlemler ve depolama arasında dengelidir.
  • Soğuk: Depolama için maliyet etkin.
  • Premium: Düşük gecikme ve IOPS yoğun iş yükleri için optimize edilmiş yüksek performanslı dosya depolama.

Yedeklemeler

  • Günlük yedekleme: Her gün belirtilen bir saatte (örneğin, 19.30 UTC) bir yedekleme noktası oluşturulur ve 1 ila 200 gün arasında saklanır.
  • Haftalık yedekleme: Her hafta belirtilen bir gün ve saatte (Pazar günü 19.30) bir yedekleme noktası oluşturulur ve 1 ila 200 hafta arasında saklanır.
  • Aylık yedekleme: Her ay belirtilen bir gün ve saatte (örneğin, ilk Pazar günü 19.30) bir yedekleme noktası oluşturulur ve 1 ila 120 ay arasında saklanır.
  • Yıllık yedekleme: Her yıl belirtilen bir gün ve saatte (örneğin, Ocak ayının ilk Pazar günü 19.30) bir yedekleme noktası oluşturulur ve 1 ila 10 yıl arasında saklanır.
  • Ayrıca, herhangi bir zamanda manuel yedeklemeler ve anlık görüntüler almak da mümkündür. Yedeklemeler ve anlık görüntüler bu bağlamda aslında aynıdır.

SMB Üzerinden Desteklenen Kimlik Doğrulamaları

  • Yerel AD DS Kimlik Doğrulaması: Kimlik tabanlı erişim için Microsoft Entra ID ile senkronize edilmiş yerel Active Directory kimlik bilgilerini kullanır. Yerel AD DS’ye ağ bağlantısı gerektirir.
  • Microsoft Entra Alan Hizmetleri Kimlik Doğrulaması: Microsoft Entra kimlik bilgilerini kullanarak erişim sağlamak için Microsoft Entra Alan Hizmetleri’ni (bulut tabanlı AD) kullanır.
  • Hibrit Kimlikler için Microsoft Entra Kerberos: Microsoft Entra kullanıcılarının Kerberos kullanarak Azure dosya paylaşımlarını internet üzerinden kimlik doğrulamasına olanak tanır. Yerel alan denetleyicilerine bağlantı gerektirmeden hibrit Microsoft Entra katılmış veya Microsoft Entra katılmış VM’leri destekler. Ancak yalnızca bulut kimliklerini desteklemez.
  • Linux İstemcileri için AD Kerberos Kimlik Doğrulaması: Linux istemcilerinin yerel AD DS veya Microsoft Entra Alan Hizmetleri aracılığıyla SMB kimlik doğrulaması için Kerberos kullanmasına olanak tanır.

Sayım

# Get storage accounts
az storage account list #Get the account name from here

# List file shares
az storage share list --account-name <name>
az storage share-rm list --storage-account <name> # To see the deleted ones too --include-deleted
# Get dirs/files inside the share
az storage file list --account-name <name> --share-name <share-name>
## If type is "dir", you can continue enumerating files inside of it
az storage file list --account-name <name> --share-name <prev_dir/share-name>
# Download a complete share (with directories and files inside of them)
az storage file download-batch -d . --source <share-name> --account-name <name>
# List snapshots
az storage share snapshot --name <share-name>
# List file shares, including deleted ones
az rest --method GET \
--url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}/fileServices/default/shares?%24skipToken=&%24maxpagesize=20&%24filter=&%24expand=deleted&api-version=2019-06-01"

# Get snapshots/backups
az storage share list --account-name <name> --include-snapshots --query "[?snapshot != null]"
# List contents of a snapshot/backup
az storage file list --account-name <name> --share-name <share-name> --snapshot <snapshot-version> #e.g. "2024-11-25T11:26:59.0000000Z"
# Download snapshot/backup
az storage file download-batch -d . --account-name <name> --source <share-name> --snapshot <snapshot-version>

Note

Varsayılan olarak az cli, bir anahtarı imzalamak ve işlemi gerçekleştirmek için bir hesap anahtarı kullanacaktır. Entra ID anahtar ayrıcalıklarını kullanmak için --auth-mode login --enable-file-backup-request-intent parametrelerini kullanın.

Tip

Kullanılacak hesap anahtarını belirtmek için --account-key parametresini kullanın
SAS token ile erişmek için --sas-token parametresini SAS token ile kullanın

Bağlantı

Bunlar, yazım sırasında Azure tarafından önerilen bir Dosya Paylaşımına bağlanmak için betiklerdir:

<STORAGE-ACCOUNT>, <ACCESS-KEY> ve <FILE-SHARE-NAME> yer tutucularını değiştirmeniz gerekiyor.

$connectTestResult = Test-NetConnection -ComputerName filescontainersrdtfgvhb.file.core.windows.net -Port 445
if ($connectTestResult.TcpTestSucceeded) {
# Save the password so the drive will persist on reboot
cmd.exe /C "cmdkey /add:`"<STORAGE-ACCOUNT>.file.core.windows.net`" /user:`"localhost\<STORAGE-ACCOUNT>`" /pass:`"<ACCESS-KEY>`""
# Mount the drive
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\<STORAGE-ACCOUNT>.file.core.windows.net\<FILE-SHARE-NAME>" -Persist
} else {
Write-Error -Message "Unable to reach the Azure storage account via port 445. Check to make sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN, or Express Route to tunnel SMB traffic over a different port."
}

Düzenli depolama numuneleri (erişim anahtarları, SAS…)

Az - Storage Accounts & Blobs

Yetki Yükseltme

Depolama yetki yükseltmesi ile aynı:

Az - Storage Privesc

Sonrası İstismar

Az - File Share Post Exploitation

Süreklilik

Depolama sürekliliği ile aynı:

Az - Storage Persistence

Tip

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)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin