渗透技巧——Windows 中 Credential Manager 的信息获取

发布于 2024-12-30 09:54:38 字数 5536 浏览 3 评论 0

0x00 前言

在后渗透阶段,获得权限后需要搜集目标系统的信息。信息越全面,越有助于进一步的渗透。 对于 Windows 系统,Credential Manager 中包含十分重要的信息。 这其中具体包含什么类型的信息,获取的方法有哪些呢?本文将要一一介绍

0x01 简介

本文将要介绍以下内容:

  • Credential Manager 中不同类型的凭据
  • 不同凭据的明文口令获取方法
  • 实际测试

0x02 Credential Manager 简介

Credential Manager,中文翻译为凭据管理器,用来存储凭据(例如网站登录和主机远程连接的用户名密码)

如果用户选择存储凭据,那么当用户再次使用对应的操作,系统会自动填入凭据,实现自动登录

凭据保存在特定的位置,被称作为保管库(vault)(位于 %localappdata%/Microsoft\Vault )

凭据类别:

包含两种,分别为 Domain CredentialsGeneric Credentials

Domain Credentials:

只有本地 Local Security Authority (LSA) 能够对其读写

也就是说,普通权限无法读取 Domain Credentials 类型的明文口令

Generic Credentials:

能够被用户进程读写

也就是说,普通权限可以读取 Generic Credentials 类型的明文口令

参考资料:https://msdn.microsoft.com/en-us/library/aa380517.aspx

0x03 实际测试

测试 1:

测试系统: Win7

访问文件共享 \\192.168.62.130

如下图

Alt text

填入正确的用户名密码,选中 记住我的凭据

下次再访问时,就不需要再次输入用户名密码

通过控制面板能够找到添加的凭据,位置为 控制面板 - 用户帐户和家庭安全 - 凭据管理器

如下图

Alt text

密码被加密,无法直接查看

注:文件共享的凭据类型默认为 Domain Credentials

测试 2:

测试系统: Win8

使用 IE 浏览器访问网站 https://github.com/,登录成功后选择记录用户名密码

通过控制面板访问凭据管理器,如下图

Alt text

注:Win8 开始,凭据管理器的页面进行了改版(同 Win7 不同),添加了 Web 凭据

显示凭据密码需要填入当前用户名口令,如下图

Alt text

注:IE 浏览器的凭据类型默认为 Generic Credentials

测试 3:

测试系统: Win7

通过控制面板添加普通凭据,Internet 地址或网络地址为 Generi1 ,用户名为 test1 ,密码为 pass1 ,如下图

Alt text

通过控制面板无法获得该普通凭据的明文口令

0x04 导出 Credentials 中的明文口令

1、获得系统凭据的基本信息

工具 1: vaultcmd(windows 系统自带)

常用命令:

列出保管库(vault) 列表:

vaultcmd /list

注:不同类型的凭据保存在不同的保管库 (vault) 下,列出保管库(vault) 概要,凭据名称和 GUID:

vaultcmd /listschema

注:GUID 对应路径 %localappdata%/Microsoft\Vault\{GUID} 下的文件,如下图

Alt text

列出名为"Web Credentials"的保管库(vault) 下的所有凭据信息:

vaultcmd /listcreds:"Web Credentials"

注:如果是中文操作系统,可将名称替换为对应的 GUID,命令如下

列出 GUID 为 {4BF4C442-9B8A-41A0-B380-DD4A704DDB28} 的保管库(vault) 下的所有凭据:

vaultcmd /listcreds:{4BF4C442-9B8A-41A0-B380-DD4A704DDB28}

列出 GUID 为 {4BF4C442-9B8A-41A0-B380-DD4A704DDB28} 的保管库(vault) 的属性,包括文件位置、包含的凭据数量、保护方法:

vaultcmd /listproperties:{4BF4C442-9B8A-41A0-B380-DD4A704DDB28}

工具 2:cmdkey

命令行输入 cmdkey /list 能够列举出系统中的 Windows 凭据

2、获得 Domain Credentials 的明文口令

工具: mimikatz

参数:

sekurlsa::logonpasswords

对应前面的 测试 1 ,在 credman 位置显示,如下图

Alt text

注:mimikatz 不仅能导出 Domain Credentials 的明文口令,也能导出普通凭据(Generic Credentials) 类型的明文口令,但无法导出 IE 浏览器保存的 Generic Credentials 类型的明文口令

3、获得 Generic Credentials 的明文口令

(1) IE 浏览器保存的 Generic Credentials

工具: Get-VaultCredential.ps1

下载地址:https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Get-VaultCredential.ps1

对应前面的 测试 2 ,Win8 系统成功导出明文口令,如下图

Alt text

注:该脚本也能获得名为 Windows Credential 的保管库(vault) 下面的凭据信息,但无法获得凭据的明文口令

补充:Win7 系统下的凭据管理器同 Win8 有区别,多了一个选项,指定 程序使用此密码时提示我提供权限 ,如下图

Alt text

当选中时,使用 powershell 脚本读取明文口令时会弹框提示(无法绕过),如下图

Alt text

(2) 其他类型的普通票据

工具: Invoke-WCMDump.ps1

下载地址:https://github.com/peewpw/Invoke-WCMDump/blob/master/Invoke-WCMDump.ps1

对应 测试 3 ,普通用户权限即可,能够导出普通票据的明文口令,如下图

Alt text

注:该脚本还能导出 Domain Credentials 的信息(不包括明文口令)

0x05 小结

本文介绍了不同类型的票据(Credential) 明文口令的获取方法,测试多个工具,帮助大家更好理解这部分内容。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

简单爱

暂无简介

文章
评论
26 人气
更多

推荐作者

迎风吟唱

文章 0 评论 0

qq_hXErI

文章 0 评论 0

茶底世界

文章 0 评论 0

捎一片雪花

文章 0 评论 0

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文