安全矩阵

 找回密码
 立即注册
搜索
查看: 850|回复: 0

随笔|Windows通过WCE获取管理员账户密码

[复制链接]

77

主题

77

帖子

257

积分

中级会员

Rank: 3Rank: 3

积分
257
发表于 2023-2-8 14:50:56 | 显示全部楼层 |阅读模式
前面介绍过一些利用漏洞进入Windows系统,然后进行提权。但是我们总不能每次都通过漏洞进入目标系统吧,所以我们要想办法获取目标系统的管理员账户密码,这样就可以避免漏洞被打补丁、木马被查杀后失去目标系统的控制权。当然遇到喜欢频繁更换密码的管理员,我们偶尔获取了一次管理员账户密码也没用。
这里就来介绍一种在Windows系统中获取账户密码的工具:WCE。其实这种工具已经被很多安全查杀工具添加到了特征库中,所以你想使用wce需要关闭目标电脑中的安全查杀工具。
Windows身份认证的过程
首先来介绍一下Windows身份认证的过程:
  • 在登录目标系统时,会将输入的密码进行LMhash和NThash加密;
  • 然后将加密后的密码与SAM账户数据库进行比对,如果比对匹配,则成功登录操作系统;
  • 如果是远端的主机尝试进行登录目标系统,也是通过远端主机自身将输入的密码进行LMhash和NThash计算,将加密后的密文通过网络进行传输到目标主机。
从上面的认证过程可以看出,不论是本地还是远端登录操作系统,密码都是以密文的形式进行传输,相对安全,当然也可以用hash碰撞的方式进行爆破。
有一点需要注意,在登陆的目标服务系统后,有一个wdigest安全包,直接从内存总读取账户信息,会在本地缓存一个明文密码,当注销登陆后,该账户信息会被删除。
WCE(Windows credential editor)
WCE的全称是Windows身份验证信息编辑器,是一款功能强大的windows平台内网渗透的工具,使用WCE必须要有管理员的权限,所以在之前介绍了怎么在Windows下进行提权。
kali中有WCE的执行文件,可以到这个目录下找:/usr/share/windows-resources/wce/
kali的wce文件夹里面存放了32位和64位的执行文件,还有一个wce-universal.exe可执行文件,这文件可以判断系统类型后选择执行的逻辑,一般我们都会选择使用wce-universal.exe。
WCE的功能简单概括可以列举登陆会话,并且可以添加、改变和删除相关凭据。在内网渗透中能起到非常强大的作用。
先查看当前系统中的现有账户:
net user
通过wce查看当前已经登录的账户和加密的密码:
wce-universal.exe -l
计算机名也会被当做用户来显示,上面BLANKCHEN是计算机的名字。
在登录几个账户后,再次执行上面的命令:
wce-universal.exe -l
可以看到多了一个账户被显示出来。
用wce查看登录状态用户的详细信息:
wce-universal.exe -lv
获取的信息中包括LUID、账户、加密后的密码等。
wce查看详细信息时,首先尝试安全模式,直接从内存中读取信息,读取失败后,会尝试注入模式,可能对系统造成损害。
Logon Sessions中显示的包含一些用于启动服务的账号。所以执行结果下面部分中,不会将所有Logon Sessions中的账号都显示用户名和密码。
wce提供实时显示信息,只要通过参数-r就能实现,5s刷新一次:
wce-universal.exe -r
从上面可以看到多出来一个b账户的密码信息。
wce还提供了一个-e参数,也是类似功能,只要有新的登录会话出现,就会显示出来,但是实际使用时没有效果,可能是wce太久没更新,有点适应不了新的系统版本了。
通过wce删除指定账户的Logon Sessions:
wce-universal.exe -d 00145C7Ah
虽然删除成功了,但是我有点不明白删除这个有什么用,难道是为了隐藏自己的会话?有清楚具体作用的同学请告知我一下。
wce有一个-g参数,可以用来计算明文密码对应的加密后的值:
wce-universal.exe -g a
不过这个其实不适用,有把握蒙几个还行,真要人手动破解就不现实了。
wce还有一个最实用的参数-w,会以明文显示读取到的密码:
wce-universal.exe -w
wce还有一种使用方式,修改用户的登录会话,将a用户的登录会话修改成b用户:
wce-universal.exe -i xxx -s xxxx
个人感觉这样操作的目的应该是为了隐藏自己。
防御WCE攻击
系统通过Digest Authentication Package维护明文密码,默认自启动,可在注册表(regedit)中关闭默认启动,就能达到防御wce攻击的目的。
防御wce攻击
删除最后一个wdigest,换行符也删除,然后点击确定并重启计算机后,就能生效。
这时再去执行wce命令,就无法获取到账户密码了。顺便提一句,现在的Windows10都是能够防御wce攻击的。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 00:34 , Processed in 0.014648 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表