בדיקות חדירות בענן – טכניקות, כלים ואתגרי CTF¶
מבוא¶
אבטחת הענן הפכה לנושא קריטי בשנים האחרונות בשל המעבר ההולך וגובר של ארגונים לסביבות כמו AWS, Azure ו-GCP. בהרצאה זו נסקור טכניקות מתקדמות לבדיקות חדירות (Penetration Testing) בענן, נציג מוצרים וכלים המשמשים חוקרי אבטחה, ונמליץ על אתגרי CTF למתאמנים.
סביבות ענן מודרניות מציגות אתגרי אבטחה ייחודיים בשל הארכיטקטורה המבוזרת שלהן. התקפות ענן הפכו מתוחכמות יותר ויותר, עם למעלה מ-80% מהארגונים שחוו לפחות אירוע אבטחה אחד בסביבת הענן שלהם בשנה האחרונה.
- 65% מהארגונים משאירים דליפות של S3 buckets
1. מודל האחריות המשותפת בענן¶
לפני שמתחילים בבדיקות חדירות בענן, חשוב להבין כי ספקיות הענן פועלות לפי מודל אחריות משותפת (Shared Responsibility Model):
-
הספק (AWS/Azure/GCP) – אחראי על האבטחה של החומרה, הרשתות הפנימיות, התשתיות והנתונים הפיזיים.
-
הלקוח – אחראי על קונפיגורציה נכונה של השירותים, ניהול גישה, עדכוני תוכנה והצפנה.
נקודות תורפה נפוצות מצד הלקוח¶
-
חשבונות עם הרשאות יתר
-
סיסמאות חלשות או חשיפות API Keys
-
גישה ציבורית לא מאובטחת ל-S3 Buckets/Azure Blobs/GCP Storage
-
חשיפות של מסדי נתונים (MongoDB, RDS, Firebase) ללא אימות
-
שימוש בפרוטוקולי תקשורת לא מוצפנים
2. טכניקות מתקדמות לתקיפת סביבות ענן¶
2.1. תקיפת AWS - התקפות מתקדמות¶
חיפוש מפתחות API דלופים (עם טריפל הוג)¶
git clone https://github.com/dxa4481/truffleHog.git
python3 trufflehog --regex --entropy=True --max_depth=50 https://github.com/example/repo.git
הסבר מתקדם:
- --max_depth=50 סורק את היסטוריית ה-GIT לעומק 50 קומיטים
- --entropy=True מזהה מחרוזות אקראיות שעשויות להיות מפתחות
- --regex מחפש דפוסים ספציפיים של מפתחות AWS
דוגמת פלט:
Found unverified AWS secret in commit abc1234
File: config/credentials.json
Line: 5
Secret: AKIAIOSFODNN7EXAMPLE
זיהוי הרשאות יתר עם Pacu - שימוש מתקדם¶
pacu
> set_keys AKIAIOSFODNN7EXAMPLE wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
> run iam__enum_permissions --all-users
> run iam__privesc_scan
פירוט הפקודות:
1. enum_permissions - ממפה את כל ההרשאות בחשבון
2. privesc_scan - מזהה אפשרויות להסלמת הרשאות
תרחיש התקפה:
1. גניבת מפתחות API מדלף GitHub
2. בדיקת הרשאות עם Pacu
3. ניצול הרשאות IAM להקמת EC2 זדוני
תקיפת S3 Buckets עם S3Scanner - טכניקות מתקדמות¶
פרמטרים מתקדמים:
- --include-closed - בודק גם buckets סגורים עם הרשאות לקריאה
- --out-file - שומר תוצאות לקובץ CSV
דוגמת ממצאים:
Bucket Name: sensitive-data-2023
Region: us-east-1
Access: PUBLIC
Files: 120
Contains: credit_cards.csv, passwords.txt
2.2. תקיפת Azure - טכניקות מתקדמות¶
חיפוש חשבונות עם הרשאות מיותרות (Azucar)¶
פרמטרים חדשים:
- -r Reader - מחפש משתמשים עם הרשאות Reader בלבד
- -o report.html - מייצר דו"ח HTML מפורט
תרחיש התקפה:
1. גישה לחשבון עם הרשאות Reader
2. שימוש ב-Azucar לזיהוי הרשאות
3. ניצול הרשאות לקריאת נתונים רגישים
תקיפת Azure Storage עם MicroBurst - טכניקות חדשות¶
Import-Module .\MicroBurst.psm1
Invoke-EnumerateAzureBlobs -Base companyname -OutputFile results.txt -Threads 10
פרמטרים מתקדמים:
- -Threads 10 - מריץ 10 תהליכים במקביל
- -Base companyname - מחפש containers עם שם בסיס ספציפי
דוגמת ממצאים:
Found storage account: companynamebackup
Container: backups - PUBLIC ACCESS
Files: database_backup_2023.sql (2.4GB)
2.3. תקיפת GCP - שיטות מתקדמות¶
חיפוש הרשאות יתר ב-GCP עם GCPBucketBrute¶
שיפורים:
- -t 20 - 20 threads לסריקה מהירה יותר
- -o gcp_results.json - פלט בפורמט JSON לעיבוד אוטומטי
תרחיש התקפה:
1. מציאת bucket בשם companyname-private
2. גישה ל-login_backups.csv
3. מיצוא נתוני משתמשים
השתלטות על חשבונות GCP באמצעות Service Accounts¶
gcloud iam service-accounts get-iam-policy sa@project.iam.gserviceaccount.com
gcloud iam service-accounts keys create key.json --iam-account sa@project.iam.gserviceaccount.com
שימוש מתקדם:
1. רישום מפתח חדש לחשבון שירות
2. שימוש במפתח לגישה ל-API
3. הסלמת הרשאות דרך IAM
3. כלים מתקדמים לבדיקות חדירות בענן¶
כלים כלליים משופרים¶
- CloudBrute Pro
-t 100- 100 threads לסריקה מהירה-
-m storage- מחפש שירותי אחסון בלבד -
ScoutSuite מתקדם
- מייצר דוחות מותאמים אישית
- תומך באימות מרובה גורמים
כלים ייעודיים לפי פלטפורמה¶
AWS: CloudMapper¶
python cloudmapper.py collect --account my-account --profile default
python cloudmapper.py report --account my-account
- מיפוי ויזואלי של תשתית
- זיהוי חיבורים מסוכנים בין שירותים
Azure: PowerZure¶
- יכולות חדשות לניצול Logic Apps
- תמיכה ב-Azure AD Privilege Escalation
GCP: GCPEnum¶
- סריקת כל השירותים (
-s all)- דוחות HTML אינטראקטיביים
4. תרחישי התקפה מתקדמים¶
תרחיש 1: שרשרת התקפה בענן רב-ענן¶
- פריצה לחשבון AWS דרך S3 דלוף
- גישה משותפת ל-Azure דרך integration
- מעבר ל-GCP דרך federation
תרחיש 2: ניצול serverless לצורך התקפה¶
aws lambda create-function --function-name malicious \
--runtime python3.8 --role arn:aws:iam::123456789012:role/lambda-role \
--handler lambda_function.handler --zip-file fileb://malicious.zip
- יצירת פונקציית lambda זדונית
- שימוש בגישה ל-VPC לתקיפת משאבים פנימיים
5. אתגרי CTF מומלצים¶
4.1. Flaws.cloud¶
אתגר מבוסס AWS המתמקד בחשיפות S3, הרשאות IAM ו-EC2 Misconfigurations. קישור: https://flaws.cloud
4.2. Hack The Box - Cloud Labs¶
כולל תרחישי תקיפה על Azure, AWS ו-GCP עם הרשאות יתר, API Misconfigurations ותקיפות IAM. קישור: https://www.hackthebox.com/cloud
4.3. Rhino Security Labs - AWS CTF¶
אתגרים מגניבים שמתמקדים בתקיפות AWS, כולל הרצת קוד ב-Lambda, שימוש לרעה ב-S3 ותקיפות רשת. קישור: https://github.com/RhinoSecurityLabs/cloudgoat
סיכום¶
בדיקות חדירות בענן דורשות הבנה מעמיקה של סביבות הענן, הרשאות IAM, חשיפות שירותים והתקפות API. שימוש בכלים מתקדמים כמו Pacu, Azucar ו-CloudMapper עוזר לזיהוי חולשות ולתיקונן לפני שהתוקפים מנצלים אותן. מומלץ לתרגל באמצעות CTF-ים ולבצע סריקות אבטחה תקופתיות לכל סביבת הענן.