Berpikir seperti penyerang: anatomi attack path di cloud dari initial access hingga exfiltration, vektor privilege escalation IAM seperti iam:PassRole dan policy update, tools analisis attack path, red team cloud dengan Pacu, aturan pentest yang legal sesuai kebijakan provider, dan praktik memetakan jalur risiko milik sendiri

Sebelas episode kita membangun kontrol lapis demi lapis. Sekarang kita uji dengan lensa paling keras: bagaimana semuanya runtuh jika diserang profesional? Attack path analysis adalah disiplin menjawab pertanyaan itu secara sistematis — bukan dengan paranoia, melainkan dengan grafik relasi identitas, izin, dan resource.
Mengapa episode ini penting? Karena kelemahan cloud jarang berada di satu kontrol tunggal — ia berada di rantai kombinasinya: role dev yang bisa assume admin prod, EC2 public dengan IMDSv1, secret di parameter store yang bisa dibaca semua. Satu-satunya cara menemukan rantai adalah berpikir seperti penyerang.
Rantai serangan cloud modern punya pola yang sangat konsisten:
Perhatikan dua karakter khas cloud: initial access biasanya berupa kredensial sah (bukan exploit), dan persistence berupa resource baru (IAM user, access key, region liar) yang mudah terlewat bila monitoring region-nya sempit.
Ini intelektual inti episode: kombinasi izin yang tampak jinak namun menghasilkan eskalasi. Yang paling sering ditemukan:
| Izin Berbahaya | Kenapa Berbahaya |
|---|---|
iam:PassRole + ec2:RunInstances | Luncurkan instance dengan role admin, baca metadata-nya |
iam:CreatePolicyVersion (+ set-as-default) | Tulis policy versi baru Action: * untuk diri sendiri |
iam:UpdateAssumeRolePolicy | Ubah trust policy agar diri sendiri boleh assume role target |
lambda:UpdateFunctionCode | Ganti kode fungsi yang punya role istimewa |
ssm:SendCommand | Jalankan command di instance mana pun yang ter-manage |
glue:CreateDevEndpoint / SageMaker create-notebook | Endpoint baru membawa role yang dilampirkan |
Alat open source mengotomasi pencarian rantai ini dari policy export: pmapper, cloudsplaining, parliament. Contoh cloudsplaining:
aws iam get-account-authorization-details > auth-details.json
cloudsplaining scan --input-file auth-details.json --exclusions-file exclusions.yml
# hasil: laporan HTML per-principal: high privilege actions, data exposure, escalation riskTemuan khas yang keluar: role runtime dengan iam:* padahal cukup sts:AssumeRole satu role spesifik — persis pola least privilege yang kita bangun di episode 3, diverifikasi dari sisi serangan.
Manual pmapper cukup untuk puluhan principal; enterprise butuh graph analysis kontinu: node = identitas/resource, edge = izin + jaringan + eksposur. CNAPP modern (Wiz, Defender CSPM) membangun graph ini otomatis dan menandai path berlabel "public exposure → admin access → sensitive data".
Prinsip prioritisasi dari graph tersebut — urutan kerja kalian:
Satu insight manajerial: memperbaiki attack path biasanya bukan menambal satu izin, tapi memutus satu edge kunci — misal melarang role dev assume role prod langsung, ganti via break-glass approval. Efek kecil, dampak graph besar.
Menguji diri dengan simulasi nyata adalah praktik dewasa — dengan syarat ketat:
Tool yang layak dipelajari:
| Tool | Fungsi |
|---|---|
| Pacu | Framework eksploitasi AWS post-exploitation (module enumeration, privesc, persistence) |
| ScoutSuite | Audit posture multi-cloud (read-only, cocok blue team juga) |
| Stratus Red Team | Emulator teknik TTP cloud-native (Terraform-based, idempoten) |
Stratus Red Team layak digarisbawahi untuk latihan defensif — ia menyuntikkan teknik nyata (misal credential_access.ec2_steal_instance_credentials) di lab, sehingga kalian bisa memverifikasi apakah GuardDuty/detection rules dari episode 8 benar-benar berbunyi:
stratus detonate aws.credential-access.secretsmanager_retrieve_secrets
# lalu cek: apakah finding muncul? dalam berapa menit?Inilah jembatan ke purple teaming: serangan terukur, deteksi divalidasi, gap ditambal — siklus yang kita lanjutkan formalnya di episode 24.
Checklist review bulanan yang bisa kalian jalankan tanpa vendor:
iam list-roles + parse Principal); tandai cross-account tanpa kondisi external-id/MFA.Warning
Jangan pernah menguji teknik eskalasi di akun produksi meski "hanya baca". PassRole dan UpdateFunctionCode bisa mengubah perilaku sistem nyata. Lab terisolasi atau akun sandbox adalah satu-satunya tempat latihan ofensif.
Inti yang harus dibawa pulang:
Di episode 19 selanjutnya kita dalami sisi identitas Microsoft: identity threats di Entra ID/AAD — teknik serangan MFA phishing dan consent abuse, conditional access yang tepat, PIM, dan identity protection. Sampai jumpa!