AWS pentest
🧭 المراحل ديال Enumeration ديال S3 Buckets 1. تكتشف أسماء الـ buckets باش تبدا، خاصك تعرف شنو ممكن يكون اسم الباكيت.
🧭 مراحل اختبار الاختراق | Pentest Stages#
1️⃣ جمع المعلومات (الاستطلاع) | Reconnaissance#
🔹 تقنيات:
- WHOIS
- DNS enumeration (Route53)
- Shodan / Censys
- Recon-ng / Amass / Sublist3r
- Check public S3 buckets
- Google Dorking (ex:
site:s3.amazonaws.com confidential)
🔸 أدوات:
bucket_finder.pyawsbucketdumpgrayhatwarfare.comcrt.sh
2️⃣ فحص الخدمات | Service Enumeration#
🔹 أهداف:
- اكتشاف الخدمات النشيطة (EC2, S3, RDS...)
- تحديد ACLs والسياسات
- محاولة الوصول بدون صلاحيات (Anonymous)
🔸 أدوات:
- Nmap
- AWS CLI + recon scripts
ScoutSuite✅Pacu(AWS exploitation framework)CloudFox✅
Enumeration AWS buckets#
🎯 الهدف من Enumeration ديال S3 Buckets الهدف هو:
تعرف واش كاين شي bucket مفتوح للعامة (public) تشوف واش تقدر تدخل، تحمل، ولا تكتب ملفات فيه تحاول تلقى معلومات حساسة داخلو (مثلاً مفاتيح، كلمات سر، source code...)
🧭 المراحل ديال Enumeration ديال S3 Buckets
- تكتشف أسماء الـ buckets باش تبدا، خاصك تعرف شنو ممكن يكون اسم الباكيت.
كيفاش؟ تستعمل أدوات بحال: awsbucketdump bucket_finder.py Exemple :
bucket_finder.py -l wordlist.txtمواقع بحال https://buckets.grayhatwarfare.com (opens in a new tab)
or
🔹 https://s3.amazonaws.com/[bucket_name]/ (opens in a new tab) هادي طريقة للوصول لـ bucket مباشرة: كتبلاصي [bucket_name] باسم الباكيت. إيلا كان public، غادي يبين ليك المحتوى.
- تشوف واش الباكيت public تجرب تدخل له من المتصفح أو من سطر الأوامر:
مثال عبر المتصفح:
http://[bucket_name].s3.amazonaws.com/أو عبر AWS CLI:
aws s3 ls s3://bucket-name --no-sign-request⟶ إذا بان ليك المحتوى = Public ⟶ إذا عطاك AccessDenied = Private أو فيه ACL تمنعك
🔹 check CNAMES might => zzz.amazonaws.com كايقوليك شي مرات كاين دومين CNAME كيشير لـ bucket ديال S3. مثال: files.example.com => CNAME => zzz.amazonaws.com يعني خاصك تشيك دومينات CNAME واش كيتوجهو لـ S3.
🔹 visit https://buckets.grayhatwarfare.com (opens in a new tab) and check open public buckets هذا موقع مفيد بزاف: https://buckets.grayhatwarfare.com (opens in a new tab) فيه قاعدة بيانات كبيرة ديال public S3 buckets. تقدر تبحث بكلمات مفتاحية (keywords). وتشوف واش شي buckets فيهم بيانات حساسة.
🔹 once you found s3 bucket test => s3bucket.s3.amazonaws.com ملي تلقى شي bucket، جرب تدخل عليه بحال هكا:
s3bucket.s3.amazonaws.- إذا كان Public: دير تحليل للمحتوى
aws s3 cp s3://bucket-name/secret-file.txt ./ --no-sign-requestتشوف الملفات: واش فيهم: كلمات سر مفاتيح AWS API keys ملفات .env قواعد بيانات .sql صور أو وثائق خاصة
** ⚙️ تثبيت وتهيئة AWS CLI | Install & Configure AWS CLI
- تثبيت AWS CLI:
sudo apt update
sudo apt install awscli -y- تهيئة (Configure) AWS CLI:
aws configure📝 غادي يطلب منك تدخل:
AWS Access Key ID: المفتاح العمومي ديال الحساب (ex: AKIAIOSFODNN7EXAMPLE) use AKIAJ366LIPB4IJK7SA AWS Secret Access Key: المفتاح السري (ex: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY) use OdNa7m+bqUvF3Bn/qgSnPE1kBpqcBTTjqwP83JysD Default region name: المنطقة الإفتراضية (ex: us-east-1)
Default output format: خليه فارغ أو استعمل json
🎯 الهدف: باش تقدر تستعمل جميع أوامر AWS (aws s3, aws ec2, aws iam...) بطرق أوتوماتيكية بدون ما تحتاج كل مرة تدخل المفاتيح يدويًا.
3️⃣ اختبار التخزين (S3 Buckets) | S3 Bucket Testing#
🔹 أنواع الحالات:
- Public buckets
- Misconfigured CORS
- Listable / Writable buckets
🔸 اختبارات:
aws s3 ls s3://bucket-name --no-sign-requestaws s3 cp file.txt s3://bucket-name/- تفقد الملفات الحساسة (keys, config, .env...)
Tools Used for S3 Hacking#
1️⃣ AWS CLI (Command Line Interface) 🔹 هي الأداة الرسمية من AWS باش تتعامل مع خدماتهم من سطر الأوامر. 📦 تقدر تستعملها باش تدير:
تحميل الملفات من buckets ترفع ملفات تشوف الصلاحيات تنفذ أوامر AWS كاملة
🛠️ الأمر للتثبيت:
sudo apt install awscliأو:
sudo snap install aws-cli --classic2️⃣ Boto3 🔹 هي مكتبة Python من أمازون. 📌 الهدف منها هو أنك تكتب سكريبتات (scripts) بلغة Python باش تتعامل مع AWS services (خصوصًا S3).
🛠️ مثال للاستعمال:
import boto3
s3 = boto3.client('s3')
response = s3.list_buckets()
print(response)✍️ مفيدة إلى بغيتي تدير Enumeration أو Automation ديال الـ Recon.
3️⃣ S3Scanner و S3BucketList 🔹 أدوات مخصصة للبحث عن S3 buckets مفتوحين أو مكونين بطريقة خطيرة (misconfigured).
🎯 واش كيديرو؟:
كيبحثو فـ الإنترنت على buckets كاينين بلا صلاحيات كيعطيوك واش تقدر تشوف المحتوى، تكتب فيه، ولا تحمّل منه
🛠️ مثال:
python3 s3scanner.py --bucket-list wordlist.txt4️⃣ Burp Suite with AWS Extension 🔹 Burp Suite هو أداة معروفة لاختبار تطبيقات الويب. 🔸 لكن كتقدر تزيد فيها Extension باش تجرب كيفاش تطبيق ويب كيتعامل مع S3 Buckets.
🎯 الهدف من الإضافة:
تشوف هل التطبيق كيرفع ملفات لــ S3؟ واش كاين خطر فـ Upload؟ واش كيخزن بيانات حساسة فـ buckets؟
After#
منين تلقى دومين بحال:
mds.extendedhelp.anyware.com📌 راه يمكن يكون هاد الدومين خدام مع S3 Bucket أو خدمة فـ AWS.
🎯 دير Subdomain enumeration و DNS lookups باش تلقى دومينات بحال هاد الشكل.
ملاحظة مهمة: الباكيت تقدر يكون فيه كلمة وحدة أو كلمات بزاف بحال: backup static-files-prod images-dev-2024 🔎 استعمل wordlists لتجريب الأسماء.
منين تلقى IP بحال:
54.x.x.x or 52.x.x.x📌 راه كاين احتمال كبير يكون هاد الـ IP تابع لـ Amazon AWS infrastructure (EC2, ELB, S3...).
📡 هاد الـ IP ranges مشهورة عند AWS، وكتعرف بيها خدماتهم.
كيفاش تأكد واش IP تابع لـ AWS؟
حمل هاد الملف JSON لي فيه جميع IP ranges ديال AWS:
https://ip-ranges.amazonaws.com/ip-ranges.jsonومن بعد: تفك JSON وتشوف واش IP لي عندك داخل فواحد من الشبكات ديال Amazon 🧠 مثال صغير ببايثون ولا jq يخدم معاك مزيان باش تفلتر البيانات.
4️⃣ استغلال IAM Permissions | IAM Exploitation#
🔹 خطوات:
- استخرج user policies & roles
- اكتشف صلاحيات مشكوك فيها (iam:PassRole, sts:AssumeRole)
- استغلال privilege escalation
🔸 أدوات:
enumerate-iamPacu modulesCloudSplaining
5️⃣ اختبار EC2 & Metadata | EC2 & Instance Testing#
🔹 إذا حصلت على Shell داخل EC2:
curl http://169.254.169.254/latest/meta-data/- استخراج IAM tokens
- pivoting إلى خدمات أخرى
🔸 أدوات:
- EC2 exploitation scripts
- metasploit (auxiliary/aws/*)
6️⃣ استغلال Lambda & API Gateway | Lambda & API Attacks#
- تحليل API endpoint إذا كان public
- استغلال وظائف Lambda المكشوفة
- SSRF via API Gateway
7️⃣ فحص CloudTrail / CloudWatch | Log Manipulation#
- التأكد من أن كل النشاطات يتم تسجيلها
- محاولة حذف أو تعطيل logs
- اختبار الـ Detection Gaps
🔸 أدوات:
AWS CLIDetections with GuardDuty
8️⃣ هجمات Serverless | Serverless Attacks#
- تحليل الأحداث (event triggers)
- رفع كودات ضارة إلى Lambda
- تفقد secrets في البيئة
تقرير الثغرات | Vulnerability Report#
- 📌 يجب توثيق كل ثغرة بالتالي:
- اسم الخدمة
- الخطأ الأمني
- الخطورة (Low / Medium / High / Critical)
- خطوات إعادة الإنتاج (PoC)
- التوصيات
📚 مراجع | References#
- AWS Security Best Practices (PDF) (opens in a new tab)
- CloudFox GitHub (opens in a new tab)
- Pacu AWS Pentest Framework (opens in a new tab)
- ScoutSuite (opens in a new tab)
🧵 ملاحظات ختامية | Final Notes#
🔐 تأكد أنك تشتغل في بيئة عندك الإذن الكامل باش تختبرها. 🛡️ استعمل أدوات قانونية، وخدم بشكل أخلاقي.
Always be ethical. Pentest with permission. Document everything.