Salah Konfigurasi IAM
Peranan dengan keizinan berlebihan
Salah Konfigurasi IAM ialah pelajaran Ethical Hacking Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ethical Hacking Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ethical Hacking Academy merangkumi sejumlah 4 pelajaran.
Mengapa IAM Merupakan Perimeter Sebenar
Dalam awan, identiti ialah perimeter baharu. IAM (Pengurusan Identiti dan Akses) menentukan pihak yang boleh melakukan sesuatu. Kelemahan dalam IAM membolehkan penyerang bergerak daripada titik asas berkeistimewaan rendah kepada kawalan akaun sepenuhnya.
- Pengguna, peranan dan akaun perkhidmatan ialah identiti
- Dasar mentakrifkan keizinan
- Dasar yang salah konfigurasi ialah risiko awan nombor satu
Kebanyakan peningkatan keistimewaan dalam awan berpunca daripada masalah IAM.
Pengguna, Peranan dan Dasar
AWS IAM mempunyai tiga blok binaan yang mesti Anda fahami:
- Pengguna — identiti jangka panjang dengan kunci akses
- Peranan — identiti sementara yang boleh diambil oleh pengguna atau perkhidmatan
- Dasar — dokumen JSON yang membenarkan atau menolak tindakan terhadap sumber
Dasar yang dilampirkan terlalu luas menyebabkan pemberian keizinan berlebihan berlaku.
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::reports-bucket/*"
}Bahaya Kad Liar
Corak IAM yang paling berbahaya ialah dasar kad liar. Dasar ini memberikan setiap tindakan terhadap setiap sumber.
Jika penyerang mengkompromi identiti yang mempunyai dasar ini, mereka menguasai seluruh akaun.
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
# Action:* Resource:* = full administrative control.
# Flag this everywhere it appears outside a break-glass admin role.Menyenaraikan Keizinan Anda Sendiri
Setelah Anda memiliki kelayakan, senaraikan perkara yang boleh dilakukannya. IAM mempunyai API bacaan yang mendedahkan dasar yang dilampirkan.
Sesetengah akaun malah memberikan iam:Get* dan iam:List* kepada pengguna biasa, lalu menyediakan peta percuma untuk Anda.
# List policies attached to a user
aws iam list-attached-user-policies --user-name devuser
# Get the JSON of a managed policy version
aws iam get-policy-version \
--policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess \
--version-id v1Peningkatan Keistimewaan melalui iam:PassRole
Satu peningkatan klasik: pengguna mempunyai iam:PassRole serta keizinan untuk mencipta perkhidmatan. Mereka boleh melancarkan sumber yang mengambil peranan berkeistimewaan tinggi dan mewarisi aksesnya.
- Pengguna mempunyai
ec2:RunInstances+iam:PassRole - Mereka melancarkan tika EC2 dengan peranan pentadbir dilampirkan
- Tika itu kini memegang kelayakan pentadbir, yang kemudiannya mereka dapatkan
Pengguna itu tidak pernah mempunyai akses pentadbir secara langsung, tetapi berjaya meningkat kepada tahap tersebut.
Gabungan Keizinan Berbahaya
Keizinan individu mungkin tidak berbahaya, tetapi boleh menjadi laluan peningkatan apabila digabungkan. Gabungan berisiko yang diketahui termasuk:
iam:CreatePolicyVersion— menulis semula dasar sedia ada untuk memberikan akses pentadbiriam:AttachUserPolicy— melampirkan AdministratorAccess kepada diri sendiriiam:CreateAccessKeypada pengguna lain — mencuri identiti merekasts:AssumeRolepada peranan yang terlalu mempercayai
Alat menyenaraikan semua ini secara automatik.
Dasar Kepercayaan dan AssumeRole
Peranan mempunyai dasar kepercayaan yang mentakrifkan pihak yang boleh mengambilnya. Dasar kepercayaan yang terlalu luas ialah pintu belakang.
Jika sesuatu peranan tersilap mempercayai seluruh akaun atau akaun luaran, penyerang boleh mengambil peranan tersebut.
{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::123456789012:root" },
"Action": "sts:AssumeRole"
}
# Trusting the entire account root means ANY identity in it can assume the role.Mengautomatikkan Penemuan Peningkatan
Memeriksa setiap gabungan dasar secara manual memakan masa. Alat memetakan laluan peningkatan untuk Anda.
- Pacu — rangka kerja eksploitasi AWS dengan modul peningkatan keistimewaan
- PMapper — memetakan hubungan IAM dalam bentuk graf dan mencari hubungan peningkatan keistimewaan
- enumerate-iam — mencuba secara kasar panggilan API yang boleh dibuat oleh sesuatu kunci
# Run Pacu's IAM privilege escalation enumeration
pacu
# > run iam__privesc_scan
# Build an IAM access graph and query it
pmapper graph create
pmapper query 'preset privesc *'Dasar Sebaris berbanding Dasar Terurus
Keizinan boleh diberikan melalui dua cara, dan penyerang memeriksa kedua-duanya:
- Dasar terurus — boleh digunakan semula dan dilampirkan pada banyak identiti
- Dasar sebaris — dibenamkan terus dalam satu pengguna atau peranan
Dasar sebaris mudah terlepas pandang dalam audit, jadi dasar ini sering menyembunyikan keizinan berlebihan. Sentiasa senaraikan kedua-duanya apabila menilai sesuatu identiti.
# Inline policies are listed separately from attached ones
aws iam list-user-policies --user-name devuser
aws iam get-user-policy --user-name devuser --policy-name custom-inlinePengerasan: Keistimewaan Minimum
Penyelesaian untuk salah konfigurasi IAM ialah keistimewaan minimum: berikan hanya keizinan tepat yang diperlukan.
- Gantikan kad liar dengan tindakan dan ARN sumber yang dinyatakan secara jelas
- Gunakan peranan dengan kelayakan berjangka pendek dan bukannya kunci berjangka panjang
- Audit keizinan yang tidak digunakan dengan Access Analyzer
- Wajibkan MFA pada identiti berkeistimewaan
Laporan Anda hendaklah memetakan setiap penemuan kepada pemulihan berasaskan keistimewaan minimum.
Kekal dalam Lingkungan Keizinan
Pengujian peningkatan keistimewaan mengubah keadaan akaun secara aktif. Berhati-hatilah:
- Mencipta dasar, kunci atau peranan adalah tindakan mengganggu; dapatkan kelulusan bertulis
- Dokumentasikan setiap perubahan supaya perubahan itu boleh dikembalikan
- Utamakan penyataan maklumat baca sahaja untuk membuktikan sesuatu laluan sebelum mengeksploitasinya
Menunjukkan bahawa laluan peningkatan keistimewaan wujud selalunya sudah memadai; Anda tidak semestinya perlu mengeksploitasinya sepenuhnya.
Semakan Pantas
Gabungan keizinan manakah yang merupakan laluan klasik peningkatan keistimewaan AWS?
Imbas Kembali: Salah Konfigurasi IAM
Anda telah mempelajari sebab IAM ialah perimeter sebenar awan dan cara penyerang mengeksploitasinya.
- Dasar
Action:* Resource:*dengan kad liar adalah amat merosakkan iam:PassRole+ penciptaan perkhidmatan membolehkan peningkatan keistimewaan- Dasar kepercayaan yang terlalu luas membolehkan penyerang mengambil peranan
- Alat seperti Pacu dan PMapper mengautomatikkan penemuan laluan
- Pemulihan sentiasa berasaskan keistimewaan minimum
Seterusnya kita akan melihat pendedahan S3 dan storan.
Pelajari Ethical Hacking Academy dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 31
- Pelajaran
- 111
Soalan Lazim
Adakah pelajaran “Salah Konfigurasi IAM” percuma?
Ya — teks penuh “Salah Konfigurasi IAM” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Ethical Hacking Academy, tingkat taraf kepada CoddyKit PRO. Kursus Ethical Hacking Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Salah Konfigurasi IAM”?
Peranan dengan keizinan berlebihan Anda berlatih Ethical Hacking Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Ethical Hacking Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Ethical Hacking Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Salah Konfigurasi IAM” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Ethical Hacking Academy ini?
Ya. Setiap pelajaran Ethical Hacking Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Permukaan Serangan Awan
- Salah Konfigurasi IAM
- Pendedahan S3 dan Storan
- Metadata dan SSRF