Az - Udostępnianie plików
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Podstawowe informacje
Azure Files to w pełni zarządzana usługa przechowywania plików w chmurze, która zapewnia współdzielone przechowywanie plików dostępne za pośrednictwem standardowych protokołów SMB (Server Message Block) i NFS (Network File System). Chociaż głównym protokołem używanym jest SMB, udostępnianie plików NFS w Azure nie jest obsługiwane dla systemów Windows (zgodnie z dokumentacją). Umożliwia tworzenie wysoko dostępnych sieciowych udostępnień plików, które mogą być jednocześnie dostępne przez wiele maszyn wirtualnych (VM) lub systemów lokalnych, co umożliwia bezproblemowe udostępnianie plików w różnych środowiskach.
Poziomy dostępu
- Optymalizacja transakcji: Optymalizowane do operacji intensywnie wykorzystujących transakcje.
- Gorący: Zrównoważone między transakcjami a przechowywaniem.
- Chłodny: Kosztowo efektywne dla przechowywania.
- Premium: Wysokowydajne przechowywanie plików zoptymalizowane pod kątem niskiej latencji i obciążeń intensywnie wykorzystujących IOPS.
Kopie zapasowe
- Codzienna kopia zapasowa: Punkt kopii zapasowej jest tworzony każdego dnia o wskazanej porze (np. 19.30 UTC) i przechowywany od 1 do 200 dni.
- Tygodniowa kopia zapasowa: Punkt kopii zapasowej jest tworzony co tydzień w wskazanym dniu i godzinie (niedziela o 19.30) i przechowywany od 1 do 200 tygodni.
- Miesięczna kopia zapasowa: Punkt kopii zapasowej jest tworzony co miesiąc w wskazanym dniu i godzinie (np. pierwsza niedziela o 19.30) i przechowywany od 1 do 120 miesięcy.
- Roczna kopia zapasowa: Punkt kopii zapasowej jest tworzony co roku w wskazanym dniu i godzinie (np. pierwsza niedziela stycznia o 19.30) i przechowywany od 1 do 10 lat.
- Możliwe jest również wykonanie ręcznych kopii zapasowych i zrzutów w dowolnym momencie. Kopie zapasowe i zrzuty są w rzeczywistości tym samym w tym kontekście.
Obsługiwane uwierzytelnienia przez SMB
- Uwierzytelnianie AD DS w lokalizacji: Używa lokalnych poświadczeń Active Directory synchronizowanych z Microsoft Entra ID do dostępu opartego na tożsamości. Wymaga łączności sieciowej z lokalnym AD DS.
- Uwierzytelnianie Microsoft Entra Domain Services: Wykorzystuje Microsoft Entra Domain Services (chmurowy AD) do zapewnienia dostępu przy użyciu poświadczeń Microsoft Entra.
- Microsoft Entra Kerberos dla tożsamości hybrydowych: Umożliwia użytkownikom Microsoft Entra uwierzytelnianie udostępnień plików Azure przez internet przy użyciu Kerberos. Obsługuje hybrydowe maszyny wirtualne dołączone do Microsoft Entra lub dołączone do Microsoft Entra bez wymagania łączności z lokalnymi kontrolerami domeny. Nie obsługuje jednak tożsamości wyłącznie chmurowych.
- Uwierzytelnianie Kerberos AD dla klientów Linux: Umożliwia klientom Linux korzystanie z Kerberos do uwierzytelniania SMB za pośrednictwem lokalnego AD DS lub Microsoft Entra Domain Services.
Enumeracja
# 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
Domyślnie
azcli użyje klucza konta do podpisania klucza i wykonania akcji. Aby użyć uprawnień głównego identyfikatora Entra ID, użyj parametrów--auth-mode login --enable-file-backup-request-intent.
Tip
Użyj parametru
--account-key, aby wskazać klucz konta do użycia
Użyj parametru--sas-tokenz tokenem SAS, aby uzyskać dostęp za pomocą tokena SAS
Połączenie
To są skrypty zaproponowane przez Azure w momencie pisania, aby połączyć się z File Share:
Musisz zastąpić miejsca <STORAGE-ACCOUNT>, <ACCESS-KEY> i <FILE-SHARE-NAME>.
$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."
}
Regular storage enumeration (access keys, SAS…)
Privilege Escalation
Tak samo jak privesc magazynu:
Post Exploitation
Az - File Share Post Exploitation
Persistence
Tak samo jak trwałość magazynu:
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

