AWS - EBS Snapshot Dump

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Έλεγχος ενός στιγμιότυπου τοπικά

# 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

Σημείωση ότι το dsnap δεν θα σας επιτρέψει να κατεβάσετε δημόσιες στιγμιότυπες. Για να το παρακάμψετε, μπορείτε να κάνετε αντίγραφο του στιγμιότυπου στον προσωπικό σας λογαριασμό και να το κατεβάσετε από εκεί:

# 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

Για περισσότερες πληροφορίες σχετικά με αυτήν την τεχνική, ελέγξτε την αρχική έρευνα στο https://rhinosecuritylabs.com/aws/exploring-aws-ebs-snapshots/

Μπορείτε να το κάνετε αυτό με το Pacu χρησιμοποιώντας το module ebs__download_snapshots

Έλεγχος ενός snapshot στο AWS

aws ec2 create-volume --availability-zone us-west-2a --region us-west-2  --snapshot-id snap-0b49342abd1bdcb89

Τοποθετήστε το σε ένα EC2 VM υπό τον έλεγχό σας (πρέπει να βρίσκεται στην ίδια περιοχή με το αντίγραφο του αντιγράφου ασφαλείας):

Βήμα 1: Δημιουργήστε έναν νέο όγκο του προτιμώμενου μεγέθους και τύπου μεταβαίνοντας στο EC2 –> Όγκοι.

Για να εκτελέσετε αυτήν την ενέργεια, ακολουθήστε αυτές τις εντολές:

  • Δημιουργήστε έναν όγκο EBS για να συνδέσετε στην παρουσία EC2.

  • Βεβαιωθείτε ότι ο όγκος EBS και η παρουσία βρίσκονται στην ίδια ζώνη.

Βήμα 2: Επιλέξτε την επιλογή "σύνδεση όγκου" κάνοντας δεξί κλικ στον δημιουργημένο όγκο.

Βήμα 3: Επιλέξτε την παρουσία από το πλαίσιο κειμένου της παρουσίας.

Για να εκτελέσετε αυτήν την ενέργεια, χρησιμοποιήστε την ακόλουθη εντολή:

  • Συνδέστε τον όγκο EBS.

Βήμα 4: Συνδεθείτε στην παρουσία EC2 και εμφανίστε τους διαθέσιμους δίσκους χρησιμοποιώντας την εντολή lsblk.

Βήμα 5: Ελέγξτε αν ο όγκος έχει κάποια δεδομένα χρησιμοποιώντας την εντολή sudo file -s /dev/xvdf.

Αν η έξοδος της παραπάνω εντολής δείχνει "/dev/xvdf: data", σημαίνει ότι ο όγκος είναι άδειος.

Βήμα 6: Μορφοποιήστε τον όγκο στο σύστημα αρχείων ext4 χρησιμοποιώντας την εντολή sudo mkfs -t ext4 /dev/xvdf. Εναλλακτικά, μπορείτε επίσης να χρησιμοποιήσετε τη μορφή xfs χρησιμοποιώντας την εντολή sudo mkfs -t xfs /dev/xvdf. Σημειώστε ότι πρέπει να χρησιμοποιήσετε είτε ext4 είτε xfs.

Βήμα 7: Δημιουργήστε έναν κατάλογο της επιλογής σας για την τοποθέτηση του νέου όγκου ext4. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το όνομα "newvolume".

Για να εκτελέσετε αυτήν την ενέργεια, χρησιμοποιήστε την εντολή sudo mkdir /newvolume.

Βήμα 8: Τοποθετήστε τον όγκο στον κατάλογο "newvolume" χρησιμοποιώντας την εντολή sudo mount /dev/xvdf /newvolume/.

Βήμα 9: Αλλάξτε κατάλογο στον κατάλογο "newvolume" και ελέγξτε τον χώρο δίσκου για να επικυρώσετε την τοποθέτηση του όγκου.

Για να εκτελέσετε αυτήν την ενέργεια, χρησιμοποιήστε τις ακόλουθες εντολές:

  • Αλλάξτε κατάλογο σε /newvolume.

  • Ελέγξτε τον χώρο δίσκου χρησιμοποιώντας την εντολή df -h .. Η έξοδος αυτής της εντολής θα πρέπει να δείχνει τον ελεύθερο χώρο στον κατάλογο "newvolume".

Μπορείτε να το κάνετε αυτό με το Pacu χρησιμοποιώντας το module ebs__explore_snapshots.

Έλεγχος ενός αντιγράφου ασφαλείας στο AWS (χρησιμοποιώντας το 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

Αντίγραφο σκιάς

Οποιοσδήποτε χρήστης του AWS που διαθέτει την άδεια EC2:CreateSnapshot μπορεί να κλέψει τις κατακερματισμένες τιμές όλων των χρηστών του τομέα δημιουργώντας ένα αντίγραφο σκιάς του Διακομιστή Domain, το οποίο τοποθετεί σε ένα παράδειγμα που ελέγχουν και εξάγοντας τα αρχεία καταχώρησης NTDS.dit και SYSTEM για χρήση με το έργο secretsdump του Impacket.

Μπορείτε να χρησιμοποιήσετε αυτό το εργαλείο για να αυτοματοποιήσετε την επίθεση: https://github.com/Static-Flow/CloudCopy ή μπορείτε να χρησιμοποιήσετε έναν από τους προηγούμενους τρόπους μετά τη δημιουργία ενός αντιγράφου σκιάς.

Αναφορές

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Last updated