Az - File Shares
Reading time: 8 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Informações Básicas
Azure Files é um serviço de armazenamento de arquivos em nuvem totalmente gerenciado que fornece armazenamento de arquivos compartilhados acessível via protocolos padrão SMB (Server Message Block) e NFS (Network File System). Embora o protocolo principal utilizado seja o SMB, os compartilhamentos de arquivos NFS do Azure não são suportados para Windows (de acordo com a docs). Ele permite criar compartilhamentos de arquivos em rede altamente disponíveis que podem ser acessados simultaneamente por várias máquinas virtuais (VMs) ou sistemas locais, permitindo o compartilhamento de arquivos sem interrupções entre ambientes.
Camadas de Acesso
- Otimizado para Transações: Otimizado para operações com muitas transações.
- Quente: Equilibrado entre transações e armazenamento.
- Frio: Custo-efetivo para armazenamento.
- Premium: Armazenamento de arquivos de alto desempenho otimizado para cargas de trabalho com baixa latência e IOPS intensivos.
Backups
- Backup diário: Um ponto de backup é criado a cada dia em um horário indicado (por exemplo, 19.30 UTC) e armazenado de 1 a 200 dias.
- Backup semanal: Um ponto de backup é criado a cada semana em um dia e horário indicados (domingo às 19.30) e armazenado de 1 a 200 semanas.
- Backup mensal: Um ponto de backup é criado a cada mês em um dia e horário indicados (por exemplo, primeiro domingo às 19.30) e armazenado de 1 a 120 meses.
- Backup anual: Um ponto de backup é criado a cada ano em um dia e horário indicados (por exemplo, primeiro domingo de janeiro às 19.30) e armazenado de 1 a 10 anos.
- Também é possível realizar backups manuais e snapshots a qualquer momento. Backups e snapshots são, na verdade, a mesma coisa neste contexto.
Autenticações Suportadas via SMB
- Autenticação AD DS Local: Utiliza credenciais do Active Directory local sincronizadas com o Microsoft Entra ID para acesso baseado em identidade. Requer conectividade de rede com o AD DS local.
- Autenticação dos Serviços de Domínio do Microsoft Entra: Aproveita os Serviços de Domínio do Microsoft Entra (AD baseado em nuvem) para fornecer acesso usando credenciais do Microsoft Entra.
- Kerberos do Microsoft Entra para Identidades Híbridas: Permite que usuários do Microsoft Entra autentiquem compartilhamentos de arquivos do Azure pela internet usando Kerberos. Suporta VMs unidas ao Microsoft Entra híbrido ou unidas ao Microsoft Entra sem exigir conectividade com controladores de domínio locais. Mas não suporta identidades apenas em nuvem.
- Autenticação Kerberos AD para Clientes Linux: Permite que clientes Linux usem Kerberos para autenticação SMB via AD DS local ou Serviços de Domínio do Microsoft Entra.
Enumeração
# 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
Por padrão, o az
cli usará uma chave de conta para assinar uma chave e realizar a ação. Para usar os privilégios do principal do Entra ID, use os parâmetros --auth-mode login --enable-file-backup-request-intent
.
tip
Use o parâmetro --account-key
para indicar a chave da conta a ser usada
Use o parâmetro --sas-token
com o token SAS para acessar via um token SAS
Conexão
Estes são os scripts propostos pela Azure no momento da escrita para conectar um File Share:
Você precisa substituir os espaços reservados <STORAGE-ACCOUNT>
, <ACCESS-KEY>
e <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."
}
Enumeração de armazenamento regular (chaves de acesso, SAS...)
Escalação de Privilégios
Mesma coisa que privesc de armazenamento:
Pós Exploração
Az - File Share Post Exploitation
Persistência
Mesma coisa que persistência de armazenamento:
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.