# DC0058 — Snapshot Modification
## Descrição
Snapshot Modification captura mudanças realizadas em metadados, atributos ou configurações de controle de um snapshot em nuvem. Essas modificações podem incluir ajustes nas permissões de acesso (tornando o snapshot público ou compartilhando com conta externa), alterações em políticas de retenção, modificação de configurações de criptografia ou atualização de tags e anotações.
O cenário adversarial mais crítico é a modificação de permissões de acesso de um snapshot de privado para público, ou o compartilhamento com uma AWS Account ID controlada pelo atacante via `ModifySnapshotAttribute`. Essa ação permite ao adversário copiar o snapshot para sua própria conta sem movimentar dados pela rede, evadindo monitoramento de exfiltração baseado em volume de tráfego. Em Azure, a modificação de permissões de snapshot é capturada como `Microsoft.Compute/snapshots/write` com campos de RBAC alterados.
A detecção deve focar especialmente em modificações que alteram `createVolumePermission` para `all` (tornando público) ou adicionam Account IDs desconhecidos à lista de compartilhamento. Combinado com eventos de DC0047 (enumeração), a sequência `DescribeSnapshots` → `ModifySnapshotAttribute` é um sinal de alta fidelidade de exfiltração via snapshot.
## Telemetria
| Plataforma | Fonte de Log | Evento / API Call | Notas |
|------------|-------------|-------------------|-------|
| AWS | CloudTrail | `ModifySnapshotAttribute`, `ResetSnapshotAttribute`, `ModifySnapshotTier` | Verificar `requestParameters.createVolumePermission` |
| Azure | Activity Log | `Microsoft.Compute/snapshots/write` | Correlacionar com alterações de RBAC no mesmo snapshot |
| GCP | Cloud Logging | `compute.snapshots.setIamPolicy`, `compute.snapshots.patch` | Alertar para adição de `allUsers` ou `allAuthenticatedUsers` |
## Queries de Detecção
### KQL — Azure: modificação de permissão em snapshot (possível exfiltração)
```kql
AzureActivity
| where OperationNameValue == "microsoft.compute/snapshots/write"
| where ActivityStatusValue == "Success"
| extend ResourceDetails = parse_json(Properties)
| where tostring(ResourceDetails) contains "roleAssignment"
or tostring(ResourceDetails) contains "permissions"
| project TimeGenerated, Caller, CallerIpAddress, Resource, ResourceGroup, ResourceDetails
| order by TimeGenerated desc
```
## Técnicas Relacionadas
| Técnica | Nome | Relação |
|---------|------|---------|
| [[t1537-transfer-data-to-cloud-account\|T1537-transfer-data-to-cloud-account]] | Transfer Data to Cloud Account | Modificação de permissão de snapshot para compartilhar com conta externa |
| [[t1578-modify-cloud-compute-infrastructure\|T1578-modify-cloud-compute-infrastructure]] | Modify Cloud Compute Infrastructure | Alteração de infraestrutura cloud como técnica de persistência ou exfiltração |
| [[t1484-domain-or-tenant-policy-modification\|T1484-domain-or-tenant-policy-modification]] | Domain or Tenant Policy Modification | Contexto de modificação de políticas de acesso em ambientes cloud |
> **Ver também:** [[ds0020-snapshot|DS0020 — Snapshot]], [[dc0047-snapshot-enumeration]], [[dc0057-snapshot-creation]], [[dc0049-snapshot-deletion]], [[dc0062-snapshot-metadata]]
## Contexto LATAM
> [!warning] Snapshots públicos acidentais no Brasil
> Pesquisas de segurança cloud identificaram centenas de snapshots EBS e Azure Disk expostos públicamente por organizações brasileiras, frequentemente devido a configurações incorretas durante migração ou restauração de backups. A exposição pública de snapshots contendo dados pessoais viola diretamente os princípios de segurança e necessidade da [[LGPD]]. Adversários que escaneiam ativamente por snapshots públicos (usando ferramentas como `aws ec2 describe-snapshots --owner-ids all`) podem localizar e copiar dados de organizações brasileiras sem autenticação. Implementar AWS Config Rule `ebs-snapshot-public-restorable-check` e Azure Policy para bloquear compartilhamento público de snapshots é medida essencial de conformidade.
## Referências
- [MITRE ATT&CK — DC0058 Snapshot Modification](https://attack.mitre.org/datacomponents/DC0058)
- [MITRE ATT&CK — T1537 Transfer Data to Cloud Account](https://attack.mitre.org/techniques/T1537/)
- [AWS — ModifySnapshotAttribute API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySnapshotAttribute.html)
- [Mitiga — Cloud Snapshot Exfiltration Techniques](https://www.mitiga.io/blog/exfiltration-risk-in-aws-the-case-of-the-elastic-block-store-snapshot)
- [AWS Config — ebs-snapshot-public-restorable-check](https://docs.aws.amazon.com/config/latest/developerguide/ebs-snapshot-public-restorable-check.html)