BadSuccessor - Active Directory 权限提升漏洞检测工具
项目描述
BadSuccessor 是一个针对 Windows Server 2025 中 Active Directory 权限提升漏洞的安全检测工具。该工具利用 PowerShell 脚本帮助安全团队识别环境中存在风险的权限配置,特别是针对新引入的委托管理服务账户(dMSA)功能的滥用风险。
功能特性
权限分析: 自动检测域中具有创建 dMSA 权限的身份
组织单位识别: 定位存在 BadSuccessor 攻击风险的 OU
安全过滤: 自动排除内置特权组(域管理员、企业管理员等)
轻量级运行: 仅需要域读取权限,无需高级特权
环境兼容: 适用于默认配置的 Windows Server 2025 环境
安装指南
系统要求
安装步骤
克隆或下载本仓库到本地
确保已安装 Active Directory PowerShell 模块
以域用户身份运行 PowerShell
执行脚本:.\Get-BadSuccessorOUPermissions.ps1
使用说明
基础使用
直接在 PowerShell 中运行脚本即可获取分析结果:
.\Get-BadSuccessorOUPermissions.ps1
复制代码
输出示例
脚本执行后将生成类似以下格式的表格输出:
结果解读
核心代码
权限检测核心逻辑
# 获取所有非特权用户具有dMSA创建权限的OUfunction Get-dMSACreationPermissions { $OUs = Get-ADOrganizationalUnit -Filter * -Properties nTSecurityDescriptor $results = @() foreach ($OU in $OUs) { $acl = $OU.nTSecurityDescriptor $accessRules = $acl.Access foreach ($rule in $accessRules) { if ($rule.ActiveDirectoryRights -match "CreateChild") { if ($rule.ObjectType -eq $dMSA_ObjectGuid) { # 记录具有权限的身份和OU $result = [PSCustomObject]@{ Identity = $rule.IdentityReference OU = $OU.DistinguishedName } $results += $result } } } } return $results}
复制代码
特权组过滤机制
# 排除内置特权组$excludedGroups = @( "DOMAIN\Domain Admins", "DOMAIN\Enterprise Admins", "DOMAIN\Schema Admins", "DOMAIN\Administrators")
function Filter-PrivilegedIdentities { param($results) $filteredResults = @() foreach ($result in $results) { $isPrivileged = $false foreach ($group in $excludedGroups) { if ($result.Identity -like $group) { $isPrivileged = $true break } } if (-not $isPrivileged) { $filteredResults += $result } } return $filteredResults}
复制代码
结果汇总与输出
# 主执行逻辑try { Write-Host "正在分析Active Directory权限配置..." -ForegroundColor Green # 获取dMSA对象GUID $dMSA_ObjectGuid = (Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -Filter {Name -eq "msDS-GroupManagedServiceAccount"}).ObjectGUID # 检测权限配置 $rawResults = Get-dMSACreationPermissions # 过滤特权组 $finalResults = Filter-PrivilegedIdentities -results $rawResults # 输出结果 $finalResults | Format-Table -AutoSize } catch { Write-Error "执行过程中发生错误: $($_.Exception.Message)"}
复制代码
更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码
办公AI智能小助手
评论