Metadata dan SSRF
Serangan khusus cloud
Metadata dan SSRF adalah pelajaran Ethical Hacking Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Ethical Hacking Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ethical Hacking Academy mencakup 4 pelajaran total.
Layanan Metadata Instans
Setiap VM cloud dapat meminta informasi dari endpoint internal khusus untuk mengetahui detail tentang dirinya sendiri: Layanan Metadata Instans (IMDS). Yang sangat penting, layanan ini juga dapat memberikan kredensial sementara dari peran yang terpasang pada instans tersebut.
- AWS / GCP / Azure semuanya menyediakan metadata di
169.254.169.254 - Endpoint ini hanya dapat dijangkau dari dalam instans
- Proses lokal tidak memerlukan autentikasi untuk mengaksesnya
Kemudahan ini berubah menjadi senjata ketika digabungkan dengan SSRF.
Membaca Metadata AWS (IMDSv1)
Pada IMDSv1 lama, satu permintaan GET mengembalikan metadata, termasuk kredensial peran. Tidak diperlukan token.
Hal inilah yang membuat IMDSv1 berbahaya ketika suatu aplikasi memiliki SSRF.
# List roles attached to the instance
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
# Retrieve the temporary credentials for a role
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/app-roleApa Itu SSRF
Pemalsuan Permintaan Sisi Server (SSRF) adalah kerentanan ketika penyerang menipu server agar membuat permintaan HTTP atas nama mereka. Server tersebut menjadi proksi menuju lokasi yang tidak dapat dijangkau penyerang secara langsung.
- Parameter URL yang diambil oleh server
- Webhook, pembuat PDF, atau fitur pengubah ukuran gambar
- Apa pun yang menerima URL dari pengguna
Target SSRF klasik di cloud adalah endpoint metadata.
SSRF Bertemu Metadata
Kombinasi yang mematikan: aplikasi dengan SSRF memungkinkan penyerang mengarahkan server ke 169.254.169.254. Server mengambil kredensial IAM instans lalu mengembalikannya.
Sekarang penyerang memegang kredensial cloud, yang sering kali menjadi awal pengambilalihan akun secara menyeluruh.
# Vulnerable endpoint fetches any URL the user supplies
GET /fetch?url=http://example.com/image.png
# Attacker redirects it to the metadata service
GET /fetch?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/app-roleMenggunakan Kredensial yang Dicuri
Respons metadata berisi kunci akses, kunci rahasia, dan token sesi. Penyerang mengekspornya lalu segera bertindak sebagai peran instans tersebut.
Dari sini, mereka menginventarisasi izin dan mencari jalur eskalasi.
export AWS_ACCESS_KEY_ID=ASIA...
export AWS_SECRET_ACCESS_KEY=...
export AWS_SESSION_TOKEN=...
# Confirm the stolen identity
aws sts get-caller-identityIMDSv2 sebagai Pertahanan
AWS memperkenalkan IMDSv2 untuk mengurangi dampak SSRF. Layanan ini memerlukan token sesi yang diperoleh terlebih dahulu melalui permintaan HTTP PUT, yang tidak dapat dilakukan oleh sebagian besar mekanisme SSRF karena hanya melakukan GET.
Mewajibkan IMDSv2 dan menetapkan batas lompatan yang rendah secara drastis mengurangi pencurian metadata melalui SSRF.
# IMDSv2: first PUT to get a session token
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
-H 'X-aws-ec2-metadata-token-ttl-seconds: 21600')
# Then GET using that token
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
http://169.254.169.254/latest/meta-data/Metadata Azure dan GCP
Penyedia lain juga menyediakan metadata, dengan karakteristiknya masing-masing. Keduanya memerlukan header khusus, yang juga menjadi mitigasi SSRF sederhana.
- Azure memerlukan
Metadata: true - GCP memerlukan
Metadata-Flavor: Google
# Azure: fetch a managed-identity access token
curl -H 'Metadata: true' \
'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/'
# GCP: fetch a service-account token
curl -H 'Metadata-Flavor: Google' \
'http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/token'Teknik Melewati SSRF
Pihak yang bertahan sering memblokir daftar 169.254.169.254. Penyerang melewati penyaring sederhana dengan pengodean IP alternatif dan pengalihan.
- IP desimal:
2852039166 - Pengodean oktal/heksadesimal dari alamat yang sama
- Pengikatan ulang DNS ke nama yang mengarah ke IP metadata
- Pengalihan terbuka yang mengarahkan permintaan ke URL metadata
Pertahanan yang kuat harus memvalidasi IP hasil resolusi, bukan string mentahnya.
# The metadata IP in alternate notations (all 169.254.169.254)
http://2852039166/latest/meta-data/
http://0251.0376.0251.0376/latest/meta-data/Target SSRF Lainnya
Metadata memang menjadi target utama, tetapi SSRF dapat menjangkau lebih banyak sumber daya internal:
- Panel dan dasbor admin internal yang terikat ke localhost
- Basis data dan cache internal (Redis, Elasticsearch)
- Server API Kubernetes dan endpoint kubelet
- Layanan mikro lain yang tidak terekspos secara eksternal
SSRF secara efektif menembus perimeter jaringan dari titik pandang yang tepercaya.
Mempertahankan Diri dari Rantai Serangan
Memutus rantai SSRF hingga metadata memerlukan pertahanan berlapis:
- Wajibkan IMDSv2 dan tetapkan batas lompatan metadata menjadi 1
- Validasi URL keluar dan gunakan daftar izin pada fitur pengambilan data
- Blokir permintaan ke rentang IP link-local dan privat setelah resolusi DNS
- Terapkan hak akses minimum pada peran instans agar kredensial yang dicuri memiliki keterbatasan
Peran dengan hak akses minimum memastikan bahwa pencurian yang berhasil sekalipun hanya menghasilkan dampak kecil.
Uji Hanya yang Anda Berwenang Uji
Pengujian SSRF berdasarkan desain dapat menjangkau sistem internal yang sensitif. Bersikaplah disiplin:
- Pastikan host target dan akun cloud termasuk dalam cakupan
- Jangan berpindah ke sistem di luar pelaksanaan pengujian
- Berhenti dan laporkan setelah akses kredensial terbukti
Menjangkau metadata berdampak tinggi; buktikan dengan hati-hati dan jangan menggunakan kunci yang dicuri secara sembarangan.
Pemeriksaan Singkat
Mengapa penerapan IMDSv2 membantu melindungi dari pencurian kredensial berbasis SSRF?
Ringkasan: Metadata dan SSRF
Anda telah mempelajari rantai serangan khusus cloud yang paling berdampak.
- layanan metadata di 169.254.169.254 memberikan kredensial peran instans
- SSRF memungkinkan penyerang meminta server mengambil endpoint tersebut
- Kredensial sementara yang dicuri memungkinkan pengambilalihan akun
- IMDSv2 memblokir sebagian besar SSRF dengan mewajibkan token berbasis PUT
- Lindungi sistem dengan daftar izin URL, validasi IP, dan peran dengan hak akses minimum
Pelajaran Pengujian Penetrasi Cloud selesai. Kursus berikutnya: Perburuan Bug Bounty.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Metadata dan SSRF” gratis?
Ya — teks lengkap “Metadata dan SSRF” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ethical Hacking Academy, upgrade ke CoddyKit PRO. Kursus Ethical Hacking Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Metadata dan SSRF”?
Serangan khusus cloud Kamu berlatih Ethical Hacking Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Ethical Hacking Academy?
Tidak diperlukan pengalaman sebelumnya. Ethical Hacking Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Metadata dan SSRF” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Ethical Hacking Academy ini?
Ya. Setiap pelajaran Ethical Hacking Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.