Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
apimspray — Azure apim mini proxy | Kitploit
أدوات/GitHubGitHub/crtvrffnrt/apimspray
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعهجمات كلمات المرورجمع المعلوماتأمن السحابةالفريق الأحمر
GitHubcrtvrffnrt/apimspray

apimspray

Azure apim mini proxy

عرض المستودع
61613منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

Apimspray

apimspray

Python Azure License Status

apimspray هي أداة متخصصة من نوع أداة رش كلمات المرور لـ Entra ID مصممة لأبحاث الأمن المصرح بها واختبارات Red Teaming. وهي تستخدم بوابات Azure API Management (APIM) كطبقة وكيل موزعة ودوارة لتناوب عناوين IP.

اقرأ المنشور على المدونة لمزيد من التفاصيل حول هذا المشروع.

المتطلبات الأساسية

  • Azure CLI (az): مطلوب لبرنامج التدوير (rotator script) لنشر الموارد. (قم بتنفيذ السكريبت من جلسة CLI مصادقة بالفعل على Azure CLI أو استخدم Azure Cloud Shell).
  • اشتراك Azure نشط: لنشر موارد من فئة APIM الاستهلاكية (التكلفة ضئيلة، عادة أقل من 0.01 دولار للتقييمات القصيرة).

التثبيت

  1. استنساخ المستودع.
  2. تثبيت تبعيات Python:
    root@kitploit:~
    pip install -r requirements.txt
    
  3. تأكد من تسجيل الدخول إلى Azure CLI:
    root@kitploit:~
    az login
    
    ملاحظة: يعتمد سكريبت التدوير على جلسة Azure CLI نشطة في الخلفية لنشر الموارد.

الإعداد

بداية سريعة (Azure Cloud Shell)

قم بتشغيل apimspray مباشرة من بيئة Azure مصادقة.

فتح في Azure Cloud Shell
root@kitploit:~
git clone https://github.com/crtvrffnrt/apimspray.git
cd apimspray
python3 apimspray.py --help

1. نشر البوابات

نشر بوابات APIM متعددة في مواقع مختلفة.

root@kitploit:~
python3 apimspraycreate.py --count 5 --outfile urls.txt

ينشر 33 مثيل APIM في ألمانيا الغربية الوسطى وأوروبا الغربية ويحفظها في urls.txt

root@kitploit:~
 python3 apimspraycreate.py --location germanywestcentral,westeurope --count 33 --outfile urls.txt

مرجع CLI لأداة apimspraycreate:

root@kitploit:~
usage: apimspraycreate.py [-h] --outfile OUTFILE [--count COUNT] [--location LOCATION] [--prefix PREFIX] [--realm-prefix REALM_PREFIX] [--delete-old]

apimspraycreate - Azure APIM Deployer

options:
  -h, --help            show this help message and exit
  --outfile OUTFILE     Output file for URLs
  --count COUNT         Number of instances
  --location LOCATION   Comma-separated APIM location(s) to deploy into. When provided, only those regions are used and the first location is used for the resource group.
  --prefix PREFIX       API URL prefix
  --realm-prefix REALM_PREFIX
                        Realm API prefix
  --delete-old          Delete old resource groups

هام: بالنسبة لجميع الطرق، يجب أن يكون لديك جلسة az نشطة في الخلفية (az login).

2. تحضير قوائم الكلمات

تأكد من أن قوائم الهدف جاهزة:

  • users.txt: قائمة أسماء المستخدمين (UserPrincipalNames) (مثل [email protected]).
  • passwords.txt: قائمة كلمات المرور المراد رشها.

3. الاستطلاع / توليد UPN (اختياري)

إذا لم تكن لديك قائمة مستخدمين، يمكنك استخدام السكريبت المساعد generate_upns.py. تقوم هذه الأداة بـ:

  1. الاستعلام عن المستأجر (tenant) المستهدف من Azure لاكتشاف جميع النطاقات المتصلة والموثقة.
  2. تنزيل قائمة بأسماء مستخدمين إحصائية محتملة لحسابات الخدمة من GitHub.
  3. إنشاء قائمة تباديل (permutations) من UPNs (UserPrincipalNames) وحفظها في users.txt.

الاستخدام:

