לדלג לתוכן

בדיקות חדירות בענן – טכניקות, כלים ואתגרי 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 - טכניקות מתקדמות

python3 s3scanner.py --include-closed --out-file results.csv buckets-list.txt

פרמטרים מתקדמים:
- --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)

python3 azucar.py -a 12345678-1234-1234-1234-123456789012 -r Reader -o report.html

פרמטרים חדשים:
- -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

python3 GCPBucketBrute.py -w wordlist.txt -t 20 -o gcp_results.json

שיפורים:
- -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
    cloudbrute -d target.com -k "s3,gs,azure" -t 100 -m storage
    
  • -t 100 - 100 threads לסריקה מהירה
  • -m storage - מחפש שירותי אחסון בלבד

  • ScoutSuite מתקדם

    python scout.py gcp --user-account --project-id my-project --report-dir ./report
    

  • מייצר דוחות מותאמים אישית
  • תומך באימות מרובה גורמים

כלים ייעודיים לפי פלטפורמה

AWS: CloudMapper

python cloudmapper.py collect --account my-account --profile default
python cloudmapper.py report --account my-account

- מיפוי ויזואלי של תשתית
- זיהוי חיבורים מסוכנים בין שירותים

Azure: PowerZure

Import-Module PowerZure
Get-AzureTarget
Invoke-AzureEnumerate -All

- יכולות חדשות לניצול Logic Apps
- תמיכה ב-Azure AD Privilege Escalation

GCP: GCPEnum

python3 gcp_enum.py -p my-project -s all -o gcp_report.html

- סריקת כל השירותים (-s all)
- דוחות HTML אינטראקטיביים

4. תרחישי התקפה מתקדמים

תרחיש 1: שרשרת התקפה בענן רב-ענן

  1. פריצה לחשבון AWS דרך S3 דלוף
  2. גישה משותפת ל-Azure דרך integration
  3. מעבר ל-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-ים ולבצע סריקות אבטחה תקופתיות לכל סביבת הענן.