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创建权限的OU
function 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智能小助手
评论