root@kitploit:~
# إنشاء users.txt لنطاق معين أو معرف مستأجر
python3 generate_upns.py --target example.com
# OR باستخدام معرف المستأجر
python3 generate_upns.py --target 00000000-0000-0000-0000-000000000000

مرجع CLI لأداة generate_upns:

root@kitploit:~
usage: generate_upns.py [-h] --target TARGET

Generate UPNs from connected Azure Tenants and Service Accounts.

options:
  -h, --help       show this help message and exit
  --target TARGET  Target Domain (e.g., example.com) or Tenant UUID

الاستخدام

root@kitploit:~
usage: apimspray.py [-h] [--urls URLS] [--users USERS] [--passwords PASSWORDS] [--output OUTPUT] [--tenant TENANT] [--domain DOMAIN] --mode {spray,validate} [--pace {stealth,low,mid,medium,high}]
                    [--continue-on-success]

apimspray - Entra ID Assessment Tool

options:
  -h, --help            show this help message and exit
  --urls URLS           Path to APIM URLs file (from apimspraycreate.py or apimsprayrotator.sh)
  --users USERS         Path to users file
  --passwords PASSWORDS
                        Path to passwords file
  --output OUTPUT       Output directory
  --tenant TENANT       Tenant ID or Domain
  --domain DOMAIN       Append domain to users if missing
  --mode {spray,validate}
                        Operation mode. 'spray' tests all passwords against all users (1:N). 'validate' performs 1:1 credential pair testing.
  --pace {stealth,low,mid,medium,high}
                        Pacing profile for requests and lockout management:
                         - high:    15 workers, 0.1s delay, 10 passes/chunk, 5m lockout, 20 safe threshold
                         - medium:  5 workers,  1.0s delay,  5 passes/chunk, 10m lockout, 10 safe threshold, 10% jitter
                         - low:     2 workers,  5.0s delay,  2 passes/chunk, 15m lockout,  5 safe threshold, 20% jitter
                         - stealth: 1 worker,  30.0s delay,  1 pass/chunk,   20m lockout,  1 safe threshold, 40% jitter
  --continue-on-success
                        Continue the assessment even after finding valid credentials.

الأوضاع

  • validate: يتحقق من قائمة أزواج user:password. يتطلب قوائم بنفس الطول.

    root@kitploit:~
    python3 apimspray.py --urls urls.txt --mode validate --users u.txt --passwords p.txt
    
  • spray: يحاول كلمة مرور واحدة ضد جميع المستخدمين، ثم ينتظر (إذا تم تكوين ذلك)، ثم ينتقل إلى كلمة المرور التالية.

    root@kitploit:~
    python3 apimspray.py --urls urls.txt --mode spray --users users.txt --passwords common_passwords.txt --pace medium
    

ملفات وتيرة التنفيذ

تتحكم وسيطة --pace في عدوانية الرش. القيم مضمنة في الكود لضمان الاستقرار والأمان.

  • العدد: عدد كلمات المرور لتجربتها لكل مستخدم قبل التوقف مؤقتًا لإعادة تعيين مؤقتات القفل.
  • انتظار القفل: الوقت للنوم بين دفعات كلمات المرور.
  • العتبة الآمنة: إذا تم قفل هذا العدد من الحسابات (AADSTS50053)، تقوم الأداة بالإلغاء فورًا.
  • التشتت: يجعل التأخير عشوائيًا لتجنب تحليل التوقيت الثابت.

المخرجات

يتم تخزين النتائج في الدليل results/<timestamp>/:

  • valid_*.txt: مصادقات ناجحة (مطلوب MFA أو تم استلام رمز).
  • blocked_*.txt: حسابات مقفلة أو محظورة بشروط.
  • failed_*.txt: بيانات اعتماد غير صالحة أو مستخدم غير موجود.

الإسنادات والمراجع

  • o365spray: إلهام منطق تدفق ROPC.
  • TeamFiltration: إلهام تصميم هيكل الأداة.
  • FireProx: الجد الأكبر لتقنيات تدوير البوابة السحابية.
تنزيل الأداة
الملف الشخصيعدد العمالالتأخيرالعدد (الدفعة)انتظار القفلالعتبة الآمنةالتشتت
high150.1s105m20 مقفول0%
medium51.0s510m10 مقفول10%
low25.0s215m5 مقفول20%
stealth130.0s120m1 مقفول40%