AWS - EBS Snapshot Dump

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

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

Napomena da dsnap neće vam dozvoliti da preuzmete javne snimke. Da biste zaobišli ovo, 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 pogledajte originalno istraživanje na https://rhinosecuritylabs.com/aws/exploring-aws-ebs-snapshots/

Ovo možete uraditi sa Pacu korišćenjem modula ebs__download_snapshots

Provera 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 istom regionu kao kopija rezervne kopije):

Korak 1: Kreirajte novi volumen željene veličine i tipa odlaskom na EC2 –> Volumes.

Da biste izvršili ovu radnju, pratite ove komande:

  • Kreirajte EBS volumen koji ćete prikačiti na EC2 instancu.

  • Proverite da li su EBS volumen i instanca u istoj zoni.

Korak 2: Desnim klikom na kreirani volumen izaberite opciju "attach volume".

Korak 3: Izaberite instancu iz polja za tekst instance.

Da biste izvršili ovu radnju, koristite sledeću komandu:

  • Prikvačite EBS volumen.

Korak 4: Prijavite se na EC2 instancu i proverite dostupne diskove koristeći komandu lsblk.

Korak 5: Proverite da li volumen ima podatke koristeći komandu sudo file -s /dev/xvdf.

Ako izlaz gornje komande pokazuje "/dev/xvdf: data", to znači da je volumen prazan.

Korak 6: Formatirajte volumen u ext4 fajl sistem koristeći komandu sudo mkfs -t ext4 /dev/xvdf. Alternativno, možete koristiti xfs format koristeći komandu sudo mkfs -t xfs /dev/xvdf. Imajte na umu da treba koristiti ili ext4 ili xfs.

Korak 7: Kreirajte direktorijum po vašem izboru za montiranje novog ext4 volumena. Na primer, možete koristiti ime "newvolume".

Da biste izvršili ovu radnju, 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 izvršili ovu radnju, koristite sledeće komande:

  • Promenite direktorijum u /newvolume.

  • Proverite prostor na disku koristeći komandu df -h .. Izlaz ove komande treba da pokaže slobodan prostor u direktorijumu "newvolume".

To možete uraditi sa Pacu korišćenjem modula ebs__explore_snapshots.

Provera snimka u AWS (korišćenjem 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 kopija

Bilo koji AWS korisnik koji poseduje dozvolu EC2:CreateSnapshot može ukrasti heševe svih korisnika domena kreiranjem snapshot-a kontrolera domena, montiranjem ga na instancu koju kontrolišu i izvozeći NTDS.dit i SYSTEM registarski fajl za korišćenje sa Impacket-ovim projektom secretsdump.

Možete koristiti ovaj alat da automatizujete napad: https://github.com/Static-Flow/CloudCopy ili možete koristiti jednu od prethodnih tehnika nakon kreiranja snapshot-a.

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini da podržite HackTricks:

Last updated