Az - File Shares
Reading time: 8 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Grundinformationen
Azure Files ist ein vollständig verwalteter Cloud-Dateispeicherdienst, der gemeinsamen Dateispeicher über die standardmäßigen SMB (Server Message Block) und NFS (Network File System) Protokolle bereitstellt. Obwohl das Hauptprotokoll SMB ist, werden NFS Azure-Dateifreigaben für Windows nicht unterstützt (laut den Docs). Es ermöglicht Ihnen, hochverfügbare Netzwerkdateifreigaben zu erstellen, die gleichzeitig von mehreren virtuellen Maschinen (VMs) oder lokalen Systemen zugegriffen werden können, was nahtloses Dateifreigeben über verschiedene Umgebungen hinweg ermöglicht.
Zugriffsebenen
- Transaktionsoptimiert: Optimiert für transaktionsintensive Operationen.
- Hot: Ausgewogen zwischen Transaktionen und Speicherung.
- Cool: Kostenwirksam für Speicherung.
- Premium: Hochleistungs-Dateispeicher, optimiert für latenzempfindliche und IOPS-intensive Workloads.
Backups
- Tägliches Backup: Ein Backup-Punkt wird jeden Tag zu einer angegebenen Zeit (z.B. 19.30 UTC) erstellt und für 1 bis 200 Tage gespeichert.
- Wöchentliches Backup: Ein Backup-Punkt wird jede Woche an einem angegebenen Tag und zu einer angegebenen Zeit (Sonntag um 19.30) erstellt und für 1 bis 200 Wochen gespeichert.
- Monatliches Backup: Ein Backup-Punkt wird jeden Monat an einem angegebenen Tag und zu einer angegebenen Zeit (z.B. erster Sonntag um 19.30) erstellt und für 1 bis 120 Monate gespeichert.
- Jährliches Backup: Ein Backup-Punkt wird jedes Jahr an einem angegebenen Tag und zu einer angegebenen Zeit (z.B. erster Sonntag im Januar um 19.30) erstellt und für 1 bis 10 Jahre gespeichert.
- Es ist auch möglich, manuelle Backups und Snapshots jederzeit durchzuführen. Backups und Snapshots sind in diesem Kontext tatsächlich dasselbe.
Unterstützte Authentifizierungen über SMB
- On-Premises AD DS-Authentifizierung: Es verwendet lokale Active Directory-Anmeldeinformationen, die mit Microsoft Entra ID für identitätsbasierten Zugriff synchronisiert sind. Es erfordert Netzwerkverbindung zu lokalem AD DS.
- Microsoft Entra Domain Services-Authentifizierung: Es nutzt Microsoft Entra Domain Services (cloudbasiertes AD), um den Zugriff mit Microsoft Entra-Anmeldeinformationen bereitzustellen.
- Microsoft Entra Kerberos für hybride Identitäten: Es ermöglicht Microsoft Entra-Benutzern, Azure-Dateifreigaben über das Internet mit Kerberos zu authentifizieren. Es unterstützt hybride Microsoft Entra-verbundene oder Microsoft Entra-verbundene VMs, ohne dass eine Verbindung zu lokalen Domänencontrollern erforderlich ist. Es unterstützt jedoch keine cloudbasierten Identitäten.
- AD Kerberos-Authentifizierung für Linux-Clients: Es ermöglicht Linux-Clients, Kerberos für die SMB-Authentifizierung über lokales AD DS oder Microsoft Entra Domain Services zu verwenden.
Enumeration
# 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
Standardmäßig verwendet die az
CLI einen Kontoschlüssel, um einen Schlüssel zu signieren und die Aktion auszuführen. Um die Berechtigungen des Entra ID-Prinzipals zu verwenden, verwenden Sie die Parameter --auth-mode login --enable-file-backup-request-intent
.
tip
Verwenden Sie den Parameter --account-key
, um den zu verwendenden Kontoschlüssel anzugeben
Verwenden Sie den Parameter --sas-token
mit dem SAS-Token, um über ein SAS-Token zuzugreifen
Verbindung
Dies sind die von Azure zum Zeitpunkt des Schreibens vorgeschlagenen Skripte, um eine File Share zu verbinden:
Sie müssen die Platzhalter <STORAGE-ACCOUNT>
, <ACCESS-KEY>
und <FILE-SHARE-NAME>
ersetzen.
$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."
}
Regelmäßige Speicherenumeration (Zugriffsschlüssel, SAS...)
Privilegieneskalation
Gleich wie Speicher-Privesc:
Post-Exploitation
Az - File Share Post Exploitation
Persistenz
Gleich wie Speicher-Persistenz:
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.